Changes

Jump to navigation Jump to search
791 bytes added ,  09:03, 26 October 2018
per discussion at WT:Lua, this needs to be initialized in a non-global context
Line 10: Line 10:  
local args
 
local args
 
local border
 
local border
local listnums = {}
+
local listnums
 
local ODD_EVEN_MARKER = '\127_ODDEVEN_\127'
 
local ODD_EVEN_MARKER = '\127_ODDEVEN_\127'
 
local RESTART_MARKER = '\127_ODDEVEN0_\127'
 
local RESTART_MARKER = '\127_ODDEVEN0_\127'
Line 85: Line 85:  
args.name,
 
args.name,
 
mini = 1,
 
mini = 1,
fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;'
+
fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;'
 
})
 
})
 
end
 
end
Line 134: Line 134:  
titleCell
 
titleCell
 
:tag('div')
 
:tag('div')
 +
-- id for aria-labelledby attribute
 
:attr('id', mw.uri.anchorEncode(args.title))
 
:attr('id', mw.uri.anchorEncode(args.title))
 
:addClass(args.titleclass)
 
:addClass(args.titleclass)
Line 163: Line 164:  
:attr('colspan', getAboveBelowColspan())
 
:attr('colspan', getAboveBelowColspan())
 
:tag('div')
 
:tag('div')
 +
-- id for aria-labelledby attribute, if no title
 +
:attr('id', args.title and nil or mw.uri.anchorEncode(args.above))
 
:wikitext(processItem(args.above, args.nowrapitems))
 
:wikitext(processItem(args.above, args.nowrapitems))
 
end
 
end
Line 201: Line 204:  
if args['group' .. listnum] then
 
if args['group' .. listnum] then
 
local groupCell = row:tag('th')
 
local groupCell = row:tag('th')
 +
 +
-- id for aria-labelledby attribute, if lone group with no title or above
 +
if listnum == 1 and not (args.title or args.above or args.group2) then
 +
groupCell
 +
:attr('id', mw.uri.anchorEncode(args.group1))
 +
end
    
groupCell
 
groupCell
Line 207: Line 216:  
:addClass(args.groupclass)
 
:addClass(args.groupclass)
 
:cssText(args.basestyle)
 
:cssText(args.basestyle)
            :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width
+
:css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width
    
groupCell
 
groupCell
Line 251: Line 260:  
:addClass('navbox-' .. oddEven)
 
:addClass('navbox-' .. oddEven)
 
:addClass(args.listclass)
 
:addClass(args.listclass)
 +
:addClass(args['list' .. listnum .. 'class'])
 
:tag('div')
 
:tag('div')
 
:css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em')
 
:css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em')
Line 375: Line 385:  
function p._navbox(navboxArgs)
 
function p._navbox(navboxArgs)
 
args = navboxArgs
 
args = navboxArgs
 +
listnums = {}
    
for k, _ in pairs(args) do
 
for k, _ in pairs(args) do
Line 398: Line 409:  
:attr('role', 'navigation')
 
:attr('role', 'navigation')
 
:node(tbl)
 
:node(tbl)
if args.title then
+
-- aria-labelledby title, otherwise above, otherwise lone group
nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title))
+
if args.title or args.above or (args.group1 and not args.group2) then
 +
nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1))
 
else
 
else
 
nav:attr('aria-label', 'Navbox')
 
nav:attr('aria-label', 'Navbox')
Line 419: Line 431:  
:css('padding', '3px')
 
:css('padding', '3px')
 
:node(tbl)
 
:node(tbl)
if args.title then
+
-- aria-labelledby title, otherwise above, otherwise lone group
nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title))
+
if args.title or args.above or (args.group1 and not args.group2) then
 +
nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1))
 
else
 
else
 
nav:attr('aria-label', 'Navbox')
 
nav:attr('aria-label', 'Navbox')
Line 426: Line 439:  
end
 
end
   −
renderTrackingCategories(res)
+
if (args.nocat or 'false'):lower() == 'false' then
 
+
renderTrackingCategories(res)
 +
end
 
return striped(tostring(res))
 
return striped(tostring(res))
 
end
 
end
Anonymous user

Navigation menu