<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://es.prole.wiki/w/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AComplForColorModules</id>
	<title>Módulo:ComplForColorModules - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://es.prole.wiki/w/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AComplForColorModules"/>
	<link rel="alternate" type="text/html" href="https://es.prole.wiki/w/index.php?title=M%C3%B3dulo:ComplForColorModules&amp;action=history"/>
	<updated>2026-10-27T21:38:21Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://es.prole.wiki/w/index.php?title=M%C3%B3dulo:ComplForColorModules&amp;diff=5290&amp;oldid=prev</id>
		<title>Miguel: Creación de «Módulo:ComplForColorModules»</title>
		<link rel="alternate" type="text/html" href="https://es.prole.wiki/w/index.php?title=M%C3%B3dulo:ComplForColorModules&amp;diff=5290&amp;oldid=prev"/>
		<updated>2022-10-09T05:40:32Z</updated>

		<summary type="html">&lt;p&gt;Creación de «Módulo:ComplForColorModules»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local SA = require &amp;quot;Module:SimpleArgs&amp;quot;&lt;br /&gt;
local SD = require &amp;quot;Module:SimpleDebug&amp;quot;&lt;br /&gt;
local MC = require &amp;quot;Module:XCols&amp;quot;&lt;br /&gt;
local TNTT = require &amp;quot;Module:TNTTools&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local I18n = &amp;#039;ComplForColorModules&amp;#039;&lt;br /&gt;
&lt;br /&gt;
--local MoreOneNoData = &amp;quot;Found 2 legends of \&amp;quot;Value not assigned\&amp;quot; or \&amp;quot;Data not available\&amp;quot;&amp;quot;&lt;br /&gt;
--local FoundNLegendsExpectedN = &amp;quot;Found $1 legends, expected $2&amp;quot;&lt;br /&gt;
--local Color = &amp;quot;Color&amp;quot;&lt;br /&gt;
--local Legend = &amp;quot;legend&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local function I18nStr (S, ...)&lt;br /&gt;
	return TNTT.GetMsgP (I18n, S, {...})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function I18nStrArrOr1 (S)&lt;br /&gt;
	return TNTT.TabTransMT (I18n, S, 2)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.ColorNameInvFromS0 (S)&lt;br /&gt;
	local IsInv = false&lt;br /&gt;
	local ColorName = &amp;#039;&amp;#039;&lt;br /&gt;
	local Params = {}&lt;br /&gt;
	if S ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		for w in S:gmatch(&amp;quot;([^_]+)&amp;quot;) do &lt;br /&gt;
	    	table.insert(Params, w)&lt;br /&gt;
		end&lt;br /&gt;
		ColorName = Params[1]&lt;br /&gt;
	end	&lt;br /&gt;
	local PN = table.getn(Params)&lt;br /&gt;
	if (PN == 2) and (Params[2]==&amp;#039;i&amp;#039;) then&lt;br /&gt;
		IsInv = true&lt;br /&gt;
	end	&lt;br /&gt;
	return ColorName, IsInv, Params&lt;br /&gt;
end --ColorNameInvFromS0&lt;br /&gt;
&lt;br /&gt;
function p.ColorNameInv0 (args, WithName)&lt;br /&gt;
	local label&lt;br /&gt;
	if WithName then&lt;br /&gt;
		label = I18nStrArrOr1(&amp;#039;Palette&amp;#039;)&lt;br /&gt;
	else&lt;br /&gt;
		label = 1&lt;br /&gt;
	end	&lt;br /&gt;
	return SA.RStr_Par (args, label)&lt;br /&gt;
end --ColorNameInv0&lt;br /&gt;
&lt;br /&gt;
function p.ColorNameInv (args, WithName)&lt;br /&gt;
	local S = p.ColorNameInv0 (args, WithName)&lt;br /&gt;
	local ColorName, IsInv, Params = p.ColorNameInvFromS0 (S)&lt;br /&gt;
	return ColorName, IsInv			    	&lt;br /&gt;
end	--ColorNameInv&lt;br /&gt;
&lt;br /&gt;
function SColor (Color)&lt;br /&gt;
	if string.sub(Color,1,1) == &amp;#039;#&amp;#039; then --the usual&lt;br /&gt;
		return string.sub(Color,2,100)&lt;br /&gt;
	else&lt;br /&gt;
		return Color&lt;br /&gt;
	end	&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function p.Box(Color,WriteColor)&lt;br /&gt;
	if WriteColor == &amp;#039;-&amp;#039; then &lt;br /&gt;
		WriteColor = Color&lt;br /&gt;
	elseif WriteColor == &amp;#039;a&amp;#039; then 	&lt;br /&gt;
		WriteColor = Color..&amp;#039;ff&amp;#039; --Alpha channel&lt;br /&gt;
	end	&lt;br /&gt;
	local TheBox = &amp;#039;&amp;lt;span style=&amp;quot;background-color:&amp;#039;..Color..&amp;#039;; border:1px solid gray;&amp;quot; title=&amp;quot;&amp;#039;..TNTT.GetStrP(I18n,&amp;#039;Color&amp;#039;)..&amp;#039;: &amp;#039;..SColor(Color)..&amp;#039;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;#039;	&lt;br /&gt;
	if WriteColor ~=&amp;#039;&amp;#039; then &lt;br /&gt;
		TheBox = TheBox..&amp;#039;&amp;amp;nbsp;&amp;#039;..WriteColor..&amp;#039; &amp;amp;nbsp;&amp;#039;&lt;br /&gt;
	end	&lt;br /&gt;
	return TheBox&lt;br /&gt;
end	--Box&lt;br /&gt;
&lt;br /&gt;
function p.TextWithTooltip (Text, Tooltip)&lt;br /&gt;
	if Tooltip ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		return &amp;#039;&amp;lt;span title=&amp;quot;&amp;#039;..Tooltip..&amp;#039;&amp;quot;&amp;gt;&amp;#039;..Text..&amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		return Text&lt;br /&gt;
	end	&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function p.LegendColor(Color, Text, Tooltip)&lt;br /&gt;
	if Text == &amp;#039;&amp;#039; then&lt;br /&gt;
		Text = SColor(Color)&lt;br /&gt;
	end	&lt;br /&gt;
	return &amp;#039;&amp;lt;li style=&amp;quot;list-style-type: none; list-style-image: none;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;border:1px solid gray; background:&amp;#039;..Color..&amp;#039;; margin-right:0.3em; vertical-align: middle; webkit-print-color-adjust:exact; color-adjust:exact; display:inline-block; width:1.05em; height:1em;&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;..p.TextWithTooltip(Text,Tooltip)..&amp;#039;&amp;lt;/li&amp;gt;&amp;#039;&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function p.N_Colors (args)&lt;br /&gt;
	return SA.RPosInt_Par (args, I18nStrArrOr1(&amp;#039;N_Colors&amp;#039;))&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function LegendCode(Color, Text, OutlineColor)&lt;br /&gt;
	local SOutlineColor = &amp;#039;&amp;#039;&lt;br /&gt;
	if OutlineColor ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		SOutlineColor = &amp;#039;|outline=&amp;#039;..OutlineColor&lt;br /&gt;
	end	&lt;br /&gt;
	return &amp;#039;{{&amp;#039;..TNTT.GetStrP(I18n,&amp;#039;Legend&amp;#039;)..&amp;#039;|&amp;#039;..Color..&amp;#039;|&amp;#039;..Text..SOutlineColor..&amp;#039;}}&amp;#039;&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function p.LegendText (args, AColors, n_colors)&lt;br /&gt;
	local Show, Codes = {}, {}&lt;br /&gt;
	local Text = &amp;#039;&amp;#039;&lt;br /&gt;
	local splited, NLines, Lines, NCols, width, same_width, sep_cols, align, vertical_align, Header, Footer = MC.MainVals (args, false)&lt;br /&gt;
    local OutlineColor = args[&amp;#039;outline&amp;#039;] or &amp;#039;&amp;#039;&lt;br /&gt;
	function NoDataFound (i)&lt;br /&gt;
		if string.sub(Lines[i],1,2) == &amp;#039;--&amp;#039; then&lt;br /&gt;
			return 1&lt;br /&gt;
		else&lt;br /&gt;
			return 0&lt;br /&gt;
		end	&lt;br /&gt;
	end	&lt;br /&gt;
    if (NLines ~= 0) and (NLines ~= n_colors) then&lt;br /&gt;
    	local NoDataFoundCount = NoDataFound (1)&lt;br /&gt;
    	NoDataFoundCount = NoDataFoundCount + NoDataFound (NLines)&lt;br /&gt;
    	if NoDataFoundCount == 2 then&lt;br /&gt;
	    	error (I18nStr (&amp;#039;MoreOneNoData&amp;#039;))&lt;br /&gt;
    	else&lt;br /&gt;
    		n_colors = n_colors + NoDataFoundCount&lt;br /&gt;
    	end	&lt;br /&gt;
		if (NLines ~= 0) and (NLines ~= n_colors) then&lt;br /&gt;
	    	error (I18nStr (&amp;#039;FoundNLegendsExpectedN&amp;#039;, tostring(NLines), tostring(n_colors)))&lt;br /&gt;
	    end	&lt;br /&gt;
    end	&lt;br /&gt;
	local WithLabels = NLines &amp;gt; 0&lt;br /&gt;
	if WithLabels then&lt;br /&gt;
		function DelBegin (i)&lt;br /&gt;
			Lines[i] = string.sub(Lines[i], 3, 1000)&lt;br /&gt;
		end	&lt;br /&gt;
		local Gray = &amp;#039;#b3b3b3&amp;#039; -- A 40% gray&lt;br /&gt;
		if NoDataFound(1) == 1 then&lt;br /&gt;
			table.insert(AColors, 1, Gray) &lt;br /&gt;
			DelBegin(1)&lt;br /&gt;
		elseif NoDataFound(NLines )== 1 then&lt;br /&gt;
			table.insert(AColors, Gray) &lt;br /&gt;
			DelBegin(NLines)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	SD.tab.oneline = false&lt;br /&gt;
	for i=1, table.getn(AColors) do&lt;br /&gt;
		if WithLabels then &lt;br /&gt;
			Text = Lines[i] &lt;br /&gt;
		end&lt;br /&gt;
		table.insert(Show, p.LegendColor(AColors[i],Text,&amp;#039;&amp;#039;))&lt;br /&gt;
	end	&lt;br /&gt;
	return MC.MultiColX (false, width, same_width, sep_cols, NCols, Show, align, vertical_align, Header, Footer)&lt;br /&gt;
end	--LegendText&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Miguel</name></author>
	</entry>
</feed>