Aller au contenu

Module:Tableau Catch (matchs)

Une page de Wikipédia, l'encyclopédie libre.

 Documentation[voir] [modifier] [historique] [purger]

Cette page définit un modèle. Pour les conseils sur l'usage de ce modèle, voyez Modèle:Tableau Catch (matchs)/Documentation.

local p = {}

local tools = require 'Module:Outils'
local builder = require 'Module:TableBuilder'

local preshow = false

local function header(args)
	local header = '\n|-\n! width="4%" |Ordre par numéros'
	if (args.futur and args.futur == 'oui') then
		header = header .. '\n! width="48%" |Match*\n! width="48%" |Stipulation(s)'
	else
		header = header .. '\n! width="46%" |Résultat\n! width="46%" |Stipulation(s)\n! width="4%" |Temps' .. (args.temps or '')
	end
	return header
end

local function line(index, args)
	local line = '\n|-'
	line = line .. '\n!' .. index
	if (args['p' .. index] and args['p' .. index] == 'oui') then
		preshow = true
		line = line .. '<sup>P</sup>'
	end
	line = line .. '\n|' .. args['m' .. index]
	line = line .. '\n|' .. (args['s' .. index] or '')
	if (not args.futur or args.futur ~= 'oui') then
		line = line .. '\n| align="center" |' .. (args['t' .. index] or '')
	end
	return line
end

local function footer(future)
	local footer = '\n|-\n! colspan="4" style="font-weight: normal; border-top: solid 2px #aaa;" |La lettre C placée entre parenthèses désigne la personne ou l’équipe championne en titre.'
	if (future and future == 'oui') then
		if preshow then
			footer = footer .. "<br>'''P''' – indique que le match aura lieu lors du pré-show"
		end
		footer = footer .. "<br><small>'''* La carte peut être changée'''</small>"
	elseif preshow then
		footer = footer .. "<br>'''P''' – indique que le match a eu lieu lors du pré-show"
	end
	return footer
end

function p.build(frame)
	local args = tools.extractArgs(frame)
	local tab = builder.new('{| class="wikitable" style="background-color: #fff;"')
	
	tab.insert(header(args))

	local index = 1
	while (args['m' .. index]) do
		tab.insert(line(index, args))
		index = index + 1
	end
	
	if (not args.cacher or args.cacher ~= 'oui') then
		tab.insert(footer(args.futur))
	end
	
	return tab.concat() .. '\n|}'
end

return p