Module:Routelist bottom/sandbox
Jump to navigation
Jump to search
| This is the module sandbox page for Module:Routelist bottom (diff). |
| This module is rated as beta. It is considered ready for widespread use, but as it is still relatively new, it should be applied with some caution to ensure results are as expected. |
| This module depends on the following other modules: |
Lua error in Module:TNT at line 159: Missing JsonConfig extension; Cannot load https://commons.wikimedia.org/wiki/Data:I18n/Uses TemplateStyles.tab.
Usage
[edit source]{{#invoke:Routelist bottom|function_name}}
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,
'<span style="background-color: ' .. type.color ..
'"> </span> ' .. 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<br>"
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