Module:Routelist bottom

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 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("   ") :done :wikitext(" ") :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') -- 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) 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