(bug 43568) Languages are shown multiple times

Update jquery.uls from upstream

Change-Id: I5e3aef0c78c60df93f2c031721049b0164134fc0
This commit is contained in:
Santhosh Thottingal
2013-01-07 20:16:57 +05:30
parent 9aaf4b1f51
commit 1e4505e964

View File

@@ -741,7 +741,8 @@
// The region section need to be in sync with the map filter. // The region section need to be in sync with the map filter.
lcd.$element.scroll( function () { lcd.$element.scroll( function () {
var $ulsLanguageList = $( this ), var inview, inviewRegion,
$ulsLanguageList = $( this ),
scrollTop = $ulsLanguageList.position().top, scrollTop = $ulsLanguageList.position().top,
scrollBottom = $ulsLanguageList.height(); scrollBottom = $ulsLanguageList.height();
@@ -751,7 +752,7 @@
} }
} }
// The region section need to be in sync with the map filter. // The region section need to be in sync with the map filter.
var inviewRegion = 'WW'; inviewRegion = 'WW';
lcd.$element.find( 'div.uls-lcd-region-section' ).each( function () { lcd.$element.find( 'div.uls-lcd-region-section' ).each( function () {
var $lcdRegionSection = $( this ), var $lcdRegionSection = $( this ),
top = $lcdRegionSection.position().top, top = $lcdRegionSection.position().top,
@@ -765,7 +766,7 @@
} }
} ); } );
var inview = $.uls.data.regiongroups[inviewRegion]; inview = $.uls.data.regiongroups[inviewRegion];
$( '.regionselector' ).removeClass( 'active' ); $( '.regionselector' ).removeClass( 'active' );
$( '#uls-region-' + inview ).addClass( 'active' ); $( '#uls-region-' + inview ).addClass( 'active' );
} ); } );
@@ -1253,21 +1254,22 @@
}, },
next: function () { next: function () {
if ( !this.$element.hasClass( 'active') ) { var regionSelector = this;
if ( !this.$element.hasClass( 'active' ) ) {
return true; return true;
} }
var regionSelector = this;
// Do not respond to all scroll end events, but only after a short interval // Do not respond to all scroll end events, but only after a short interval
delay( function () { delay( function () {
var regiongroup = regionSelector.$element.data( 'regiongroup' ); var nextRegionGroupNumber = regionSelector.$element.data( 'regiongroup' ) + 1,
var nextRegiongroup = regiongroup + 1; $nextRegion = $( '#uls-region-' + nextRegionGroupNumber ),
nextRegionSelector = $nextRegion.length && $nextRegion.data( 'regionselector' );
var $nextRegion = $( '#uls-region-' + nextRegiongroup ); // If cache is defined, then it is already rendered and there's no need
var next = $nextRegion.length && $nextRegion.data( 'regionselector' ); // to re-render it.
if ( nextRegionSelector && nextRegionSelector.cache === null ) {
if ( next ) { nextRegionSelector.show();
next.show();
} }
}, 100 ); }, 100 );
@@ -1276,7 +1278,7 @@
listen: function () { listen: function () {
this.$element.on( 'click', $.proxy( this.click, this ) ); this.$element.on( 'click', $.proxy( this.click, this ) );
this.options.$target.$element.bind( 'scrollend', $.proxy( this.next, this) ); this.options.$target.$element.bind( 'scrollend', $.proxy( this.next, this ) );
}, },
click: function ( e ) { click: function ( e ) {