For faster navigation, this Iframe is preloading the Wikiwand page for Module:Classement.

Module:Classement

 Documentation[voir] [modifier] [historique] [purger]

Utilisation

Fonction utilisable depuis un autre module Lua :

  • fonction formattedlist(item, params) – prend pour argument l'identifiant Wikidata d'un monument (ou la table complète de son élément Wikidata déjà chargée) et liste les protections patrimoniales dont il fait l'objet. params désigne les paramètres habituels des fonction Wikidata voir Module:Wikidata/Documentation).
Le comportement de cette fonction est proche de celui de Module:Wikidata.formatStatements{property ="P1425", showdate = true, precision = "year", showqualifiers = "P518"} mais des mises en forme supplémentaires sont effectuées pour éviter les répétitions et rendre le texte plus naturel.

Voir les statistiques d'utilisation du module sur l'outil wstat.

local p = {}
local formattingData = require "Module:Classement/Données" --libellés spéciaux et logos
local wikidata = require "Module:Wikidata"
local linguistic = require "Module:Linguistique"

local function groupStatements(statements) -- regroupe les statements avec même mainid 
	local newlist = {}
	for i, j in pairs(statements) do -- si cet id est déjà utilisé par un autre élément, à déplacer vers un module + général ?
		local mainid = wikidata.getMainId(j)
		if not mainid then
			-- pas d'id, c'est une "special value"
		elseif not newlist[mainid] then 
			newlist[mainid] = {j}
		else
			table.insert(newlist[mainid], j)
		end
	end
	return newlist
end

local function formatMainStr(id) --  affiche le nom du statut du protection avec éventuellement un logo
	local str, logo
	if formattingData[id] then
		str = formattingData[id][1]
		logo = formattingData[id][2]
	else
		str = wikidata.formatEntity(id)
	end
	if logo then
		str = '[[File:' .. logo .. '|x18px|alt=|link=]] ' .. str
	end
	return str
end

local function formatStatus(id, data)
	local mainstr = formatMainStr(id) --
	local details = {} -- informations complémentaires stockées dans les qualificatifs
	for i, j in pairs(data) do
		local pdate = wikidata.getFormattedQualifiers(j, {'P580'}, {precision = 'year'}) -- date de classement
		local part = wikidata.getFormattedQualifiers(j, {'P518'}, {link = '-'}) -- partie protégée
		local str = linguistic.conj({part, pdate}, ' en ')
		table.insert(details, str)
	end
	details = linguistic.conj(details, 'comma')
	details = linguistic.inparentheses(details)
	if details then
		return mainstr .. ' <small>' ..  details .. '</small>'
	end
	return mainstr
end

function p.formattedList(item, params)
	-- créé une liste des status patrimoniaux de l'élement
	params = params or { entity = item }
	params.excludespecial = true
	params.property = 'P1435'
	local claims = wikidata.getClaims(params)
	if not claims then
		return nil
	end
	local statuses = groupStatements(claims)
	local stringtable = {} -- liste des chaînes à retourner

	for id, data in pairs(statuses) do
		table.insert(stringtable, formatStatus(id, data))
	end

	local val = linguistic.conj(stringtable, "new line") .. wikidata.addTrackingCat('P1435')
	return wikidata.addLinkBack(val, item, 'P1435')
end

return p
{{bottomLinkPreText}} {{bottomLinkText}}
Module:Classement
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.