Content deleted Content added
BrandonXLF (talk | contribs) Add types |
BrandonXLF (talk | contribs) Update error message |
||
(9 intermediate revisions by the same user not shown) | |||
Line 2:
local p = {}
local
local getArgs = require('Module:Arguments').getArgs
-- Generate a link to a route
local function makeRoute(route, routeType, routeLoc, currProvince)
local out = ''
Line 24 ⟶ 26:
end
if shield and shield ~= '' then
out = out .. string.format('[[File:%s|15px|alt=%s]]', shield, alt) .. ' ' end▼
if not link or link == '' then
out = out
else
out = out
end
out = "'''" .. out .. "'''"
end
end
-- Generate the content for a prev/next navigation table cell
function p.route(frame)▼
local function makeNav(prefix, label, currProvince, args)
▲ return makeRoute(
frame.args.type,▼
frame.args.province,▼
▲ )
▲end
local prefix = frame.args[1]▼
local index = 1▼
local out = ''
▲ local index = 1
repeat▼
while args[paramPrefix] and args[paramPrefix] ~= '' do
local
▲ local routeLoc = templateArgs[prefix .. index .. '_province']
if index ~= 1 then
Line 70 ⟶ 62:
index = index + 1
end
if out == '' then
out = "'''Terminus'''"
end
return label .. ' ' .. (index - 1 > 1 and 'routes' or 'route') .. '<br>' .. out
end
-- Generate the name for a highway type
local function getName(type)
▲ local data = mw.loadData('Module:Sandbox/BrandonXLF/Module:Interprovincial highway/data')
return data.types[
end
-- Generate highway rows (headers and content cells)
local out = ''
local current = makeRoute(
args.curr_type,
args.curr_province,
)
local index = 1
local paramPrefix = ''
▲ repeat
out = out .. '|-\n'
out = out .. '! colspan=3 | ' .. getName(args[paramPrefix .. 'name']) .. '\n'
out = out .. '|- style="text-align: center;"' .. '\n'
out = out .. '| style="width: 30%;" | ' .. makeNav(paramPrefix .. 'prev', 'Previous', args.curr_province, args) .. '\n'
out = out .. '| style="width: 30%;" | ' .. current .. '\n'
out = out .. '| style="width: 30%;" | ' .. makeNav(paramPrefix .. 'next', 'Next', args.curr_province, args) .. '\n'
index = index + 1
paramPrefix = 'hwy' .. index .. '_'
until (not args[paramPrefix .. 'name']) or args[paramPrefix .. 'name'] == ''
return out
end
-- Show the supported types in a table
function p.supported(frame)
local data = mw.loadData('
local post = 'Types retrieved from [[Module:Interprovincial highway/data]] ('
.. frame:expandTemplate{ title = 'edit', args = { 'Module:Interprovincial highway/data' } } .. ').'
Line 94 ⟶ 122:
local row = tableEl:tag('tr')
row:tag('td'):tag('code'):wikitext(name)
row:tag('td'):wikitext("'''" .. title .. "'''")
end
|