Jump to content

Module:Sports table/sub

विकिपीडिया से
-- 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
	
	-- 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
		if not Args['hth_'..hth_local] then
			-- Is this a valid multiref of the form AA, BB, CC, ... ?
			local multiref = true
			local hth_table = mw.text.split(hth_local, '%s*,%s*')
			if (#hth_table > 1) then
				-- Make sure they are all valid
				for i=1,#hth_table do
					if not Args['hth_' .. hth_table[i]] then
						multiref=false
					end
				end
			else
				multiref = false
			end
			-- If it's a valid multiref, build the refs
			if multiref then
				hth_string = ''
				for i=1,#hth_table do
					local hth_locali = hth_local[i]
					-- Option 2
					hth_local_num = team_list[hth_locali]
					if hth_id_list[hth_locali] or ((hth_local_num >= ii_start) and (hth_local_num <= ii_end)) then
						-- Option 2a
						hth_id = '"table_hth_'..hth_locali..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_locali..rand_val..'"' -- Add random end for unique ID
						hth_id_list[hth_locali] = hth_id
						-- Call refn template
						hth_string = hth_string .. frame:expandTemplate{ title = 'efn', args = { group='Table_notes',  name=hth_id, Args['hth_'..hth_locali]} }
					end
				end
			else
				-- 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 = frame:expandTemplate{ title = 'efn', args = { group='Table_notes',  name=hth_id, hth_local} }
			end
		else 
			-- Option 2
			hth_local_num = team_list[hth_local]
			if hth_id_list[hth_local] or ((hth_local_num >= ii_start) and (hth_local_num <= ii_end)) then
				-- Option 2a
				hth_id = '"table_hth_'..hth_local..rand_val..'"'
				hth_string = frame:extensionTag{ name = 'ref', args = { group = 'lower-alpha', name = hth_id} }
			else
				-- Option 2b
				hth_id = '"table_hth_'..hth_local..rand_val..'"' -- Add random end for unique ID
				hth_id_list[hth_local] = hth_id
				-- Call refn template
				hth_string = frame:expandTemplate{ title = 'efn', args = { group='Table_notes',  name=hth_id, Args['hth_'..hth_local]} }
			end
		end
	else
		hth_string = '';
	end
	
	return {str=hth_string, list=hth_id_list, notes_exist=notes_exist}
end

return ppp