Modul:Diagramm: Unterschied zwischen den Versionen

Aus GaretienWiki
Zur Navigation springen Zur Suche springen
VolkoV (D | B)
VolkoV (D | B)
Zeile 13: Zeile 13:
  
 
function bar(pref,val,sum)
 
function bar(pref,val,sum)
local perc=100*val/sum
+
local perc=0
 +
if sum>0 then
 +
local perc=100*val/sum
 +
end
 
return '<tr><td style="width:30px">'..pref..'</td><td style="width:calc(100%-30px)"><div style="background-color:#ffcc00;width:'..perc..'%;">&nbsp;</div></td></tr>'
 
return '<tr><td style="width:30px">'..pref..'</td><td style="width:calc(100%-30px)"><div style="background-color:#ffcc00;width:'..perc..'%;">&nbsp;</div></td></tr>'
 
end
 
end

Version vom 21. September 2018, 13:21 Uhr

Die Dokumentation für dieses Modul kann unter Modul:Diagramm/Doku erstellt werden

local p = {}

function robusttrim(s)
 if s==nil then return '' end
 local p=string.gsub(s,'%[%[SMW::on%]%]','')
 p=string.gsub(p,'%[%[SMW::off%]%]','')
 return mw.text.trim(p)
end

function pre(number)
	return '[[Datei:Bewertung'..number..'.svg|30x30px|link=]]'
end

function bar(pref,val,sum)
	local perc=0
	if sum>0 then
		local perc=100*val/sum
	end
	return '<tr><td style="width:30px">'..pref..'</td><td style="width:calc(100%-30px)"><div style="background-color:#ffcc00;width:'..perc..'%;">&nbsp;</div></td></tr>'
end

function p.Con(frame)
 local a1=robusttrim(frame.args[1])
 local a2=robusttrim(frame.args[2])
 local a3=robusttrim(frame.args[3])
 local a4=robusttrim(frame.args[4])
 local a5=robusttrim(frame.args[5])
 local a6=robusttrim(frame.args[6])
 local sum=a1+a2+a3+a4+a5+a6
 return '<table style="width:100%;">'..bar(pre(1),a1,sum)..bar(pre(2),a2,sum)..bar(pre(3),a3,sum)..bar(pre(4),a4,sum)..bar(pre(5),a5,sum)..bar(pre(6),a6,sum)..'</table>'
end

return p