Difference between revisions of "Module:Rail-interchange multi/sandbox"
Jump to navigation
Jump to search
blackwiki>Jc86035 m (test) |
blackwiki>Jc86035 m (test) |
||
| Line 56: | Line 56: | ||
if i2 == 1 then | if i2 == 1 then | ||
args[i2] = ((v2 == '' and nil or v2) or default) | args[i2] = ((v2 == '' and nil or v2) or default) | ||
| + | if i1 == 2 then return args[i2] end | ||
else | else | ||
args[i2] = (v2 == '' and nil or v2) | args[i2] = (v2 == '' and nil or v2) | ||
| Line 67: | Line 68: | ||
end | end | ||
result = '<div style="display:table-cell;vertical-align:middle;padding-left:3px;white-space:nowrap">' .. result .. '</div>' | result = '<div style="display:table-cell;vertical-align:middle;padding-left:3px;white-space:nowrap">' .. result .. '</div>' | ||
| − | return | + | return result |
end | end | ||
return p | return p | ||
Revision as of 01:18, 23 September 2019
Documentation for this module may be created at Module:Rail-interchange multi/sandbox/doc
local p = {}
function p.row(frame)
local data = frame.args[1]
local div = frame.args['div']
local result, sep, default = '', ''
local args = {}
data = mw.text.split(data, '+')
for i1, v1 in ipairs(data) do
args = {}
if v1 ~= '' and v1 ~= '\\' then
local tmp = mw.text.split(v1, '\\')
if i1 == 1 then
default = tmp[1]
else
sep = ' '
end
for i2, v2 in ipairs(tmp) do
if i2 < 5 then
if i2 == 1 then
args[i2] = ((v2 == '' and nil or v2) or default)
else
args[i2] = (v2 == '' and nil or v2)
end
end
end
if args[1] or args[2] then
result = result .. sep .. frame:expandTemplate{ title = 'Rail-interchange', args = args }
end
end
end
if div == 'yes' or div == 'y' then result = '<div style="display:table-cell;vertical-align:middle;padding-left:3px;white-space:nowrap">' .. result .. '</div>' end
return result
end
function p.doublerow(frame)
local data = frame.args[1]
local result, sep, default = '', ''
local args = {}
local sep_code = {
[0] = '<br/>',
[1] = '</div><div style="display:table-cell;vertical-align:middle;padding-left:3px;white-space:nowrap">'
}
data = mw.text.split(data, '+')
for i1, v1 in ipairs(data) do
args = {}
if v1 ~= '' and v1 ~= '\\' then
local tmp = mw.text.split(v1, '\\')
if i1 == 1 then
default = tmp[1]
else
sep = sep_code[i1 % 2]
end
for i2, v2 in ipairs(tmp) do
if i2 < 5 then
if i2 == 1 then
args[i2] = ((v2 == '' and nil or v2) or default)
if i1 == 2 then return args[i2] end
else
args[i2] = (v2 == '' and nil or v2)
end
end
end
if args[1] or args[2] then
result = result .. sep .. frame:expandTemplate{ title = 'Rail-interchange', args = args }
end
end
end
result = '<div style="display:table-cell;vertical-align:middle;padding-left:3px;white-space:nowrap">' .. result .. '</div>'
return result
end
return p