« Module:Infobox/Configs/Geographie » : différence entre les versions
De Nefald
Autres actions
m icon : map |
map |
||
| (6 versions intermédiaires par un autre utilisateur non affichées) | |||
| Ligne 4 : | Ligne 4 : | ||
end, | end, | ||
-- Icône avec type et nom | -- Icône avec type et nom | ||
icone = { | icone = { | ||
type = 'fas', -- ou 'fab', 'far', 'fal', 'fad' | type = 'fas', -- ou 'fab', 'far', 'fal', 'fad' | ||
nom = ' | nom = 'globe-stand' | ||
}, | }, | ||
image = function(args) | image = function(args) | ||
if args.image then | if args.image then | ||
return | return { | ||
nom = args.image, | |||
taille = args.tailleimage or "300px", | |||
legende = args.legende or args.nom or '{{PAGENAME}}' | |||
} | |||
end | end | ||
return nil | return nil | ||
end, | end, | ||
typeField = { | |||
required = false, -- Optionnel pour les géographies | |||
allowedValues = { | |||
['supercontinent'] = { | |||
display = 'Supercontinent', | |||
category = 'Supercontinent' | |||
}, | |||
['continent'] = { | |||
display = 'Continent', | |||
category = 'Continent' | |||
}, | |||
["cours d'eau"] = { | |||
display = "Cours d'eau", | |||
category = "Cours d'eau" | |||
}, | |||
['océan'] = { | |||
display = 'Mers & Océans', | |||
category = 'Mers & Océans' | |||
}, | |||
['mer'] = { | |||
display = 'Mers & Océans', | |||
category = 'Mers & Océans' | |||
}, | |||
['monde'] = { | |||
display = 'Monde', | |||
category = 'Monde' | |||
}, | |||
['région'] = { | |||
display = 'Région', | |||
category = 'Région' | |||
}, | |||
}, | |||
errorMessage = "Type de Géographie non reconnu. Types autorisés : Monde, Supercontinent, Continent, Région, Océan, Mer, Cours d'eau" | |||
}, | |||
sections = { | sections = { | ||
{ | { | ||
| Ligne 41 : | Ligne 79 : | ||
{ cle = 'monde', label = 'Monde' }, | { cle = 'monde', label = 'Monde' }, | ||
{ cle = 'localisation', label = 'Localisation' }, | { cle = 'localisation', label = 'Localisation' }, | ||
-- Les coordonnées seront affichées automatiquement ici si renseignées | |||
{ cle = 'x', label = 'X' }, -- Masqué si coordonnées complètes | |||
{ cle = 'y', label = 'Y' }, -- Masqué si coordonnées complètes | |||
{ cle = 'z', label = 'Z' }, -- Masqué si coordonnées complètes | |||
{ cle = 'worldname', label = 'Monde technique' }, -- Masqué si coordonnées complètes | |||
{ cle = 'mapname', label = 'Type de carte' }, -- Optionnel, masqué | |||
{ cle = 'zoom', label = 'Zoom' }, -- Optionnel, masqué | |||
} | } | ||
} | } | ||
} | }, | ||
-- Catégorisation automatique selon le type | |||
categories = function(args, config, frame) | |||
local cats = {} | |||
local title = mw.title.getCurrentTitle() | |||
-- On ajoute les catégories uniquement dans le namespace principal (0) | |||
if title.namespace ~= 0 then | |||
return cats | |||
end | |||
-- Catégorie selon le type | |||
if args.type and config.typeField and config.typeField.allowedValues then | |||
local cleanType = mw.text.trim(mw.ustring.lower(args.type)) | |||
local typeDef = config.typeField.allowedValues[cleanType] | |||
if typeDef and typeDef.category then | |||
table.insert(cats, typeDef.category) | |||
end | |||
end | |||
return cats | |||
end | |||
} | } | ||
return config | return config | ||