Module:Sandbox/McVahl/sometest/testtable
local pp = {}
local mParent = require('Module:Sandbox/McVahl/sometest')
local rdrobin, multirb
local tblkey = {
['WL'] = 'W/L',
['WLF'] = 'W/FW/L/FL',
['BSK'] = 'W/OTW/L/OTL',
['BSKF'] = 'W/OTW/FW/L/OTL/FL',
['FBR'] = 'W/D/L',
['FBRF'] = 'W/FW/D/L/FL',
}
function pp.defaults(args,yesno,color_map)
rdrobin = tonumber(args['rdrobin'] or 1)
multirb = rdrobin >= 2
local legendtype = args['legend'] or 'BSK'
local opt_colors = {
W = { 'Win', color_map.blue1 },
D = { 'Draw', color_map.yellow2 },
L = { 'Loss', color_map.red1 },
OTW = { 'OT win', color_map.blue3 },
OTL = { 'OT loss', color_map.red3 },
FW = { 'Win by forfeit', '#5CDEFD' },
FL = { 'Loss by forfeit', '#D98080' }
}
local colors = mw.text.split(mw.ustring.gsub(tblkey[legendtype], '', ' for k=1,#colors do local legend = colors[k] args['color_' .. legend] = opt_colors[legend][2] args['text_' .. legend] = opt_colors[legend][1] end args['header'] = 'Team ╲ Game' args['legendpos'] = 'b' args['legendorder'] = args['legendorder'] or 'W/OTW/FW/D/L/OTL/FL' return args end function pp.addtl_args(k) return k == 'style' or k == 'legend' or k == 'sched' or k == 'rdrobin' or k == 'ticon' end function pp.get_argvalues_for_maxround(args,x,del) del = del or '' return args['pos' .. del .. x] or args['res' .. del .. x] or '' end function pp.get_rounds_or_maxrounds(rounds,maxrounds,args,team_list) if multirb then return (#team_list - 1) * rdrobin end return mParent.get_rounds_or_maxrounds(rounds,maxrounds) end function pp.header(root,args,labels,maxrounds,navbar,team_list,firstround) local row = root:tag('tr') row:tag('th') :css('white-space', 'nowrap'):cssText('style') :wikitext((not multirb and (args['header'] or labels['teamround']) or ' ') .. navbar) -- if not a single round-robin if (multirb) then for r=1,rdrobin do row:tag('th') :addClass('sportsrbrtable-rnd') :attr('scope', 'col') :attr('colspan', #team_list - 1) :wikitext('Round ' .. r) end row = root:tag('tr') row:tag('th') :css('white-space', 'nowrap'):cssText('style') :wikitext(args['header'] or labels['teamround']) end for r=1,maxrounds do row:tag('th') :addClass('sportsrbrtable-rnd') :attr('scope', 'col') :css('width', (args['ticon'] == nil) and (args['rdwidth'] or '35px') or nil) :wikitext(args['rnd' .. (r + (firstround - 1))] or (r + (firstround - 1))) end return row end function pp.rowtext(frame,args,legend_symbols,posrt,opprt) if args['ticon'] then return frame:expandTemplate{ title = args['ticon'], args = { opprt } } else return opprt end return legend_symbols[posrt] or posrt end function pp.rowbg(posrc,opprt) return (opprt ~= ) and posrc or end function pp.legendtext(legend_symbols,v) return ' ' end return pp