Santhosh has uploaded a new change for review. https://gerrit.wikimedia.org/r/71973
Change subject: Update jquery.uls from upstream ...................................................................... Update jquery.uls from upstream Performance improvements by matmarex Change-Id: Ie89bd56702dec231a8c27f9cf8eeb7bbffe9b251 --- M lib/jquery.uls/i18n/ka.json M lib/jquery.uls/src/jquery.uls.core.js M lib/jquery.uls/src/jquery.uls.lcd.js M lib/jquery.uls/src/jquery.uls.regionfilter.js 4 files changed, 27 insertions(+), 48 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector refs/changes/73/71973/1 diff --git a/lib/jquery.uls/i18n/ka.json b/lib/jquery.uls/i18n/ka.json index 530b5e5..b42f526 100644 --- a/lib/jquery.uls/i18n/ka.json +++ b/lib/jquery.uls/i18n/ka.json @@ -4,13 +4,18 @@ "David1010" ] }, + "uls-select-language": "\u10d0\u10d8\u10e0\u10e9\u10d8\u10d4\u10d7 \u10d4\u10dc\u10d0", "uls-region-WW": "\u10db\u10e1\u10dd\u10e4\u10da\u10d8\u10dd", + "uls-region-SP": "\u10e1\u10de\u10d4\u10ea\u10d8\u10d0\u10da\u10e3\u10e0\u10d8", "uls-region-AM": "\u10d0\u10db\u10d4\u10e0\u10d8\u10d9\u10d0", "uls-region-AF": "\u10d0\u10e4\u10e0\u10d8\u10d9\u10d0", "uls-region-EU": "\u10d4\u10d5\u10e0\u10dd\u10de\u10d0", "uls-region-AS": "\u10d0\u10d6\u10d8\u10d0", "uls-region-ME": "\u10d0\u10ee\u10da\u10dd \u10d0\u10e6\u10db\u10dd\u10e1\u10d0\u10d5\u10da\u10d4\u10d7\u10d8", "uls-region-PA": "\u10dd\u10d9\u10d4\u10d0\u10dc\u10d4\u10d7\u10d8", + "uls-no-results-found": "\u10e8\u10d4\u10d3\u10d4\u10d2\u10d8 \u10d5\u10d4\u10e0 \u10db\u10dd\u10d8\u10eb\u10d4\u10d1\u10dc\u10d0", "uls-common-languages": "\u10e1\u10d0\u10d4\u10e0\u10d7\u10dd \u10d4\u10dc\u10d4\u10d1\u10d8", + "uls-no-results-suggestion-title": "\u10d8\u10e5\u10dc\u10d4\u10d1 \u10d7\u10e5\u10d5\u10d4\u10dc \u10d0\u10db \u10d4\u10dc\u10d4\u10d1\u10db\u10d0 \u10d3\u10d0\u10d2\u10d0\u10d8\u10dc\u10e2\u10d4\u10e0\u10d4\u10e1\u10dd\u10d7:", + "uls-search-help": "\u10eb\u10d8\u10d4\u10d1\u10d0 \u10e8\u10d4\u10e1\u10d0\u10eb\u10da\u10d4\u10d1\u10d4\u10da\u10d8\u10d0 \u10d4\u10dc\u10d8\u10e1 \u10e1\u10d0\u10ee\u10d4\u10da\u10d8\u10d7 \u10d0\u10dc \u10d3\u10d0\u10db\u10ec\u10d4\u10e0\u10da\u10dd\u10d1\u10d8\u10d7, \u10d4\u10dc\u10d8\u10e1 ISO-\u10d9\u10dd\u10d3\u10d8\u10d7 \u10d0\u10dc \u10e0\u10d4\u10d2\u10d8\u10dd\u10dc\u10d8\u10e1 \u10db\u10d8\u10ee\u10d4\u10d3\u10d5\u10d8\u10d7:", "uls-search-placeholder": "\u10d4\u10dc\u10d8\u10e1 \u10db\u10dd\u10eb\u10d4\u10d1\u10dc\u10d0" } \ No newline at end of file diff --git a/lib/jquery.uls/src/jquery.uls.core.js b/lib/jquery.uls/src/jquery.uls.core.js index 0d3cfd0..cac2b8d 100644 --- a/lib/jquery.uls/src/jquery.uls.core.js +++ b/lib/jquery.uls/src/jquery.uls.core.js @@ -201,11 +201,7 @@ defaultSearch: function () { this.$resultsView.lcd( 'empty' ); - if ( this.options.lazyload ) { - this.$regionFilters.first().regionselector( 'show' ); - } else { - this.$regionFilters.regionselector( 'show' ); - } + this.$regionFilters.regionselector( 'show' ); }, /** @@ -269,7 +265,6 @@ languages: uls.languages, quickList: uls.options.quickList, clickhandler: $.proxy( uls.select, uls ), - lazyload: uls.options.lazyload, source: uls.$languageFilter, showRegions: uls.options.showRegions } ).data( 'lcd' ); @@ -412,7 +407,6 @@ searchAPI: null, // Language search API languages: $.uls.data.getAutonyms(), // Languages to be used for ULS, default is all languages quickList: null, // Array of language codes or function that returns such - lazyload: true, // Lazy load the language list when scrolled. compact: false, // Show ULS in compact mode showRegions: ['WW', 'AM', 'EU', 'ME', 'AF', 'AS', 'PA'] }; diff --git a/lib/jquery.uls/src/jquery.uls.lcd.js b/lib/jquery.uls/src/jquery.uls.lcd.js index 927f419..87f79c2 100644 --- a/lib/jquery.uls/src/jquery.uls.lcd.js +++ b/lib/jquery.uls/src/jquery.uls.lcd.js @@ -287,11 +287,6 @@ scrollTop = $ulsLanguageList.position().top, scrollBottom = $ulsLanguageList.height(); - if ( lcd.options.lazyload && lcd.options.source.val() === '' ) { - if ( this.offsetHeight + this.scrollTop >= this.scrollHeight / 2 ) { - lcd.$element.trigger( 'scrollend' ); - } - } // The region section need to be in sync with the map filter. inviewRegion = 'WW'; lcd.$element.find( 'div.uls-lcd-region-section' ).each( function () { @@ -332,8 +327,7 @@ $.fn.lcd.defaults = { languages: null, - showRegions: ['WW', 'AM', 'EU', 'ME', 'AF', 'AS', 'PA'], - lazyload: true + showRegions: ['WW', 'AM', 'EU', 'ME', 'AF', 'AS', 'PA'] }; $.fn.lcd.Constructor = LanguageCategoryDisplay; diff --git a/lib/jquery.uls/src/jquery.uls.regionfilter.js b/lib/jquery.uls/src/jquery.uls.regionfilter.js index ab1d6e5..abc633d 100644 --- a/lib/jquery.uls/src/jquery.uls.regionfilter.js +++ b/lib/jquery.uls/src/jquery.uls.regionfilter.js @@ -22,7 +22,7 @@ /* RegionSelector plugin definition */ - var RegionSelector, delay; + var RegionSelector; /** * Region selector is a language selector based on regions. @@ -70,7 +70,16 @@ }, show: function () { - var result, languagesByScriptGroup, scriptGroup, languages, i; + var result, languagesByScriptGroup, scriptGroup, languages, i, + $element = this.options.$target && this.options.$target.$element, + $parent = $element && $element.parent(), + $prev = $element && $element.prev(); + + if ( $element && $parent ) { + // Avoid reflows while adding new elements to the list + // Use .detach() to keep jQuery events and data associated with elements + $element.detach(); + } if ( this.cache ) { // If the result cache is present, render the results from there. @@ -106,6 +115,15 @@ } } + if ( $element && $parent ) { + // Restore the element to where we removed it from + if ( $prev ) { + $prev.after( $element ); + } else { + $parent.append( $element ); + } + } + if ( this.options.success ) { this.options.success( this ); } @@ -121,32 +139,8 @@ $target.append( langCode, region ); }, - next: function () { - var regionSelector = this; - - if ( !this.$element.hasClass( 'active' ) ) { - return true; - } - - // Do not respond to all scroll end events, but only after a short interval - delay( function () { - var nextRegionGroupNumber = regionSelector.$element.data( 'regiongroup' ) + 1, - $nextRegion = $( '#uls-region-' + nextRegionGroupNumber ), - nextRegionSelector = $nextRegion.length && $nextRegion.data( 'regionselector' ); - - // If cache is defined, then it is already rendered and there's no need - // to re-render it. - if ( nextRegionSelector && nextRegionSelector.cache === null ) { - nextRegionSelector.show(); - } - }, 100 ); - - return false; - }, - listen: function () { this.$element.on( 'click', $.proxy( this.click, this ) ); - this.options.$target.$element.bind( 'scrollend', $.proxy( this.next, this ) ); }, click: function () { @@ -194,13 +188,5 @@ }; $.fn.regionselector.Constructor = RegionSelector; - - delay = ( function () { - var timer = 0; - return function ( callback, milliseconds ) { - clearTimeout( timer ); - timer = setTimeout( callback, milliseconds ); - }; - } () ); } ( jQuery ) ); -- To view, visit https://gerrit.wikimedia.org/r/71973 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie89bd56702dec231a8c27f9cf8eeb7bbffe9b251 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector Gerrit-Branch: master Gerrit-Owner: Santhosh <santhosh.thottin...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits