end
return item
end
-- we will want this later when we want to add tstyles for hlist/plainlist
local function has_navbar()
return args[cfg.arg.navbar] ~= cfg.keyword.navbar_off ▼
and args[cfg.arg.navbar] ~= cfg.keyword.navbar_plain
and (
args[cfg.arg.name]
or mw.getCurrentFrame():getParent():getTitle():gsub(cfg.pattern.sandbox, '') ▼
~= cfg.pattern.navbox
)
end
local function renderNavBar(titleCell)
▲ returnif args[cfg.arg.navbar] ~= cfg.keyword.navbar_off and args[cfg.arg.navbar] ~= cfg.keyword.navbar_plain and not
if has_navbar() then
▲ or(not args[cfg.arg.name] and mw.getCurrentFrame():getParent():getTitle():gsub(cfg.pattern.sandbox, '') == cfg.pattern.navbox) then
titleCell:wikitext(navbar{
args[cfg.arg.name],
end
-- TODO: This should be finding the relevant classes, *not* checking equality
-- to be improved when we go looking for hlist and plainlist
return not (cfg.list_classes[args[cfg.arg.listclass]] or cfg.list_classes[args[cfg.arg.bodyclass]])
end
return tbl
end
local function add_templatestyles(frame, templatestyles)
if templatestyles and templatestyles ~= '' then
return frame:extensionTag{
name = 'templatestyles', args = { src = templatestyles }
}
end
return ''
end
local tbl = renderMainTable(border, listnums)
-- render the appropriate wrapper around the navbox, depending on the border param ▼
-- get templatestyles
local frame = mw.getCurrentFrame()
local base_templatestyles = add_templatestyles(frame, 'Module:Navbox/styles.css')
local templatestyles = add_templatestyles(frame, args[cfg.arg.templatestyles])
local child_templatestyles = add_templatestyles(frame, args[cfg.arg.child_templatestyles])
local res = mw.html.create()
-- The 'navbox-styles' div exists for two reasons:
-- 1. To wrap the styles to work around T200206 more elegantly. Instead
-- of combinatorial rules, this ends up being linear number of CSS rules.
-- 2. To allow MobileFrontend to rip the styles out with 'nomobile' such that
-- they are not dumped into the mobile view.
res:tag('div')
:addClass(cfg.class.navbox_styles)
:addClass(cfg.class.nomobile)
:wikitext(base_templatestyles .. templatestyles .. child_templatestyles)
:done()
▲ -- render the appropriate wrapper around the navbox, depending on the border param
if border == cfg.keyword.border_none then
local nav = res:tag('div')
|