Jump to content

Module:Jctbtm/sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
sync + module:List change
Line 2: Line 2:


local types = mw.loadData("Module:Road data/RJL types")
local types = mw.loadData("Module:Road data/RJL types")

local row


local columns = { -- Constants for how many columns different list types should have.
local columns = { -- Constants for how many columns different list types should have.
Line 17: Line 15:
table.sort(keys)
table.sort(keys)
return keys
return keys
end

local function createLegend(key)
local legend = row:tag('div')
:addClass('jct-bottom-legend')
:wikitext(mw.getCurrentFrame():expandTemplate{title="flatlist"})
:tag('ul')
for k,v in ipairs(key) do
local type = types[v]
if type then
legend
:tag('li')
:tag('span')
:css('background-color', type.color)
:wikitext("    ")
:done()
:wikitext("  ")
:tag('span')
:css('border', '0px')
:addClass('nowrap')
:wikitext(type.jctbtm)
:done()
end
end
legend
:done()
:wikitext(mw.getCurrentFrame():expandTemplate{title="endflatlist"})
end
end


Line 65: Line 36:
local key = parameterParser(args)
local key = parameterParser(args)
if key[1] then createLegend(key) end
if key[1] then createLegend(key, row) end
local keyParam = args.key
local keyParam = args.key

Revision as of 04:26, 27 December 2022

local p = {}

local types = mw.loadData("Module:Road data/RJL types")

local columns = {   -- Constants for how many columns different list types should have.
	default = 6,    -- default
	exit = 7,       -- default + exit number
	old = 8,        -- default + exit number + old exit number
}

local function parameterParser(args)
	local keysParam = args.keys
	if not(keysParam) then return {} end
	local keys = mw.text.split(keysParam, ",")
	table.sort(keys)
	return keys
end

function p._jctbtm(args)

	local root = mw.html.create()
	
	local cols = args.col or columns[args[1]] or columns.default
	row = root
		:tag('tr')
			:tag('td')
				:attr('colspan', cols)
				:addClass('jct-bottom')
				:wikitext(mw.getCurrentFrame():extensionTag{
					name = 'templatestyles', args = { src = 'Module:Jctbtm/styles.css' }
				})
					
	if (args.conv or 'yes') == 'yes' then
		row:wikitext("1.000&nbsp;mi = 1.609&nbsp;km; 1.000&nbsp;km = 0.621&nbsp;mi<br>")
	end
	
	local key = parameterParser(args)
	if key[1] then createLegend(key, row) end
	
	local keyParam = args.key
	if keyParam then -- This is a deprecated parameter
		local page = mw.title.getCurrentTitle()
		local pagename = page.prefixedText
		row:wikitext(string.format("[[Category:Jctbtm temporary tracking category|# %s]]", pagename))
	end
	
	row:wikitext(args.notes or args.key) -- If additional notes are provided, display them.
	
	if #row.nodes == 0 then
		return '|-\n|}'
	else
		return tostring(root) .. '\n|-\n|}'
	end
end

function p.jctbtm(frame)
	return p._jctbtm(require('Module:Arguments').getArgs(frame))
end

return p