Module:Navbox/sandbox: Difference between revisions

Content deleted Content added
heh, shadowing
Tag: Reverted
revert to working version 1055449661
Line 68:
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],
Line 283 ⟶ 273:
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
Line 379 ⟶ 368:
 
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
 
Line 410 ⟶ 390:
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')