Open main menu
Home
Random
Donate
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Sports table/Fencing
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
-- Style for fencing tables local 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 '170' local sort_text = yesno(Args['sortable_table'] or 'no') and 'sortable' or '' local show_played = yesno(Args['show_played'] or 'no') and true or false local show_touches = yesno(Args['show_touches'] or 'yes') local show_bouts = yesno(Args['show_bouts'] or 'no') local show_points = yesno(Args['show_points'] or 'no') -- Custom header local group_head_text = Args['group_header'] or '<abbr title="Group">Grp</abbr>' table.insert(t,'{|class="wikitable '..sort_text..'" style="text-align:center;"\n') -- Open table -- Initialize local tt = {} tt.count = 0 -- Up by one after every call tt.tab_text = t -- Actual text -- Actual headers tt = p_sub.colhead(tt,28,pos_label) -- Position col -- Add group header if full_table and group_col then tt = p_sub.colhead(tt,28,group_head_text) -- Group col end tt = p_sub.colhead(tt,team_width,(Args['team_header'] or 'Team')..VTE_text) -- Team col if show_played then tt = p_sub.colhead(tt,28,'<abbr title="Matches">M</abbr>') -- Matches played col end if full_table then tt = p_sub.colhead(tt,28,'<abbr title="Won">W</abbr>') -- Win col tt = p_sub.colhead(tt,28,'<abbr title="Lost">L</abbr>') -- Loss col end if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if full_table then if show_touches then tt = p_sub.colhead(tt,32,'<abbr title="Touches for">TF</abbr>') -- Touches tt = p_sub.colhead(tt,32,'<abbr title="Touches against">TA</abbr>') -- Touched end if show_bouts then tt = p_sub.colhead(tt,28,'<abbr title="Bouts won">BW</abbr>') -- Bouts won col tt = p_sub.colhead(tt,28,'<abbr title="Bouts lost">BL</abbr>') -- Bouts lost col end end if full_table then tt.count = tt.count+1 table.insert(tt.tab_text,results_header_txt) end return tt end function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) -- Build the inner parts of individual rows -- Sub-module usage local mm = require('Module:Math') local yesno = require('Module:Yesno') -- Get custom/default options for in table local win_points = tonumber(Args['winpoints']) or 2 local loss_points = tonumber(Args['losspoints']) or 0 -- Get some input local wins = tonumber(Args['win_'..team_code_ii]) or 0 local losses = tonumber(Args['loss_'..team_code_ii]) or 0 local tf = tonumber(Args['tf_'..team_code_ii]) or 0 local ta = tonumber(Args['ta_'..team_code_ii]) or 0 local bw = tonumber(Args['bw_'..team_code_ii]) or 0 local bl = tonumber(Args['bl_'..team_code_ii]) or 0 local s_pts = tonumber(Args['adjust_points_'..team_code_ii]) or tonumber(Args['startpoints_'..team_code_ii]) or 0 local hth_local = Args['hth_'..team_code_ii] or nil -- Then calculate some values local matches = wins + losses local points = win_points*wins + loss_points*losses + s_pts -- Some local vars local hth_string local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val) hth_string = tt_return.str hth_id_list = tt_return.list notes_exist = tt_return.notes_exist -- What to rank the teams by local ranking_style = Args['ranking_style'] or 'wins' local win_fw, win_string, pts_fw, pts_string ranking_style = string.lower(ranking_style) if ranking_style=='p' or ranking_style=='pts' or ranking_style=='points' then -- Based on points win_fw=ii_fw win_string = '' pts_fw = 'font-weight: bold;' pts_string = hth_string else -- Based on wins win_fw = 'font-weight: bold;' win_string = hth_string pts_fw=ii_fw pts_string = '' end -- Show maches, touches, bouts, and points local show_played = yesno(Args['show_played'] or 'no') and true or false local show_touches = yesno(Args['show_touches'] or 'yes') local show_bouts = yesno(Args['show_bouts'] or 'no') local show_points = yesno(Args['show_points'] or 'no') -- Now that we are done calculating, show actual input values if tonumber(Args['win_'..team_code_ii] or 0) == nil then wins = Args['win_'..team_code_ii] end if tonumber(Args['loss_'..team_code_ii] or 0) == nil then losses = Args['loss_'..team_code_ii] end local function numorval(s) return s and ((s == '' and 0) or tonumber(s) or s) or 0 end tf = numorval(Args['tf_'..team_code_ii]) ta = numorval(Args['ta_'..team_code_ii]) bw = numorval(Args['bw_'..team_code_ii]) bl = numorval(Args['bl_'..team_code_ii]) -- Row building if show_played then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..matches..'\n') -- Played end if full_table then table.insert(t,'| style="'..win_fw..bg_col..'" |'..wins..win_string..'\n') -- Won table.insert(t,'| style="'..ii_fw..bg_col..'" |'..losses..'\n') -- Lost end if show_points then if points<0 then table.insert(t,'| style="'..pts_fw..bg_col..'" | −'..-points..pts_string..'\n') else table.insert(t,'| style="'..pts_fw..bg_col..'" | '..points..pts_string..'\n') end end if full_table then if show_touches then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..tf..'\n') -- Touches table.insert(t,'| style="'..ii_fw..bg_col..'" |'..ta..'\n') -- Touched end if show_bouts then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..bw..'\n') -- Bouts won table.insert(t,'| style="'..ii_fw..bg_col..'" |'..bl..'\n') -- Bouts lost end end return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list} 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 = { A='Advances to a further round', C='Champion', D='Disqualified', E='Eliminated', H='Host', O='Play-off winner', P='Promoted', Q='Qualified to the phase indicated', R='Relegated', T='Qualified, but not yet to the particular phase indicated'} 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 {code=status_code, called=status_called, letters=status_letters, position=status_position} end return pp
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Error
(
edit
)
Template:Module other
(
edit
)
Template:Module rating
(
edit
)
Template:Ombox
(
edit
)
Template:Sandbox other
(
edit
)
Module:Arguments
(
edit
)
Module:Error
(
edit
)
Module:Message box
(
edit
)
Module:Message box/configuration
(
edit
)
Module:Message box/ombox.css
(
edit
)
Module:Sports table/Fencing/doc
(
edit
)
Module:String
(
edit
)
Module:Yesno
(
edit
)