Henning Snater has uploaded a new change for review. https://gerrit.wikimedia.org/r/169729
Change subject: Re-added highlighting to siteselector and pagesuggester ...................................................................... Re-added highlighting to siteselector and pagesuggester Change-Id: Icf0dc123d13070da41dc4dc9eb26f3a0f13e4278 --- M lib/resources/jquery.wikibase/jquery.wikibase.pagesuggester.js M lib/resources/jquery.wikibase/jquery.wikibase.siteselector.js M lib/resources/jquery.wikibase/resources.php 3 files changed, 44 insertions(+), 13 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/29/169729/1 diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.pagesuggester.js b/lib/resources/jquery.wikibase/jquery.wikibase.pagesuggester.js index bc7258b..c2d3040 100644 --- a/lib/resources/jquery.wikibase/jquery.wikibase.pagesuggester.js +++ b/lib/resources/jquery.wikibase/jquery.wikibase.pagesuggester.js @@ -2,7 +2,7 @@ * @licence GNU GPL v2+ * @author H. Snater < [email protected] > */ -( function( $, wb ) { +( function( $, wb, util ) { 'use strict'; /** @@ -110,7 +110,17 @@ return deferred.promise(); }; + }, + + /** + * @see jQuery.ui.suggester._createMenuItemFromSuggestion + */ + _createMenuItemFromSuggestion: function( suggestion, requestTerm ) { + return new $.ui.ooMenu.Item( + util.highlightSubstring( requestTerm, suggestion ), + suggestion + ); } } ); -}( jQuery, wikibase ) ); +}( jQuery, wikibase, util ) ); diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.siteselector.js b/lib/resources/jquery.wikibase/jquery.wikibase.siteselector.js index 97dca3e..f6467ce 100644 --- a/lib/resources/jquery.wikibase/jquery.wikibase.siteselector.js +++ b/lib/resources/jquery.wikibase/jquery.wikibase.siteselector.js @@ -2,7 +2,7 @@ * @licence GNU GPL v2+ * @author H. Snater < mediawiki at snater.com > */ -( function( $ ) { +( function( $, util ) { 'use strict'; /** @@ -119,13 +119,13 @@ .on( 'selected.siteselector', function( event, item ) { if( item instanceof $.wikibase.siteselector.Item ) { self._selectedSite = item.getSite(); - self.element.val( self._createItemLabel( self._selectedSite ) ); + self.element.val( self._createItemValue( self._selectedSite ) ); self._trigger( 'selected', null, [self._selectedSite.getId()] ); } } ) .on( 'blur.siteselector', function() { if( self._selectedSite ) { - self.element.val( self._createItemLabel( self._selectedSite ) ); + self.element.val( self._createItemValue( self._selectedSite ) ); } else if( self.element.val() !== '' ) { self._selectFirstSite(); } @@ -187,7 +187,7 @@ deferred = $.Deferred(); if( term === '' ) { - return deferred.resolve( [] ).promise; + return deferred.resolve( [], term ).promise; } var suggestedSites = $.grep( source, function( site ) { @@ -207,15 +207,18 @@ return false; } ); - return deferred.resolve( suggestedSites ).promise(); + return deferred.resolve( suggestedSites, term ).promise(); }, /** - * @see jQuery.ui.suggester._getSuggestionsFromArray + * @see jQuery.ui.suggester._createMenuItemFromSuggestion */ - _createMenuItemFromSuggestion: function( suggestion ) { - var value = this._createItemLabel( suggestion ); - return new $.wikibase.siteselector.Item( value, value, suggestion ); + _createMenuItemFromSuggestion: function( suggestion, requestTerm ) { + return new $.wikibase.siteselector.Item( + this._createItemLabel( suggestion, requestTerm ), + this._createItemValue( suggestion ), + suggestion + ); }, /** @@ -224,7 +227,22 @@ * @param {wikibase.Site} site * @return {string} */ - _createItemLabel: function( site ) { + _createItemLabel: function( site, requestTerm ) { + return util.highlightSubstring( requestTerm, site.getShortName(), { + caseInsensitive: true + } ) + + ' (' + util.highlightSubstring( requestTerm, site.getId(), { + caseInsensitive: true + } ) + ')'; + }, + + /** + * Creates the value of a suggestion item. + * + * @param {wikibase.Site} site + * @return {string} + */ + _createItemValue: function( site ) { return site.getShortName() + ' (' + site.getId() + ')'; }, @@ -291,4 +309,4 @@ Item: Item } ); -} )( jQuery ); +} )( jQuery, util ); diff --git a/lib/resources/jquery.wikibase/resources.php b/lib/resources/jquery.wikibase/resources.php index 2f13aed..3d62383 100644 --- a/lib/resources/jquery.wikibase/resources.php +++ b/lib/resources/jquery.wikibase/resources.php @@ -276,7 +276,9 @@ 'jquery.wikibase.pagesuggester.js', ), 'dependencies' => array( + 'jquery.ui.ooMenu', 'jquery.ui.suggester', + 'util.highlightSubstring', 'wikibase.sites', ), ), @@ -395,6 +397,7 @@ 'jquery.event.special.eachchange', 'jquery.ui.ooMenu', 'jquery.ui.suggester', + 'util.highlightSubstring', ), ), -- To view, visit https://gerrit.wikimedia.org/r/169729 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Icf0dc123d13070da41dc4dc9eb26f3a0f13e4278 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Henning Snater <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
