Module:Collection

De Binding of Isaac: Rebirth Wiki
Aller à : navigation, rechercher

local p = {}
local tableau = require( 'Module:Tableau' )

function p.grille( f )
	local args = tableau.toutRogner( tableau.obtenirArgs( f ) )
	local grille = '<table class="wikitable collection">'
	
	for i=1, args.ligneMax, 1 do
		grille = grille .. '<tr' .. ( tonumber( args.ligne ) == i and ' class="collection-line"' or '' ) .. '>'
		for j=1, args.colonneMax, 1 do
			grille = grille .. '<td' .. ( tonumber( args.colonne ) == j and tonumber( args.grille ) == i and ' class="collection-select"' or tonumber( args.colonne ) == j and ' class="collection-line"' or '' ) .. '></td>'
		end
		grille = grille .. '</tr>'
	end
	
	return grille .. '</table>'
end


function p.page( f )
	local args = tableau.toutRogner( tableau.obtenirArgs( f ) )
	local _t = '<table class="wikitable">'
	
	local i = 2
	local objets = { args[1] }
	repeat
		objets[#objets+1] = args[i]
		i = i + 1
	until not args[i]
	
	local objet
	for p=1, math.ceil( #objets / args.lignes / args.colonnes ), 1 do
		_t = _t .. '<tr><th colspan="' .. args.colonnes .. '">\n=== Page ' .. p .. '===\n</th></tr>'
		for l=1, args.lignes, 1 do
			objet = (p-1)*args.lignes*args.colonnes+(l-1)*args.colonnes+1
			if objets[objet] then
				_t = _t .. '<tr>'
				for c=1, args.colonnes, 1 do
					objet = (p-1)*args.lignes*args.colonnes+(l-1)*args.colonnes+c
					if objets[objet] then
						-- Si trop coûteux : '<td>[[Image:' .. ( mw.text.split( objets[objet], '/', 1 )[1] or objets[objet] .. 'Icon.png' ) .. '|40x40px|lien=' .. objets[objet] .. ']]</td>'
						_t = _t .. '<td>' .. mw.getCurrentFrame():expandTemplate{ title = 'objet', args = { objets[objet], 'image' } } .. '</td>'
					end
				end
				_t = _t .. '</tr>'
			end
		end
	end
	
	return _t .. '</table>'
end

return p