Module:Infobox/Idéologie
Apparence
[voir] [modifier] [historique] [purger]
Cette page définit un module d'infobox. Pour les conseils sur l'usage de ce module, voyez Modèle:Infobox Idéologie.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis la page Modèle:Documentation module d'infobox. 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 wikidata = require "Module:Wikidata"
local jeu = require "Module:Infobox/Fonctions"
local geo = require "Module:Infobox/Fonctions/Géolocalisation"
local localdata = require "Module:Infobox/Localdata"
local p = {}
-- Fonction pour vérifier et traiter les valeurs qui pourraient être des tables
local function processValue(value)
-- Si la valeur est une table, la convertir en chaîne
if type(value) == "table" then
value = table.concat(value, ", ") -- Joindre les éléments de la table en une chaîne, avec une virgule et un espace
end
-- Appliquer trim uniquement si la valeur est une chaîne
if type(value) == "string" then
value = mw.text.trim(value) -- Appliquer trim sur la chaîne
end
return value
end
-- Fonction pour afficher l'image principale
function p.image()
local image = localdata["image"]
if image then
return {
type = "image",
value = image,
style = { ["width"] = "200px", ["height"] = "auto" }
}
end
end
-- Fonction pour afficher le logo
function p.logo()
local logo = localdata["logo"]
if logo then
return {
type = "image",
value = logo,
style = { ["width"] = "150px", ["height"] = "auto" }
}
end
end
-- Fonction permettant l'affichage de la partie succession
local function buildsuccession()
localdata["précédent"] = localdata["précédent"] or wikidata.formatStatements {
property = "P179",
showonlyqualifier = "P155"
}
localdata["suivant"] = localdata["suivant"] or wikidata.formatStatements {
property = "P179",
showonlyqualifier = "P156"
}
localdata["idéologie"] = localdata["idéologie"] or wikidata.formatStatements {
property = "P179"
}
-- Fonction pour définir le titre de la partie succession
local function titre(a, b, c)
if c and (a or b) then
return "<i>" .. c .. "</i>"
end
end
-- Fonction pour afficher les articles de la partie succession
local function succession(a, b, c, d)
local succession = {}
if a and b then
succession["before"] = "<i>" .. a .. "</i> ([[" .. b .. " idéologie|" .. b .. "]])"
elseif a then
succession["before"] = "<i>" .. a .. "</i>"
end
if c and d then
succession["after"] = "<i>" .. c .. "</i> ([[" .. d .. " idéologie|" .. d .. "]])"
elseif c then
succession["after"] = "<i>" .. c .. "</i>"
end
return succession
end
-- Si "précédent" ou "suivant" sont définis, afficher la succession
if localdata["précédent"] or localdata["suivant"] then
return {
{
type = "table",
separator = true,
mixeds = {
{ type = "mixed1col", value = titre(localdata["précédent"], localdata["suivant"], localdata["idéologie"]) }
}
},
{
type = "table",
separator = true,
mixeds = {
{
type = "succession",
color = "transparent",
value = succession(
localdata["précédent"],
localdata["date précédent"],
localdata["suivant"],
localdata["date suivant"]
)
}
}
}
}
end
end
-- Fonction pour afficher le slogan
function p.slogan()
return {
type = "text",
style = { ["font-weight"] = "normal", ["font-style"] = "italic" },
value = function()
local slogan = localdata["slogan"]
if slogan then
return "« " .. slogan .. " »"
end
end
}
end
-- Fonction pour définir la couleur principale
function p.maincolor()
local user_input = localdata["couleur boîte"]
if user_input then
-- Ajout du "#" si nécessaire
if user_input:sub(1, 1) ~= "#" then
return "#" .. user_input
else
return user_input
end
else
return "#4A6AA5" -- Couleur par défaut
end
end
-- Retour du module principal
return {
maincolor = p.maincolor(),
parts = {
jeu.title({}, "white"),
p.logo(), -- Affichage du logo
p.image(), -- Affichage de l'image
p.slogan(),
{
type = 'table',
title = 'Histoire',
mixeds = {
{ type = 'row', label = 'Fondation', value = processValue({'création', 'fondation', 'date_de_fondation'}), wikidata = {property = {'P571', 'P740'}, showqualifiers = {'P518', 'P1810', 'P4649', 'P5168', 'P8338'}, conjtype = 'new line'}, showsource = true },
{ type = 'row', label = 'Dissolution', value = processValue('dissolution'), wikidata = {property = 'P576'}, showsource = true },
{ type = 'row', label = 'Origine', value = processValue({'origine'}) },
{ type = 'row', label = 'Prédécesseur', plurallabel = 'Prédécesseurs', value = processValue({'remplace', 'a remplacé', 'prédécesseur'}), wikidata = {property = {'P1365', 'P155', 'P1398'}, removedupes = true}, showsource = true },
{ type = 'row', label = 'Successeur', plurallabel = 'Successeurs', value = processValue({'remplacé par', 'successeur'}), wikidata = {property = {'P1366', 'P156', 'P167'}, removedupes = true}, showsource = true },
{ type = 'row', label = 'Scission de', plurallabel = 'Scissions de', value = processValue({'scission de'}), showsource = true },
{ type = 'row', label = 'Fusion de', plurallabel = 'Fusions de', value = processValue({'fusion de'}), showsource = true },
{ type = 'row', label = 'Scission dans', plurallabel = 'Scissions dans', value = processValue({'scission dans'}), showsource = true },
{ type = 'row', label = 'Fusionné dans', plurallabel = 'Fusionnés dans', value = processValue({'fusionné dans'}), showsource = true }
}
},
{
type = 'table',
title = 'Principes',
mixeds = {
{ type = 'row', label = 'Sigle', plurallabel = 'Sigles', value = processValue({'sigle', 'acronyme'}), wikidata = {property = {'P1813'}, showlang = true, isinlang = {'fr', 'mul', 'en'}}, showsource = true },
{ type = 'row', label = 'Surnom', plurallabel = 'Surnoms', value = processValue({'surnom'}), wikidata = {property = {'P1449'}, showlang = true, isinlang = {'fr', 'en'}}, showsource = true },
{ type = 'row', label = 'Code', plurallabel = 'Codes', value = processValue('code'), wikidata = {property = 'P4550', atdate = "today"}, showsource = true },
{ type = 'row', label = 'Structure', plurallabel = 'Structures', value = processValue('structure') },
{ type = 'row', label = '[[Objet social]]', plurallabel = '[[Objet social|Objets sociaux]]', value = processValue({'objet social', 'objets sociaux'}), wikidata = {property = 'P6346'}, showsource = true },
{ type = 'row', label = 'Domaine d\'activité', plurallabel = 'Domaines d\'activité', value = processValue({'discipline', 'disciplines', 'domaine', 'domaines', 'secteur'}), wikidata = {property = 'P101'}, showsource = true },
{ type = 'row', label = '[[Mouvement culturel|Mouvement]]', plurallabel = '[[Mouvement culturel|Mouvements]]', value = processValue({'mouvement'}), wikidata = {property = 'P135'}, showsource = true },
{ type = 'row', label = 'Financement', plurallabel = 'Financements', value = processValue('financement'), wikidata = {property = 'P2770', speciallabels = {Q193219 = '[[subvention]]s', Q1124860 = '[[dons]]'}, conjtype = "and"}, showsource = true },
{ type = 'row', label = 'Objectif', plurallabel = 'Objectifs', value = processValue({'but', 'objectif', 'objectifs'}), wikidata = {property = 'P3712'}, showsource = true },
{ type = 'row', label = 'Méthode', plurallabel = 'Méthodes', value = processValue({'méthode', 'methode'}) },
{ type = 'row', label = 'Filiale', plurallabel = 'Filiales', value = processValue('filiale'), wikidata = {property = 'P355'}, showsource = true },
{ type = 'row', label = 'Branche', plurallabel = 'Branches', value = processValue('branche'), wikidata = {property = 'P199'}, showsource = true },
{ type = 'row', label = 'Partenaire', plurallabel = 'Partenaires', value = processValue('partenaire') },
{ type = 'row', label = 'Dépend de', plurallabel = 'Dépendent de', value = processValue('dépend de') },
{ type = 'row', label = 'Affiliation', plurallabel = 'Affiliations', value = processValue({'affiliation', 'affiliation_europeenne', 'affiliation_internationale', 'rattachement'}), wikidata = {property = {'P1416'}, showdate = true, defaultlinkquery = {property = {'P749', 'P127', 'P112'}}, qualifdefaultlinkquery = 'defaultquery', showqualifiers = {'P2868', 'P1416', 'P3831'}}, showsource = true },
{ type = 'row', label = 'Zone d\'activité', plurallabel = 'Zones d\'activité', value = processValue({'couverture', 'région', 'zone opérationnelle', 'zone d\'influence'}), wikidata = {property = 'P2541', showqualifiers = 'P1001', speciallabels = {Q13780930 = '[[Monde (univers)|Monde entier]]', Q46 = '[[Europe]]'}}, showsource = true },
{ type = 'row', label = 'Type', plurallabel = 'Types', value = processValue({'type', 'association_type'}), wikidata = {property = 'P31', removedupes = true, showdate = true, showqualifiers = {'P642', 'P459', 'P1013', 'P5102'}, qualifconjtype = 'comma', defaultlink = '-', defaultlinkquery = 'defaultquery', excludevalues = {'Q43229', 'Q41176', 'Q45400320'}} }
}
},
{
type = 'table',
title = 'Organisations',
mixeds = {
{ type = 'mixed', label = 'Organisation régionale', plurallabel = 'Organisations régionales', value = processValue('organisations régionales') },
{ type = 'mixed', label = 'Organisation internationale', plurallabel = 'Organisations internationales', value = processValue('organisations internationales') }
}
},
{
type = 'table',
title = 'Localisation',
mixeds = {
{ type = 'mixed', label = 'Pays', plurallabel = 'Pays', value = processValue('pays'), property = 'P17' },
{ type = 'mixed', label = 'Localisation', plurallabel = 'Localisations', value = processValue('localisation'), wikidata = {property = 'P131'}, blockers = {'ville'} },
{ type = 'mixed', label = 'Ville', plurallabel = 'Villes', value = processValue('ville') }
}
},
jeu.geoloc({ default_zoom = 13, maptype = localdata["type carte"], width = localdata["taille carte"] }),
geo.geoloc({ marker = '' })
}
}