Saltar para o conteúdo

Módulo:EditAtWikidata: diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Importando código deste módulo de en:Module:EditAtWikidata, especificamente desta revisão
 
m Alterou o nível de proteção de "Módulo:EditAtWikidata": Módulo com impacto significativo em outras páginas ([Editar=Permitir apenas autorrevisores] (indefinidamente) [Mover=Permitir apenas autorrevisores] (indefinidamente))
 
(Há 2 edições intermédias do mesmo utilizador que não estão a ser apresentadas)
(Sem diferenças)

Edição atual tal como às 13h55min de 18 de novembro de 2018

-- Módulo para exibir um ícone com a uma dica de ferramenta como "Editar isso no Wikidata"
-- O ícone será ligado para a entrada do Wikidata para o artigo onde isso será colocado.
-- Essa mensagem é apenas mostrada se um local_parameter não for fornecido
-- ex. quando for chamado de uma predefinição, pode ser codificada por não exibir a mensagem
-- quando um parâmetro local estiver em uso, previnindo o valor da forma do Wikidata de ser procurado.
-- O qid de uma entrada do Wikidata pode opcionalmente ser fornecida para ser testado fora do artigo.
-- Uso:
-- {{#invoke:EditAtWikidata|showMessage|local_parameter}}
-- {{#invoke:EditAtWikidata|showMessage|qid=<ArticleID|local_parameter}}

local p = {}

local i18n =
{
    ["message"] = "Editar isso no Wikidata"
}

p.showMessage = function(frame)
	
	-- Pode ter um parâmetro local fornecido, se for branco, configure-o para nil
	local local_parm =  mw.text.trim(frame.args[1] or "")
	if local_parm and (#local_parm == 0) then local_parm = nil end
	
	-- Se houver um parâmetro local usado, nós não desejamos exibir a mensagem
	if local_parm then return nil end
	
	-- Pode levar um parâmetro nomeado |qid que é o ID do artigo wikidata.
	-- Isso não vai ser normalmente utilizado, exceto para testes fora do artigo.
	local qid = frame.args.qid
	if qid and (#qid == 0) then qid = nil end
	
	-- O módulo pode tirar um parâmetro pid= 
	-- que irá criar um link para que a propriedade na entrada do Wikidata para o artigo
	local propertyID = mw.text.trim(frame.args.pid or "")
	
	-- Obter o objeto que contém todas as reivindicações para o artigo
	local entity = mw.wikibase.getEntityObject(qid)
	if entity then
		local thisQid
		if qid then thisQid = qid else thisQid = entity.id end
		
		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


return p