Module:Navigation header
Appearance
![]() | This module depends on the following other modules: |
![]() | This module uses TemplateStyles: |
Implements Template:Navigation header.
Functions
main
main(frame: table) -> string
Takes a frame object containing the template's arguments and generates a navigation header.
frame: A table containing the arguments passed to the module.
Returns: A string representing the generated HTML for the navigation header.
_main
_main(args: table) -> string
Takes an args object containing another module's arguments into this module and does the same as above.
local p = {}
-- Import the standard icons module
local standardIcons = require('Module:Standard icons')
function p.getIcon(key)
local iconTable = standardIcons.getIconTable()
return iconTable[key] or key
end
function p.navigationHeader(frame)
local parentFrame = frame:getParent()
local icon = {}
local label = {}
local i = 1
while parentFrame.args["icon" .. i] or parentFrame.args["type" .. i] or parentFrame.args["label" .. i] do
icon[i] = parentFrame.args["icon" .. i] or p.getIcon(parentFrame.args["type" .. i])
label[i] = parentFrame.args["label" .. i] or ""
i = i + 1
end
local output = {}
output[#output + 1] = '<div class="navigation-header"><div role="navigation" class="navigation-header-tabs">'
output[#output + 1] = '<ul>'
-- Add leadtab if leadtab-label is defined
local leadtabLabel = parentFrame.args["leadtab-label"]
if leadtabLabel then
local leadtabIcon = parentFrame.args["leadtab-icon"]
if leadtabIcon then
output[#output + 1] = string.format(
'<li id="leadtab"><div class="navigation-header-icon">[[File:%s|x18px|link=]]</div> %s</li>',
leadtabIcon,
leadtabLabel
)
else
output[#output + 1] = string.format(
'<li id="leadtab">%s</li>',
leadtabLabel
)
end
end
for j = 1, #icon do
output[#output + 1] = string.format(
'<li><div class="navigation-header-icon">[[File:%s|x18px|link=]]</div> %s</li>',
icon[j],
label[j]
)
end
output[#output + 1] = '</ul>'
output[#output + 1] = '</div></div>'
return table.concat(output, '\n')
end
return p