Difference between revisions of "Module:Bundles"
Jump to navigation
Jump to search
m (18 revisions imported: Importing from localhost) |
|||
| (4 intermediate revisions by the same user not shown) | |||
| Line 6: | Line 6: | ||
currentRow = mw.text.split(currentRow, ';') | currentRow = mw.text.split(currentRow, ';') | ||
objects = table.getn(currentRow) | objects = table.getn(currentRow) | ||
rowGroup = '' | |||
for k, v in ipairs(currentRow) do | for k, v in ipairs(currentRow) do | ||
vs = mw.text.split(v, '-') | vs = mw.text.split(v, '-') | ||
| Line 14: | Line 12: | ||
object = mw.html.create('span') | object = mw.html.create('span') | ||
:wikitext(icon.icon(vs[1], vs[2], nil, 'no')) | :wikitext(icon.icon(vs[1], vs[2], nil, 'no')) | ||
rowGroup = rowGroup .. tostring(object) | |||
if k ~= objects then | if k ~= objects then | ||
object = mw.html.create('span') | object = mw.html.create('span') | ||
:addClass('bundle-joiner') | :addClass('bundle-joiner') | ||
:wikitext(' + ') | :wikitext(' + ') | ||
rowGroup = rowGroup .. tostring(object) | |||
end | end | ||
end | end | ||
result = mw.html.create('div') | |||
result:addClass('bundle-row bundle-col-' .. objects) | |||
result:wikitext | result:wikitext(rowGroup) | ||
mw.log(result) | |||
return result | return result | ||
end | end | ||
Latest revision as of 14:15, 1 December 2021
Documentation for this module may be created at Module:Bundles/doc
local p = {}
local com = require( "Module:Common" )
local icon = require( "Module:Icon" )
function bundleRow(currentRow)
currentRow = mw.text.split(currentRow, ';')
objects = table.getn(currentRow)
rowGroup = ''
for k, v in ipairs(currentRow) do
vs = mw.text.split(v, '-')
object = mw.html.create('span')
:wikitext(icon.icon(vs[1], vs[2], nil, 'no'))
rowGroup = rowGroup .. tostring(object)
if k ~= objects then
object = mw.html.create('span')
:addClass('bundle-joiner')
:wikitext(' + ')
rowGroup = rowGroup .. tostring(object)
end
end
result = mw.html.create('div')
result:addClass('bundle-row bundle-col-' .. objects)
result:wikitext(rowGroup)
mw.log(result)
return result
end
function bundleGroup(bundle)
bundleRows = mw.text.split(bundle, '\n')
rowCount = table.getn(bundleRows)
result = mw.html.create('div')
result:addClass('bundle-frame')
for k, v in ipairs(bundleRows) do
result:node(bundleRow(v))
if k ~= rowCount then
result:tag('div')
:addClass('bundle-movement')
:wikitext(' > ')
end
end
return result
end
function p.bundles(frame)
return bundleGroup(frame.args[1])
end
return p