Module:Navbox: Difference between revisions

various fixes from sandbox
Enwikipedia>Jackmcbarn
(don't require the wrapper template)
Enwikipedia>Jackmcbarn
(various fixes from sandbox)
Line 7:
local HtmlBuilder = require('Module:HtmlBuilder')
local navbar = require('Module:Navbar')._navbar
local getArgs -- lazily initialized
 
local args
local frame
local tableRowAdded = false
local border
Line 282:
 
local function renderTrackingCategories(builder)
local frametitle = mw.getCurrentFrametitle.getCurrentTitle()
if mwtitle.ustring.sub(s,namespace 1, 1) =~= '0'10 then return end -- not in template space
local subpage = title.subpageText
if not frame then return end
local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}')
if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space
local subpage = mw.ustring.lower(mw.ustring.sub(s, 2))
if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end
Line 382 ⟶ 378:
function p.navbox(frame)
if not framegetArgs then return end
-- ParserFunctions considers the empty string to be false, so to preserve the previous
getArgs = require('Module:Arguments').getArgs
-- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider
end
-- them false too.
local args = getArgs(frame, {wrappers = 'Template:Navbox'})
local parentTitle = frame:getParent():getTitle()
local frame_args = (parentTitle == 'Template:Navbox' or parentTitle == 'Template:Navbox/sandbox') and frame:getParent().args or frame.args;
 
-- Read the arguments in the order they'll be output in, to make references number in the right order.
-- Out of order parsing bug.
local temp;_
temp_ = frame_argsargs.title;
temp_ = frame_argsargs.above;
for i = 1, 20 do
temp_ = frame_argsargs["group" .. tostring(i)];
temp_ = frame_argsargs["list" .. tostring(i)];
end
temp_ = frame_argsargs.below;
 
for k, v in pairs(frame_args) do
if v ~= '' then
args[k] = v
end
end
return p._navbox(args)
end