Module:NavboxMobile: Difference between revisions
EnWikiAdmin (talk | contribs) No edit summary |
EnWikiAdmin (talk | contribs) No edit summary |
||
Line 306: | Line 306: | ||
:wikitext(addNewline(args.below)) | :wikitext(addNewline(args.below)) | ||
end | end | ||
local function renderListRow(tbl, listnum) | local function renderListRow(tbl, listnum) | ||
-- Determine if this group is a subgroup based on the border parameter | |||
local isSubgroup = border == cfg.keyword.border_subgroup | |||
-- Add a row for the group (if it exists) | -- Add a row for the group (if it exists) | ||
if args['group' .. listnum] then | if args['group' .. listnum] then | ||
local groupRow = addTableRow(tbl) | local groupRow = addTableRow(tbl) | ||
local groupCell = groupRow:tag('th') | local groupCell = groupRow:tag('th') | ||
groupCell | groupCell | ||
:attr('scope', 'row') | :attr('scope', 'row') | ||
:addClass('navboxMobile-group-content') | :addClass('navboxMobile-group-content') -- Existing Class | ||
:addClass('navboxMobile- | :addClass(args.groupclass) | ||
: | :addClass(isSubgroup and 'navboxMobile-subgroup' or 'navboxMobile-group') -- Use existing classes | ||
: | :cssText(args.basestyle) | ||
:cssText(args.groupstyle) | |||
:cssText(args['group' .. listnum .. 'style']) | |||
:wikitext(processItem(args['group' .. listnum])) | :wikitext(processItem(args['group' .. listnum])) | ||
end | end | ||
Line 325: | Line 333: | ||
local listRow = addTableRow(tbl) | local listRow = addTableRow(tbl) | ||
local listCell = listRow:tag('td') | local listCell = listRow:tag('td') | ||
:attr('colspan', 2) | |||
:addClass('navboxMobile-list-content') | |||
-- Determine | -- Determine even or odd for alternating row colors | ||
local | local evenOddClass = (listnum % 2 == 0) and 'navboxMobile-even' or 'navboxMobile-odd' | ||
listCell:addClass(evenOddClass) | |||
listCell | listCell | ||
: | :addClass('hlist') -- Ensure horizontal list styling | ||
:css('padding', args.listpadding or '0 0.25em') -- Uniform padding | |||
:css('padding', '0 0.25em') | |||
: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 | -- Handle nested lists (childX_groupY, childX_listY) | ||
if args['list' .. listnum] == 'child' then | if args['list' .. listnum] == 'child' then | ||
local nestedTbl = mw.html.create('table') | local nestedTbl = mw.html.create('table') | ||
:addClass('navboxMobile-subgroup') | :addClass('navboxMobile-subgroup') -- Existing Class | ||
:css('width', '100%') | :css('width', '100%') | ||
:css('border-spacing', '0') | :css('border-spacing', '0') | ||
:css(' | :css('padding', '0') -- Remove padding | ||
:css('margin | :css('margin', '0') -- Remove margin if any | ||
for i = 1, 10 do | for i = 1, 10 do -- Assume up to 10 nested groups/lists | ||
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 361: | Line 369: | ||
nestedGroupCell | nestedGroupCell | ||
:attr('scope', 'row') | :attr('scope', 'row') | ||
:addClass('navboxMobile-group-content navboxMobile- | :addClass('navboxMobile-group-content') -- Existing Class | ||
:addClass(args.groupclass) | |||
:addClass('navboxMobile-subgroup') -- Existing Class for Subgroup | |||
:cssText(args.basestyle) | :cssText(args.basestyle) | ||
:cssText(args['child' .. listnum .. '_group' .. i .. 'style']) | :cssText(args['child' .. listnum .. '_group' .. i .. 'style']) | ||
Line 372: | Line 382: | ||
nestedListCell | nestedListCell | ||
:attr('colspan', 2) | :attr('colspan', 2) | ||
:addClass('navboxMobile-list-content hlist ' | :addClass('navboxMobile-list-content') | ||
:addClass('hlist') -- Ensure horizontal list styling | |||
:cssText(args['child' .. listnum .. '_list' .. i .. 'style']) | :cssText(args['child' .. listnum .. '_list' .. i .. 'style']) | ||
:wikitext(processItem(nestedList)) | :wikitext(processItem(nestedList)) | ||
Line 381: | Line 392: | ||
listCell:node(nestedTbl) | listCell:node(nestedTbl) | ||
else | else | ||
-- Render a flat list | -- Render a flat list if no nested lists exist | ||
listCell | listCell | ||
:addClass('hlist') | :addClass('hlist') |