X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.widgets%2Fmw.widgets.CategoryMultiselectWidget.js;h=c5063797ed29f4b738a5f97eeba56ba212defb9c;hb=138298b397b308ad6e4bfc7088884d90e8ac1e37;hp=354fcd94bd199fe36cdc0253990be8eb0e0db311;hpb=e8250af240815c7ff44787c9f82fe393d0dde211;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.widgets/mw.widgets.CategoryMultiselectWidget.js b/resources/src/mediawiki.widgets/mw.widgets.CategoryMultiselectWidget.js index 354fcd94bd..c5063797ed 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.CategoryMultiselectWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.CategoryMultiselectWidget.js @@ -9,7 +9,7 @@ NS_CATEGORY = mw.config.get( 'wgNamespaceIds' ).category; /** - * Category selector widget. Displays an OO.ui.CapsuleMultiselectWidget + * Category selector widget. Displays an OO.ui.MenuTagMultiselectWidget * and autocompletes with available categories. * * mw.loader.using( 'mediawiki.widgets.CategoryMultiselectWidget', function () { @@ -27,7 +27,7 @@ * * @class mw.widgets.CategoryMultiselectWidget * @uses mw.Api - * @extends OO.ui.CapsuleMultiselectWidget + * @extends OO.ui.MenuTagMultiselectWidget * @mixins OO.ui.mixin.PendingElement * * @constructor @@ -62,7 +62,7 @@ OO.ui.mixin.PendingElement.call( this, $.extend( {}, config, { $pending: this.$handle } ) ); // Event handler to call the autocomplete methods - this.$input.on( 'change input cut paste', OO.ui.debounce( this.updateMenuItems.bind( this ), 100 ) ); + this.input.$input.on( 'change input cut paste', OO.ui.debounce( this.updateMenuItems.bind( this ), 100 ) ); // Initialize this.api = config.api || new mw.Api(); @@ -71,7 +71,7 @@ /* Setup */ - OO.inheritClass( mw.widgets.CategoryMultiselectWidget, OO.ui.CapsuleMultiselectWidget ); + OO.inheritClass( mw.widgets.CategoryMultiselectWidget, OO.ui.MenuTagMultiselectWidget ); OO.mixinClass( mw.widgets.CategoryMultiselectWidget, OO.ui.mixin.PendingElement ); /* Methods */ @@ -86,12 +86,12 @@ */ mw.widgets.CategoryMultiselectWidget.prototype.updateMenuItems = function () { this.getMenu().clearItems(); - this.getNewMenuItems( this.$input.val() ).then( function ( items ) { + this.getNewMenuItems( this.input.$input.val() ).then( function ( items ) { var existingItems, filteredItems, menu = this.getMenu(); // Never show the menu if the input lost focus in the meantime - if ( !this.$input.is( ':focus' ) ) { + if ( !this.input.$input.is( ':focus' ) ) { return; } @@ -188,12 +188,10 @@ /** * @inheritdoc */ - mw.widgets.CategoryMultiselectWidget.prototype.createItemWidget = function ( data ) { + mw.widgets.CategoryMultiselectWidget.prototype.createTagItemWidget = function ( data ) { var title = mw.Title.makeTitle( NS_CATEGORY, data ); - if ( !title ) { - return null; - } - return new mw.widgets.CategoryCapsuleItemWidget( { + + return new mw.widgets.CategoryTagItemWidget( { apiUrl: this.api.apiUrl || undefined, title: title } ); @@ -204,7 +202,7 @@ */ mw.widgets.CategoryMultiselectWidget.prototype.findItemFromData = function ( data ) { // This is a bit of a hack... We have to canonicalize the data in the same way that - // #createItemWidget and CategoryCapsuleItemWidget will do, otherwise we won't find duplicates. + // #createItemWidget and CategoryTagItemWidget will do, otherwise we won't find duplicates. var title = mw.Title.makeTitle( NS_CATEGORY, data ); if ( !title ) { return null;