Content deleted Content added
abbreviations should match the text. Changed abbreviations to match the text, but it can also go the other way. "TBR" is not an abbreviation for tiebreaker. This should be handled similar to other one letter words. |
fix |
||
(14 intermediate revisions by 4 users not shown) | |||
Line 9:
-- Pre stuff
local team_width = Args['teamwidth'] or '190'
local score_width = Args['scorewidth'] or '32'
local sort_text = yesno(Args['sortable_table'] or 'no') and ' sortable' or ''
local show_played = not yesno(Args['hide_played'] or 'no')
Line 20 ⟶ 21:
local group_head_text = Args['group_header'] or '<abbr title="Group">Grp</abbr>'
local win_head_text = Args['win_header'] or '<abbr title="Won">W</abbr>'
local OTwin_head_text = Args['OTwin_header'] or '<abbr title="
local OTloss_head_text = Args['OTloss_header'] or '<abbr title="
local PKwin_head_text = Args['PKwin_header'] or Args['
local PKloss_head_text = Args['PKloss_header'] or Args['SOloss_header'] or (yesno(Args['showSOloss'] or 'no')
and '<abbr title="Shootout loss">SOL</abbr>' or '<abbr title="Penalty kicks loss">PKL</abbr>')
local loss_head_text = Args['loss_header'] or '<abbr title="Lost">L</abbr>'
local bonus_head_text = Args['bonus_header'] or '<abbr title="Bonus points">BP</abbr>'
Line 30 ⟶ 33:
-- What to rank the teams by
local ranking_style = Args['ranking_style'] or 'pts'
local show_points, show_perc, show_ppg = false, false, false
ranking_style = string.lower(ranking_style)
if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' or ranking_style=='none' then
Line 37 ⟶ 40:
-- Based on percentage
show_perc = true
elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then
-- Based on points per game
show_ppg = true
elseif ranking_style=='percpts' or ranking_style=='%pts' then
-- Based on percentage and points
show_perc = true
show_points = true
elseif ranking_style=='ppgpts' then
-- Based on ppg and points
show_ppg = true
show_points = true
elseif ranking_style=='forpts' then
-- Based on goals for and points
show_points = true
else
-- Based on points
Line 45 ⟶ 62:
local for_against_style = Args['for_against_style'] or 'goals'
local fa_letter, fa_word_sing, fa_word_plur
local hide_for_against = false
-- First convert to lower case if it is a string
for_against_style = string.lower(for_against_style)
Line 55 ⟶ 73:
fa_word_sing = 'Point'
fa_word_plur = 'Points'
elseif for_against_style=='none' then
hide_for_against = true
else
fa_letter = 'G'
Line 74 ⟶ 94:
local show_OTwin = yesno(Args['showOTwin'] or 'yes')
local show_OTloss = yesno(Args['showOTloss'] or 'yes')
local show_PKwin = yesno(Args['showPKwin'] or Args['showSOwin'] or 'no')
local show_PKloss = yesno(Args['showPKloss'] or Args['showSOloss'] or 'no')
local show_draw = yesno(Args['show_draw'] or 'yes')
local OTloss_after = yesno(Args['OTloss_after_loss'] or 'no')
local PKloss_after = yesno(Args['PKloss_after_loss'] or Args['SOloss_after_loss'] or 'no')
-- Use games behind header
Line 89 ⟶ 109:
-- Actual headers
if pos_label ~= nil then
tt = p_sub.colhead(tt,
end
-- Add group header
Line 97 ⟶ 117:
tt = p_sub.colhead(tt,team_width,'Team'..VTE_text) -- Team col
if show_played then
tt = p_sub.colhead(tt,
end
if full_table then
tt = p_sub.colhead(tt,
if show_OTwin then tt = p_sub.colhead(tt,
if show_PKwin then tt = p_sub.colhead(tt,
if show_draw then
tt = p_sub.colhead(tt,
end
if show_OTloss and not OTloss_after then t = p_sub.colhead(tt,
if show_PKloss and not PKloss_after then t = p_sub.colhead(tt,
tt = p_sub.colhead(tt,
if show_OTloss and OTloss_after then t = p_sub.colhead(tt,
if show_PKloss and PKloss_after then t = p_sub.colhead(tt,
if show_tiebr then t = p_sub.colhead(tt,
if not hide_for_against then
tt = p_sub.colhead(tt,
tt = p_sub.colhead(tt,score_width,'<abbr title="'..fa_word_plur..' against">'..fa_letter..'A</abbr>') -- Against col
if do_ratio or do_average then
local ratio_word = do_ratio and ' ratio' or ' average' local ratio_letter = do_ratio and 'R' or 'Av'
tt = p_sub.colhead(tt,36,'<abbr title="'..fa_word_sing..ratio_word..'">'..fa_letter..ratio_letter..'</abbr>') -- Ratio col
elseif do_percentage then
tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' percentage">%</abbr>') -- Percentage col
else
tt = p_sub.colhead(tt,
end
end
end
Line 128 ⟶ 150:
end
if show_points then
tt = p_sub.colhead(tt,
end
if show_perc then
tt = p_sub.colhead(tt,36,'<abbr title="Point percentage">PCT</abbr>') -- Point percentage col
end
if show_ppg then
tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col
end
if full_table then
Line 152 ⟶ 178:
local draw_points = tonumber(Args['drawpoints']) or 1
local OTloss_points = tonumber(Args['OTlosspoints']) or 1
local PKwin_points = tonumber(Args['PKwinpoints'] or Args['SOwinpoints'])
local PKloss_points = tonumber(Args['PKlosspoints'] or Args['SOlosspoints'])
local loss_points = tonumber(Args['losspoints']) or 0
Line 161 ⟶ 187:
local draws = tonumber(Args['draw_'..team_code_ii]) or 0
local OTlosses = tonumber(Args['OTloss_'..team_code_ii]) or 0
local PKwins = tonumber(Args['PKwin_'..team_code_ii] or Args['SOwin_'..team_code_ii])
local PKlosses = tonumber(Args['PKloss_'..team_code_ii] or Args['SOloss_'..team_code_ii])
local losses = tonumber(Args['loss_'..team_code_ii]) or 0
local tiebr = tonumber(Args['tiebr_'..team_code_ii]) or 0
Line 182 ⟶ 208:
matches = tonumber(Args['matches_'..team_code_ii]) or matches
end
local percentage_format = Args['percentage_format']
local point_perc = ''
local ppg = ''
-- Escape for zero matches
point_perc = '—'
ppg = '—'
else
if percentage_format == 'hundred 1 decimal' then
point_perc = mm._precision_format(((points) / (matches*win_points)*100), 1)
elseif percentage_format == 'hundred 2 decimals' then
point_perc = mm._precision_format(((points) / (matches*win_points)*100), 2)
else
point_perc = mm._precision_format((points) / (matches*win_points), 3)
percentage_format = 'no'
end
if points ~= (matches*win_points) and percentage_format == 'no' then
-- Drop the leading zero (from the string)
point_perc = string.sub(point_perc,2,string.len(point_perc))
end
ppg = mm._precision_format(points / matches, 2)
end
-- Show for/against
local for_against_style = Args['for_against_style'] or 'goals'
local hide_for_against = false
for_against_style = string.lower(for_against_style)
if for_against_style=='none' then
hide_for_against = true
end
Line 272 ⟶ 310:
local show_OTwin = yesno(Args['showOTwin'] or 'yes')
local show_OTloss = yesno(Args['showOTloss'] or 'yes')
local show_PKwin = yesno(Args['showPKwin'] or Args['showSOwin'] or 'no')
local show_PKloss = yesno(Args['showPKloss'] or Args['showSOloss'] or 'no')
local show_draw = yesno(Args['show_draw'] or 'yes')
local OTloss_after = yesno(Args['OTloss_after_loss'] or 'no')
local PKloss_after = yesno(Args['PKloss_after_loss'] or Args['SOloss_after_loss'] or 'no')
-- Some local vars
Line 287 ⟶ 325:
-- What to rank the teams by
local ranking_style = Args['ranking_style'] or 'pts'
local rank_points, rank_perc, rank_ppg = false, false, false
local win_fw, win_string
local for_style, points_style = '', ''
ranking_style = string.lower(ranking_style)
if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' then
Line 297 ⟶ 336:
-- Based on percentage
rank_perc = true
win_fw=ii_fw
win_string = ''
elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then
-- Based on points per game
rank_ppg = true
win_fw=ii_fw
win_string = ''
elseif ranking_style=='percpts' or ranking_style=='%pts' then
-- Based on percentage and points
rank_perc = true
rank_points = true
points_style = 'font-weight:bold;'
win_fw=ii_fw
win_string = ''
elseif ranking_style=='ppgpts' then
-- Based on ppg and points
rank_ppg = true
rank_points = true
points_style = 'font-weight:bold;'
win_fw=ii_fw
win_string = ''
elseif ranking_style=='none' then
win_fw=ii_fw
win_string = ''
elseif ranking_style=='forpts' then
-- Based on goals for and points
rank_points = true
points_style = 'font-weight:bold;'
for_style = 'font-weight:bold;'
win_fw=ii_fw
win_string = ''
Line 305 ⟶ 370:
-- Based on points
rank_points = true
points_style = 'font-weight:bold;'
win_fw=ii_fw
win_string = ''
Line 324 ⟶ 390:
wins = numorval(Args['win_'..team_code_ii])
OTwins = numorval(Args['OTwin_'..team_code_ii])
PKwins = numorval(Args['PKwin_'..team_code_ii] or Args['SOwin_'..team_code_ii])
draws = numorval(Args['draw_'..team_code_ii])
losses = numorval(Args['loss_'..team_code_ii])
OTlosses = numorval(Args['OTloss_'..team_code_ii])
PKlosses = numorval(Args['PKloss_'..team_code_ii] or Args['SOloss_'..team_code_ii])
end
Line 357 ⟶ 423:
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..tiebr..'\n') -- Tie breaker
end
if not hide_for_against then
table.insert(t,'| style="'..ii_fw..bg_col..for_style..'" |'..
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gcomp..'\n') -- Goal comparison
end
end
if show_bonus_points then
Line 372 ⟶ 440:
-- Add − for negative point totals
if points<0 then
table.insert(t,'| style="
else
table.insert(t,'| style="
end
elseif rank_perc then
table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..point_perc..hth_string..'\n')
end
if rank_ppg then
table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n')
end
if show_GB then
|