Merge "Table of contents doesn't respect NOTOC after an edit"

This commit is contained in:
jenkins-bot 2022-08-26 18:59:37 +00:00 committed by Gerrit Code Review
commit 9b7360c0a9
1 changed files with 7 additions and 3 deletions

View File

@ -408,8 +408,12 @@ module.exports = function tableOfContents( props ) {
* @param {Section[]} sections * @param {Section[]} sections
*/ */
function reloadTableOfContents( sections ) { function reloadTableOfContents( sections ) {
if ( sections.length < 1 ) {
reloadPartialHTML( TOC_ID, '' );
return;
}
mw.loader.using( 'mediawiki.template.mustache' ).then( () => { mw.loader.using( 'mediawiki.template.mustache' ).then( () => {
reloadPartialHTML( getTableOfContentsHTML( sections ), TOC_ID ); reloadPartialHTML( TOC_ID, getTableOfContentsHTML( sections ) );
// Reexpand sections that were expanded before the table of contents was reloaded. // Reexpand sections that were expanded before the table of contents was reloaded.
reExpandSections(); reExpandSections();
// Initialize Collapse toggle buttons // Initialize Collapse toggle buttons
@ -420,11 +424,11 @@ module.exports = function tableOfContents( props ) {
/** /**
* Replaces the contents of the given element with the given HTML * Replaces the contents of the given element with the given HTML
* *
* @param {string} html
* @param {string} elementId * @param {string} elementId
* @param {string} html
* @param {boolean} setInnerHTML * @param {boolean} setInnerHTML
*/ */
function reloadPartialHTML( html, elementId, setInnerHTML = true ) { function reloadPartialHTML( elementId, html, setInnerHTML = true ) {
const htmlElement = document.getElementById( elementId ); const htmlElement = document.getElementById( elementId );
if ( htmlElement ) { if ( htmlElement ) {
if ( setInnerHTML ) { if ( setInnerHTML ) {