Module:Sports table/sub: Difference between revisions
Appearance
Content deleted Content added
okay, tested in the sandbox, and appears to be working so you can now say |hth_AAA=BBB,CCC if |hth_BBB and |hth_CCC are defined will use on Template:2013 Chinese Super League table |
fix script error |
||
Line 52: | Line 52: | ||
else |
else |
||
-- Option 2 |
-- Option 2 |
||
hth_local_num = team_list[hth_loc] |
hth_local_num = team_list[hth_loc] or -1 |
||
if hth_id_list[hth_loc] or ((hth_local_num >= ii_start) and (hth_local_num <= ii_end)) then |
if hth_id_list[hth_loc] or ((hth_local_num >= ii_start) and (hth_local_num <= ii_end)) then |
||
-- Option 2a |
-- Option 2a |
Revision as of 12:44, 11 October 2018
![]() | This Lua module is used on approximately 67,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
![]() | Module rating is invalid or not specified. |
![]() | This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
Usage
{{#invoke:Sports table/sub|function_name}}
-- Subfunctions for this module that are called from the style modules
local ppp = {}
function ppp.colhead(ttt,width,text)
-- For individual column headers
local head_string
if width=='auto' then
head_string = '! scope="col" |'..text..'\n'
else
head_string = '! scope="col" width='..width..'|'..text..'\n'
end
ttt.count = ttt.count+1
table.insert(ttt.tab_text,head_string)
return ttt
end
function ppp.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val)
-- For head-to-head notes
local hth_string, hth_local_num, hth_id, k, hth_loc = '', nil, nil, nil, nil
-- Check whether there is a head-to-head note or not, if so get text ready for it the same way as for the notes
if hth_local and full_table then
-- Set global check for notes to true
notes_exist = true
-- Split the hth_local into a table if all the entries are valid
local multiref = 1
local hth_local_table = mw.text.split(hth_local, '%s*,%s*')
if (#hth_local_table > 1) then
for k, hth_loc in ipairs(hth_local_table) do
multiref = multiref * (Args['hth_' .. hth_loc] and 1 or 0)
end
else
multiref = 0
end
-- Split failed, so make a single entry table with hth_local inside
if multiref < 1 then
hth_local_table = { hth_local }
end
for k,hth_loc in ipairs(hth_local_table) do
if not Args['hth_'..hth_loc] then
-- Option 1
-- Now define the identifier for this
hth_id = '"table_hth_'..team_code_ii..rand_val..'"' -- Add random end for unique ID if more tables are present on article (which might otherwise share an ID)
hth_id_list[team_code_ii] = hth_id
-- Call refn template
hth_string = hth_string .. frame:expandTemplate{ title = 'efn', args = { group='Table_notes', name=hth_id, hth_loc} }
else
-- Option 2
hth_local_num = team_list[hth_loc] or -1
if hth_id_list[hth_loc] or ((hth_local_num >= ii_start) and (hth_local_num <= ii_end)) then
-- Option 2a
hth_id = '"table_hth_'..hth_loc..rand_val..'"'
hth_string = hth_string .. frame:extensionTag{ name = 'ref', args = { group = 'lower-alpha', name = hth_id} }
else
-- Option 2b
hth_id = '"table_hth_'..hth_loc..rand_val..'"' -- Add random end for unique ID
hth_id_list[hth_loc] = hth_id
-- Call refn template
hth_string = hth_string .. frame:expandTemplate{ title = 'efn', args = { group='Table_notes', name=hth_id, Args['hth_'..hth_loc]} }
end
end
end
end
return {str=hth_string, list=hth_id_list, notes_exist=notes_exist}
end
return ppp