From 7c314ae6f845d730645fde741cb8fc8b7148fb5c Mon Sep 17 00:00:00 2001 From: Prateek Saxena Date: Thu, 1 Mar 2018 12:30:53 +0530 Subject: [PATCH] multiselect: Use MenuTagMultiselectWidget MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit …instead of CapsuleMultiselectWidget Bug: T183299 Change-Id: I58385968c03e9b53ea8fc4d64de5d6540d12acc1 --- .../src/mediawiki/htmlform/multiselect.js | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/resources/src/mediawiki/htmlform/multiselect.js b/resources/src/mediawiki/htmlform/multiselect.js index 8a44251ccd..e48376367c 100644 --- a/resources/src/mediawiki/htmlform/multiselect.js +++ b/resources/src/mediawiki/htmlform/multiselect.js @@ -52,35 +52,35 @@ return $container; } - function convertCheckboxesWidgetToCapsules( fieldLayout ) { - var checkboxesWidget, checkboxesOptions, capsulesOptions, capsulesWidget; + function convertCheckboxesWidgetToTags( fieldLayout ) { + var checkboxesWidget, checkboxesOptions, menuTagOptions, menuTagWidget; checkboxesWidget = fieldLayout.fieldWidget; checkboxesOptions = checkboxesWidget.checkboxMultiselectWidget.getItems(); - capsulesOptions = checkboxesOptions.map( function ( option ) { + menuTagOptions = checkboxesOptions.map( function ( option ) { return new OO.ui.MenuOptionWidget( { data: option.getData(), label: option.getLabel() } ); } ); - capsulesWidget = new OO.ui.CapsuleMultiselectWidget( { + menuTagWidget = new OO.ui.MenuTagMultiselectWidget( { $overlay: true, menu: { - items: capsulesOptions + items: menuTagOptions } } ); - capsulesWidget.setItemsFromData( checkboxesWidget.getValue() ); + menuTagWidget.setValue( checkboxesWidget.getValue() ); // Data from CapsuleMultiselectWidget will not be submitted with the form, so keep the original // CheckboxMultiselectInputWidget up-to-date. - capsulesWidget.on( 'change', function () { - checkboxesWidget.setValue( capsulesWidget.getItemsData() ); + menuTagWidget.on( 'change', function () { + checkboxesWidget.setValue( menuTagWidget.getValue() ); } ); // Hide original widget and add new one in its place. This is a bit hacky, since the FieldLayout // still thinks it's connected to the old widget. checkboxesWidget.toggle( false ); - checkboxesWidget.$element.after( capsulesWidget.$element ); + checkboxesWidget.$element.after( menuTagWidget.$element ); } mw.hook( 'htmlform.enhance' ).add( function ( $root ) { @@ -99,7 +99,7 @@ modules.push.apply( modules, extraModules ); } mw.loader.using( modules, function () { - convertCheckboxesWidgetToCapsules( OO.ui.FieldLayout.static.infuse( $el ) ); + convertCheckboxesWidgetToTags( OO.ui.FieldLayout.static.infuse( $el ) ); } ); } else { mw.loader.using( 'jquery.chosen', function () { -- 2.20.1