Module:Sheet: Difference between revisions

Jump to navigation Jump to search
No edit summary
No edit summary
Line 170: Line 170:
)
)
end
end
elseif rowArgs.str and rowArgs.str ~= '_BLANK_' then
has_rows = true
has_list_class({ rowArgs.rowclass, rowArgs.class, args.abilityclass })
root
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(rowArgs.class)
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(rowArgs.str, 'td'))
elseif rowArgs.dex and rowArgs.dex ~= '_BLANK_' then
has_rows = true
has_list_class({ rowArgs.rowclass, rowArgs.class, args.abilityclass })
root
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(rowArgs.class)
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(rowArgs.dex, 'td'))
elseif rowArgs.con and rowArgs.con ~= '_BLANK_' then
has_rows = true
has_list_class({ rowArgs.rowclass, rowArgs.class, args.abilityclass })
root
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(rowArgs.class)
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(rowArgs.con, 'td'))
elseif rowArgs.int and rowArgs.int ~= '_BLANK_' then
has_rows = true
has_list_class({ rowArgs.rowclass, rowArgs.class, args.abilityclass })
root
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(rowArgs.class)
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(rowArgs.int, 'td'))
elseif rowArgs.wis and rowArgs.wis ~= '_BLANK_' then
has_rows = true
has_list_class({ rowArgs.rowclass, rowArgs.class, args.abilityclass })
root
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(rowArgs.class)
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(rowArgs.wis, 'td'))
elseif rowArgs.cha and rowArgs.cha ~= '_BLANK_' then
has_rows = true
has_list_class({ rowArgs.rowclass, rowArgs.class, args.abilityclass })
root
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(rowArgs.class)
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(rowArgs.cha, 'td'))
elseif rowArgs.data and rowArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then
elseif rowArgs.data and rowArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then
has_rows = true
has_rows = true
Line 268: Line 189:
:done()
:done()
end
end
 
local dataCell = row:tag('td')
local dataCell = row:tag('td')
dataCell
dataCell
Line 278: Line 199:
:cssText(rowArgs.rowcellstyle)
:cssText(rowArgs.rowcellstyle)
:wikitext(fixChildBoxes(rowArgs.data, 'td'))
:wikitext(fixChildBoxes(rowArgs.data, 'td'))
else
else
table.insert(empty_row_categories, rowArgs.data or '')
table.insert(empty_row_categories, rowArgs.data or '')
Line 332: Line 252:
:cssText(args.belowstyle)
:cssText(args.belowstyle)
:wikitext(fixChildBoxes(args.below,'td'))
:wikitext(fixChildBoxes(args.below,'td'))
end
local function renderAbilityHeaderRow()
if not args.str then return end
has_rows = true
has_list_class({ args.abilityclass })
root
:tag('tr')
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityheaderclass)
:cssText(args.abilityheaderstyle)
:wikitext(fixChildBoxes(args.strheader,'td'))
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityheaderclass)
:cssText(args.abilityheaderstyle)
:wikitext(fixChildBoxes(args.dexheader,'td'))
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityheaderclass)
:cssText(args.abilityheaderstyle)
:wikitext(fixChildBoxes(args.conheader,'td'))
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityheaderclass)
:cssText(args.abilityheaderstyle)
:wikitext(fixChildBoxes(args.intheader,'td'))
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityheaderclass)
:cssText(args.abilityheaderstyle)
:wikitext(fixChildBoxes(args.wisheader,'td'))
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityheaderclass)
:cssText(args.abilityheaderstyle)
:wikitext(fixChildBoxes(args.chaheader,'td'))
end
local function renderAbilityRow()
if not args.str then return end
has_rows = true
has_list_class({ args.abilityclass })
root
:tag('tr')
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(args.str,'td'))
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(args.dex,'td'))
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(args.con,'td'))
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(args.int,'td'))
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(args.wis,'td'))
:tag('td')
:attr('colspan', '1')
:addClass ('infobox-data')
:addClass(args.abilityclass)
:cssText(args.abilitystyle)
:wikitext(fixChildBoxes(args.cha,'td'))
end
end


Line 460: Line 474:
local function renderRows()
local function renderRows()


local rownums = union(getArgNums('header'), getArgNums('data'), getArgNums('str'))
local rownums = union(getArgNums('header'), getArgNums('data'))
table.sort(rownums)
table.sort(rownums)
for k, num in ipairs(rownums) do
for k, num in ipairs(rownums) do
Line 467: Line 481:
label = args['label' .. tostring(num)],
label = args['label' .. tostring(num)],
data = args['data' .. tostring(num)],
data = args['data' .. tostring(num)],
str = args['str' .. tostring(num)],
dex = args['dex' .. tostring(num)],
con = args['con' .. tostring(num)],
int = args['int' .. tostring(num)],
wis = args['wis' .. tostring(num)],
cha = args['cha' .. tostring(num)],
datastyle = args.datastyle,
datastyle = args.datastyle,
class = args['class' .. tostring(num)],
class = args['class' .. tostring(num)],
Line 580: Line 588:
renderRows()
renderRows()
renderBelowRow()
renderBelowRow()
    renderAbilityHeaderRow()
    renderAbilityRow()
renderEmptyRowCategories()
renderEmptyRowCategories()
renderTrackingCategories()
renderTrackingCategories()
Line 716: Line 726:
{prefix = 'rowstyle'},
{prefix = 'rowstyle'},
{prefix = 'rowcellstyle'},
{prefix = 'rowcellstyle'},
{prefix = 'class'},
{prefix = 'class'}
{prefix = 'str'},
{prefix = 'dex'},
{prefix = 'con'},
{prefix = 'int'},
{prefix = 'wis'},
{prefix = 'cha'}
}, 50)
}, 50)
preprocessSingleArg('headerclass')
preprocessSingleArg('headerclass')
Line 729: Line 733:
preprocessSingleArg('datastyle')
preprocessSingleArg('datastyle')
preprocessSingleArg('below')
preprocessSingleArg('below')
preprocessSingleArg('str')
preprocessSingleArg('dex')
preprocessSingleArg('con')
preprocessSingleArg('int')
preprocessSingleArg('wis')
preprocessSingleArg('cha')
preprocessSingleArg('belowclass')
preprocessSingleArg('belowclass')
preprocessSingleArg('belowstyle')
preprocessSingleArg('belowstyle')