Merge "exception: Support message normalisation for structured logging"
[lhc/web/wiklou.git] / resources / src / mediawiki.special / mediawiki.special.preferences.js
index 0fa6610..63f2d98 100644 (file)
@@ -21,8 +21,8 @@
                                'aria-labelledby': labelFunc
                        } );
                $fieldsets.not( '#mw-prefsection-personal' )
-                               .hide()
-                               .attr( 'aria-hidden', 'true' );
+                       .hide()
+                       .attr( 'aria-hidden', 'true' );
 
                // T115692: The following is kept for backwards compatibility with older skins
                $preferences.addClass( 'jsprefs' );
@@ -72,8 +72,7 @@
                                $tab.attr( {
                                        tabIndex: 0,
                                        'aria-selected': 'true'
-                               } )
-                               .focus()
+                               } ).focus()
                                        .parent().addClass( 'selected' );
 
                                $preferences.children( 'fieldset' ).hide().attr( 'aria-hidden', 'true' );
                function detectHash() {
                        var hash = location.hash,
                                matchedElement, parentSection;
-                       if ( hash.match( /^#mw-prefsection-[\w\-]+/ ) ) {
+                       if ( hash.match( /^#mw-prefsection-[\w-]+/ ) ) {
+                               mw.storage.session.remove( 'mwpreferences-prevTab' );
                                switchPrefTab( hash.replace( '#mw-prefsection-', '' ) );
-                       } else if ( hash.match( /^#mw-[\w\-]+/ ) ) {
+                       } else if ( hash.match( /^#mw-[\w-]+/ ) ) {
                                matchedElement = document.getElementById( hash.slice( 1 ) );
                                parentSection = $( matchedElement ).closest( '.prefsection' );
                                if ( parentSection.length ) {
+                                       mw.storage.session.remove( 'mwpreferences-prevTab' );
                                        // Switch to proper tab and scroll to selected item.
                                        switchPrefTab( parentSection.attr( 'id' ).replace( 'mw-prefsection-', '' ), 'noHash' );
                                        matchedElement.scrollIntoView();
                ) {
                        $( window ).on( 'hashchange', function () {
                                var hash = location.hash;
-                               if ( hash.match( /^#mw-[\w\-]+/ ) ) {
+                               if ( hash.match( /^#mw-[\w-]+/ ) ) {
                                        detectHash();
                                } else if ( hash === '' ) {
                                        switchPrefTab( 'personal', 'noHash' );
                                }
                        } )
-                       // Run the function immediately to select the proper tab on startup.
-                       .trigger( 'hashchange' );
+                               // Run the function immediately to select the proper tab on startup.
+                               .trigger( 'hashchange' );
                // In older browsers we'll bind a click handler as fallback.
                // We must not have onhashchange *and* the click handlers, otherwise
                // the click handler calls switchPrefTab() which sets the hash value,
                if ( previousTab ) {
                        switchPrefTab( previousTab, 'noHash' );
                        // Deleting the key, the tab states should be reset until we press Save
-                       mw.storage.session.remove( previousTab );
+                       mw.storage.session.remove( 'mwpreferences-prevTab' );
                }
 
                $( '#mw-prefs-form' ).on( 'submit', function () {