Modulo:Partiti: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Moroboshi (discussione | contributi)
modifico larghezza header colonne
Moroboshi (discussione | contributi)
aggiunto commenti alle funzioni; aggiungo funzione ombra_o_colore; aggiungo colori ombra al risultato della tabella di configurazione
Riga 3:
 
-- ====================================================
-- corregge un valore di ritorno se questo inizia per '#'
-- vedi bug https://phabricator.wikimedia.org/T14974
-- sostiuendo l'entità html al carattere
-- =====================================================
local function fix_return(colore)
Line 13 ⟶ 14:
end
 
-- ==========================================================
-- Consulta la tabella di configurazione e ritorna il colore
-- associato a partito. Se questo non è definito o non viene
-- trovato ritorna il valore di default.
-- Se l'opzione ombra è vera ritorna invece il colore ombra
-- associato (generalmente un colore più chiaro da usare
-- quando sul colore del partito va messo uno sfondo)
-- ==========================================================
local function _colore(partito, default, ombra)
default = default or ''
if partito == nil then return fix_return(default) end
local partito_indice = cfg.alias[partito] or partito
local colorecolor
if ombra then
colorecolor = cfg.colore_ombra[partito_indice] or default
else
colorecolor = cfg.colore[partito_indice] or default
end
return fix_return(colorecolor)
end
 
-- ==========================================================
-- Funzione di interfaccia con il codice wiki, ritorna il
-- colore associato al partito passato con il primo parametro
-- o in caso non viene trovato quello di default
-- ==========================================================
local function colore(frame)
local args = getArgs(frame, {frameOnly = True})
return _colore(args[1], args[2])
end
 
-- ==========================================================
-- Funzione di interfaccia con il codice wiki, ritorna il
-- colore ombra associato al partito passato con il primo parametro
-- o in caso non viene trovato un eventuale default
-- ==========================================================
local function colore_ombra(frame)
local args = getArgs(frame, {frameOnly = True})
return _colore(args[1], args[2], True)
end
 
-- ==========================================================
-- Funzione di interfaccia con il codice wiki, ritorna il
-- colore ombra associato al partito passato con il primo parametro,
-- in assenza di questo ritorna il colore normale, altrimenti
-- il default (eventuale secondo parametro passato al modulo)
-- ==========================================================
local function ombra_o_colore(frame)
local args = getArgs(frame, {frameOnly = True})
local ombra = _colore(args[1], '', True)
if ombra == '' then
return _colore(args[1], args[2], True)
end
return ombra
end
 
Line 43 ⟶ 77:
 
local function nome_corto(frame)
local args = getArgs(frame, {frameOnly = True})
return _nome_corto(args[1])
end
 
-- ==========================================================
-- Ritorna la tabella di configurazione dei codici colore
-- ==========================================================
local function color_table(frame)
 
local color_t = mw.html.create('table'):addClass('wikitable sortable')
color_t:tag('tr')
:tag('th'):wikitextattr('Esempio<brcolspan', />colore'2'):wikitext('Colore'):done()
:tag('th'):wikitextattr('Codice<brcolspan', />colore'2'):wikitext('Ombra'):done()
:tag('th'):attr('rowspan', '2'):wikitext('Partito'):done()
color_t:tag('tr')
:tag('th'):wikitext('Esempio'):done()
:tag('th'):wikitext('Codice'):done()
:tag('th'):wikitext('Esempio'):done()
:tag('th'):wikitext('Codice'):done()
local names = {}
for k,v in pairs(cfg.colore) do
Line 60 ⟶ 102:
table.sort(names)
for _,name in ipairs(names) do
local tr = color_t :tag('tr')
tr:tag('td'):wikitext('&nbsp;'):css('background-color', cfg.colore[name]):done()
:tag('tr')
tr:tag('td'):wikitext('&nbsp;'):css('background-color', cfg.colore[name]):done()
:tag('td'):wikitext(if cfg.colorecolore_ombra[name]):done() then
tr:tag('td'):wikitext('[[&nbsp;'):css('background-color', cfg.. colore_ombra[name .. ']]'):done()
tr:tag('td'):wikitext(cfg.colore_ombra[name]):done()
else
tr:tag('td'):wikitext('&nbsp;'):done()
tr:tag('td'):wikitext('&nbsp;'):done()
end
tr:tag('td'):wikitext('[[' .. name .. ']]'):done()
end
return color_t
Line 75 ⟶ 123:
_nome_corto = _nome_corto,
color_table = color_table,
colore_ombra = colore_ombra,
ombra_o_colore = ombra_o_colore
}