<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3AIcon%2Ftable</id>
	<title>Module:Icon/table - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3AIcon%2Ftable"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Icon/table&amp;action=history"/>
	<updated>2026-04-18T21:12:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Icon/table&amp;diff=136854&amp;oldid=prev</id>
		<title>imported&gt;WOSlinker: use require(&#039;strict&#039;) instead of require(&#039;Module:No globals&#039;)</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Icon/table&amp;diff=136854&amp;oldid=prev"/>
		<updated>2022-10-22T09:17:59Z</updated>

		<summary type="html">&lt;p&gt;use require(&amp;#039;strict&amp;#039;) instead of require(&amp;#039;Module:No globals&amp;#039;)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Create a table of icons to display on the template test case page&lt;br /&gt;
&lt;br /&gt;
require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local m_iconData = mw.loadData(&amp;quot;Module:Icon/data&amp;quot;)&lt;br /&gt;
local m_iconSandboxData = mw.loadData(&amp;quot;Module:Icon/data/sandbox&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local function mergeTables(...)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for _, t in ipairs{...} do&lt;br /&gt;
		for k, v in pairs(t) do&lt;br /&gt;
			ret[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function reconstituteAliases(iconDataCollection)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for code, iconData in pairs(iconDataCollection) do&lt;br /&gt;
		local outputData = ret[iconData.canonicalCode] or {&lt;br /&gt;
			aliases = {},&lt;br /&gt;
			image = iconData.image,&lt;br /&gt;
			tooltip = iconData.tooltip,&lt;br /&gt;
			link = iconData.link,&lt;br /&gt;
		}&lt;br /&gt;
		if code ~= iconData.canonicalCode then&lt;br /&gt;
			table.insert(outputData.aliases, code)&lt;br /&gt;
		end&lt;br /&gt;
		ret[iconData.canonicalCode] = outputData&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeTableData(iconDataCollection)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for code, iconData in pairs(reconstituteAliases(iconDataCollection)) do&lt;br /&gt;
		if code ~= &amp;#039;_DEFAULT&amp;#039; then&lt;br /&gt;
			table.insert(ret, {code = code, description = iconData.tooltip, aliases = iconData.aliases})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(&lt;br /&gt;
		ret,&lt;br /&gt;
		function(t1, t2)&lt;br /&gt;
			return t1.code &amp;lt; t2.code&lt;br /&gt;
		end&lt;br /&gt;
	)&lt;br /&gt;
	for _, t in ipairs(ret) do&lt;br /&gt;
		table.sort(t.aliases)&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.testcases(frame)&lt;br /&gt;
	local tableData = makeTableData(mergeTables(m_iconData, m_iconSandboxData))&lt;br /&gt;
	local ret = {&lt;br /&gt;
		&amp;#039;{| class=&amp;quot;wikitable sortable&amp;quot;&amp;#039;,&lt;br /&gt;
		&amp;#039;! Code&amp;#039;,&lt;br /&gt;
		&amp;#039;! [[Template:Icon|Template]]&amp;#039;,&lt;br /&gt;
		&amp;#039;! [[Template:Icon/sandbox|Sandbox]]&amp;#039;,&lt;br /&gt;
		&amp;#039;! Description&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local function addRow(code, description)&lt;br /&gt;
		table.insert(ret, &amp;#039;|-&amp;#039;)&lt;br /&gt;
		table.insert(ret, &amp;#039;| &amp;lt;code&amp;gt;&amp;#039; .. mw.text.nowiki(&amp;#039;{{icon|&amp;#039; .. code .. &amp;#039;}}&amp;#039;) .. &amp;#039;&amp;lt;/code&amp;gt;&amp;#039;)&lt;br /&gt;
		table.insert(ret, &amp;#039;| style=&amp;quot;text-align: center&amp;quot; | &amp;#039; .. frame:expandTemplate{title = &amp;#039;icon&amp;#039;, args = {code}})&lt;br /&gt;
		table.insert(ret, &amp;#039;| style=&amp;quot;text-align: center&amp;quot; | &amp;#039; .. frame:expandTemplate{title = &amp;#039;icon/sandbox&amp;#039;, args = {code}})&lt;br /&gt;
		table.insert(ret, &amp;#039;| &amp;#039; .. description)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for _, rowData in ipairs(tableData) do&lt;br /&gt;
		addRow(rowData.code, rowData.description)&lt;br /&gt;
		for _, alias in ipairs(rowData.aliases) do&lt;br /&gt;
			addRow(alias, rowData.description)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(ret, &amp;#039;|}&amp;#039;)&lt;br /&gt;
	return table.concat(ret, &amp;#039;\n&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local tableData = makeTableData(m_iconData)&lt;br /&gt;
	local ret = {&lt;br /&gt;
		&amp;#039;{| class=&amp;quot;wikitable sortable&amp;quot;&amp;#039;,&lt;br /&gt;
		&amp;#039;! Icon&amp;#039;,&lt;br /&gt;
		&amp;#039;! Description&amp;#039;,&lt;br /&gt;
		&amp;#039;! Code&amp;#039;,&lt;br /&gt;
		&amp;#039;! Aliases&amp;#039;&lt;br /&gt;
	}&lt;br /&gt;
	for _, rowData in ipairs(tableData) do&lt;br /&gt;
		table.insert(ret, &amp;#039;|-&amp;#039;)&lt;br /&gt;
		table.insert(ret, &amp;#039;| style=&amp;quot;text-align: center&amp;quot; | &amp;#039; .. frame:expandTemplate{title = &amp;#039;icon&amp;#039;, args = {rowData.code}})&lt;br /&gt;
		table.insert(ret, &amp;#039;| &amp;#039; .. rowData.description)&lt;br /&gt;
		table.insert(ret, &amp;#039;| &amp;lt;code&amp;gt;&amp;#039; .. mw.text.nowiki(&amp;#039;{{icon|&amp;#039; .. rowData.code .. &amp;#039;}}&amp;#039;) .. &amp;#039;&amp;lt;/code&amp;gt;&amp;#039;)&lt;br /&gt;
		local aliasText = {}&lt;br /&gt;
		for _, alias in ipairs(rowData.aliases) do&lt;br /&gt;
			table.insert(aliasText, &amp;#039;&amp;lt;code&amp;gt;&amp;#039; .. alias .. &amp;#039;&amp;lt;/code&amp;gt;&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(ret, &amp;#039;| &amp;#039; .. table.concat(aliasText, &amp;#039;, &amp;#039;))&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(ret, &amp;#039;|}&amp;#039;)&lt;br /&gt;
	return table.concat(ret, &amp;#039;\n&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;WOSlinker</name></author>
	</entry>
</feed>