Zum Inhalt springen

Modul:Achsendiagramm

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 18. November 2024 um 08:13 Uhr durch Zukunft99 (Diskussion | Beiträge) (Start). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus


local p = {}
local getArgs = require('Module:Arguments').getArgs

local function form(num)
	return (tonumber(num) and mw.getLanguage('de'):formatNum(tonumber(num))) or '–'
end

function p.balken(frame)
	local args = getArgs(frame)
	local data, index = {}, {}
	local i = 0
	for a = 1, 30 do i = i + 1
		if args['w' .. i] then table.insert(index, i) end
	end
	local maxvalue = 0
	local num = 1	
	while (args['w'..num]) do
		data[num] = {w = tonumber(args['w'..num]),}				
		maxvalue = math.max(maxvalue, data[num].w)
		num = num+1
	end

	local root = mw.html.create('table'):addClass('wikitable'):css('font-size', '90%')
	row = root:tag('tr')
	
	row:tag('th')
		:wikitext(args['titel'])
		:attr('colspan', 3)
	row = root:tag('tr')
	row:tag('th')
		:wikitext(args['untertitel1'])
		:css('background', '#F0F0F0')
		:css('border-right', '0.1px solid #F0F0F0')
		:css('font-size', '90%')
	row:tag('th')
		:wikitext(args['untertitel2'])
		:attr('colspan', 2)
		:css('background-color', '#F0F0F0')
		:css('font-size', '90%')
				
	for k, v in pairs(index) do
		if args['d'..v] then
			row = root:tag('tr')
				row:tag('td')
					:wikitext(args['d'..v])
					:css('border-bottom', '0.1px solid #C0C0C0')
					:css('border-right', '0.1px solid #F0F0F0')
					:css('padding-right', '25px')
		end
		if args['w' .. v] then
			row:tag('td')
				:wikitext('<div style="margin-left:-6px;background-color:#'..(args['f'..v] or '6495ED')..';width:'.. args['w'..v]*(args['width'] or 100)/maxvalue..'px;height:1.2em"></div>')
				:css('border-bottom', '0.1px solid #C0C0C0')
				:css('border-right', '0.1px solid #F0F0F0')
			row:tag('td')
				:wikitext(form(args['w'..v]))
				:css('min-width', '50px')
				:css('text-align', 'right')
				:css('padding-left', '25px')
		end
	end
	return root
end

return p