Module:Sandbox/BrandonXLF/1: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 5:
local p = {}
 
local function displayFloorPart(floorPart, floorNum, partNum)
local out = '<div style="display: grid; grid-template-columns: max-content 1fr;">'
if floorPart.name then
returnout floorPart.name= out .. ' <div>' .. floorPart.descname .. '</div>'
elseif out = out .. '<div>' .. floorPart.dirdesc .. then'</div>'
return elseif floorPart.dirplatform .. ' ' .. floorPart.descthen
out = out .. '<div style="grid-column: 1 / 3;">' .. floorPart.platform .. '</div>'
else
local prefix = floorNum .. '_' .. partNum .. '_'
return 'Invalid floor part! Must have either <code>x_y_name</code> or <code>x_y_dir</code>.'
returnout = out .. 'Invalid floor part! Must have either <code>x_y_name' .. prefix .. 'name</code> or <code>x_y_dir' .. prefix .. 'platform</code>.'
end
return out .. '</div>'
end
 
local function displayFloor(stationFloor, numbernum)
local out = '<div style="display: grid; grid-template-columns: max-content 1fr;">'
local out = ''
out = out .. '<div>' .. stationFloor.letter .. '</div>'
out = out .. '<div>'
 
for i = 1, stationFloor.max do
out = out .. displayFloorPart(stationFloor[i], num, i)
end
return out .. '</div></div>'
end
 
local function processArgaddArg(outtbl, level, levelPart, param, valuenum)
if levelnum > outtbl.max then
local level = tonumber(level)
outtbl.max = levelnum
local levelPart = tonumber(levelPart)
if level > out.max then
out.max = level
end
if not outtbl[levelnum] then
outtbl[levelnum] = { max = 0 }
end
end
local function processArg(out, level, part, service, param, value)
if levelPart > out[level].max then
out[ level].max = levelParttonumber(level)
local levelpart = tonumber(levelpart)
end
service = service and tonumber(service) or nil
addArg(out, level)
if not out[level][levelPart] then
addArg(out[level][levelPart] =, {}part)
end
if service then
out[level][levelPart][param] = value
addArg(out[level][part], service)
out[level][part][service][param] = value
else
out[level][levelPartpart][param] = value
end
end
Line 63 ⟶ 75:
out[level].letter = v
else
local level, levelPartpart, service, param = i:match('(%d+)_(%d+)_?(%d*)_(.+)')
if level then
processArg(out, level, levelPartpart, service, param, v)
end
end