Module:Infobox road/sandbox

This is an old revision of this page, as edited by Fredddie (talk | contribs) at 01:12, 19 February 2021. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
local p = {}
local getArgs = require('Module:Arguments').getArgs
local roadDataModule = require("Module:Road data")
local util = require("Module:Road data/util")

function p.headerStyle(frame)
	local args = getArgs(frame)
	local deleted = args.decommissioned or args.deleted
	local uc = args.header_type == "under construction" or args.header_type == "const" or args.header_type == "uc"
	local hist = args.header_type == "hist" or args.header_type == "historic" or args.header_type == "historical" or args.header_type == "scenic"
	
	local function emptyParam(param)
        if param == '' then
            return nil
        else
            return param
        end
    end
	
	local country = emptyParam(args.country)
    local state = emptyParam(args.state)
    local province = emptyParam(args.province)
    if not(country) then
        local stateParam = args.state or args.province
        if not(stateParam) then
            country = 'default'
        else
            local countryMask = require "Module:Infobox road/meta/mask/country"
            country = countryMask._country(stateParam, country)
        end
    end
    
	if deleted then
		return "header-deleted"
	elseif uc then
		return "header-uc"
	elseif hist then
		return "header-hist"
	elseif args.country ~= '' or args.state ~= '' or args.province ~= '' then
		local color = country(args, require("Module:Infobox road/color/sandbox").color({country = country, type=args.type}))
		return "header-" .. color
	else return "header-default"
	end
end

local function browse(args)
	local previousRoute = args.previous_route
	local nextRoute = args.next_route
	local extended = args.browse
		local box = mw.html.create('table'):cssText("width:100%; background:none; border-collapse:collapse")
		if previousRoute or nextRoute then
			local boxModule = require "Module:Road data/browse/sandbox" -- remove "/sandbox" when live!
			local primary = boxModule._browse(args)
			box:wikitext(primary)
		end
		if extended then
			box:wikitext(extended)
		end
		return tostring(box)
end

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

return p