Jump to content

User:Rublov/auto-ed-core.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
//This script does not function without additional "helper" modules!
//Please see [[Wikipedia:AutoEd]] for details on use.

//Initiates AutoEd
function autoEdExecute() {
 if(!document.getElementById('wpTextbox1')) return;

 // copy wikEd ([[User:Cacycle/wikEd.js]]) frame to wpTextbox1 textarea
 // for compatibility with WikiEd
 if (typeof wikEdUseWikEd !== 'undefined') {
   if (wikEdUseWikEd === true) {
     WikEdUpdateTextarea();
   }
 }

 //alert/return if autoEdFunctions is not defined
 if( typeof autoEdFunctions === 'undefined' ) {
  alert('AutoEd/core.js: autoEdFunctions is undefined');
  return;
 }

 console.log("auto-ed-core: calling autoEdFunctions");
 autoEdFunctions();
 console.log("auto-ed-core: finished calling autoEdFunctions");
 autoEdEditSummary();

 // copy wpTextbox1 textarea back to wikEd frame
 // for compatibility with WikiEd
 if (typeof wikEdUseWikEd !== 'undefined') {
  if (wikEdUseWikEd === true) {
   WikEdUpdateFrame();
  }
 }
}

//Adds Tag to edit summary textbox
function autoEdEditSummary() {
 var txt = document.forms.editform.wpSummary;
 var tag;

 if( typeof autoEdTag === 'undefined' ) {
  tag = 'Cleaned up using [[WP:AutoEd|AutoEd]]';
 } else {
  tag = autoEdTag;
 }

 // Is the tag blank?
 if( tag.match(/[^\s]/) ) {
  // Has it already been tagged?
  if( txt.value.indexOf(tag) == -1 ) {
   // Append a pipe if necessary
   if( txt.value.match(/[^\*\/\s][^\/\s]?\s*$/) ) {
    txt.value += ' | ';
   }
   // Append our tag
   txt.value += tag;
  }
 }

 // Check 'This is a minor edit'
 if(!document.forms.editform || !document.forms.editform.wpMinoredit || !document.forms.editform.wpDiff) {
	 return;
 }

 if( typeof autoEdMinor === 'undefined' || autoEdMinor ) {
  document.forms.editform.wpMinoredit.checked = true;
 }

 // Click 'Show changes'
 if( typeof autoEdClick === 'undefined' || autoEdClick ) {
  setTimeout(function () {
   document.forms.editform.wpDiff.click();	
  }, 500);
 }
}

// Add "auto ed" tab and associate with actions
// Make sure the document is ready and our dependencies are loaded
$.when(
 $.ready,
 mw.loader.using(['mediawiki.util'])
).done(function () {
 var $link;

 //Execute AutoEd after call from "view mode"
 if( mw.util.getParamValue('AutoEd') ) {
  autoEdExecute();
 }

 // Set default values for any unset variables
 if( typeof autoEdLinkHover === 'undefined' ) {
  autoEdLinkHover = "Run AutoEd";
 }
 if( typeof autoEdLinkName === 'undefined' ) {
  autoEdLinkName = "auto ed";
 }
 if( typeof autoEdLinkLocation === 'undefined' ) {
  autoEdLinkLocation = "p-cactions";
 }

 // Add the "auto ed" tab
 if( document.getElementById('ca-edit') ) {
  var url = mw.util.getUrl(mw.config.get('wgPageName'), { action: 'edit', AutoEd: 'true' });
  $link = $(mw.util.addPortletLink(
   autoEdLinkLocation,
   url,
   autoEdLinkName,
   'ca-AutoEd',
   autoEdLinkHover,
   '',
   document.getElementById('ca-move')
  ));
  if( typeof document.forms.editform !== 'undefined' ) {
   $link.on('click', function (e) {
    e.preventDefault();
    autoEdExecute();
   });
  }
 }

});

//