Aller au contenu

Module:Airport destination list

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

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

Utilisation

[modifier le code]

Ce module est conçu pour une utilisation à travers le modèle Modèle:Aéroport-dest-liste.

Fonctions exportables

[modifier le code]
  • table(frame) – Crée le corps d'un tableau associant à un aéroport les compagnies qui le desservent et les destinations offertes par ces compagnies. Les compagnies et les destinations ne sont pas déterminées automatiquement par le modèle et doivent être passés en paramètre.

Modules externes et autres éléments dont ce module a besoin pour fonctionner

[modifier le code]

Modules lua utilisant ce module

[modifier le code]

Aucun

Modèles appelant directement ce module

[modifier le code]

Ce module peut être intégré à un modèle par le code suivant : {{#invoke:Airport destination list|table}}

local p = {}

local function isnotempty(s)
	return s and s:match( '^%s*(.-)%s*$' ) ~= ''
end
 
function p.table(frame)
	local args = (frame.args[1] ~= nil) and frame.args or frame:getParent().args
	local cols = isnotempty(args['3ecoltitre']) and 3 or 2

	-- compute the maximum cell index
	local cellcount = 0
	for k, v in pairs( args ) do
		if type( k ) == 'number' and isnotempty(v) then
			cellcount = math.max(cellcount, k)
		end
	end
	-- compute the number of rows
	local rows = math.ceil(cellcount / cols)

	-- create the root table
	local root = mw.html.create('table')
	root
		:addClass('wikitable')
		:addClass('sortable')
		:addClass('alternance')
		:addClass('collapsible')
	--	:addClass('collapsed')
		:css('font-size', '95%')

	-- add the header row
	local row = root:tag('tr')
	local cell= row:tag('th')
	cell:wikitext('Compagnies')
	cell= row:tag('th')
	cell:addClass('unsortable')
	cell:wikitext('Destinations')
	if (isnotempty(args['3ecoltitre'])) then
		cell= row:tag('th')
		cell:css('width','10%')
		cell:wikitext(args['3ecoltitre'])
	end
	-- loop over rows
	for j=1,rows do
		row = root:tag('tr')
		for i=1,cols do
			cell= row:tag('td')
			if (i > 2) then cell:css('text-align','center') end
			cell:wikitext(args[cols*(j - 1) + i] or '')
		end
	end
	-- return the root table
	return tostring(root)
end

return p