Jump to content

User:Gangleri/monobook.js

From mediawiki.org

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/** extract a URL parameter from the current URL **********
 * From [[en:User:Lupin/autoedit.js]]
 *
 * paramName  : the name of the parameter to extract
 */
 
function getParamValue( paramName, url) 
{
 if (typeof (url) == 'undefined' ) url = document.location.href;
 var cmdRe=RegExp( '[&?]' + paramName + '=([^&]*)' );
 var m=cmdRe.exec(url);
 if (m) {
  try {
   return decodeURIComponent(m[1]);
  } catch (someError) {}
 }
 return null;
}

/* [[wiki:Bugzilla:021572]] */
addOnloadHook ( function() { if (wgArticleId) addPortletLink("p-tb", wgScript + "?curid=" + wgArticleId + ( ((wgNamespaceNumber == 24) && getParamValue('dataset')) ? "&dataset=" + getParamValue('dataset') : "" ) , "Short url", "t-curid", "Reference using its article id"); } );

function bidiSwitchSetup() {
	var editform = document.getElementById("editform");
	if (editform == null) {
		return;
	}
	
	bidiAddButton(editform, "Default", function(style) {
		style.direction = "inherit";
		style.unicodeBidi = "inherit";
	});
	bidiAddButton(editform, "dir=ltr", function(style) {
		style.direction = "ltr";
	});
	bidiAddButton(editform, "dir=rtl", function(style) {
		style.direction = "rtl";
	});
	bidiAddButton(editform, "bidi=normal", function(style) {
		style.unicodeBidi = "normal";
	});
	bidiAddButton(editform, "bidi=override", function(style) {
		style.unicodeBidi = "bidi-override";
	});
}

function bidiAddButton(before, label, action) {
	var button = document.createElement("input");
	button.type = "button";
	button.value = label;
	button.onclick = function(event) {
		var box = document.getElementById("wpTextbox1");
		if (box == null) {
			alert("Broken! Edit box missing.");
		} else {
			//var style = document.getOverrideStyle(box, null);
			var style = box.style;
			action(style);
		}
	}
	before.parentNode.insertBefore(button, before);
}

hookEvent('load', bidiSwitchSetup);