Jump to content

User:Alex 21/script-tablecolour.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Alex 21 (talk | contribs) at 02:13, 1 May 2017. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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.
$(function($) {
	setTimeout(function() {
		var portletlink = mw.util.addPortletLink('p-tv', '#', 'Table colours');
		$(portletlink).click( function(e) {
			e.preventDefault();
			// Default parameters and determine if we need to go to the editing page
			var loc = window.location.href; var wpTextbox1 = document.getElementById('wpTextbox1');
			if (loc.indexOf('action=edit') < 0 && loc.indexOf('action=submit') < 0) {
				alert("Go to the edit page to use this script.");
			} else {
				// Gather colours from text of tables
				var s = wpTextbox1.value.split("\n");
				for (var i = 0; i < s.length; i++) {
					// Regex for any number of parameters that use colours
					var reg = /\s*\|\s*(bgcolour|bgcolor|headercolour|headercolor|colour|color|fgcolour|fgcolor|background)[\s\=\#]*([0-9A-Za-z]*)/g;
					var t = reg.exec(s[i]);
					if (!t) continue;
					
					// Add colour to saved colours if its not already added
					var fontColor = t[2];
					
					// Gather colour, and individually adjust to AAA compliancy
					var newcolour = colourCompliance(fontColor,false);
					var reg2 = new RegExp('('+fontColor+')','gi');
					
					// Update if the original colour has been changed to be compliant
					wpTextbox1.value = wpTextbox1.value.replace(reg2,newcolour);
				}
				
				// Done
				document.getElementById('wpSummary').value += "Adjusted color contrasts via [[User:AlexTheWhovian/script-infoboxcolour|script]] per [[WP:COLOR]] and [[Template talk:Infobox television season/Archive 3]].";
			}
		});
	},700);
});