X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.widgets%2Fmw.widgets.TitleSearchWidget.js;h=5ba9481a0ccf684081a3b19de78c9a19db026e38;hb=0d1000f7510b978a953fd3b913940d10382ba54a;hp=0e2546f8b7b75694e01cfac262bee19a512ace20;hpb=970c99e5dd34457704dae2ed14d214374693a1d4;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.widgets/mw.widgets.TitleSearchWidget.js b/resources/src/mediawiki.widgets/mw.widgets.TitleSearchWidget.js index 0e2546f8b7..5ba9481a0c 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.TitleSearchWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.TitleSearchWidget.js @@ -11,9 +11,11 @@ * * @class * @extends OO.ui.SearchWidget + * @mixins OO.ui.mixin.RequestManager * @mixins mw.widgets.TitleWidget * * @constructor + * @param {Object} [config] Configuration options */ mw.widgets.TitleSearchWidget = function MwWidgetsTitleSearchWidget( config ) { config = config || {}; @@ -23,6 +25,7 @@ // Mixin constructors mw.widgets.TitleWidget.call( this, config ); + OO.ui.mixin.RequestManager.call( this, config ); this.query.setValidation( this.isQueryValid.bind( this ) ); @@ -46,6 +49,7 @@ /* Setup */ OO.inheritClass( mw.widgets.TitleSearchWidget, OO.ui.SearchWidget ); + OO.mixinClass( mw.widgets.TitleSearchWidget, OO.ui.mixin.RequestManager ); OO.mixinClass( mw.widgets.TitleSearchWidget, mw.widgets.TitleWidget ); /* Methods */ @@ -72,12 +76,30 @@ mw.widgets.TitleSearchWidget.prototype.onQueryChange = function () { var widget = this; - this.getSuggestionsPromise().done( function ( response ) { + this.getRequestData().done( function ( data ) { // Parent method mw.widgets.TitleSearchWidget.parent.prototype.onQueryChange.call( widget ); - - widget.results.addItems( widget.getOptionsFromData( response.query || {} ) ); + widget.results.addItems( widget.getOptionsFromData( data ) ); } ); }; + /** + * @inheritdoc OO.ui.mixin.RequestManager + */ + mw.widgets.TitleSearchWidget.prototype.getRequestQuery = function () { + return this.getQueryValue(); + }; + /** + * @inheritdoc OO.ui.mixin.RequestManager + */ + mw.widgets.TitleSearchWidget.prototype.getRequest = function () { + return this.getSuggestionsPromise(); + }; + /** + * @inheritdoc OO.ui.mixin.RequestManager + */ + mw.widgets.TitleSearchWidget.prototype.getRequestCacheDataFromResponse = function ( response ) { + return response.query || {}; + }; + }( jQuery, mediaWiki ) );