Module:NavboxMobile: Difference between revisions

No edit summary
No edit summary
Line 306: Line 306:
                 :wikitext(addNewline(args.below))
                 :wikitext(addNewline(args.below))
end
end




Line 317: Line 316:
             :attr('scope', 'row')
             :attr('scope', 'row')
             :addClass('navboxMobile-group-content')
             :addClass('navboxMobile-group-content')
            :addClass('navboxMobile-group-level' .. (border == 'subgroup' and '3' or '2'))
             :css('padding', '0.25em 1em') -- Ensure consistent padding
             :css('padding', '0.25em 1em') -- Ensure consistent padding
             :css('border-left', '2px solid #fdfdfd') -- Similar border as desktop
             :css('border-left', '2px solid #fdfdfd') -- Similar border as desktop
            :addClass('navboxMobile-group-level' .. (border == 'subgroup' and '3' or '2'))
             :wikitext(processItem(args['group' .. listnum]))
             :wikitext(processItem(args['group' .. listnum]))
     end
     end


     -- Add a row for the list
     -- Add a row for the list
     local listRow = addTableRow(tbl) -- Use a different variable name
     local listRow = addTableRow(tbl)
     local listCell = listRow:tag('td')
     local listCell = listRow:tag('td')


Line 330: Line 329:
     local isOdd = (listnum % 2) == 1
     local isOdd = (listnum % 2) == 1
     local evenOddClass = isOdd and 'navboxMobile-odd' or 'navboxMobile-even'
     local evenOddClass = isOdd and 'navboxMobile-odd' or 'navboxMobile-even'
   


     listCell
     listCell
         :attr('colspan', 2)
         :attr('colspan', 2)
         :addClass('navboxMobile-list-content')
         :addClass('navboxMobile-list-content hlist ' .. evenOddClass)
        :addClass('hlist') -- Ensure horizontal list styling
         :css('padding', '0 0.25em')
         :css('padding', args.listpadding or '0 0.25em') -- Uniform padding
         :css('width', '100%')
         :css('width', '100%')
         :cssText(args.liststyle)
         :cssText(args.liststyle)
         :cssText(args['list' .. listnum .. 'style'])
         :cssText(args['list' .. listnum .. 'style'])


     -- Handle nested lists (childX_groupY, childX_listY)
     -- Handle nested lists or flat lists
     if args['list' .. listnum] == 'child' then
     if args['list' .. listnum] == 'child' then
         -- Render nested table for child lists within 'navboxMobile-subgroup'
         -- Render nested table for child lists within 'navboxMobile-subgroup'
Line 348: Line 345:
             :css('width', '100%')
             :css('width', '100%')
             :css('border-spacing', '0')
             :css('border-spacing', '0')
             :css('padding', '0.5em') -- Adjust as needed for spacing
             :css('margin-top', '0.25em') -- Add top margin for spacing between subgroups
            :css('margin-bottom', '0.25em') -- Add bottom margin for spacing


         for i = 1, 10 do -- Assume up to 10 nested groups/lists
         for i = 1, 10 do
             local nestedGroup = args['child' .. listnum .. '_group' .. i]
             local nestedGroup = args['child' .. listnum .. '_group' .. i]
             local nestedList = args['child' .. listnum .. '_list' .. i]
             local nestedList = args['child' .. listnum .. '_list' .. i]
Line 357: Line 355:


             local nestedRow = addTableRow(nestedTbl)
             local nestedRow = addTableRow(nestedTbl)
 
 
             -- Add the nested group (if it exists)
             -- Add the nested group (if it exists)
             if nestedGroup then
             if nestedGroup then
Line 363: Line 361:
                 nestedGroupCell
                 nestedGroupCell
                     :attr('scope', 'row')
                     :attr('scope', 'row')
                     :addClass('navboxMobile-group-content')
                     :addClass('navboxMobile-group-content navboxMobile-group-level3')
                     :cssText(args.basestyle)
                     :cssText(args.basestyle)
                     :cssText(args['child' .. listnum .. '_group' .. i .. 'style'])
                     :cssText(args['child' .. listnum .. '_group' .. i .. 'style'])
Line 374: Line 372:
                 nestedListCell
                 nestedListCell
                     :attr('colspan', 2)
                     :attr('colspan', 2)
                     :addClass('navboxMobile-list-content hlist ')
                     :addClass('navboxMobile-list-content hlist ' .. ((i % 2 == 1) and 'navboxMobile-odd' or 'navboxMobile-even'))
                     :cssText(args['child' .. listnum .. '_list' .. i .. 'style'])
                     :cssText(args['child' .. listnum .. '_list' .. i .. 'style'])
                     :wikitext(processItem(nestedList))
                     :wikitext(processItem(nestedList))
Line 383: Line 381:
         listCell:node(nestedTbl)
         listCell:node(nestedTbl)
     else
     else
         -- Render a flat list if no nested lists exist
         -- Render a flat list
         listCell
         listCell
             :addClass('hlist')
             :addClass('hlist')