User:AManWithNoPlan/common.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
The accompanying .css page for this skin is at User:AManWithNoPlan/common.css. |
// Add Auto Edit menu in More Menu
importScript('Wikipedia:AutoEd/complete.js');
//Add auto formatting yellow button
mw.loader.load('//de.wiki.x.io/w/index.php?title=Benutzer:TMg/autoFormatter.js&action=raw&ctype=text/javascript');
// Add the reFill url to cite web tool
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Zhaofeng_Li/Reflinks.js&action=raw&ctype=text/javascript');
//Add tool to find things with duplicate arguments in the template
importScript('User:Frietjes/findargdups.js');
// Display Harv errors
importScript('User:Trappist the monk/HarvErrors.js');
// Citation-bot, but not slow=1
var $spinnerspan;
var cbButton;
function addCBetaToToolbox() {
if ( mw.config.get( 'wgCanonicalNamespace' ) !== 'Special' ) {
var pTb = document.getElementById("p-tb");
if ( !pTb ) {
return;
}
var escPageName = encodeURIComponent( mw.config.get( 'wgPageName' ));
mw.util.addPortletLink("p-tb", "//citations.toolforge.org/process_page.php?pcre=1&edit=toolbar&page="+escPageName, 'Expand citations [fast]', 't-citationbot-slow', "Expand citations and fix formatting errors");
}
}
function addCitationBetaButton() {
if ( document.getElementById( 'wpDiff' ) ) {
var diff = document.getElementById( 'wpDiffWidget' );
cbButton = new OO.ui.ButtonWidget();
cbButton.setElementId( 'wpCitations' )
.setIcon( 'articleCheck' )
.setLabel( 'Citations [fast]' )
.setFlags( 'secondary' );
cbButton.on( 'click', function () {
$.ajax( {
timeout: 240000, // thousandths of a second, so 4 minutes, which is basically infinite
type: 'POST',
url: 'https://citations.toolforge.org/gadgetapi.php?pcre=1',
data: {
text: $( '#wpTextbox1' ).textSelection( 'getContents' ),
summary: $( '#wpSummary' ).textSelection( 'getContents' )
},
beforeSend: function() {
$( cbButton.$element ).replaceWith( $spinnerspan );
},
success: function( data ) {
expandedText = data.expandedtext;
editSummary = data.editsummary;
$( '#loader' ).replaceWith( cbButton.$element );
if ( expandedText ) {
// Populate text box with received expanded text
$( '#wpTextbox1' ).textSelection( 'setContents', expandedText );
// Populate edit summary textbox with received edit summary
$( '#wpSummary' ).textSelection( 'setContents', editSummary );
// Click 'Show preview' button
$( '#wpDiff' ).click();
} else {
$( '#loader' ).replaceWith( cbButton.$element );
alert( 'Error: Replacement text empty' );
}
},
error: function( data ) {
$( '#loader' ).replaceWith( cbButton.$element );
alert( JSON.stringify(data) );
}
} );
} );
cbButton.$element.insertBefore( $(diff.nextSibling) );
}
}
// Add a button to allow expanding citations in the text in the edit textbox
mw.hook( 'wikipage.editform' ).add( function() {
if( !$spinnerspan ) {
$spinnerspan = $( '<span id="loader"></span>');
}
if ( document.images ) {
// Loading gif when Citations request is processing
var spinner = new Image();
spinner.src = "//up.wiki.x.io/wikipedia/commons/4/42/Loading.gif";
$spinnerspan.append( spinner );
}
if( $('#wpCitations').length === 0 ){
mw.loader.using( [ 'oojs-ui-core', 'oojs-ui.styles.icons-content', 'jquery.textSelection' ] ).then( addCitationBetaButton );
}
} );
// Add a toolbox button that runs Citation Bot on the most recent saved revision of the page
if ( $.inArray( mw.config.get( 'skin' ), ['monobook', 'modern', 'vector', 'timeless'] ) !== -1 ) {
$( addCBetaToToolbox );
}
/* Automate purge confirmation dialog */
if ( mw.config.get( 'wgAction' ) === 'purge' ) {
$('form[action*="action=purge"]').submit();
}
importScript('User:Elli/OneClickArchiver.js'); // Backlink: [[User:Elli/OneClickArchiver.js]]