Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Module:Infobox/Configs/Localite » : différence entre les versions

De Nefald
Hiob (discussion | contributions)
Aucun résumé des modifications
Aucun résumé des modifications
 
(10 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
local config = {
local config = {
     titre = function(args)  
     titre = function(args)
         return args.nom or '{{PAGENAME}}'  
         return args.nom or '{{PAGENAME}}'
     end,
     end,


     image = function(args)  
    -- Icône de l’infobox
    icone = {
        type = 'fas',
        nom = 'map-location-dot'
    },
 
    -- Gestion de l’image
     image = function(args)
         if args.image then
         if args.image then
             return {
             return {
Ligne 15 : Ligne 22 :
     end,
     end,


    -- Configuration du champ "type"
    typeField = {
        required = false,
        allowedValues = {
            ['ville'] = { display = 'Ville', category = 'Ville' },
            ['village'] = { display = 'Village', category = 'Village' },
            ['cité'] = { display = 'Cité', category = 'Cité' },
            ['capitale'] = { display = 'Capitale', category = 'Capitale' },
            ['port'] = { display = 'Port', category = 'Port' },
            ['forteresse'] = { display = 'Forteresse', category = 'Forteresse' },
            ['château'] = { display = 'Château', category = 'Château' },
            ['ruine'] = { display = 'Ruine', category = 'Ruine' },
            ['avant-poste'] = { display = 'Avant-poste', category = 'Avant-poste' },
            ['campement'] = { display = 'Campement', category = 'Campement' },
            ['métropole'] = { display = 'Métropole', category = 'Métropole' },
            ['sanctuaire'] = { display = 'Sanctuaire', category = 'Sanctuaire' },
            ['cité-état'] = { display = 'Cité-État', category = 'Cité-État' }
        },
        errorMessage = 'Type de localité non reconnu. Types autorisés : ville, village, cité, capitale, port, forteresse, château, ruine, avant-poste, campement, métropole, sanctuaire'
    },
    -- Sections de l’infobox
     sections = {
     sections = {
         {
         {
Ligne 25 : Ligne 54 :
                 { cle = 'symbole', label = 'Symbole' },
                 { cle = 'symbole', label = 'Symbole' },
                 { cle = 'statut', label = 'Statut' },
                 { cle = 'statut', label = 'Statut' },
                 { cle = 'x', label = 'Coordonnée X' }, -- Ces champs seront remplacés automatiquement
                 { cle = 'x', label = 'Coordonnée X' },
                 { cle = 'y', label = 'Coordonnée Y' }, -- par l'affichage "Coordonnées" groupé
                 { cle = 'y', label = 'Coordonnée Y' },
                 { cle = 'z', label = 'Coordonnée Z' }
                 { cle = 'z', label = 'Coordonnée Z' }
             }
             }
Ligne 64 : Ligne 93 :
             }
             }
         }
         }
     }
     },
 
    -- 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
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.