Module:Switcher

Revision as of 12:46, 10 December 2025 by Ethan (talk | contribs) (Created page with "local p = {} function p.main(frame) local args = frame:getParent().args local root = mw.html.create('div'):addClass('switcher-container') local default = (tonumber(args.default) or 0) * 2 - 1 for i,v in ipairs(args) do if i % 2 == 1 then local span = root :tag('div') :wikitext(args[i]) :tag('span') :addClass('switcher-label') :css('display', 'none') :wikitext(mw.text.trim(args[i + 1] or '')) if i == default then span:attr(...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:Switcher/doc

local p = {}

function p.main(frame)
	local args = frame:getParent().args
	local root = mw.html.create('div'):addClass('switcher-container')
	local default = (tonumber(args.default) or 0) * 2 - 1
	for i,v in ipairs(args) do
		if i % 2 == 1 then
			local span = root
				:tag('div')
					:wikitext(args[i])
					:tag('span')
						:addClass('switcher-label')
						:css('display', 'none')
						:wikitext(mw.text.trim(args[i + 1] or ''))
			if i == default then
				span:attr('data-switcher-default', '')
			end
		end
	end
	return root
end

return p