* @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.
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 ) );
+}() );