Module:Routelist bottom

local p = {}

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

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, html_object)

local listargs = {

class = 'routelist-bottom-legend'

}

for _,v in ipairs(key) do

local type = types[v]

if type then

table.insert(

listargs,

'      ' .. type.routelist

)

end

end

html_object:wikitext(require('Module:List').horizontal(listargs))

end

function p._bottom(args)

local root = mw.html.create('tr'):addClass('sortbottom')

row = root:tag('td')

row:attr('colspan', '9')

:addClass('routelist-bottom')

-- we would prefer to add the TemplateStyles before the class is declared

-- but that's not really feasible in this particular table context

: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 mi = 1.609 km; 1.000 km = 0.621 mi
"

end

row:wikitext(conversion)

local key = parameterParser(args)

if key[1] then createLegend(key, row) 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