Merge "RCFilters: Adjust to use MenuTagMultiselectWidget"
[lhc/web/wiklou.git] / resources / src / mediawiki.rcfilters / ui / mw.rcfilters.ui.FilterWrapperWidget.js
1 ( function ( mw ) {
2 /**
3 * List displaying all filter groups
4 *
5 * @extends OO.ui.Widget
6 * @mixins OO.ui.mixin.PendingElement
7 *
8 * @constructor
9 * @param {mw.rcfilters.Controller} controller Controller
10 * @param {mw.rcfilters.dm.FiltersViewModel} model View model
11 * @param {Object} [config] Configuration object
12 * @cfg {Object} [filters] A definition of the filter groups in this list
13 * @cfg {jQuery} [$overlay] A jQuery object serving as overlay for popups
14 */
15 mw.rcfilters.ui.FilterWrapperWidget = function MwRcfiltersUiFilterWrapperWidget( controller, model, config ) {
16 config = config || {};
17
18 // Parent
19 mw.rcfilters.ui.FilterWrapperWidget.parent.call( this, config );
20 // Mixin constructors
21 OO.ui.mixin.PendingElement.call( this, config );
22
23 this.controller = controller;
24 this.model = model;
25 this.$overlay = config.$overlay || this.$element;
26
27 this.filterTagWidget = new mw.rcfilters.ui.FilterTagMultiselectWidget(
28 this.controller,
29 this.model,
30 { $overlay: this.$overlay }
31 );
32
33 // Initialize
34 this.$element
35 .addClass( 'mw-rcfilters-ui-filterWrapperWidget' )
36 .append( this.filterTagWidget.$element );
37 };
38
39 /* Initialization */
40
41 OO.inheritClass( mw.rcfilters.ui.FilterWrapperWidget, OO.ui.Widget );
42 OO.mixinClass( mw.rcfilters.ui.FilterWrapperWidget, OO.ui.mixin.PendingElement );
43 }( mediaWiki ) );