local getArgs = require('Module:Arguments').getArgs;
local tools = require 'Module:TableTools'
local p = {}
function p.main(frame)
local args = getArgs(frame)
return p._main(frame, args)
end
function p._main(frame, args)
local out = mw.html.create 'table'
:addClass 'station-structure-table'
-- :css('border-collapse', 'collapse')
-- :attr('cellpadding', '5')
local span_now = 0
local numData = tools.numData(args)
for i, item in tools.sparseIpairs(numData) do
local floor = item.floor or item.f or item['層'] or item['层']
local span = tonumber( item.span or (floor and 1 or 0) )
local label = item.label or item.l or item['標'] or item['标']
local content = item.content or item.c or item['文']
span_now = span_now > 0 and span_now or span
if span_now > 0 then
local tr = out
:tag 'tr'
:addClass 'station-structure-table-row'
-- :cssText("vertical-align:middle;border:solid gray;border-width:1px 0;")
if floor then
tr:tag 'td'
:attr('rowspan', span)
:addClass 'station-structure-floor'
:wikitext(floor)
end
if label then
tr:tag 'td':addClass 'station-structure-label':wikitext(label) end
tr:tag 'td':addClass 'station-structure-content':wikitext(content)-- :cssText(string.find(content, "月台配置") ~= nil and 'padding:0' or '')
:attr('colspan', (not label) and '2' or nil)
end
span_now = span_now - 1
end
out:wikitext(frame:extensionTag {name = 'templatestyles', args = {src = 'Template:车站构造/style.css'}})
return out
end
return p