Modulo:Tassobox/sandbox

Versione del 18 mar 2015 alle 11:38 di Moroboshi (discussione | contributi) (Nuova pagina: --[[ 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 cu...)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
--[[  
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'] ore "-"
        local color = "-"
        if values['color'] then 
        	color = "display:inline-block;border:solid grey 1px;background:".. values['color'] .. ";"
        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