X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.rcfilters%2Fui%2Fmw.rcfilters.ui.FilterItemHighlightButton.js;h=f4a40cbbb87d43252f0dabbe2655691f430a4d1b;hp=c840d7c00bdaf417a315f173e3a36b906e2a0f32;hb=1de7117197761961736ea43b237599569eee93a2;hpb=f8e202e0fbd62ac26cfa9ae2695ebc081b08226f diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterItemHighlightButton.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterItemHighlightButton.js index c840d7c00b..f4a40cbbb8 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterItemHighlightButton.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterItemHighlightButton.js @@ -1,4 +1,4 @@ -( function ( mw, $ ) { +( function () { /** * A button to configure highlight for a filter item * @@ -7,34 +7,24 @@ * @constructor * @param {mw.rcfilters.Controller} controller RCFilters controller * @param {mw.rcfilters.dm.FilterItem} model Filter item model + * @param {mw.rcfilters.ui.HighlightPopupWidget} highlightPopup Shared highlight color picker * @param {Object} [config] Configuration object */ - mw.rcfilters.ui.FilterItemHighlightButton = function MwRcfiltersUiFilterItemHighlightButton( controller, model, config ) { + mw.rcfilters.ui.FilterItemHighlightButton = function MwRcfiltersUiFilterItemHighlightButton( controller, model, highlightPopup, config ) { config = config || {}; - this.colorPickerWidget = new mw.rcfilters.ui.HighlightColorPickerWidget( controller, model ); - // Parent mw.rcfilters.ui.FilterItemHighlightButton.parent.call( this, $.extend( true, {}, config, { icon: 'highlight', - indicator: 'down', - popup: { - anchor: false, - padded: true, - align: 'backwards', - horizontalPosition: 'end', - $floatableContainer: this.$element, - width: 290, - $content: this.colorPickerWidget.$element - } + indicator: 'down' } ) ); this.controller = controller; this.model = model; + this.popup = highlightPopup; // Event this.model.connect( this, { update: 'updateUiBasedOnModel' } ); - this.colorPickerWidget.connect( this, { chooseColor: 'onChooseColor' } ); // This lives inside a MenuOptionWidget, which intercepts mousedown // to select the item. We want to prevent that when we click the highlight // button @@ -59,6 +49,14 @@ /* Methods */ + mw.rcfilters.ui.FilterItemHighlightButton.prototype.onAction = function () { + this.popup.setAssociatedButton( this ); + this.popup.setFilterItem( this.model ); + + // Parent method + mw.rcfilters.ui.FilterItemHighlightButton.parent.prototype.onAction.call( this ); + }; + /** * Respond to item model update event */ @@ -79,8 +77,4 @@ ); } ); }; - - mw.rcfilters.ui.FilterItemHighlightButton.prototype.onChooseColor = function () { - this.popup.toggle( false ); - }; -}( mediaWiki, jQuery ) ); +}() );