Modifica di Modulo:Navbox
Vai alla navigazione
Vai alla ricerca
Questa modifica può essere annullata. Controlla le differenze mostrate sotto fra le due versioni per essere certo che il contenuto corrisponda a quanto desiderato, e quindi pubblicare le modifiche per completare la procedura di annullamento.
Versione attuale | Il tuo testo | ||
Riga 70: | Riga 70: | ||
end | end | ||
-- we will want this later when we want to add tstyles for hlist/plainlist | |||
local function has_navbar() | local function has_navbar() | ||
return args[cfg.arg.navbar] ~= cfg.keyword.navbar_off | return args[cfg.arg.navbar] ~= cfg.keyword.navbar_off | ||
Riga 261: | Riga 262: | ||
end | end | ||
-- uses this now to make the needHlistCategory correct | |||
-- to use later for when we add list styles via navbox | |||
local function has_list_class(htmlclass) | local function has_list_class(htmlclass) | ||
local class_args = { -- rough order of probability of use | |||
cfg.arg.bodyclass, cfg.arg.listclass, cfg.arg.aboveclass, | |||
cfg.arg.belowclass, cfg.arg.titleclass, cfg.arg.navboxclass, | |||
cfg.arg.groupclass, cfg.arg.imageclass | |||
} | |||
local patterns = { | local patterns = { | ||
'^' .. htmlclass .. '$', | '^' .. htmlclass .. '$', | ||
Riga 269: | Riga 277: | ||
} | } | ||
for arg | for _, arg in ipairs(class_args) do | ||
for _, pattern in ipairs(patterns) do | |||
if mw.ustring.find(args[arg] or '', pattern) then | |||
return true | |||
end | end | ||
end | end | ||
end | end | ||
return false | return false | ||
end | end | ||
Riga 412: | Riga 387: | ||
end | end | ||
local function add_navbox_styles( | local function add_navbox_styles() | ||
local frame = mw.getCurrentFrame() | local frame = mw.getCurrentFrame() | ||
-- This is a lambda so that it doesn't need the frame as a parameter | -- This is a lambda so that it doesn't need the frame as a parameter | ||
Riga 430: | Riga 405: | ||
local child_templatestyles = add_user_styles(args[cfg.arg.child_templatestyles]) | local child_templatestyles = add_user_styles(args[cfg.arg.child_templatestyles]) | ||
-- The 'navbox-styles' div exists | -- The 'navbox-styles' div exists for two reasons: | ||
-- | -- 1. To wrap the styles to work around T200206 more elegantly. Instead | ||
-- | -- of combinatorial rules, this ends up being linear number of CSS rules. | ||
-- 2. To allow MobileFrontend to rip the styles out with 'nomobile' such that | |||
-- they are not dumped into the mobile view. | |||
return mw.html.create('div') | return mw.html.create('div') | ||
:addClass(cfg.class.navbox_styles) | :addClass(cfg.class.navbox_styles) | ||
: | :addClass(cfg.class.nomobile) | ||
:wikitext(base_templatestyles .. templatestyles .. child_templatestyles) | |||
:done() | :done() | ||
end | end | ||
function p._navbox(navboxArgs) | function p._navbox(navboxArgs) | ||
args = navboxArgs | args = navboxArgs | ||
local listnums = {} | local listnums = {} | ||
Riga 487: | Riga 441: | ||
if border == cfg.keyword.border_none then | if border == cfg.keyword.border_none then | ||
res:node(add_navbox_styles( | res:node(add_navbox_styles()) | ||
local nav = res:tag('div') | local nav = res:tag('div') | ||
:attr('role', 'navigation') | :attr('role', 'navigation') | ||
Riga 513: | Riga 467: | ||
:wikitext('<div>') | :wikitext('<div>') | ||
else | else | ||
res:node(add_navbox_styles( | res:node(add_navbox_styles()) | ||
local nav = res:tag('div') | local nav = res:tag('div') | ||
:attr('role', 'navigation') | :attr('role', 'navigation') |