Modul:Bewertung: Unterschied zwischen den Versionen

758 Bytes hinzugefügt ,  1. Juni 2019
keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
lang = mw.getContentLanguage()
lang = mw.getContentLanguage()
TBD = "tbd"


function renderList(claimIdentifier)
function renderList(claimIdentifier)
local totalReviewCount = 0
local totalReviewCount = 0
local totalWithReview = 0
local totalReview = 0
local totalReview = 0
local entity = mw.wikibase.getEntityObject('Q294')
local entity = mw.wikibase.getEntityObject()
result = '{| class="wikitable fullwidth\n!Übersicht!!Gesamtbewertung\n'
result = ''
if not entity or not entity.claims then return end --the entity doesnt exist or have no claims
if not entity or not entity.claims then return end --the entity doesnt exist or have no claims
local property = entity.claims[claimIdentifier]
local property = entity.claims[claimIdentifier]
Zeile 11: Zeile 13:
for key, prop in pairs(property) do
for key, prop in pairs(property) do
if prop and prop.mainsnak and prop.mainsnak.datavalue then
if prop and prop.mainsnak and prop.mainsnak.datavalue then
local reviewNumber = tonumber(prop.qualifiers['P76'][1].datavalue.value.amount)
local reviewNumber
totalReview = totalReview + reviewNumber
local reviewString
totalReviewCount = totalReviewCount + 1
if prop.qualifiers['P76'] then
result = result .. '|- style="' .. reviewStyle(reviewNumber) .. ' \n| ' .. getValueLabel(prop) .. '<br>' .. getConclusion(prop) .. ' || ' .. lang:formatNum(reviewNumber) .. ' von 10\n'
totalReviewCount = totalReviewCount + 1
reviewNumber = tonumber(prop.qualifiers['P76'][1].datavalue.value.amount)
reviewString = lang:formatNum(reviewNumber)
totalReview = totalReview + reviewNumber
totalWithReview = totalWithReview + 1
else
reviewNumber = TBD
reviewString = reviewNumber
end
result = result .. '<hr><span style="' .. reviewStyle(reviewNumber) .. '>' .. reviewString .. '</span> ' .. getValueLabel(prop) .. '<br>' .. getConclusion(prop)
end
end
end
end
end
end
result = result .. "|}"
local reviewNumber
local reviewNumber = tonumber(string.format("%.1f", totalReview / totalReviewCount))
local reviewString
result = 'Durchschnittliche Bewertung: <span style="' .. reviewStyle(reviewNumber) .. '">' .. lang:formatNum(reviewNumber) .. "</span>\n" .. result
if totalWithReview >= (totalReviewCount / 2) then
reviewNumber = tonumber(string.format("%.1f", totalReview / totalReviewCount))
reviewString = lang:formatNum(reviewNumber)
else
reviewNumber = TBD
reviewString = reviewNumber
end
result = 'Durchschnittliche Bewertung: <span style="' .. reviewStyle(reviewNumber) .. '">' .. reviewString .. '</span><span style="height: 14px;width: 14px;position: absolute;margin-top: -4px;margin-left: 4px;">[[Datei:Baseline-help outline-24px.svg|14px|link=Hilfe:Rezensionen]]</span>\n' .. result
return result
return result
end
end


function reviewStyle(reviewNumber)
function reviewStyle(reviewNumber)
if reviewNumber >= 8 then
local baseStyle = 'padding:0.25em;border-radius:5px;display:inline-block;font-size:24px;color:white;font-weight:bold;height: 1.5em;width: 1.5em;text-align: center;'
return "background:lime;color:black;"
if reviewNumber == TBD then
return baseStyle .. "background:#a1a5a1;"
elseif reviewNumber >= 8 then
return baseStyle .. "background:#1d1;"
elseif reviewNumber < 8 and reviewNumber >= 4 then
elseif reviewNumber < 8 and reviewNumber >= 4 then
return "background:yellow;color:black;"
return baseStyle .. "background:#FFAA00;"
else
else
return "background:firebrick;color:white;"
return baseStyle .. "background:#B22222;"
end
end
end
end
11.008

Bearbeitungen