Module:Infobox/Monument

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher

La documentation pour ce module peut être créée à Module:Infobox/Monument/doc

local building = require "Module:Infobox/Fonctions/Bâtiment"
local general = require "Module:Infobox/Fonctions"
local localdata = require "Module:Infobox/Localdata"
local wd = require "Module:Interface Wikidata".fromLua

local formats = {
	--{valeur wikidata, icône, couleur titre, couleur sous-titre, couleur texte)
        {'Q751876', 'entete chateau','#00507f', '#ffffff', '#000000', 'defaut'}, --château
}

local function wdformat() --retourne une table contenant la couleur principale de l'infobox et l'icône de titre
	local wtypes = wd.stringTable{ -- récupère les Qid des professions
		entity = localdata.item,
		property = 'P31',
		displayformat = 'raw',
		excludespecial = true
	}
	local defaultformat = {'Q', '', '#E1E1E1', '#E1E1E1', '#000000', 'defaut'}
	if not wtypes or (#wtypes > 1) then -- si plusieurs occupations, on ne sait pas laquelle choisir
		return defaultformat 
	end
	wtypes = wd.addVals(wtypes, {property = 'P279'}, 2) -- nombre d'étages de sous-classes à remonter
	for i, j in pairs(wtypes) do
		for k, l in pairs(formats) do
			if l[1] == j then
				return l
			end
		end
	end
	return defaultformat
end
local function setcharte()
	if localdata['charte'] then
		charte = localdata['charte']
		for i, j in pairs(formats) do
			if j[2] == charte then
				return j
			end
		end
	end
	return wdformat()
end

local displayfrmat = setcharte()

return 
	{
	maincolor = displayfrmat[3],
	secondcolor = displayfrmat[4],
	thirdcolor = displayfrmat[5],
	parts =
    	{
			general.title(displayfrmat[2], nil, 'nom local', nil),
			general.logo(),
			building.mainimage(),
			{type = 'table', title = 'Présentation', rows = {
				{type = 'row', label = 'Noms précédents', value = 'noms précédents'},
				{type = 'row', label = 'Surnom(s)', value = 'surnom'},
				{type = 'row', label = 'Nom complet', value = 'nom complet'},
				{type = 'row', label = 'Culte', value = 'culte'},
				{type = 'row', label = 'Type', value = 'type', property = 'P31'},
				{type = 'row', label = 'Rattachement', value = 'rattachement'},
				building.archistyle(),
				building.creator(),
				building.material(),
				building.construction(),
				building.opening(),
				building.renovation(),
				building.demolition(),
				{type = 'row', label = 'Commanditaire', value = 'commanditaire', property = 'P88'},
				{type = 'row', label = 'Hauteur', value = 'hauteur', wikidata = {property = 'P2048', targetunit = 'm'}},
				{type = 'row', label = 'Largeur', value = 'largeur', wikidata = {property = 'P2049', targetunit = 'm'}},
				{type = 'row', label = 'Longueur', value = 'longueur', wikidata = {property = 'P2043', targetunit = 'm'}},
				{type = 'row', label = 'Envergure', value = 'envergure', wikidata = {property = 'P2050', targetunit = 'm'}},
				{type = 'row', label = 'Destination initiale', value = 'destination initiale'},
				{type = 'row', label = 'Destination actuelle', value = 'destination actuelle'},
				building.owner(),
				building.operator(),
				building.protection(),
				building.website(),
				}
			},
			{type = 'table', title = 'Géographie', rows = {	
				building.country(),
				building.historicalregion(),
				building.adminlocation(),
				}
			},
			{type = 'table', title = 'Accès et transport', rows = {
				building.transport(),
				},
			},
			{type = 'table', title = 'Localisation', rows = {
				building.coordinates(),
				}
			},
			general.geoloc({marker='monument', default_zoom=16}),
	}
}