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