Modulis:Vairāku personu infokaste

Dokumentācijas ikona Moduļa dokumentācija[izveidot]
local p = {}
local getArgs = require('Module:Arguments').getArgs
local TableTools = require('Module:TableTools')

function p._main(args)
	local out = ''
	local background = args.background or '#DCDCDC'
	local size = args['header_size'] or '115%'
	local argnums = TableTools.affixNums(args,'vārds')
	
	for _, num in ipairs(argnums) do
		local name = args['vārds' .. num]
		local dob = args['dz_dat' .. num]
		local pob = args['dz_vieta' .. num]
		local dod = args['mir_dat' .. num]
		local pod = args['mir_vieta' .. num]
		
		if dob or pob or dod or pod then
			out = out .. createHeader(name,background,size)
		end
		
		out = out .. createRow('Dzimšanas datums',dob)
		out = out .. createRow('Dzimšanas vieta',pob)
		out = out .. createRow('Miršanas datums',dod)
		out = out .. createRow('Miršanas vieta',pod)
		
	end
	
	return out
	
end

function createRow(label,data)
    if data and data~='' then
    	row = '<tr><th scope=row style="text-align:left;">' .. label .. '</th><td>' .. data .. '</td></tr>'
    end
    
    return row
end

function createHeader(header,background,size)
	local out = [=[<tr><th colspan=3 style="text-align:center; font-weight:bold; background-color:]=] .. background .. [=[; font-size:]=] .. size .. [=[;">]=] .. header .. [=[</th></tr>]=]

	return out
end

function p.main(frame)
	local args = getArgs(frame)
	return p._main(args)
end

return p