--[[
Questo modulo è in appoggio al template Tassobox, per il richiamo di un'immagine
di file mancante appropriata al regno/phylum/classe/ordine/ecc della voce in cui è inserito
]]
local p = {}
local cfg = mw.loadData("Modulo:Tassobox/Configurazione")
local function check_value(valore)
if valore == nil then
return nil
else
return cfg.missing_table[mw.ustring.lower(valore)]
end
end
----------------------------------------------------------------------------------
-- Ritorna il nome di un'immagine da utilizzare se manca l'immagine per il tassobox
----------------------------------------------------------------------------------
function p.missing_image(frame)
-- Richiama i parametri originali del template
local pframe = frame:getParent()
-- testa in ordine dal più specifico al più generico la classificazione di un essere vivente
-- se non trova il valore nella tabella ricade nell'immagine di default
missing_link = check_value(pframe.args["sottordine"]) or check_value(pframe.args["superordine"]) or check_value(pframe.args["ordine"]) or check_value(pframe.args["classe"]) or check_value(pframe.args["superclasse"]) or
check_value(pframe.args["subphylum"]) or check_value(pframe.args["phylum"]) or check_value(pframe.args["divisione"]) or
check_value(pframe.args["regno"]) or check_value(pframe.args["dominio"]) or "File:Unknown missing 1.png"
return '[[' .. missing_link ..'|220px|Immagine di ' .. mw.title.getCurrentTitle().text .. ' mancante]]'
end
----------------------------------------------------------------------------------
-- Ritorna la configurazione della tabella per le ere geologiche
----------------------------------------------------------------------------------
function p.ere_geologiche_table(frame)
-- Restituisce una tabella delle ere geologiche presenti in configurazione
local root = mw.html.create('table')
root
:addClass('wikitable sortable')
:tag('tr')
:tag('th'):wikitext('Era'):done()
:tag('th'):wikitext('Inizio'):done()
:tag('th'):wikitext('Successiva'):done()
:tag('th'):wikitext('Colore'):done()
for name, values in pairs(cfg.ere_geologiche) do
local start = values['start'] or "-"
local next_era = values['next_era'] or "-"
local color = "-"
if values['color'] then
color = '<span style="display:inline-block;border:solid grey 1px;width:1em;height:1em;background:'.. values['color'] .. ';"</span>'
end
root:tag('tr')
:tag('td'):wikitext(start):done()
:tag('td'):wikitext(next_era):done()
:tag('td'):wikitext(color):done()
end
return tostring(root)
end
return p