MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary |
||
| Line 88: | Line 88: | ||
function cleanAdarisPopups() { | function cleanAdarisPopups() { | ||
document.querySelectorAll( | document.querySelectorAll( | ||
'.mwe-popups-extract, .mwe-popups-extract p, .mwe-popups .extract' | '.mwe-popups-extract, .mwe-popups-extract p, .mwe-popups .extract, .mwe-popups .mwe-popups-extract' | ||
).forEach(function (el) { | ).forEach(function (el) { | ||
if (el.dataset.adarisCleaned === '1') { | if (!el || el.dataset.adarisCleaned === '1') { | ||
return; | return; | ||
} | } | ||
el.textContent = el.textContent.replace(/^Introduction\s | // Remove leading generated section labels from popup extracts. | ||
el.textContent = el.textContent.replace(/^\s*Introduction\s*/i, ''); | |||
el.dataset.adarisCleaned = '1'; | el.dataset.adarisCleaned = '1'; | ||
}); | }); | ||
} | } | ||
const observer = new MutationObserver(cleanAdarisPopups); | const observer = new MutationObserver(function () { | ||
// Run immediately, then once more after Popups finishes filling text. | |||
cleanAdarisPopups(); | |||
setTimeout(cleanAdarisPopups, 100); | |||
setTimeout(cleanAdarisPopups, 300); | |||
}); | |||
observer.observe(document.body, { | observer.observe(document.body, { | ||
childList: true, | childList: true, | ||
subtree: true | subtree: true, | ||
characterData: true | |||
}); | }); | ||
cleanAdarisPopups(); | cleanAdarisPopups(); | ||
})(); | })(); | ||