Modulo:Discendenza/sandbox: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
use require('strict') instead of require('Module:No globals') |
||
(16 versioni intermedie di un altro utente non mostrate) | |||
Riga 1:
require('
local getArgs = require('Module:Arguments').getArgs
local errorCategory = '[[Categoria:Errori di compilazione del template Discendenza]]'
Riga 17:
else
return self
end▼
end
function mwHtml:wikitextIf( cond, value1, value2 )
if cond then
return self:wikitext( value1 )
elseif not (value2 == nil) then
return self:wikitext( value2 )
else
return self
end
end
Line 23 ⟶ 33:
local pers = {}
local tabella = {}
local function errhandler(msg)
local cat = mw.title.getCurrentTitle().namespace == 0 and errorCategory or ''
return string.format('<span class="error">%s</span>%s', msg, cat)
▲end
local function agg(t)▼
end
Line 214 ⟶ 219:
local xx, xp
local stileDiv = { ['width'] = largo..'px', ['padding'] = '3px', ['background'] = '#FFF', ['border'] = '1px solid #C8CCD1' }
local stileTabella = { ['border-collapse'] = 'separate', ['text-align'] = 'center', ['font-size'] = '95%', ['line-height'] = '105%', ['margin'] = '0px auto !important', }
local xy = massimoXY(pid, {0, 0})
local lg = math.floor(100/(xy[1]+2))
Line 241 ⟶ 246:
if (n==1) then
for m=1,(xy[1]+2) do
riga1:node(bCol1)▼
end
else
:css('border-right','1px solid #000')
:cssIf(n1 == xp,'border-top','1px solid #000')
:attrIf(xx-posx[1]>0,'colspan',xx+1-posx[1])
n1 = xp
posx[1] = xx + 1
riga1:node(bCol1)▼
end
if (xx-posx[2]>0) then
:attrIf(xx-posx[2]>1,'colspan',xx-posx[2])
end
:attr('colspan','2')
:
posx[2] = xx + 2
if (n<xy[2]) then
if (#pers[v].figli > 0) then
:css('border-right','1px solid #000')
:attrIf(xx-posx[3]>0,'colspan',xx+1-posx[3])
posx[3] = xx + 1
end
end
end
bTabella:node(riga1):node(riga2):node(riga3)
bTabella:node(riga2)▼
bTabella:node(riga3)▼
end
bDiv:node(bTabella)
if (allinea == 'destra' and not (dida=='')) then
:css({['font-size'] = '87%', ['font-style'] = 'normal', ['border-top'] = '1px solid #c8ccd1', ['margin'] = '8px 2px 3px'})
:wikitext(dida)
end
return tostring(bDiv)
Line 302 ⟶ 301:
return t
end
local bTabella = mw.html.create('table')
:attr({['cellpadding']='0',['cellspacing']='0',['border']='0'})
:css({['border-collapse']='separate',['text-align']='left',['margin']='10px 0 10px 16px'})
local function mostraY2(pid, a)
if (pers[pid].padre > -1) then
local riga1 = mw.html.create('tr')
agg('<td style="width:6px"></td><td style="border-left:1px solid #666;border-bottom:1px solid #666;width:10px;line-height:3px;height:12px"> </td>')▼
local riga2 = mw.html.create('tr')
local spd = pers[pers[pid].padre].sp
pers[pid].nota=='' and '' or ' - '..pers[pid].nota▼
:attr('rowspan',2*spd))
▲ ))
:attr('rowspan',2*spd)
▲ pers[pid].id < #pers[pers[pid].padre].figli and ';border-left:1px solid #666' or ''
:cssIf(pers[pers[pid].padre].id < #pers[pers[pers[pid].padre].padre].figli
▲ pers[pid].id < #pers[pers[pid].padre].figli and ' style="border-left:1px solid #666"' or ''
▲ ))
end
riga1
:node(mw.html.create('td')
:css('width','6px'))
:node(mw.html.create('td')
▲
:node(mw.html.create('td')
:attr({['colspan']=2*a-1, ['rowspan']=2})
:css('padding', '0px 3px 2px 1px')
▲ :wikitextIf(pers[pid].nota=='',
riga2
:node(mw.html.create('td'))
:node(mw.html.create('td')
:css({['line-height']='8px',['line-height']='3px',['height']='12px'})
:cssIf(pers[pid].id < #pers[pers[pid].padre].figli,'border-left','1px solid #666'))
else
mw.html.create('tr')
:node(mw.html.create('td')
:attr('colspan',2*a-1)
pers[pid].nota=='' and '' or ' - '..pers[pid].nota▼
:css('padding','0px 0px 2px 2px')
)
end
if (pers[pid].sp > 0) then
Line 337 ⟶ 352:
end
mostraY2(pid,calcolaY(pid,0))
return tostring(bTabella)
end
|