(Blanked the page) Tag: Blanking |
No edit summary |
||
Line 1: | Line 1: | ||
+ | function isUserLoggedIn() { |
||
+ | return !mw.user.isAnon(); |
||
+ | } |
||
+ | |||
+ | function handleElement($element) { |
||
+ | if ($element.attr('aria-disabled') === 'true') { |
||
+ | $element.after( |
||
+ | '<p>Please <a href="/wiki/Special:UserLogin">login</a> or <a href="/wiki/Special:UserSignup">sign up</a> to continue.</p>' |
||
+ | ); |
||
+ | } |
||
+ | } |
||
+ | |||
+ | function handleMutations(mutationsList) { |
||
+ | mutationsList.forEach((mutation) => { |
||
+ | if (mutation.type === 'childList') { |
||
+ | mutation.addedNodes.forEach((node) => { |
||
+ | if ($(node).hasClass('oo-ui-buttonElement-button')) { |
||
+ | handleElement($(node)); |
||
+ | } |
||
+ | }); |
||
+ | } else if (mutation.type === 'attributes' && mutation.attributeName === 'aria-disabled') { |
||
+ | handleElement($(mutation.target)); |
||
+ | } |
||
+ | }); |
||
+ | } |
||
+ | |||
+ | const observer = new MutationObserver(handleMutations); |
||
+ | observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['aria-disabled'] }); |
||
+ | |||
+ | $(document).ready(() => { |
||
+ | $('.oo-ui-buttonElement-button').each((index, element) => { |
||
+ | handleElement($(element)); |
||
+ | }); |
||
+ | }); |
Revision as of 01:09, 15 October 2023
function isUserLoggedIn() {
return !mw.user.isAnon();
}
function handleElement($element) {
if ($element.attr('aria-disabled') === 'true') {
$element.after(
'<p>Please <a href="/wiki/Special:UserLogin">login</a> or <a href="/wiki/Special:UserSignup">sign up</a> to continue.</p>'
);
}
}
function handleMutations(mutationsList) {
mutationsList.forEach((mutation) => {
if (mutation.type === 'childList') {
mutation.addedNodes.forEach((node) => {
if ($(node).hasClass('oo-ui-buttonElement-button')) {
handleElement($(node));
}
});
} else if (mutation.type === 'attributes' && mutation.attributeName === 'aria-disabled') {
handleElement($(mutation.target));
}
});
}
const observer = new MutationObserver(handleMutations);
observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['aria-disabled'] });
$(document).ready(() => {
$('.oo-ui-buttonElement-button').each((index, element) => {
handleElement($(element));
});
});