Modul:Jctbtm
Documentația acestui modul poate fi creată la Modul:Jctbtm/doc
local p = {}
local colors = {trans = "#dff9f9", concur = "#ddffdd", closed = "#d3d3d3", incomplete = "#ffdddd",
unbuilt = "#ffdead", hov = "#ffff99", toll = "#dcdcfe", etc = "#dcdcfe"}
local descriptions = {trans = "Tranziție la altă rută", concur = "Capăt de drum",
closed = "Închis/fost", incomplete = "Acces incomplet",
unbuilt = "Neterminat", hov = "Doar pentru vehicule cu mai mulți pasageri", toll = "Cu plată", etc = "Colectare electronică a taxei"}
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 insert = table.insert
local format = mw.ustring.format
local legend = {'<div class="hlist" style="margin-left: 1.6em; text-align: center; font-size:90%;">'}
for k,v in ipairs(key) do
if colors[v] then
insert(legend, format('*<span style="border:1px solid #000; background-color:%s; color:%s;"> </span> %s', colors[v], colors[v], descriptions[v]))
end
end
insert(legend, "</div>")
return table.concat(legend, "\n")
end
function p.jctbtm(frame)
local pframe = frame:getParent()
local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself
local args = pframe.args -- the arguments passed TO the template, in the wikitext that transcludes the template
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.
local tabdef = '|-\n|colspan = ' .. cols .. ' class="wikitable hlist" style="text-align: center; background-color:#f2f2f2;"|' -- Define the table.
local conversion = ''
local conv = args.conv or 'yes'
if conv == 'yes' then
conversion = "1.000 mi = 1.609 km; 1.000 km = 0.621 mi<br>"
end
local text = tabdef .. conversion
local key = parameterParser(args)
if key[1] then
local legend = createLegend(key)
text = text .. legend
end
local keyParam = args.key or ''
if keyParam ~= '' then -- This is a deprecated parameter
local page = mw.title.getCurrentTitle()
local pagename = page.prefixedText
-- text = text .. string.format("[[Category:Jctbtm temporary tracking category|# %s]]", pagename)
end
local notes = args.notes or args.key or ''
if notes ~= '' then
text = text .. notes -- If additional notes are provided, display them.
end
if text == tabdef then
return "|}"
else
return text .. "\n|}"
end
end
return p