UsageEdit

Basic usageEdit

This module is an extension of Module:Sports rbr table, showing matchups and head-to-head results table.

In it's simplest form, only several parameters need to be used to build a table.

What you type
{{#invoke:Sports rbr table|table
|style=matchup|legend_style=BSK

|team1=AAA |team2=BBB |team3=CCC |team4=DDD |team5=EEE

|opp_AAA = TM2/TM3/TM4/GIB
|res_AAA =  W / L /OTL/ W

|opp_BBB = GIB/TM1/TM3/TM4
|res_BBB =  L / L /OTW/ W

|opp_CCC = TM4/GIB/TM1/TM2
|res_CCC =  W / L / W /OTL

|opp_DDD = TM3/TM2/TM1/GIB
|res_DDD = OTW/ L / L / L

|opp_EEE = TM3/TM4/TM1/TM2
|res_EEE =  W / W / L / W

|name_AAA=[[Dream Team]]
|name_BBB=Team 2
|name_CCC=Team 3
|name_DDD=Team 4
|name_EEE={{bk|GIB}}
}}
What it looks like Lua error: expandTemplate: template "citation needed" does not exist.

ParametersEdit

General parametersEdit

Cover image: Cover image::

Logo: Logo::

Short description: Short description::


Style–specific parametersEdit

Style–specific parameters
Parameter Description
opp1 or
opp_ABC
The forward slash (/) delimited list of round-by-round opponents of the team. For example, |opp1=DEF/GHI/JKL/MNO/PQR/STU/VWX for seven games.
legend_style Legend colors and text to display based on usage. The default is WL. See the legend section below for more information on legend syntax.
rdrobin Number of times each team plays all other teams. The default is 1 (i.e. single round-robin).
ticon The name of the template to trigger to show teams' identity (e.g. three-letter codes, team colors, team icons)

LegendEdit

KeyEdit

The keys below correspond to res1 or res_ABC usage: the forward slash (/) delimited list of matchup results of the team.

For example, |res1=W/OTL/FW/W/L for five games with the round-by-round results of win, OT loss, win by forfeit, win, loss.

Key Legend color
W Template:Legend2
D Template:Legend2
L Template:Legend2
OTW Template:Legend2
OTL Template:Legend2
FW Template:Legend2
FL Template:Legend2

StyleEdit

Legend colors and text will be displayed based on usage.

Legend style WL WLF BSK BSKF FBR FBRF
Colors

ExamplesEdit

Example 1: Cells contain literal textsEdit

What you type
{{#invoke:Sports rbr table|table|style=matchup|legend_style=FBR

|team1 = ADM |name_ADM = {{UAAPteam|Ateneo|short}}
|team2 = DLZ |name_DLZ = {{UAAPteam|La Salle|name=DLSZ}}
|team3 = FEU |name_FEU = {{UAAPteam|FEU|short}}
|team4 = NUI |name_NUI = {{UAAPteam|NU|short}}
|team5 = UST |name_UST = {{UAAPteam|UST|short}}

|opp_ADM = UST/NUI/DLS/FEU
|res_ADM =  W / W / L / D

|opp_DLZ = NUI/ADM/FEU/UST
|res_DLZ =  L / W / L / L

|opp_FEU = UST/NUI/DLS/ADM
|res_FEU =  W / W / W / D

|opp_NUI = DLS/ADM/FEU/UST
|res_NUI =  W / L / L / D

|opp_UST = ADM/FEU/NUI/DLS
|res_UST =  L / L / D / W
}}
What it looks like Lua error: expandTemplate: template "citation needed" does not exist.

Example 2: Cells contain iconsEdit

