Module:RoundN: Difference between revisions

Content deleted Content added
m per edit request on talk page - thinner border on left
per edit request on talk page - fix the node_function{orphan} bug
 
(10 intermediate revisions by 4 users not shown)
Line 6:
'Third place'
},
-- The text and background colors are paired and when you set one, you should set the other (accessibility)
textColor = {head = '#202122', '#202122', '#202122', '#202122', '#202122'},
bgColor = {head = '#f2f2f2', 'gold', 'silver', '#C96', '#f9f9f9'},
reuseStr = {},
Line 175 ⟶ 177:
['text-align'] = 'center',
border = '1px solid #aaa',
['background-color'] = p.bgColor.head,
color = p.textColor.head
}
end
Line 265 ⟶ 268:
end
p.teamBoxPadTab = {padding = '0 ' .. p.teamBoxPadding()}
p.teamBoxNormal = {border = '1px solid #aaa', ['background-color'] = p.bgColor[4], color = p.textColor[4]}
local function teamBox(v, r, f)
if p.flex_tree.merge and not v and f.phase == 2 then
Line 291 ⟶ 294:
else
cell = p.teamBoxPadTab
end
local text = v or f[1] and '' or ' '
if f.bold then
text = mw.ustring.gsub(text, '(%(%[%[[^%[%]]*%]%]%))', '<span style="font-weight:normal">%1</span>')
end
tab.r = rowNum[r]:tag'td'
Line 296 ⟶ 303:
:css(cell)
:attr{rowspan = 2}
:node(mw.html.create(f.bold and 'b'):wikitext(v or f[1] and '' or '&nbsp;'text))
end
end
Line 345 ⟶ 352:
for _, v in ipairs({--more args to boolean
'widescore',
'template',
'article_include',
'color',
'color_repechage',
'3rdplace',
'omit_blanks',
Line 450 ⟶ 456:
setmetatable(scoreWidth, _scoreWidth)
end
 
if p.template or p.article_include then
p.template = mw.title.new(args.name)
p.templateFixedName = (p.template.namespace == 0 and not p.article_include and 'Template:' or '') .. p.template.fullText
end
p.template = p.template and mw.title.new(args:clean('name', {pattern = ''}))
local head_br = {
count = 0,
Line 482 ⟶ 484:
or p.RD[#p.RD + k - p.tCols - 1]
or ('Round of ' .. math.pow(2, p.tCols - k + 1))
drawHead(head.wt)
k == 1 and p.template and mw.getCurrentFrame():expandTemplate{
title = 'navbar-header',
args = {head.wt, p.templateFixedName}
} or head.wt
)
end
end
Line 523 ⟶ 520:
rowNum[1]:node(c < p.cols and
mw.clone(bumpBase):attr{rowspan = bump}
or p.no_column_head and p.template and
mw.html.create'td':wikitext(mw.getCurrentFrame():expandTemplate{
title = 'navbar-header',
args = {'', p.templateFixedName}
})
)
end
Line 533 ⟶ 525:
col.top = m.num
p.span = p.tCols > c and bump * 2 or p.branch_upwards or math.max((bump - 1) / 2, 2)
col.color_repechage = p['color_repechage'] and ((c == p.tCols) or ((c == p.tCols-1) and skipMatch[math.pow(2, p.tCols) - 1]))
col.show3rd = p['3rdplace'] and c == p.tCols and rowNum.third
local colorFinal, bumpMid = p.color and c == p.tCols, p.span > 0 and mw.clone(bumpBase):attr{rowspan = p.span} or nil
Line 651 ⟶ 644:
else
if m.showBox[m.phase] then
if col.color_repechage then
p.teamBoxCSS = colorFinal and
col.color_repechage = 2
{border = p.teamBoxNormal.border, background = p.bgColor[m.phase + (col.show3rd or 0)]}
or p.teamBoxNormalend
if p.bold then
if m.bold.win(m.phase) and (colorFinal or col.color_repechage) then
color_index = 1 + (col.show3rd or 0) + (col.color_repechage or 0)
elseif m.bold.box[#m.nonEmpty] then
color_index = 2 + (col.show3rd or 0) + (col.color_repechage or 0)
else
color_index = 4
end
p.teamBoxCSS = (colorFinal or col.color_repechage) and
{border = p.teamBoxNormal.border, ['background-color'] = p.bgColor[m.phasecolor_index], +color (col.show3rd= or 0)p.textColor[color_index]}
or p.teamBoxNormal
else
p.teamBoxCSS = (colorFinal or col.color_repechage) and
{border = p.teamBoxNormal.border, ['background-color'] = p.bgColor[m.phase + (col.show3rd or 0) + (col.color_repechage or 0)], color = p.textColor[m.phase + (col.show3rd or 0) + (col.color_repechage or 0)]}
or p.teamBoxNormal
}) end
local f = {phase = m.phase, bold = m.bold.win(m.phase)}
teamBox(args[step + nodeArgs.team[m.phase]], m.r, f)
Line 722 ⟶ 731:
end
col.n = 0
col.t2 = nil
for r = bumps + 1, rows, p.unit * 2 do
tab.r = rowNum[r]:tag'td'
Line 730 ⟶ 740:
col.n = col.n + 2
col.t2 = skipMatch[col.tot + col.n / 2 + 1] and 3 or ((skipMatch[col.top + col.n] and 1 or 0) + (skipMatch[col.top + col.n + 1] and 2 or 0))
if col.t == 0 then --draws the ']' when a PAIR of matches needs lines
tab.r
:attr{rowspan = maxSpan(p.unit * 2, r, rows)}
Line 737 ⟶ 747:
['border-left'] = 0
})
else --draws the lines when only top OR bottom match need lines
else
tab.r
:attr{rowspan = maxSpan(p.unit, r, rows)}
Line 835 ⟶ 845:
['background-color'] = p.bgColor.head,
border = '1px solid #aaa',
color = p.textColor.head,
['text-align'] = 'center',
width = width