From 89af348547bcde0c44868ea0902f1dc6054d2d74 Mon Sep 17 00:00:00 2001 From: Ed Sanders Date: Tue, 3 Oct 2017 15:42:19 +0100 Subject: [PATCH] mw.widgets.SearchInputWidget: Avoid overriding getOptionWidgetData This means we don't have to track upstream changes to the method. Change-Id: I44739eefae4d47aeee9f506e0d99e605da4fb961 --- .../mw.widgets.SearchInputWidget.js | 42 +++++++------------ 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js b/resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js index 08997aa444..8707bfaeff 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js @@ -186,13 +186,23 @@ var items = [], self = this; - // mw.widgets.TitleWidget does a lot more work here, because the TitleOptionWidgets can - // differ a lot, depending on the returned data from the request. With the request used here - // we get only the search results. $.each( data.data[ 1 ], function ( i, result ) { items.push( new mw.widgets.TitleOptionWidget( - // data[ 3 ][ i ] is the link for this result - self.getOptionWidgetData( result, null, data.data[ 3 ][ i ] ) + self.getOptionWidgetData( + result, + // Create a result object that looks like the one from + // 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, + missing: false, + redirect: false, + disambiguation: false + } + ) ) ); } ); @@ -207,28 +217,6 @@ return items; }; - /** - * @inheritdoc mw.widgets.TitleWidget - * - * @param {string} title - * @param {Object} data - * @param {string} url The Url to the result - */ - mw.widgets.SearchInputWidget.prototype.getOptionWidgetData = function ( title, data, url ) { - // the values used in mw.widgets-TitleWidget doesn't exist here, that's why - // the values are hard-coded here - return { - data: title, - url: url, - imageUrl: null, - description: null, - missing: false, - redirect: false, - disambiguation: false, - query: this.getQueryValue() - }; - }; - /** * @inheritdoc */ -- 2.20.1