X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.special%2Fmediawiki.special.preferences.js;h=b86f21838c57eb2b664ec68c79ec0775f3fbe890;hb=5fe2e19ac33335458b658388a34f48bde63c1787;hp=84a9a96509475cec1b3b262248479141f1625ae1;hpb=273eea7357c546d1a1aafd73320e10e8ddac79eb;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.special/mediawiki.special.preferences.js b/resources/src/mediawiki.special/mediawiki.special.preferences.js index 84a9a96509..b86f21838c 100644 --- a/resources/src/mediawiki.special/mediawiki.special.preferences.js +++ b/resources/src/mediawiki.special/mediawiki.special.preferences.js @@ -11,7 +11,6 @@ return this.id.replace( /^mw-prefsection/g, 'preftab' ); }; - $( '#prefsubmit' ).attr( 'id', 'prefcontrol' ); $preftoc = $( '#preftoc' ); $preferences = $( '#preferences' ); @@ -21,8 +20,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 +71,7 @@ $tab.attr( { tabIndex: 0, 'aria-selected': 'true' - } ) - .focus() + } ).focus() .parent().addClass( 'selected' ); $preferences.children( 'fieldset' ).hide().attr( 'aria-hidden', 'true' ); @@ -107,12 +105,12 @@ 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' ); + parentSection = $( matchedElement ).parent().closest( '[id^="mw-prefsection-"]' ); if ( parentSection.length ) { mw.storage.session.remove( 'mwpreferences-prevTab' ); // Switch to proper tab and scroll to selected item. @@ -133,14 +131,14 @@ ) { $( 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,