RCFilters UI: Unify the loader animation
authorMoriel Schottlender <moriel@gmail.com>
Mon, 6 Mar 2017 23:28:21 +0000 (15:28 -0800)
committerMoriel Schottlender <moriel@gmail.com>
Mon, 6 Mar 2017 23:28:21 +0000 (15:28 -0800)
Bug: T159766
Change-Id: Ifda7510efa4e16422b5988c37c2e54aa08b52b71

includes/specials/SpecialRecentchanges.php
resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js

index cdad926..eb29907 100644 (file)
@@ -456,24 +456,31 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
                $panel[] = $form;
                $panelString = implode( "\n", $panel );
 
+               $rcoptions = Xml::fieldset(
+                       $this->msg( 'recentchanges-legend' )->text(),
+                       $panelString,
+                       [ 'class' => 'rcoptions' ]
+               );
+
                // Insert a placeholder for RCFilters
                if ( $this->getUser()->getOption( 'rcenhancedfilters' ) ) {
+                       $rcfilterContainer = Html::element(
+                               'div',
+                               [ 'class' => 'rcfilters-container' ]
+                       );
+
+                       // Wrap both with rcfilters-head
                        $this->getOutput()->addHTML(
-                               Html::element(
+                               Html::rawElement(
                                        'div',
-                                       [ 'class' => 'rcfilters-container' ]
+                                       [ 'class' => 'rcfilters-head' ],
+                                       $rcfilterContainer . $rcoptions
                                )
                        );
+               } else {
+                       $this->getOutput()->addHTML( $rcoptions );
                }
 
-               $this->getOutput()->addHTML(
-                       Xml::fieldset(
-                               $this->msg( 'recentchanges-legend' )->text(),
-                               $panelString,
-                               [ 'class' => 'rcoptions' ]
-                       )
-               );
-
                $this->setBottomText( $opts );
        }
 
index 089b106..255d93b 100644 (file)
                        $( '.rcfilters-container' ).append( filtersWidget.$element );
                        $( 'body' ).append( $overlay );
 
+                       // Set as ready
+                       $( '.rcfilters-head' ).addClass( 'mw-rcfilters-ui-ready' );
+
                        window.addEventListener( 'popstate', function () {
                                controller.updateChangesList();
                        } );
index 897a9e8..d47346c 100644 (file)
@@ -7,7 +7,10 @@
                legend {
                        display: none;
                }
+       }
 
+       .rcfilters-head {
+               min-height: 270px;
                &:not( .mw-rcfilters-ui-ready ) {
                        /* @embed */
                        background-image: url( ../images/pending.gif );
        .rcfilters-container {
                min-height: 100px;
                margin: 0;
-
-               &:not( .mw-rcfilters-ui-ready ) {
-                       /* @embed */
-                       background-image: url( ../images/pending.gif );
-               }
        }
 }
 
index 886dc43..de7ea74 100644 (file)
@@ -75,7 +75,6 @@
                // Initialize
                this.$element
                        .addClass( 'mw-rcfilters-ui-filterWrapperWidget' )
-                       .addClass( 'mw-rcfilters-ui-ready' )
                        .append( this.capsule.$element, this.textInput.$element );
        };
 
index 51311e1..e914bbe 100644 (file)
@@ -42,8 +42,7 @@
                // Initialize
                this.cleanUpFieldset();
                this.$element
-                       .addClass( 'mw-rcfilters-ui-FormWrapperWidget' )
-                       .addClass( 'mw-rcfilters-ui-ready' );
+                       .addClass( 'mw-rcfilters-ui-FormWrapperWidget' );
        };
 
        /* Initialization */