Merge "Show a warning in edit preview when a template loop is detected"
[lhc/web/wiklou.git] / resources / src / mediawiki.rcfilters / ui / mw.rcfilters.ui.FilterWrapperWidget.js
index 92d223c..db7acaa 100644 (file)
@@ -9,12 +9,15 @@
         * @param {mw.rcfilters.Controller} controller Controller
         * @param {mw.rcfilters.dm.FiltersViewModel} model View model
         * @param {mw.rcfilters.dm.SavedQueriesModel} savedQueriesModel Saved queries model
+        * @param {mw.rcfilters.dm.ChangesListViewModel} changesListModel
         * @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
         */
-       mw.rcfilters.ui.FilterWrapperWidget = function MwRcfiltersUiFilterWrapperWidget( controller, model, savedQueriesModel, config ) {
-               var $top, $topRow, $bottom;
+       mw.rcfilters.ui.FilterWrapperWidget = function MwRcfiltersUiFilterWrapperWidget(
+               controller, model, savedQueriesModel, changesListModel, config
+       ) {
+               var $bottom;
                config = config || {};
 
                // Parent
@@ -35,7 +38,8 @@
                );
 
                this.liveUpdateButton = new mw.rcfilters.ui.LiveUpdateButtonWidget(
-                       this.controller
+                       this.controller,
+                       changesListModel
                );
 
                this.numChangesWidget = new mw.rcfilters.ui.ChangesLimitButtonWidget(
                );
 
                // Initialize
-               $topRow = $( '<div>' )
-                       .addClass( 'mw-rcfilters-ui-row' )
-                       .append(
-                               $( '<div>' )
-                                       .addClass( 'mw-rcfilters-ui-cell' )
-                                       .addClass( 'mw-rcfilters-ui-filterWrapperWidget-top-placeholder' )
-                       );
-               $top = $( '<div>' )
-                       .addClass( 'mw-rcfilters-ui-filterWrapperWidget-top' )
-                       .addClass( 'mw-rcfilters-ui-table' )
-                       .append( $topRow );
+               this.$top = $( '<div>' )
+                       .addClass( 'mw-rcfilters-ui-filterWrapperWidget-top' );
 
                $bottom = $( '<div>' )
                        .addClass( 'mw-rcfilters-ui-filterWrapperWidget-bottom' )
                                this.dateWidget.$element
                        );
 
-               this.savedLinksListWidget = new mw.rcfilters.ui.SavedLinksListWidget(
-                       this.controller,
-                       this.queriesModel,
-                       { $overlay: this.$overlay }
-               );
-
-               $topRow.append(
-                       $( '<div>' )
-                               .addClass( 'mw-rcfilters-ui-cell' )
-                               .addClass( 'mw-rcfilters-ui-filterWrapperWidget-top-savedLinks' )
-                               .append( this.savedLinksListWidget.$element )
-               );
-
-               if (
-                       mw.config.get( 'wgStructuredChangeFiltersEnableLiveUpdate' ) ||
-                       // Allow users to enable live update with ?liveupdate=1
-                       new mw.Uri().query.liveupdate
-               ) {
+               if ( mw.rcfilters.featureFlags.liveUpdate ) {
                        $bottom.append( this.liveUpdateButton.$element );
                }
 
                this.$element
                        .addClass( 'mw-rcfilters-ui-filterWrapperWidget' )
                        .append(
-                               $top,
+                               this.$top,
                                this.filterTagWidget.$element,
                                $bottom
                        );
 
        OO.inheritClass( mw.rcfilters.ui.FilterWrapperWidget, OO.ui.Widget );
        OO.mixinClass( mw.rcfilters.ui.FilterWrapperWidget, OO.ui.mixin.PendingElement );
+
+       /* Methods */
+
+       /**
+        * Set the content of the top section
+        *
+        * @param {jQuery} $topSectionElement
+        */
+       mw.rcfilters.ui.FilterWrapperWidget.prototype.setTopSection = function ( $topSectionElement ) {
+               this.$top.append( $topSectionElement );
+       };
 }( mediaWiki ) );