Module:Infobox: Difference between revisions

From Guinea Isles Wiki
No edit summary
No edit summary
Line 25: Line 25:
local args = frame:getParent().args
local args = frame:getParent().args
local headerStyle
local headerStyle
local bodyStyle
if args.headerstyle and args.headerstyle ~= '' then
if args.headerstyle and args.headerstyle ~= '' then
headerStyle = string.format('background-color:%s;', args.headerstyle)
headerStyle = string.format('background-color:%s;', args.headerstyle)
Line 30: Line 32:
headerStyle = 'background-color:#FF9713;color: #ffffff;'
headerStyle = 'background-color:#FF9713;color: #ffffff;'
end
end
if args.bodyStyle and args.bodyStyle ~= '' then
bodyStyle = args.bodyStyle
else
bodyStyle = ''
end
local retval = capiunto.create( {
local retval = capiunto.create( {
title = args.title,
title = args.title,
headerStyle = headerStyle,  
headerStyle = headerStyle,  
bodyStyle = bodyStyle,
} )
} )
return retval
return retval

Revision as of 13:46, 19 September 2025

Documentation for this module may be created at Module:Infobox/doc

--------------------------
-- Module for generic Infobox parent
--------------------------
local capiunto = require 'capiunto'

------ Helper functions ------
-- Given a variety of potential inputs representing a boolean,
-- returns a display string of "Yes" or "No"
function boolToYesNo(val)
	local str_yes = tostring(val)
	local accepted_yes = {"1", "True", "true", "yes", "Yes"}
	for _, v in pairs(accepted_yes) do
		if str_yes == v then
			return "Yes"
		end
	end
	
	return "No"
end

-- Infobox class

local p = {}
function p.main(frame)
	local args = frame:getParent().args
	local headerStyle
	local bodyStyle
	
	if args.headerstyle and args.headerstyle ~= '' then
		headerStyle = string.format('background-color:%s;', args.headerstyle)
	else
		headerStyle = 'background-color:#FF9713;color: #ffffff;'
	end
	
	if args.bodyStyle and args.bodyStyle ~= '' then
		bodyStyle = args.bodyStyle
	else
		bodyStyle = ''
	end
	
	local retval = capiunto.create( {
		title = args.title,
		headerStyle = headerStyle, 
		bodyStyle = bodyStyle,
	} )
	return retval
end

return p