Module:Airport destination list
Apparence
[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]mw.html.create
– Crée un nouvel objet mw.html, équivalent d'un élément HTML.
Modules lua utilisant ce module
[modifier le code]Aucun
Modèles appelant directement ce module
[modifier le code]Exemples
[modifier le code]Ce module peut être intégré à un modèle par le code suivant :
{{#invoke:Airport destination list|table}}
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
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