Module:Jctbtm: Difference between revisions
Appearance
Content deleted Content added
update color |
templatestyles |
||
Line 20: | Line 20: | ||
local function createLegend(key) |
local function createLegend(key) |
||
local legend = row:tag('div |
local legend = row:tag('div') |
||
:addClass('jct-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.jctbtm) |
|||
:tag('li') |
|||
:tag('span') |
|||
:css('background-color', type.color) |
|||
:wikitext(" ") |
|||
:done() |
|||
:wikitext(" ") |
|||
:wikitext(type.jctbtm) |
|||
end |
end |
||
end |
end |
||
Line 30: | Line 39: | ||
function p._jctbtm(args) |
function p._jctbtm(args) |
||
local root = mw.html.create() |
local root = mw.html.create() |
||
row = root:tag('tr'):tag('td') |
|||
local cols = args.col or columns[args[1]] or columns.default -- Compute the number of columns, either from an explicit parameter, or by looking at the columns table. |
|||
row:attr('colspan', cols):addClass('wikitable hlist'):css("text-align", "center"):css("background-color", "#eaecf0") -- Define the footer. |
|||
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 |
if (args.conv or 'yes') == 'yes' then |
||
row:wikitext("1.000 mi = 1.609 km; 1.000 km = 0.621 mi<br>") |
row:wikitext("1.000 mi = 1.609 km; 1.000 km = 0.621 mi<br>") |
Revision as of 04:34, 4 October 2021
![]() | 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 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.jctbtm)
end
end
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