Module:Navbox: Difference between revisions

Ganaram inukshuk (talk | contribs)
No edit summary
Ganaram inukshuk (talk | contribs)
No edit summary
Line 81: Line 81:


-- Navbox to be #invoke'd
-- Navbox to be #invoke'd
-- Only supports two level of headers
function p.navbox(frame)
function p.navbox(frame)
local args = getArgs(frame)
local args = getArgs(frame)
local is_collapsed = args["Is Collapsed"]
local is_collapsed = args["Is Collapsed"]
local is_subtable = args["Is Subtable"] -- "subgroup" already means something else here
local title = args["Title"]
local title = args["Title"]
local rows = {{args["Header 1"], args["Data 1"]}}
local rows = {{args["Header 1"], args["Data 1"]}}
-- Both the Wikipedia and RsWiki navboxes go up to 20 rows so follow that
local rows = {}
for i = 1, 20 do
local row = {}
local header = args["Header " .. i]
local data  = args["Data "  .. i]
if header ~= nil and data ~= nil then
-- If there's both a header data, add both
table.insert(row, header)
table.insert(row, data)
elseif header == nil and data ~= nil then
-- Headerless row
table.insert(row, data)
elseif header ~= nil and data == nil then
-- Dataless row with header; this is allowed
table.insert(row, header)
table.insert(row, "")
end
if #row >= 1 then
table.insert(rows, row)
end
end
return p._navbox(title, rows, is_collapsed)
return p._navbox(title, rows, is_collapsed)