Moduł:Wikidane/format/Pdata1

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania
Template-info.png Dokumentacja modułu [zobacz] [edytuj] [historia] [odśwież]

Dedykowana wtyczka formatująca wartość cechy, w której powinna być podana jedna data wydarzenia.

Przykładowe cechy do obsługi:

Zobacz też[edytuj]

local format = require("Moduł:Wikidane/format/snak").format

local function formatSomeValue(prop, options)
	local i18n = {
		earliestOnly = "nie wcześniej niż %s",
		latestOnly = "nie później niż %s",
		both = "pomiędzy %s a\194\160%s"
	}
	
	local formatQualifiers = require("Moduł:Wikidane/format/qualifiers")
	local earliestDate = formatQualifiers.MINTIME(prop, options, "P1319")
	local latestDate =  formatQualifiers.MAXTIME(prop, options, "P1326")
	if earliestDate and latestDate then
		return string.format(i18n.both, earliestDate, latestDate)
	elseif earliestDate then
		return string.format(i18n.earliestOnly, earliestDate)
	elseif latestDate then
		return string.format(i18n.latestOnly, latestDate)
	end
end

return {
 
scope = "prop",

options = {
	default = {
		separator = ", ",
		lastSeparator = " lub\194\160",
		linkDate = true,
	},
},
 
format = function(prop, options)
	if (prop.type ~= "statement") or not prop.mainsnak then
		return
	end
 
	return prop.mainsnak.snaktype == "somevalue"
		and formatSomeValue(prop, options)
		or format(prop.mainsnak, options)
end,
 
}