-( function ( mw ) {
+( function () {
/**
* List displaying all filter groups
*
* @param {Object} [config] Configuration object
* @cfg {Object} [filters] A definition of the filter groups in this list
* @cfg {jQuery} [$overlay] A jQuery object serving as overlay for popups
+ * @cfg {jQuery} [$wrapper] A jQuery object for the wrapper of the general
+ * system. If not given, falls back to this widget's $element
+ * @cfg {boolean} [collapsed] Filter area is collapsed
*/
mw.rcfilters.ui.FilterWrapperWidget = function MwRcfiltersUiFilterWrapperWidget(
controller, model, savedQueriesModel, changesListModel, config
this.queriesModel = savedQueriesModel;
this.changesListModel = changesListModel;
this.$overlay = config.$overlay || this.$element;
+ this.$wrapper = config.$wrapper || this.$element;
this.filterTagWidget = new mw.rcfilters.ui.FilterTagMultiselectWidget(
this.controller,
this.model,
this.queriesModel,
- { $overlay: this.$overlay }
+ {
+ $overlay: this.$overlay,
+ collapsed: config.collapsed,
+ $wrapper: this.$wrapper
+ }
);
this.liveUpdateButton = new mw.rcfilters.ui.LiveUpdateButtonWidget(
this.changesListModel
);
- this.numChangesWidget = new mw.rcfilters.ui.ChangesLimitAndDateButtonWidget(
+ this.numChangesAndDateWidget = new mw.rcfilters.ui.ChangesLimitAndDateButtonWidget(
this.controller,
this.model,
{
classes: [ 'mw-rcfilters-ui-filterWrapperWidget-showNewChanges' ]
} );
+ // Events
+ this.filterTagWidget.menu.connect( this, { toggle: [ 'emit', 'menuToggle' ] } );
+ this.changesListModel.connect( this, { newChangesExist: 'onNewChangesExist' } );
+ this.showNewChangesLink.connect( this, { click: 'onShowNewChangesClick' } );
+ this.showNewChangesLink.toggle( false );
+
// Initialize
this.$top = $( '<div>' )
.addClass( 'mw-rcfilters-ui-filterWrapperWidget-top' );
.addClass( 'mw-rcfilters-ui-filterWrapperWidget-bottom' )
.append(
this.showNewChangesLink.$element,
- this.numChangesWidget.$element
+ this.numChangesAndDateWidget.$element
);
- if ( mw.rcfilters.featureFlags.liveUpdate ) {
+ if ( mw.config.get( 'StructuredChangeFiltersLiveUpdatePollingRate' ) ) {
$bottom.prepend( this.liveUpdateButton.$element );
}
- // Events
- this.filterTagWidget.menu.connect( this, { toggle: [ 'emit', 'menuToggle' ] } );
- this.changesListModel.connect( this, { newChangesExist: 'onNewChangesExist' } );
- this.showNewChangesLink.connect( this, { click: 'onShowNewChangesClick' } );
- this.showNewChangesLink.toggle( false );
-
this.$element
.addClass( 'mw-rcfilters-ui-filterWrapperWidget' )
.append(
mw.rcfilters.ui.FilterWrapperWidget.prototype.onNewChangesExist = function ( newChangesExist ) {
this.showNewChangesLink.toggle( newChangesExist );
};
-}( mediaWiki ) );
+}() );