Module:Table empty cell

    From Nonbinary Wiki

    Documentation for this module may be created at Module:Table empty cell/doc

    local p = {}
    
    -- List of default title texts.
    local defaultTitleTextlist = {
    	["TBA"] = "To be announced",
    	["TBD"] = "To be determined",
    	["N/A"] = "Not available"	
    }
    
    -- Local function which is used to retrieve the title text.
    local function getTitleText(args, altText)
    	local titleText = args[2] or args["title_text"]
    
    	-- If the title text was manually added, return it.
    	if (titleText) then
    		return titleText
    	end
    	
    	-- The title text was not set, get the correct default text which corresponds to the alt text.
    	for k, v in pairs(defaultTitleTextlist) do
    		if (altText == k) then
    			return v
    		end
    	end
    	
    	return ""
    end
    
    -- Local function which is used to retrieve the alt text.
    local function getAltText(args)
    	local altText = args[1] or args["alt_text"]
    	
    	if (altText == nil) then
    		altText = "TBA"
    	end
    	
    	return altText
    end
    
    -- Local function which does the actual main process.
    function p._main(args)
    	local altText = getAltText(args)
    	local titleText = getTitleText(args, altText)
    
    	return "<small style=\"color: #2C2C2C\" title=\"" .. titleText .. "\">" .. altText .. "</small>"
    end
    
    --[[
    Public function which is used to create information for an empty text cell.
    
    Parameters:
    	-- |1= or |alt_text=		— optional; The text which will be written in the cell.
    	-- |2= or |title_text=		— optional; The text which will be shown when hovering over the cell.
    --]]
    function p.main(frame)
    	local getArgs = require('Module:Arguments').getArgs;
    	local args = getArgs(frame);
    	return p._main(args)
    end
    
    return p