RCFilters: Emphasize UI when saved query is loaded
authorMoriel Schottlender <moriel@gmail.com>
Fri, 14 Jul 2017 01:45:36 +0000 (20:45 -0500)
committerRoan Kattouw <roan.kattouw@gmail.com>
Wed, 19 Jul 2017 02:34:09 +0000 (19:34 -0700)
Bug: T169063
Change-Id: Ia300ca7bb4afb7d8e247e57e53ecff826ddf0d7e

resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterTagMultiselectWidget.less
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SavedLinksListWidget.js

index 420bb44..7ee601f 100644 (file)
@@ -1,3 +1,5 @@
+@import 'mediawiki.mixins';
+
 .mw-rcfilters-ui-filterTagMultiselectWidget {
        max-width: none;
 
                margin-top: 1.6em;
        }
 
+       .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled &-animate.oo-ui-tagMultiselectWidget-handle {
+               .transition( background-color 500ms ease-out );
+       }
+
+       .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled &-emphasize.oo-ui-tagMultiselectWidget-handle {
+               background-color: #eaf3ff; // Accent90
+       }
+
        &-wrapper {
                .mw-rcfilters-ui-table {
                        margin-top: 0.3em;
@@ -29,7 +39,8 @@
                        }
 
                        &-savedQueryTitle {
-                               color: #72777d;
+                               color: #222; // Base10
+                               font-weight: bold;
                                margin-left: 1em;
                        }
                }
index dcada85..7789b55 100644 (file)
                                !this.isEmpty() &&
                                !this.matchingQuery
                        );
+
+                       if ( this.matchingQuery ) {
+                               this.emphasize();
+                       }
                }
        };
 
                }
        };
 
+       mw.rcfilters.ui.FilterTagMultiselectWidget.prototype.emphasize = function () {
+               if (
+                       !this.$handle.hasClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-animate' )
+               ) {
+                       this.$handle
+                               .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-emphasize' )
+                               .addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-animate' );
+
+                       setTimeout( function () {
+                               this.$handle
+                                       .removeClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-emphasize' );
+
+                               setTimeout( function () {
+                                       this.$handle
+                                               .removeClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-animate' );
+                               }.bind( this ), 1000 );
+                       }.bind( this ), 500 );
+
+               }
+       };
        /**
         * Scroll the element to top within its container
         *
index a748063..e36067d 100644 (file)
@@ -52,7 +52,6 @@
                        this.$element.append(
                                this.savedLinksListWidget.$element
                        );
-
                }
 
                $bottom = $( '<div>' )
index 3b5e7d9..27a21d6 100644 (file)
@@ -86,6 +86,8 @@
        /* Initialization */
        OO.inheritClass( mw.rcfilters.ui.SavedLinksListWidget, OO.ui.Widget );
 
+       /* Methods */
+
        /**
         * Respond to menu item click event
         *