Editing Module:TableGeneratorGive feedback
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
| Latest revision | Your text | ||
| Line 2: | Line 2: | ||
--<table class="wikitable"> | --<table class="wikitable"> | ||
--{{#invoke: | --{{#invoke:YourModuleName|createHtmlTable | ||
--|cols=3 | |||
--|onlyBody=true | |||
--|cell_values=[ "Cell 1", "Cell 2", "Cell 3", "Cell 4", "Cell 5", "Cell 6", "Cell 7" ] | |||
--}} | |||
--</table> | --</table> | ||
-- | --creates | ||
-- | |||
-- | --Cell 1, Cell 2, Cell 3 | ||
--Cell 4, Cell 5 | |||
function p.generateHtmlTable(frame) | function p.generateHtmlTable(frame) | ||
local args = frame.args | local args = frame.args | ||
local cols = tonumber(args['cols']) or | local cols = tonumber(args['cols']) or 3 | ||
local | local onlyBody = args['onlyBody'] == 'true' | ||
local | local cell_values_json = args['cell_values'] or "[]" | ||
local values = json.decode(cell_values_json) -- Decode JSON string | |||
local values = | |||
local result = '' | local result = '' | ||
if not onlyBody then | |||
if not | |||
result = result .. '<table class="wikitable">\n' | result = result .. '<table class="wikitable">\n' | ||
end | end | ||
local count = 0 | local count = 0 | ||
for i, value in ipairs(values) do | for i, value in ipairs(values) do | ||
if count % cols == 0 then | if count % cols == 0 then | ||
if count > 0 then | if count > 0 then | ||
| Line 40: | Line 34: | ||
end | end | ||
result = result .. ' <td>' .. value .. '</td>\n' | |||
result = result .. ' <td | |||
count = count + 1 | count = count + 1 | ||
end | end | ||
if count % cols ~= 0 then | if count % cols ~= 0 then | ||
result = result .. ' </tr>\n' | result = result .. ' </tr>\n' | ||
end | end | ||
if not | if not onlyBody then | ||
result = result .. '</table>' | result = result .. '</table>' | ||
end | end | ||