Module:Navbox: Difference between revisions

Ganaram inukshuk (talk | contribs)
m comments
Ganaram inukshuk (talk | contribs)
add support for separate headers/footers
Line 8: Line 8:
-- Add option for header cell width? (low priority)
-- Add option for header cell width? (low priority)
-- Fix collapse options (high priority)
-- Fix collapse options (high priority)
-- Header/footer row
function p.navbox_header_footer(row_content)
local row = '<td style="width:10em; padding:0em; background:white" colspan="2">\n'
.. row_content
.. '</td>\n'
return row
end


-- Navbox row
-- Navbox row
Line 68: Line 77:
local is_collapsed    = yesno(args["Is Collapsed"  ], false)
local is_collapsed    = yesno(args["Is Collapsed"  ], false)
local navbox_type    = ((args["Navbox Type"] == nil) and "Normal" or args["Navbox Type"])
local navbox_type    = ((args["Navbox Type"] == nil) and "Normal" or args["Navbox Type"])
local header_row = args["Header Row"]
local footer_row = args["Footer Row"]
-- Start of table
-- Start of table
Line 79: Line 90:
.. p.navbox_title(title)
.. p.navbox_title(title)
-- Add header
if header_row ~= nil then
navbox = navbox .. p.navbox_header_footer(header_row)
end
-- Add rows
for i = 1, #rows do
for i = 1, #rows do
navbox = navbox .. p.navbox_row(rows[i])
navbox = navbox .. p.navbox_row(rows[i])
end
end
-- Add footer
if footer_row ~= nil then
navbox = navbox .. p.navbox_header_footer(footer_row)
end
-- End of table
navbox = navbox
navbox = navbox
.. '</table>\n'
.. '</table>\n'
Line 91: Line 114:
-- This navbox is meant to display subheaders.
-- This navbox is meant to display subheaders.
navbox = '<table style="width:100%; border-spacing:0px">\n'
navbox = '<table style="width:100%; border-spacing:0px">\n'
-- Add rows
for i = 1, #rows do
for i = 1, #rows do
navbox = navbox .. p.navbox_row(rows[i])
navbox = navbox .. p.navbox_row(rows[i])
end
end
-- End of table
navbox = navbox .. '</table>'
navbox = navbox .. '</table>'
else
else
Line 104: Line 129:
.. p.navbox_title(title)
.. p.navbox_title(title)
-- Add header
if header_row ~= nil then
navbox = navbox .. p.navbox_header_footer(header_row)
end
-- Add rows
for i = 1, #rows do
for i = 1, #rows do
navbox = navbox .. p.navbox_row(rows[i])
navbox = navbox .. p.navbox_row(rows[i])
end
end
-- Add header
if footer_row ~= nil then
navbox = navbox .. p.navbox_header_footer(footer_row)
end
-- End of table
navbox = navbox
navbox = navbox
.. '</table>\n'
.. '</table>\n'