<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.limswiki.org/index.php?action=history&amp;feed=atom&amp;title=Module%3AToolbar</id>
	<title>Module:Toolbar - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.limswiki.org/index.php?action=history&amp;feed=atom&amp;title=Module%3AToolbar"/>
	<link rel="alternate" type="text/html" href="https://www.limswiki.org/index.php?title=Module:Toolbar&amp;action=history"/>
	<updated>2026-04-04T20:46:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://www.limswiki.org/index.php?title=Module:Toolbar&amp;diff=13189&amp;oldid=prev</id>
		<title>Shawndouglas: Created as needed.</title>
		<link rel="alternate" type="text/html" href="https://www.limswiki.org/index.php?title=Module:Toolbar&amp;diff=13189&amp;oldid=prev"/>
		<updated>2013-10-31T15:27:30Z</updated>

		<summary type="html">&lt;p&gt;Created as needed.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local function getArgNums(args)&lt;br /&gt;
	-- Get the keys of the numerical arguments that are present.&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	local tinsert = table.insert&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if type(k) == 'number' then&lt;br /&gt;
			tinsert(nums, k)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeToolbarItems(args)&lt;br /&gt;
	local nums = getArgNums(args)&lt;br /&gt;
	local sep = (args.separator or 'pipe') .. '-separator'&lt;br /&gt;
	sep = mw.message.new(sep):plain()&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	local tinsert = table.insert&lt;br /&gt;
	for i, v in ipairs(nums) do&lt;br /&gt;
		tinsert(ret, args[v])&lt;br /&gt;
	end&lt;br /&gt;
	if #ret &amp;gt; 0 then&lt;br /&gt;
		return table.concat(ret, sep)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	local toolbarItems = makeToolbarItems(args)&lt;br /&gt;
	if not toolbarItems then return '' end -- Return the blank string if no arguments were specified, rather than returning empty brackets&lt;br /&gt;
	return mw.ustring.format(&lt;br /&gt;
		'&amp;lt;span class=&amp;quot;plainlinks%s&amp;quot;%s&amp;gt;(%s)&amp;lt;/span&amp;gt;',&lt;br /&gt;
		type(args.class) == 'string' and ' ' .. args.class or '',&lt;br /&gt;
		type(args.style) == 'string' and mw.ustring.format(' style=&amp;quot;%s&amp;quot;', args.style) or '',&lt;br /&gt;
		toolbarItems&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	-- If called via #invoke, use the args passed into the invoking template.&lt;br /&gt;
	-- Otherwise, for testing purposes, assume args are being passed directly in.&lt;br /&gt;
	local origArgs&lt;br /&gt;
	if frame == mw.getCurrentFrame() then&lt;br /&gt;
		origArgs = frame:getParent().args&lt;br /&gt;
		for k, v in pairs(frame.args) do&lt;br /&gt;
			origArgs = frame.args&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		origArgs = frame&lt;br /&gt;
	end&lt;br /&gt;
	-- Strip whitespace and remove nil values&lt;br /&gt;
	local args = {}&lt;br /&gt;
	for k, v in pairs(origArgs) do&lt;br /&gt;
		if type(v) == 'string' then&lt;br /&gt;
			v = mw.text.trim(v)&lt;br /&gt;
		end&lt;br /&gt;
		if v ~= '' then&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Shawndouglas</name></author>
	</entry>
</feed>