<?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%3ASandbox%2FDanski454%2FUBLSortable</id>
	<title>Module:Sandbox/Danski454/UBLSortable - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FDanski454%2FUBLSortable"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Danski454/UBLSortable&amp;action=history"/>
	<updated>2026-06-19T06:12:46Z</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:Sandbox/Danski454/UBLSortable&amp;diff=145309&amp;oldid=prev</id>
		<title>imported&gt;Legoktm: Replace Module:No globals with require( &quot;strict&quot; )</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Danski454/UBLSortable&amp;diff=145309&amp;oldid=prev"/>
		<updated>2022-10-23T21:01:33Z</updated>

		<summary type="html">&lt;p&gt;Replace &lt;a href=&quot;/research/Module:No_globals&quot; title=&quot;Module:No globals&quot;&gt;Module:No globals&lt;/a&gt; with require( &amp;quot;strict&amp;quot; )&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
local p = {}&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local TableTools = require(&amp;#039;Module:TableTools&amp;#039;)&lt;br /&gt;
local ListModule = require(&amp;#039;Module:List&amp;#039;)&lt;br /&gt;
-- based on [[Module:Sort list]]&lt;br /&gt;
&lt;br /&gt;
function p.asc(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	return p._asc(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._asc(args)&lt;br /&gt;
	local listItems = {}&lt;br /&gt;
    -- loop over args (copied from [[Module:Old XfD multi]])&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if type(k) == &amp;#039;string&amp;#039; then&lt;br /&gt;
			local prefix, num = k:match(&amp;#039;^(.-)([1-9][0-9]*)$&amp;#039;)&lt;br /&gt;
			if prefix and num then&lt;br /&gt;
				num = tonumber(num)&lt;br /&gt;
				if not listItems[num] then listItems[num] = {} end&lt;br /&gt;
				listItems[num][prefix] = v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	listItems = TableTools.compressSparseArray(listItems)&lt;br /&gt;
    table.sort(listItems, function (a, b)&lt;br /&gt;
    	local ak = a.key or a.item&lt;br /&gt;
    	local bk = b.key or b.item&lt;br /&gt;
    	if tonumber(ak) and tonumber(bk) then&lt;br /&gt;
    		return tonumber(ak) &amp;lt; tonumber(bk) &lt;br /&gt;
    	else&lt;br /&gt;
    		return ak &amp;lt; bk&lt;br /&gt;
    	end &lt;br /&gt;
	end)&lt;br /&gt;
    return p.renderList(listItems)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.desc(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	return p._desc(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._desc(args)&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderList(listItems)&lt;br /&gt;
	local args = {}&lt;br /&gt;
	for i=1, #listItems do&lt;br /&gt;
		if listItems[i].item and mw.ustring.find(listItems[i].item, &amp;#039;%S&amp;#039;) then&lt;br /&gt;
			args[#args+1] = listItems[i].item&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ListModule.makeList(&amp;#039;unbulleted&amp;#039;, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Legoktm</name></author>
	</entry>
</feed>