What you type
{{#invoke:Sports rbr table|table|style=matchup|ticon=UAAPicon|legend_style=FBR

|team1 = ADM |name_ADM = {{UAAPteam|Ateneo|short}}
|team2 = DLZ |name_DLZ = {{UAAPteam|La Salle|short|name=DLSZ}}
|team3 = FEU |name_FEU = {{UAAPteam|FEU|short}}
|team4 = NUI |name_NUI = {{UAAPteam|NU|short}}
|team5 = UST |name_UST = {{UAAPteam|UST|short}}

|opp_ADM = UST/NUI/DLS/FEU
|res_ADM =  W / W / L / D

|opp_DLZ = NUI/ADM/FEU/UST
|res_DLZ =  L / W / L / L

|opp_FEU = UST/NUI/DLS/ADM
|res_FEU =  W / W / W / D

|opp_NUI = DLS/ADM/FEU/UST
|res_NUI =  W / L / L / D

|opp_UST = ADM/FEU/NUI/DLS
|res_UST =  L / L / D / W
}}
What it looks like Lua error: expandTemplate: template "citation needed" does not exist.

Example 3: Double round-robin scheduleEdit

What you type
{{#invoke:Sports rbr table|table|style=matchup|rdrobin=2|legend_style=BSK

|team1 = ADU |name_ADU = {{UAAPteam|Adamson|short}}
|team2 = ADM |name_ADM = {{UAAPteam|Ateneo|short}}
|team3 = DLS |name_DLS = {{UAAPteam|La Salle|short}}
|team4 = FEU |name_FEU = {{UAAPteam|FEU|short}}
|team5 = NUI |name_NUI = {{UAAPteam|NU|short}}
|team6 = UEA |name_UEA = {{UAAPteam|UE|short}}
|team7 = UPD |name_UPD = {{UAAPteam|UP|short}}
|team8 = UST |name_UST = {{UAAPteam|UST|short}}

|opp_ADU = ADM/NUI/UEA/UPD/UST/DLS/FEU/UEA/ADM/NUI/UPD/FEU/UST/DLS
|res_ADU =  L /OTW/ W /OTL/ W / L / L / L / L / W / L / L / L / L

|opp_ADM = ADU/DLS/UST/FEU/NUI/UEA/UPD/UST/ADU/DLS/FEU/UEA/NUI/UPD
|res_ADM =  W / W / W / W / W / W / W / W / W / W / W / W / W / W

|opp_DLS = ADM/NUI/UEA/FEU/ADU/UPD/UST/NUI/ADM/UEA/FEU/UST/UPD/ADU
|res_DLS =  L / W / L / L / W / L / W / W / L / W / L / W / L / W

|opp_FEU = UPD/UEA/ADM/DLS/UST/NUI/ADU/UPD/NUI/UST/ADM/DLS/ADU/UEA
|res_FEU =  L / W / L / W / L / L / W /OTW/OTL/ W / L / W / W / W

|opp_NUI = ADU/DLS/UST/UPD/ADM/FEU/UEA/DLS/FEU/ADU/UST/UPD/ADM/UEA
|res_NUI = OTL/ L /OTL/ L / L / W / L / L /OTW/ L / L / L / L / L

|opp_UEA = UST/FEU/ADU/DLS/UPD/ADM/NUI/ADU/UST/UPD/DLS/ADM/FEU/NUI
|res_UEA =  L / L / L / W / L / L / W / W / L / L / L / L / L / W

|opp_UPD = FEU/UST/ADU/NUI/UEA/DLS/ADM/FEU/UEA/UST/ADU/NUI/DLS/ADM
|res_UPD =  W / L /OTW/ W / W / W / L /OTL/ W / L / W / W / W / L

|opp_UST = UEA/UPD/ADM/NUI/ADU/FEU/DLS/ADM/UEA/FEU/UPD/NUI/DLS/ADU
|res_UST =  W / W / L /OTW/ L / W / L / L / W / L / W / W / L / W
}}
What it looks like Lua error: expandTemplate: template "citation needed" does not exist.

See alsoEdit

Tracking categoryEdit

  • Template:Clc (pages where the updated date does not match the parent page name)
  • Template:Clc (pages where the |legendorder= parameter is used)
  • Template:Clc (pages where the |rnd1= parameter is used and may be converted to |firstround=)
  • Template:Clc (pages where unsupported parameters are used, or where the |header= is potentially missing)

local pp = {}

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_style'] or 'WL'
	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], '</', '<FORWARDSLASH'), '%s*/%s*')
	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_style' 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 else return #team_list - 1 end
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 '&nbsp;') .. 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&nbsp;' .. 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 '&nbsp;'
end

return pp