resources: Strip '$' and 'mw' from file closures
[lhc/web/wiklou.git] / resources / src / mediawiki.rcfilters / ui / mw.rcfilters.ui.FilterWrapperWidget.js
index 1cd7bef..567d86d 100644 (file)
@@ -1,4 +1,4 @@
-( function ( mw ) {
+( function () {
        /**
         * List displaying all filter groups
         *
@@ -13,6 +13,9 @@
         * @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(
@@ -43,7 +51,7 @@
                        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 ) );
+}() );