Modulo:Discendenza/sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Nessun oggetto della modifica
Riga 17:
else
return self
end
end
 
function mwHtml:wikitextIf( cond, value1, value2 )
if cond then
return self:wikitext( value1 )
elseif not (value == nil) then
return self:wikitext( value2 )
else
return self
end
end
Line 23 ⟶ 33:
local pers = {}
local tabella = {}
local txt = {}
 
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)
table.insert(txt,t)
end
 
Line 263 ⟶ 268:
local bCol2 = mw.html.create('td')
:attr('colspan','2')
:wikitextwikitextIf(pers[v].nota=='-' and, pers[v].testo or, string.format('%s<br/><span style="font-size:90%%"><i>%s</i></span>',pers[v].testo,pers[v].nota))
riga2:node(bCol2)
posx[2] = xx + 2
Line 279 ⟶ 284:
end
 
bTabella:node(riga1):node(riga2):node(riga3)
bTabella:node(riga2)
bTabella:node(riga3)
end
 
Line 302 ⟶ 305:
return t
end
 
local function aggmostraY(tpid)
local bTabella = mw.html.create('table')
:attr({['cellpadding']='0',['cellspacing']='0',['border']='0'})
:css({['text-align']='left',['margin']='10px 0 10px 16px'})
 
local function mostraY2(pid, a)
if (pers[pid].id > 1) then agg('<tr>') end
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">&nbsp;</td>')
local riga2 = mw.html.create('tr')
agg(string.format('<td colspan=%d rowspan=2 style="padding: 0px 3px 2px 1px">%s%s</td></tr>',
local spd = pers[pers[pid].padre].sp
2*a-1,
if (pers[pid].testo,id == 1) then
riga1:node(mw.html.create('td')
pers[pid].nota=='' and '' or ' - '..pers[pid].nota
:attr('rowspan',2*spd))
))
riga1:node(mw.html.create('td')
agg(string.format('<tr><td></td><td style="line-height:8px;line-height:3px;height:12px%s">&nbsp;</td></tr>',
:attr('rowspan',2*spd)
pers[pid].id < #pers[pers[pid].padre].figli and ';border-left:1px solid #666' or ''
:cssIf(pers[per[pid].padre].id < #pers[pers[pers[pid].padre].padre].figli,'border-left','1px solid #666'))
))
if (pers[pid].sp > 0) then
agg(string.format('<tr><td rowspan=%d></td><td rowspan=%d%s>&nbsp;</td>',
2*pers[pid].sp,
2*pers[pid].sp,
pers[pid].id < #pers[pers[pid].padre].figli and ' style="border-left:1px solid #666"' or ''
))
agg('')
end
riga1:node(mw.html.create('td')
:css('width','6px'))
riga1:node(mw.html.create('td')
agg :css({['<td style="width:6px"></td><td style="border-left:']='1px solid #666;',['border-bottom:']='1px solid #666;',['width:']='10px;',['line-height:']='3px;',['height:']='12px">&nbsp;</td>'}))
:wikitext('&nbsp;')
riga1:node(mw.html.create('td')
:attr({['colspan']=2*a-1, ['rowspan']=2})
:css('padding', '0px 3px 2px 1px')
:wikitextIf(pers[pid].nota=='', and '' orpers[pid].testo, pers[pid].testo..' - '..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 and ,';border-left:','1px solid #666' or ''))
bTabella:node(riga3riga1):node(riga2)
else
local riga1 = mw.html.create('tr')
agg(string.format('<td colspan=%d style="padding: 0px 0px 2px 2px">%s%s</td></tr><tr>',
riga1:node(mw.html.create('td')
2*a-1,
:attr('colspan',2*a-1)
pers[pid].testo,
:css('padding','0px 0px 2px 2px')
:wikitextIf(pers[pid].nota=='' and '' or ,pers[pid].testo,pers[pid].testo..' - '..pers[pid].nota))
))
bTabella:node(riga2riga1)
end
if (pers[pid].sp > 0) then
Line 337 ⟶ 353:
end
 
local function mostraY(pid)
agg('<table cellpadding="0" cellspacing="0" border=0 style="text-align:left;margin:10px 0 10px 16px"><tr>')
mostraY2(pid,calcolaY(pid,0))
return tostring(bTabella)
agg('</tr></table>')
return table.concat(txt)
end