Modul:Iboks
Utseende
Moduldokumentasjon
Formål
Verktøykasse for infobokser.
Metoder
verdiRad - kalles fra en mal ved
- {{#invoke:Iboks|verdiRad|parametre}}
| parameter | gitt argument | funksjon |
|---|---|---|
| tittel | tekst | Beskrivelsen av innholdet av raden |
| verdi | vilkårlig verdi | Verdi som skal presenteres i infoboksen. Verdien vil hvis det er oppgitt som et tall formateres med formatnum |
| uten | Denne raden skal ikke presenteres i infoboksen | |
| Denne raden skal eventuelt hente verdi fra Wikidata | ||
| enhet | tekst | Enheten som verdien er oppgitt i. Argumentet brukes bare hvis verdi er oppgitt. |
| ref | tekst | Referanse eller referanser for verdien som er gitt. Argumentet brukes bare hvis verdi er oppgitt. |
| pid | Wikidata identifikator | Identifikator på en egenskap i Wikidata som verdi, enhet og referanser skal hentes fra |
| qid | Wikidata identifikator | Identifikator på et element i Wikidata som egenskapen pid skal hentes fra. qid kan utelates og data vil i så fall hentes fra Wikidata-elementet til aktuell side. |
NB: Referanser hentes ikke fra Wikidata på det nåværende tidspunkt.
_verdiRad(tittel, verdi, enhet, ref, pid, qid)
- Samme som verdiRad, men for kall fra modul. Parametre, se verdiRad.
formatNumber(verdi)
- Metode for å gjøre formatnum på input som kanskje ikke er riktig formaterte tall.
- - kalles fra en mal ved
- {{#invoke:Iboks|formatNumber|verdi}}
formatUrl(url)
- Metode for å forkorte en url
- - kalles fra en mal ved
- {{#invoke:Iboks|formatUrl|url}}
local math_mod = require( "Module:Math" )
local WikidataReferanse = require( 'Module:WikidataReferanse' )
local WikidataBilde = require( 'Module:WikidataBilde' )
local p = {}
function formatRad(tittel,value)
return string.format([[
<tr class="rad" valign="top">
<th colspan="2" class="nowrap">%s</th>
<td colspan="2">%s</td>
</tr>
]], tittel, value)
end
function getBestStatements(pid,entity)
if not pid then
return nil
end
local prop = entity:getBestStatements(pid)
if not prop then
return nil
end
if not prop[1] then
return nil
end
if not prop[1].mainsnak then
return nil
end
return prop[1]
end
function p.singleValue(tittel,qid,pid,entity)
local prop1 = getBestStatements(pid,entity)
if not prop1 then
return ""
end
value = mw.wikibase.formatValue(prop1.mainsnak)
if value and value ~= "" then
local quals = prop1.qualifiers
local qual = nil
if quals then
qual = quals[1] or nil
end
local refs = prop1.references
value = value .. lagReferanser(refs)
return formatRad(tittel,value)
end
return ""
end
function p.formatVerdi(tittel,verdi,enhet,referanser)
local value = ""
local num = mw.getContentLanguage():parseFormattedNumber(verdi)
if num then
value = mw.getContentLanguage():formatNum(num) .. " " .. enhet .. referanser
else
value = verdi.. " " .. enhet .. referanser
end
return formatRad(tittel,value)
end
function lokalVerdiRad(tittel, verdi, enhet, referanser)
if verdi == "uten" then
return ""
end
local enhettxt = ""
local reftxt = ""
if enhet then
enhettxt = enhet
end
if referanser then
reftxt = referanser
end
return p.formatVerdi(tittel, verdi, enhettxt, reftxt)
end
function p._verdiRad(tittel, verdi, enhet, ref, qid, pid)
if verdi and verdi ~= "" then
return lokalVerdiRad(tittel, verdi, enhet, ref)
end
local entity = mw.wikibase.getEntity(qid)
return p.singleValue(tittel,qid,pid,entity)
end
function p.verdiRad(frame)
local args = frame.args or nil
if not args then
return ""
end
local verdi = args["verdi"] or nil
local enhet = args["enhet"] or nil
local ref = args["ref"] or nil
local tittel = args["tittel"] or nil
local pid = args["pid"] or nil
local qid = args["qid"] or nil
return p._verdiRad(tittel, verdi, enhet, ref, qid, pid)
end
return p