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

Reply via email to