Modulis:InfoboxBuilder/Helpers
Moduļa dokumentācija[izveidot]
Iespējams, vēlies izveidot dokumentāciju šim modulim Vari eksperimentēt šī moduļa smilšu kastes (izveidot | spoguļversija) un testu (izveidot) lapā Lūdzu, kategorijas pievieno dokumentācijas apakšlapā. Moduļa apakšlapas. |
local p = {}
-- test : librairie de lignes usuelles, pourraient aller dans un module séparé
function p.buildStyleTable( data)
local res = {}
local n = table.getn(data)
if n % 2 == 0 then
for i = 1, n/2 do
res[i] = data[i*2-1] .. ': ' .. data[i*2]
end
else
-- message d'erreur indiquant qu'il y a des données en trop ou pas assez
end
return res
end
function p.mixed(_label, _param, _property)
local value = { type = 'mixed', label = _label, value = _param }
if _property ~= nil then
value.property = _property
end
return value
end
-- version paramètres nommés
function p.mixed_n(args)
local res = { type = 'mixed' }
-- on insère les éléments (les autres sont 'nil')
for key, value in pairs(args) do
res[key] = value
end
-- gestion des valeurs par défaut
if (res["value"] == nil and type(res["label"] == "string")) then
-- on utilise le label en minuscule
res["value"] = mw.ustring.lower(res["label"])
end
return res
end
function p.doubled_n(args)
local res = { type = 'doubled' }
-- on insère les éléments (les autres sont 'nil')
for key, value in pairs(args) do
res[key] = value
end
-- gestion des valeurs par défaut
if (res["value"] == nil and type(res["label"] == "string")) then
-- on utilise le label en minuscule
res["value"] = mw.ustring.lower(res["label"])
end
return res
end
function p.title(_icon, _back, _param)
return { type = 'title', icon = _icon, background = _back, value = _param }
end
function p.title_n(args)
local res = { type = 'title' }
-- on insère les éléments (les autres sont 'nil')
for key, value in pairs(args) do
res[key] = value
end
return res
end
function p.table(_class, ...)
return { type = 'table', class = _class, rows = { ... } }
end
function p.table_t(_class, _title, ...)
return { type = 'table', class = _class, text = _title, rows = { ... } }
end
function p.table_n(args)
local res = { type = 'table' }
-- on insère les éléments (les autres sont 'nil')
for key, value in pairs(args) do
if (tonumber(key) == nil) then
res[key] = value -- seulement les paramètres nommés
end
end
-- pour permettre de mettre les "rows" à la fin, en non nommé, si besoin
if (res["rows"] == nil and args[1] ~= nil) then
res["rows"] = args[1]
end
return res
end
return p