Module:Sports table/WDL explained

-- Style for football tableslocal pp =

function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) -- Load relevant modules local yesno = require('Module:Yesno') -- Create table header -- Pre stuff local team_width = Args['teamwidth'] or '190' local sort_text = yesno(Args['sortable_table'] or 'no') and ' sortable' or local show_played = not yesno(Args['hide_played'] or 'no') local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') table.insert(t,'

style="font-weight: bold;'..bg_col..'"
-'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,''..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,''..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,''..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,''..ppg..hth_string..'\n') end end if show_played then table.insert(t,''..matches_text..'\n') -- Played end if full_table then -- Use actual values if wins, draws, and losses are not numeric if (wins

0 and draws

0 and losses

0) then local function numorval(s) return s and ((s

and 0) or tonumber(s) or s) or 0 end wins = numorval(Args['win_'..team_code_ii]) draws = numorval(Args['draw_'..team_code_ii]) losses = numorval(Args['loss_'..team_code_ii]) end if show_win then table.insert(t,'

'..num_align(wins,digits)..win_string..'\n') -- Won end if loss_first then if show_loss then table.insert(t,''..num_align(losses,digits)..'\n') -- Lost end if show_draw then table.insert(t,''..num_align(draws,digits)..'\n') -- Drawn end else if show_draw then table.insert(t,''..num_align(draws,digits)..'\n') -- Drawn end if show_loss then table.insert(t,''..num_align(losses,digits)..'\n') -- Lost end end if rounds_won then if tonumber(Args['rw_' .. team_code_ii] or 0)

nil then rw = Args['rw_' .. team_code_ii] or end table.insert(t,'

'..rw..'\n') -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then table.insert(t,''..num_align(gfor,digits)..'\n') -- GF table.insert(t,''..num_align(gaig,digits)..'\n') -- GA end if gcomp then table.insert(t,''..gcomp..'\n') -- Goal comparison end end end if show_away_goals then table.insert(t,''..(Args['away_goals_'..team_code_ii] or )..'\n') end if show_bonus_points then if s_pts < 0 then table.insert(t,'-'..num_align(-s_pts,digits)..'\n') else table.insert(t,''..num_align(s_pts,digits)..'\n') end end if not pts_perc_first then if rank_points then -- Add - for negative point totals if points<0 then table.insert(t,'-'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,''..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,''..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,''..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,''..ppg..hth_string..'\n') end end if show_GB then table.insert(t,''..GB_text..'\n') -- GB end return end

function pp.status(Args) -- Declare status options -- ------------------------------------------------------------ -- NOTE: If you add to status_code, also add to status_called and status_letters

-- Or functionality will be compromised -- ------------------------------------------------------------ local status_code, status_called =, status_code = local status_letters = (Args['status_order'] or ) .. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -- Status position (before or after read and default) local stat_pos_val = string.lower(Args['status_pos'] or ) local status_position = 'after' -- Default location if stat_pos_val

'before' then status_position = 'before' elseif stat_pos_val

'after' then status_position = 'after' end -- Read in custom status options for l in mw.text.gsplit(status_letters, ) do status_called[l] = false status_code[l] = status_code[l] or '?' status_letters = mw.ustring.gsub(status_letters, '(' .. l ..'.-)' .. l, '%1')

if Args['status_text_' .. l] then status_code[l] = Args['status_text_' .. l] end end return end

return pp