Merge "resourceloader: Simplify StringSet fallback"
[lhc/web/wiklou.git] / resources / src / mediawiki.widgets / mw.widgets.SearchInputWidget.js
index 8707bfa..e821ce8 100644 (file)
@@ -4,7 +4,7 @@
  * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt
  * @license The MIT License (MIT); see LICENSE.txt
  */
-( function ( $, mw ) {
+( function () {
 
        /**
         * Creates a mw.widgets.SearchInputWidget object.
@@ -33,8 +33,7 @@
                        icon: 'search',
                        maxLength: undefined,
                        performSearchOnClick: true,
-                       dataLocation: 'header',
-                       namespace: 0
+                       dataLocation: 'header'
                }, config );
 
                // Parent constructor
                        } );
                }.bind( this ) );
 
+               this.connect( this, {
+                       change: 'onChange'
+               } );
+
                this.$element.addClass( 'oo-ui-textInputWidget-type-search' );
                this.updateSearchIndicator();
                this.connect( this, {
         * @see OO.ui.SearchInputWidget#onChange
         */
        mw.widgets.SearchInputWidget.prototype.onChange = function () {
-               mw.widgets.SearchInputWidget.parent.prototype.onChange.call( this );
                this.updateSearchIndicator();
        };
 
         */
        mw.widgets.SearchInputWidget.prototype.getOptionsFromData = function ( data ) {
                var items = [],
+                       titles = data.data[ 1 ],
+                       descriptions = data.data[ 2 ],
+                       urls = data.data[ 3 ],
                        self = this;
 
-               $.each( data.data[ 1 ], function ( i, result ) {
+               // eslint-disable-next-line no-restricted-properties
+               $.each( titles, function ( i, result ) {
                        items.push( new mw.widgets.TitleOptionWidget(
                                self.getOptionWidgetData(
                                        result,
                                        // the parent's API query.
                                        {
                                                data: result,
-                                               // data[ 3 ][ i ] is the link for this result
-                                               url: data.data[ 3 ][ i ],
-                                               imageUrl: null,
-                                               description: null,
+                                               url: urls[ i ],
+                                               imageUrl: null, // The JSON 'opensearch' API doesn't have images
+                                               description: descriptions[ i ],
                                                missing: false,
                                                redirect: false,
                                                disambiguation: false
                return items;
        };
 
-}( jQuery, mediaWiki ) );
+}() );