Файловый менеджер - Редактировать - /var/www/html/mediawiki-1.43.1/resources/src/mediawiki.rcfilters/ui/ValuePickerWidget.js
Ðазад
/** * Widget defining the behavior used to choose from a set of values * in a single_value group. * * @class mw.rcfilters.ui.ValuePickerWidget * @ignore * @extends OO.ui.Widget * @mixes OO.ui.mixin.LabelElement * * @param {mw.rcfilters.dm.FilterGroup} model Group model * @param {Object} [config] Configuration object * @param {Function} [config.itemFilter] A filter function for the items from the * model. If not given, all items will be included. The function must * handle item models and return a boolean whether the item is included * or not. Example: function ( itemModel ) { return itemModel.isSelected(); } */ const ValuePickerWidget = function MwRcfiltersUiValuePickerWidget( model, config ) { config = config || {}; // Parent ValuePickerWidget.super.call( this, config ); // Mixin constructors OO.ui.mixin.LabelElement.call( this, config ); this.model = model; this.itemFilter = config.itemFilter || function () { return true; }; // Build the selection from the item models this.selectWidget = new OO.ui.ButtonSelectWidget(); this.initializeSelectWidget(); // Events this.model.connect( this, { update: 'onModelUpdate' } ); this.selectWidget.connect( this, { choose: 'onSelectWidgetChoose' } ); // Initialize this.$element .addClass( 'mw-rcfilters-ui-valuePickerWidget' ) .append( this.$label .addClass( 'mw-rcfilters-ui-valuePickerWidget-title' ), this.selectWidget.$element ); }; /* Initialization */ OO.inheritClass( ValuePickerWidget, OO.ui.Widget ); OO.mixinClass( ValuePickerWidget, OO.ui.mixin.LabelElement ); /* Events */ /** * An item has been chosen. * * @event choose * @param {string} name Item name * @ignore */ /* Methods */ /** * Respond to model update event */ ValuePickerWidget.prototype.onModelUpdate = function () { this.selectCurrentModelItem(); }; /** * Respond to select widget choose event * * @param {OO.ui.ButtonOptionWidget} chosenItem Chosen item * @fires choose */ ValuePickerWidget.prototype.onSelectWidgetChoose = function ( chosenItem ) { this.emit( 'choose', chosenItem.getData() ); }; /** * Initialize the select widget */ ValuePickerWidget.prototype.initializeSelectWidget = function () { const items = this.model.getItems() .filter( this.itemFilter ) .map( ( filterItem ) => new OO.ui.ButtonOptionWidget( { data: filterItem.getName(), label: filterItem.getLabel() } ) ); this.selectWidget.clearItems(); this.selectWidget.addItems( items ); this.selectCurrentModelItem(); }; /** * Select the current item that corresponds with the model item * that is currently selected */ ValuePickerWidget.prototype.selectCurrentModelItem = function () { const selectedItem = this.model.findSelectedItems()[ 0 ]; if ( selectedItem ) { this.selectWidget.selectItemByData( selectedItem.getName() ); } }; module.exports = ValuePickerWidget;
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка