Difference between revisions of "Module:Bundles"
Jump to navigation
Jump to search
Line 6: | Line 6: | ||
currentRow = mw.text.split(currentRow, ';') | currentRow = mw.text.split(currentRow, ';') | ||
objects = table.getn(currentRow) | objects = table.getn(currentRow) | ||
rowGroup = | 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 12: | 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') | ||
Line 18: | Line 18: | ||
:wikitext(' + ') | :wikitext(' + ') | ||
end | end | ||
rowGroup = rowGroup .. tostring(object) | |||
end | end | ||
for k, v in pairs(rowGroup) do | for k, v in pairs(rowGroup) do | ||
Line 25: | Line 25: | ||
result = mw.html.create('div') | result = mw.html.create('div') | ||
result:addClass('bundle-row bundle-col-' .. objects) | result:addClass('bundle-row bundle-col-' .. objects) | ||
result:wikitext | result:wikitext(rowGroup) | ||
return result | return result |
Revision as of 21:45, 24 October 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(' + ') end rowGroup = rowGroup .. tostring(object) end for k, v in pairs(rowGroup) do mw.log(k .. ' - ' .. tostring(v) .. '\n') end result = mw.html.create('div') result:addClass('bundle-row bundle-col-' .. objects) result:wikitext(rowGroup) 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