Modul:Iboks
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._formatNumber(verdi) if not verdi then return "" end local num = mw.getContentLanguage():parseFormattedNumber(verdi) if num then return mw.getContentLanguage():formatNum(num) end return verdi 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, pid, qid) 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, pid, qid) end function p.formatNumber(verdi) local args = frame.args or nil if not args then return "" end local verdi = args["verdi"] or nil return p._formatNumber(verdi) end return p