Jump to content

Module:Infobox: Difference between revisions

From Logic World Wiki
No edit summary
No edit summary
Line 20: Line 20:
:addRow("Internal ID", args.id)
:addRow("Internal ID", args.id)


retval:addHeader("Input and output")
if args.inputOutput ~= nil then
 
io = args.inputOutput
if args.minInputs ~= args.maxInputs then
retval:addRow("Input count", string.format("Adjustable from %i to %i", args.minInputs, args.maxInputs))
retval:addHeader("Input and output")
else
retval:addRow("Input count", args.minInputs)
if io.minInputs ~= io.maxInputs then
end
retval:addRow("Input count", string.format("Adjustable from %i to %i", io.minInputs, io.maxInputs))
else
retval:addRow("Input count", io.minInputs)
end
retval:addRow("Output count", io.outputs)
retval:addRow("Output count", args.outputs)
if io.propagationDelay ~= nil then
 
local ticksStr = string.format("%i tick", io.propagationDelay)
local ticksStr = string.format("%i tick", args.propagationDelay)
if tonumber(args.propagationDelay) ~= 1 then
if tonumber(args.propagationDelay) ~= 1 then
ticksStr = ticksStr.."s"
ticksStr = ticksStr.."s"
end
retval:addRow("Propagation delay", ticksStr)
end
end
end
retval:addRow("Propagation delay", ticksStr)


return retval
return retval

Revision as of 23:33, 6 September 2025


local capiunto = require 'capiunto'

local p = {}

function p.component(frame)
	local args = frame:getParent().args
	local headerStyle
	if args.headerstyle and args.headerstyle ~= '' then
		headerStyle = string.format('background-color:%s;', args.headerstyle)
	else
		headerStyle = 'background-color:grey;'
	end
	local retval = capiunto.create{
		title = args.title,
		headerStyle = headerStyle,
		bodyClass = "lw-infobox"
	}
	:addImage( string.format("[[File:%s 512x512.png|200px]]", args.id), args.caption )
	
	:addRow("Internal ID", args.id)

	if args.inputOutput ~= nil then
		io = args.inputOutput
		
		retval:addHeader("Input and output")
	
		if io.minInputs ~= io.maxInputs then
			retval:addRow("Input count", string.format("Adjustable from %i to %i", io.minInputs, io.maxInputs))
		else
			retval:addRow("Input count", io.minInputs)
		end
		
		retval:addRow("Output count", io.outputs)
	
		if io.propagationDelay ~= nil then
			local ticksStr = string.format("%i tick", io.propagationDelay)
			if tonumber(args.propagationDelay) ~= 1 then
				ticksStr = ticksStr.."s"
			end
			retval:addRow("Propagation delay", ticksStr)	
		end
	end

	return retval
end

return p