Module:Jctbtm/sandbox: Difference between revisions
Appearance
Content deleted Content added
No edit summary |
No edit summary |
||
Line 22: | Line 22: | ||
local legend = row:tag('div') |
local legend = row:tag('div') |
||
:addClass('jct-bottom-legend') |
:addClass('jct-bottom-legend') |
||
:wikitext( |
:wikitext(p:expandTemplate{title="flatlist"}) |
||
:tag('ul') |
:tag('ul') |
||
for k,v in ipairs(key) do |
for k,v in ipairs(key) do |
||
Line 43: | Line 43: | ||
legend |
legend |
||
:done() |
:done() |
||
:wikitext( |
:wikitext(p:expandTemplate{title="endflatlist"}) |
||
end |
end |
||
Revision as of 22:36, 9 March 2022
![]() | This is the module sandbox page for Module:Jctbtm (diff). |
![]() | This Lua module is used on approximately 16,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
![]() | This module depends on the following other modules: |
![]() | This module uses TemplateStyles: |
This module implements the {{Jctbtm}} template. Please see the template page for usage instructions.
Usage
{{#invoke:Jctbtm|jctbtm}}
Tracking/maintenance category
local p = {}
local types = mw.loadData("Module:Road data/RJL types")
local row
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
local function createLegend(key)
local legend = row:tag('div')
:addClass('jct-bottom-legend')
:wikitext(p: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(p:expandTemplate{title="endflatlist"})
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 mi = 1.609 km; 1.000 km = 0.621 mi<br>")
end
local key = parameterParser(args)
if key[1] then createLegend(key) 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