Module:TableGenerator: Difference between revisionsGive feedback
Tag: Undo |
m bugfix, was using class instead of class_str in output |
||
| (17 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
--<table class="wikitable"> | --<table class="wikitable"> | ||
--{{#invoke: TableGenerator | generateHtmlTable | cols=3 | | --{{#invoke: TableGenerator | generateHtmlTable | cols=3 | only_body=true | cell_values=Item 1, Item 20, Item 3, Item 40, Item 5 }} | ||
--</table> | --</table> | ||
-- | -- Creates: | ||
-- Item 1, Item 20, Item 3 | |||
--Item 1, Item | -- Item 40, Item 5 | ||
--Item | |||
function p.generateHtmlTable(frame) | function p.generateHtmlTable(frame) | ||
-- Get the arguments passed to the template | -- Get the arguments passed to the template | ||
local args = frame.args | local args = frame.args | ||
local cols = tonumber(args['cols']) or 3 -- Default number of columns is 3 | local cols = tonumber(args['cols']) or 3 -- Default number of columns is 3 | ||
local | local only_body = args['only_body'] == 'true' -- Check if only_body is set to true | ||
local class = args['class'] | |||
local class_is_statbox = class == 'Statbox_hero' | |||
local cell_values = args['cell_values'] or "" -- Get the cell values argument | local cell_values = args['cell_values'] or "" -- Get the cell values argument | ||
local values = {} -- Table to hold the individual cell values | local values = {} -- Table to hold the individual cell values | ||
| Line 25: | Line 26: | ||
local result = '' | local result = '' | ||
if not | if not only_body then | ||
result = result .. '<table class="wikitable">\n' | result = result .. '<table class="wikitable">\n' | ||
end | end | ||
| Line 39: | Line 40: | ||
end | end | ||
-- Add the value as a table cell | -- If the value contains a " 0 " then it will be colored slightly darker | ||
result = result .. ' <td>' .. value .. '</td>\n' | local class_str = '' | ||
if (class_is_statbox) then | |||
if value:find(" 0[^%.]") then | |||
class_str = ' class="darker"' | |||
end | |||
else | |||
if (class ~= nil) then | |||
class_str = ' class="' .. class .. '"' | |||
end | |||
end | |||
-- Add the value as a table cell with the appropriate class | |||
result = result .. ' <td' .. class_str .. '>' .. value .. '</td>\n' | |||
count = count + 1 | count = count + 1 | ||
end | end | ||
| Line 49: | Line 62: | ||
end | end | ||
if not | if not only_body then | ||
result = result .. '</table>' | result = result .. '</table>' | ||
end | end | ||