Module:Airport destination list
[voir] [modifier] [historique] [purger]
Utilisation
modifierCe module est conçu pour une utilisation à travers le modèle Modèle:Aéroport-dest-liste.
Fonctions exportables
modifiertable(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
modifiermw.html.create
– Crée un nouvel objet mw.html, équivalent d'un élément HTML.
Modules lua utilisant ce module
modifierAucun
Modèles appelant directement ce module
modifierExemples
modifierCe 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