606
edits
m |
m |
||
| Line 43: | Line 43: | ||
return box | return box | ||
end | end | ||
if header then | if header then | ||
box:tag('div') | box:tag('div') | ||
| Line 50: | Line 50: | ||
:done() | :done() | ||
end | end | ||
local function createDataRow(label, value, defaultValue) | local function createDataRow(label, value, defaultValue) | ||
if not value and not defaultValue then | |||
return | return nil | ||
end | |||
local dataRow = mw.html.create('div') | |||
dataRow:addClass('infobox-data-section') | |||
if label and header ~= 'Construction Requirements' then | |||
dataRow:tag('span') | |||
:addClass('infobox-label') | |||
:wikitext(label) | |||
:done() | |||
:tag('span') | |||
:addClass('infobox-data') | |||
:wikitext(value or defaultValue) | |||
else | |||
dataRow:tag('span') | |||
:addClass('infobox-data') | |||
:wikitext(value or defaultValue) | |||
end | |||
return dataRow | |||
end | end | ||
if columnCount and columnCount > 1 then | |||
local row = box:tag('div'):addClass('infobox-row') | |||
for i, item in ipairs(data) do | |||
local label = (header == 'Construction Requirements') and nil or item.label | |||
local dataDiv = createDataRow(label, item.label .. (item.value and ' ' .. item.value or '')) | |||
if dataDiv then | |||
row:tag('div'):addClass('infobox-data-item'):node(dataDiv):done() | |||
if i % columnCount == 0 and i < #data then | |||
row = box:tag('div'):addClass('infobox-row'):done() | |||
end | |||
: | end | ||
end | |||
if row.parent == box then | |||
row:done() | |||
end | |||
else | else | ||
for _, item in ipairs(data) do | |||
local label = (header == 'Construction Requirements') and nil or item.label | |||
local dataRow = createDataRow(label, item.label .. (item.value and ' ' .. item.value or '')) | |||
if dataRow then | |||
box:node(dataRow) | |||
end | |||
end | end | ||
end | end | ||
return box | return box | ||
end | end | ||
edits