Jump to content

Module:Routelist bottom/sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
poke
 
and here
Line 15: Line 15:
local function createLegend(key)
local function createLegend(key)
local format = mw.ustring.format
local format = mw.ustring.format
local legend = row:tag('div'):attr('class', "hlist"):cssText("margin-left: 1.6em; text-align: center; font-size:90%;"):tag('ul')
local legend = row:tag('div')
:addClass('routelist-bottom-legend hlist')
:tag('ul')
for k,v in ipairs(key) do
for k,v in ipairs(key) do
local type = types[v]
local type = types[v]
if type then
if type then
legend
legend:tag('li'):tag('span'):css('border', '1px solid #000'):css('background-color', type.color):css('color', type.color):wikitext("    "):done():wikitext("  "):wikitext(type.routelist)
:tag('li')
:tag('span')
:css('background-color', type.color)
:wikitext("    ")
:done()
:wikitext("  ")
:wikitext(type.routelist)
end
end
end
end
Line 25: Line 34:


function p._bottom(args)
function p._bottom(args)
local root = mw.html.create('tr'):attr('class', "sortbottom")
local root = mw.html.create('tr'):addClass('sortbottom')
row = root:tag('td')
row = root:tag('td')
row:attr('colspan', '9')
row:attr('colspan', "9"):attr('class', "wikitable hlist"):css("text-align", "center"):css("background-color", "#f2f2f2") -- Define the footer.
:addClass('routelist-bottom')
:wikitext(mw.getCurrentFrame():extensionTag{
name = 'templatestyles', args = { src = 'Module:Routelist bottom/styles.css' }
})

local conversion
local conversion
local conv = args.conv or 'no'
if (args.conv or 'no') == 'yes' then
if conv == 'yes' then
conversion = "1.000&nbsp;mi = 1.609&nbsp;km; 1.000&nbsp;km = 0.621&nbsp;mi<br>"
conversion = "1.000&nbsp;mi = 1.609&nbsp;km; 1.000&nbsp;km = 0.621&nbsp;mi<br>"
end
end
Line 39: Line 51:
if key[1] then createLegend(key) end
if key[1] then createLegend(key) end
local nodes = row.nodes
if #row.nodes == 0 then
if #nodes == 0 then
return '|-\n|}'
return '|-\n|}'
else
else

Revision as of 05:25, 4 October 2021

local p = {}

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

local row

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

local function createLegend(key)
	local format = mw.ustring.format
	local legend = row:tag('div')
		:addClass('routelist-bottom-legend hlist')
		: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("&nbsp;&nbsp;&nbsp;&nbsp;")
						:done()
					:wikitext("&nbsp; ")
					:wikitext(type.routelist)
		end
	end
end

function p._bottom(args)
	local root = mw.html.create('tr'):addClass('sortbottom')
	row = root:tag('td')
	row:attr('colspan', '9')
		:addClass('routelist-bottom')
		:wikitext(mw.getCurrentFrame():extensionTag{
			name = 'templatestyles', args = { src = 'Module:Routelist bottom/styles.css' }
		})

	local conversion
	if (args.conv or 'no') == 'yes' then
		conversion = "1.000&nbsp;mi = 1.609&nbsp;km; 1.000&nbsp;km = 0.621&nbsp;mi<br>"
	end
	row:wikitext(conversion)
	
	local key = parameterParser(args)
	if key[1] then createLegend(key) end
	
	if #row.nodes == 0 then
		return '|-\n|}'
	else
		return tostring(root) .. '\n|-\n|}'
	end
end

function p.bottom(frame)
	return p._bottom(require('Module:Arguments').getArgs(frame))
end

return p