User:Novem Linguae/Scripts/DraftCleaner.js: Difference between revisions

Content deleted Content added
pull request #152: Update link ___location, notification method, and namespace check (publish.php)
Tag: Reverted
Undid revision 1140346099 by Novem Linguae (talk) - referenceerror
Line 100:
function getArticleName() {
return mw.config.get('wgPageName');
}
 
function showMessage(messageText) {
let dc = new $('#DraftCleaner').hide();
$('#DraftCleanerNoClick').empty();
$('#DraftCleanerNoClick').prepend(messageText);
$('#DraftCleanerNoClick').show();
}
 
function showClickableButton(); {
$('#DraftCleanerNoClick').hide();
$('#DraftCleaner').show();
}
 
Line 116 ⟶ 128:
if ( isDiff ) return;
 
// Don'tOnly run in virtualmainspace, namespacesdraftspace, and sandboxes
//let editPage(titleWithNamespaceAndUnderscores, wikicode= getArticleName();
iflet namespaceNumber = (mw.config.get('wgNamespaceNumber') < 0) return;
let titleWithNamespaceAndSpacessandbox = titleWithNamespaceAndUnderscores.replacematch(/_sandbox/g, ' 'i);
//if ( ! [0, 118].includes(namespaceNumber) && ! sandbox ) return;
 
// @ts-ignore
let menuID = window.draftCleanerPutInToolsMenu ? 'p-tb' : 'p-navigation';
 
// Add DraftCleaner to theleft toolbarsidebar
let running = false;
// Using two <li>s. One of the two is kept hidden at all times. This avoids having to delete #DraftCleanerLink, which would also delete the event listener.
 
$(`#${menuID} ul`).append(`
// Add DraftCleaner to the toolbar
<li id="DraftCleaner">
mw.loader.using(['mediawiki.util'], function () {
<a id="DraftCleanerLink">Run DraftCleaner</a>
mw.util.addPortletLink('p-cactions', '#', 'Run DraftCleaner', 'DraftCleanerLink');
</li>
$('#DraftCleanerLink').on('click', async function() {
// prevent running the script while script is already in progress
if (running) return;
running = true;
 
// notify of script starting
mw.notify('Parsing page content...');
<li id="DraftCleanerNoClick" style="display:none">
// get page wikicode
}
let titleWithNamespaceAndSpaces = titleWithNamespaceAndUnderscores.replace(/_/g, ' ');
</li>
let originalWikicode = await getWikicode(titleWithNamespaceAndUnderscores);
}`);
let wikicode = originalWikicode;
 
$('#DraftCleanerLink').on('click', async function() {
let dc = new DraftCleaner();
// prevent running the script while script is already in progress
wikicode = dc.cleanDraft(wikicode, namespaceNumber, titleWithNamespaceAndSpaces);
showMessage('Editing. Please wait.');
// get page wikicode
let titleWithNamespaceAndSpaces = titleWithNamespaceAndUnderscores.replace(/_/g, ' ');
let originalWikicode = await getWikicode(titleWithNamespaceAndUnderscores);
let wikicode = originalWikicode;
 
let dc = new DraftCleaner();
// if changes to be made
wikicode = dc.cleanDraft(wikicode, namespaceNumber, titleWithNamespaceAndSpaces);
if ( wikicode != originalWikicode ) {
let summary = 'clean up ([[User:Novem Linguae/Scripts/DraftCleaner.js|DraftCleaner]])';
// editPage(titleWithNamespaceAndUnderscores, wikicode);
// hardRefresh();
await goToShowChangesScreen(titleWithNamespaceAndUnderscores, wikicode, summary);
// else display "no changes needed", then reset
} else {
mw.notify('No changes needed!');
 
// if changes to be made
setTimeout(function (){
if ( wikicode != originalWikicode ) {
showClickableButton();
let summary = 'clean up ([[User:Novem Linguae/Scripts/DraftCleaner.js|DraftCleaner]])';
}, 2000);
// editPage(titleWithNamespaceAndUnderscores, wikicode);
}
// hardRefresh();
});
await goToShowChangesScreen(titleWithNamespaceAndUnderscores, wikicode, summary);
// else display "no changes needed", then reset
} else {
mw.notifyshowMessage('No changes needed!.');
setTimeout(function (){
showClickableButton();
}, 2000);
}
});