X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.action%2Fmediawiki.action.edit.collapsibleFooter.js;h=938962f37d3abe430373762155b2a239c1d7b2cb;hb=abc5543c0656c1f6f6fc83e0a813edaf72638b4d;hp=e181472dfc2856ddfc7977872243273945f0a533;hpb=8195fd3551c484cfe140fd54ac9c16c2d8c4bc4a;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js b/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js index e181472dfc..938962f37d 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js @@ -2,27 +2,31 @@ var collapsibleLists, handleOne; // Collapsible lists of categories and templates + // If changing or removing a storeKey, ensure there is a strategy for old keys. + // E.g. detect existence via requestIdleCallback and remove. (T121646) collapsibleLists = [ { listSel: '.templatesUsed ul', togglerSel: '.mw-templatesUsedExplanation', - cookieName: 'templates-used-list' + storeKey: 'mwedit-state-templatesUsed' }, { listSel: '.hiddencats ul', togglerSel: '.mw-hiddenCategoriesExplanation', - cookieName: 'hidden-categories-list' + storeKey: 'mwedit-state-hiddenCategories' }, { listSel: '.preview-limit-report-wrapper', togglerSel: '.mw-limitReportExplanation', - cookieName: 'preview-limit-report' + storeKey: 'mwedit-state-limitReport' } ]; - handleOne = function ( $list, $toggler, cookieName ) { - // Collapsed by default - var isCollapsed = mw.cookie.get( cookieName ) !== 'expanded'; + handleOne = function ( $list, $toggler, storeKey ) { + var collapsedVal = '0', + expandedVal = '1', + // Default to collapsed if not set + isCollapsed = mw.storage.get( storeKey ) !== expandedVal; // Style the toggler with an arrow icon and add a tabIndex and a role for accessibility $toggler.addClass( 'mw-editfooter-toggler' ).prop( 'tabIndex', 0 ).attr( 'role', 'button' ); @@ -39,12 +43,12 @@ $list.on( 'beforeExpand.mw-collapsible', function () { $toggler.removeClass( 'mw-icon-arrow-collapsed' ).addClass( 'mw-icon-arrow-expanded' ); - mw.cookie.set( cookieName, 'expanded' ); + mw.storage.set( storeKey, expandedVal ); } ); $list.on( 'beforeCollapse.mw-collapsible', function () { $toggler.removeClass( 'mw-icon-arrow-expanded' ).addClass( 'mw-icon-arrow-collapsed' ); - mw.cookie.set( cookieName, 'collapsed' ); + mw.storage.set( storeKey, collapsedVal ); } ); }; @@ -53,9 +57,9 @@ for ( i = 0; i < collapsibleLists.length; i++ ) { // Pass to a function for iteration-local variables handleOne( - $editForm.find( collapsibleLists[i].listSel ), - $editForm.find( collapsibleLists[i].togglerSel ), - collapsibleLists[i].cookieName + $editForm.find( collapsibleLists[ i ].listSel ), + $editForm.find( collapsibleLists[ i ].togglerSel ), + collapsibleLists[ i ].storeKey ); } } );