Module:Sports rbr table/matchup
Appearance
This module is rated as ready for general use. It has reached a mature form and is thought to be relatively bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by sandbox testing rather than repeated trial-and-error editing. |
Usage
[edit]Basic usage
[edit]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 |
Parameters
[edit]General parameters
[edit]Style–specific parameters
[edit]Style–specific parameters | |
---|---|
Parameter | Description |
opp1 oropp_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) |
Legend
[edit]Key
[edit]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 |
Win |
D |
Draw |
L |
Loss |
OTW |
OT win |
OTL |
OT loss |
FW |
Win by forfeit |
FL |
Loss by forfeit |
Style
[edit]Legend colors and text will be displayed based on usage.
Legend style | WL
|
WLF
|
BSK
|
BSKF
|
FBR
|
FBRF
|
---|---|---|---|---|---|---|
Colors |
|
|
|
|
|
|
Examples
[edit]Example 1: Cells contain literal texts
[edit]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 |
Example 2: Cells contain icons
[edit]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 |
Example 3: Double round-robin schedule
[edit]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 |
See also
[edit]Tracking category
[edit]- Category:Pages using sports rbr table with dubious updated parameter (65) (pages where the updated date does not match the parent page name)
- Category:Pages using sports rbr table with legendorder (171) (pages where the
|legendorder=
parameter is used) - Category:Pages using sports rbr table with rnd parameters (0) (pages where the
|rnd1=
parameter is used and may be converted to|firstround=
) - Category:Pages using sports rbr table with unsupported parameters (1) (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 ' ') .. 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