Differenze tra le versioni di "Modulo:Box"

nessun oggetto della modifica
(gestione lista)
-- Template:Boxtipo per invocazioni interne
 
local colore = require("Module:Colore")
 
local b = {}
-- crea un box tipo con i dati forniti
-- float indica l'allineamento, può non esserci o essere "left" o "right"
local function box(tipo,float)
local stl = ""
if (float) then stl = " float: "..float..";" end
return '<div class="roundy" style="'..stl..'background-color: #'..colore[tipo]({["args"]={}})..'; border: 1px solid #'..colore[tipo]({["args"]={"dark"}})..'; padding: 0.1em 0.4em; font-weight: bold; width:6em; margin: 0.15em">[['..tipo..' (tipo)|<span style="color: #FFF">'..tipo..'</span>]]</div>'
end
 
b.box = function(frame)
return '<div class="roundy" style="'..stl..'background-color: #'..colore[tipo]({["args"]={}})..'; border: 1px solid #'..colore[tipo]({["args"]={"dark"}})..'; padding: 0.1em 0.4em; font-weight: bold; width:6em; margin: 0.15em">[['..tipo..' (tipo)|<span style="color: #FFF">'..tipo..'</span>]]</div>'
return box(frame.args[1] or "sconosciuto",frame.args[2])
end
 
-- da usarsi in altri moduli, così com'è non dovrebbe supportare invocazioni esterne
-- ha come effetto secondario ordinare la tabella passata, attenzione
b.box_lista = function(t,float)
table.sort(t)
local r=""
for i,v in ipairs(t) do
r=r..box(t[i],float)
end
return r
end