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