Modul:Modifica su Wikidata

Izvor: Wikipedija
Prijeđi na navigaciju Prijeđi na pretragu

Dokumentaciju za ovaj modul možete napraviti na stranici Modul:Modifica su Wikidata/dok

-- Modulo per mostrare un'icona col suggerimento "Modifica su Wikidata".
-- L'icona rimanderà all'elemento di Wikidata dove si trova il dato da modificare.
-- Il messaggio viene mostrato solo quando un parametro locale non è compilato:
-- vale a dire che quando il modulo viene richiamato da un template, può essere
-- impostato in modo da non mostrare il messaggio quando un parametro locale
-- è in uso e impedisce al valore su Wikidata di essere prelevato.
-- Il qid di un elemento di Wikidata può essere specificato a mano per test in sandbox.
-- Utilizzo:
-- {{#invoke:Modifica su Wikidata|showMessage|<parametro locale>}}
-- {{#invoke:Modifica su Wikidata|showMessage|qid=<ID elemento>|<parametro locale>}}
-- {{#invoke:Modifica su Wikidata|showMessage|pid=<ID proprietà>|<parametro locale>}}

local p = {}

local i18n =
{
    ["message"] = "Modifica su Wikidata"
}

-- Funzione per l'utilizzo da altro modulo
p._showMessage = function(args)
	
	-- Restituisce nil quando un parametro locale è specificato ma non compilato.
	local local_parm =  mw.text.trim(args[1] or "")
	if local_parm and (#local_parm == 0) then local_parm = nil end
	
	-- L'icona non viene mostrata quando un parametro locale è in uso.
	if local_parm then return nil end
	
	-- Parametro qid= per indicare l'ID dell'elemento su Wikidata.
	-- Di norma non viene usato, se non per test al di fuori della voce.
	local qid = args.qid
	if qid and (#qid == 0) then qid = nil end
	
	-- Parametro pid= per creare un link diretto alla proprietà dell'elemento su Wikidata.
	local propertyID = mw.text.trim(args.pid or "")
	
	-- Ottiene l'oggetto contenente tutte le informazioni per la voce.
	local thisQid = qid or mw.wikibase.getEntityIdForCurrentPage()
	if thisQid then
		local icon
		if propertyID then
			icon = " [[File:Blue pencil.svg |frameless |text-top |10px |alt=" .. i18n.message .. " |link=https://www.wikidata.org/wiki/" .. thisQid .. "#" .. propertyID .. "|" .. i18n.message .. "]]"
		else
			icon = " [[File:Blue pencil.svg |frameless |text-top |10px |alt=" .. i18n.message .. " |link=https://www.wikidata.org/wiki/" .. thisQid .. "|" .. i18n.message .. "]]"
		end
		
		return icon
	end

end

-- Funzione per il template Modifica su Wikidata
p.showMessage = function(frame)
	return p._showMessage(frame.args)
end

return p