Module:Navbox: Difference between revisions
m 1 revision imported: importing Template:Maintenance category |
m 1 revision imported: Importing template Sfrac |
||
| (5 intermediate revisions by 3 users not shown) | |||
| Line 579: | Line 579: | ||
) | ) | ||
else | else | ||
nav:attr('aria-label', cfg.aria_label) | nav:attr('aria-label', cfg.aria_label .. args.argHash) | ||
end | end | ||
elseif border == cfg.keyword.border_subgroup then | elseif border == cfg.keyword.border_subgroup then | ||
| Line 771: | Line 771: | ||
row = coltable:tag('tr') | row = coltable:tag('tr') | ||
for k, n in ipairs(colheadernums) do | for k, n in ipairs(colheadernums) do | ||
col = row:tag(' | col = row:tag('th'):addClass('navbox-abovebelow') | ||
col:cssText(concatstyles({ | col:cssText(concatstyles({ | ||
(k > 1) and 'border-left:2px solid #fdfdfd' or '', | (k > 1) and 'border-left:2px solid #fdfdfd' or '', | ||
| Line 852: | Line 852: | ||
function p.navbox (frame, boxtype) | function p.navbox (frame, boxtype) | ||
local function readArgs(args, prefix) | local function readArgs(args, prefix) | ||
local function readSubgroups(element, i) | |||
if inArray(cfg.keyword.subgroups, args[prefix .. andnum(element, i)]) then | |||
for _, v in ipairs(cfg.arg.subgroups_and_num) do | |||
readArgs(args, prefix .. string.format(v, i) .. "_") | |||
end | |||
readArgs(args, prefix .. andnum('col', i) .. "_") | |||
end | |||
end | |||
-- Read the arguments in the order they'll be output in, to make references | -- Read the arguments in the order they'll be output in, to make references | ||
-- number in the right order. | -- number in the right order. | ||
local _ | local _ | ||
_ = | _ = args[prefix .. cfg.arg.title] | ||
_ = | _ = args[prefix .. cfg.arg.above] | ||
-- Limit this to 20 as covering 'most' cases (that's a SWAG) and because | -- Limit this to 20 as covering 'most' cases (that's a SWAG) and because | ||
-- iterator approach won't work here | -- iterator approach won't work here | ||
local boxtype = args.type or cfg.keyword[boxtype] | |||
if boxtype == cfg.keyword.with_columns then | |||
for i = 1, 20 do | |||
_ = args[prefix .. andnum('colheader', i)] | |||
end | |||
for i = 1, 20 do | |||
readSubgroups('col', i) | |||
end | |||
for i = 1, 20 do | |||
_ = args[prefix .. andnum('colfooter', i)] | |||
end | |||
end | |||
for i = 1, 20 do | for i = 1, 20 do | ||
_ = | _ = args[prefix .. andnum('group', i)] | ||
readSubgroups('list', i) | |||
end | end | ||
_ = | _ = args[prefix .. cfg.arg.below] | ||
end | end | ||
| Line 876: | Line 890: | ||
end | end | ||
local args = getArgs(frame, {wrappers = {cfg.pattern[boxtype or 'navbox']}}) | local args = getArgs(frame, {wrappers = {cfg.pattern[boxtype or 'navbox']}}) | ||
readArgs(args, "") | |||
args.argHash = nil -- we shouldn't accept argHash passed from a template | |||
args.type = args.type or cfg.keyword[boxtype] | args.type = args.type or cfg.keyword[boxtype] | ||
return p['_navbox'](args) | return p['_navbox'](args) | ||