Module:NavboxMobile: Difference between revisions

No edit summary
No edit summary
Line 236: Line 236:


     local titleColspan = 2
     local titleColspan = 2
    -- Adjust colspan based on image presence if needed
     if args.titlegroup then titleColspan = titleColspan - 1 end
     if args.titlegroup then titleColspan = titleColspan - 1 end


     titleCell
     titleCell
        :addClass('navboxMobile-title')
        :addClass(cfg.class.navbox_list) -- Add consistent list styling
        :addClass(args[cfg.arg.titleclass]) -- Additional title-specific class
        :attr('colspan', titleColspan)
         :cssText(args.basestyle)
         :cssText(args.basestyle)
         :cssText(args.titlestyle)
         :cssText(args.titlestyle)
        :addClass('navboxMobile-title')
        :attr('colspan', titleColspan)


     renderNavBar(titleCell)
     renderNavBar(titleCell)


     titleCell
     titleCell
        :tag('div')
        :tag('div')
            :addClass(args.titleclass)
            :css('font-size', '114%')
            :css('font-size', '114%')
            :css('padding', args[cfg.arg.titlepadding] or '0.5em') -- Optional padding
            :wikitext(addNewline(args.title))
            :wikitext(addNewline(args.title))
end
end


--
--
Line 268: Line 270:
         :tag('td')
         :tag('td')
             :addClass('navboxMobile-abovebelow-content')
             :addClass('navboxMobile-abovebelow-content')
            :addClass(cfg.class.navbox_list) -- Add consistent list styling
             :addClass(args.aboveclass)
             :addClass(args.aboveclass)
             :cssText(args.basestyle)
             :cssText(args.basestyle)
             :cssText(args.abovestyle)
             :cssText(args.abovestyle)
            :css('padding', args[cfg.arg.abovepadding] or '0.5em') -- Optional padding
             :attr('colspan', getAboveBelowColspan())
             :attr('colspan', getAboveBelowColspan())
             :tag('div')
             :tag('div')
                 :wikitext(addNewline(args.above))
                 :wikitext(addNewline(args.above))
end
end


local function renderBelowRow(tbl)
local function renderBelowRow(tbl)
Line 282: Line 287:
         :tag('td')
         :tag('td')
             :addClass('navboxMobile-abovebelow-content')
             :addClass('navboxMobile-abovebelow-content')
            :addClass(cfg.class.navbox_list) -- Add consistent list styling
             :addClass(args.belowclass)
             :addClass(args.belowclass)
             :cssText(args.basestyle)
             :cssText(args.basestyle)
             :cssText(args.belowstyle)
             :cssText(args.belowstyle)
            :css('padding', args[cfg.arg.belowpadding] or '0.5em') -- Optional padding
             :attr('colspan', getAboveBelowColspan())
             :attr('colspan', getAboveBelowColspan())
             :tag('div')
             :tag('div')
                 :wikitext(addNewline(args.below))
                 :wikitext(addNewline(args.below))
end
end


--
--
Line 432: Line 440:
     local tbl = mw.html.create('table')
     local tbl = mw.html.create('table')
         :addClass('nowraplinks')
         :addClass('nowraplinks')
        :addClass(cfg.class.navbox_list) -- Add consistent styling for the main table
         :addClass(args.bodyclass)
         :addClass(args.bodyclass)
        :cssText(args.bodystyle)
        :cssText(args.style)


    -- Uncomment and implement collapsibility if needed
    --[[if args.title and (args.state ~= 'plain' and args.state ~= 'off') then
        tbl
            :addClass('collapsible')
            :addClass(args.state or 'autocollapse')
    end]]
    tbl:css('border-spacing', 0)
     if border == 'subgroup' or border == 'child' or border == 'none' then
     if border == 'subgroup' or border == 'child' or border == 'none' then
         tbl
         tbl
             :addClass('navboxMobile-subgroup')
             :addClass('navboxMobile-subgroup')
             :cssText(args.bodystyle)
             :css('width', '100%')
             :cssText(args.style)
             :css('border-spacing', '0')
     else -- Regular navbox - bodystyle and style will be applied to the wrapper table
     else
         tbl
         tbl
             :addClass('navboxMobile-inner')
             :addClass('navboxMobile-inner')
             :css('background', 'transparent')
             :css('background', 'transparent')
             :css('color', 'inherit')
             :css('color', 'inherit')
            :css('border-spacing', '0')
     end
     end
     tbl:cssText(args.innerstyle)
     tbl:cssText(args.innerstyle)


Line 464: Line 469:
     return tbl
     return tbl
end
end


function p._navboxMobile(navboxMobileArgs)
function p._navboxMobile(navboxMobileArgs)