Module:Protection banner: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
(add a "TOOLTIPFRAGMENT" parameter, as we were having the same issues with commas in tooltips as we did with INTROBLURB and INTROFRAGMENT; also move the config module name to a global variable so that it's more obvious when updating) |
(allow user-specified args to overwrite default args; updated from sandbox) |
||
Line 892: | Line 892: | ||
function p.main(frame, cfg) |
function p.main(frame, cfg) |
||
⚫ | |||
cfg = cfg or require(CONFIG_MODULE) |
cfg = cfg or require(CONFIG_MODULE) |
||
-- Find default args, if any. |
|||
local parentTitle = frame:getParent():getTitle() |
local parentTitle = frame:getParent():getTitle() |
||
parentTitle = parentTitle:gsub('/sandbox$', '') |
parentTitle = parentTitle:gsub('/sandbox$', '') |
||
local defaultArgs = cfg.wrappers[parentTitle] or {} |
local defaultArgs = cfg.wrappers[parentTitle] or {} |
||
local args = getArgs(frame, {parentOnly = defaultArgs and true}) |
|||
-- Find user args, and use the parent frame if we are being called from a |
|||
-- wrapper template. |
|||
⚫ | |||
local userArgs = getArgs(frame, { |
|||
parentOnly = defaultArgs, |
|||
frameOnly = not defaultArgs |
|||
}) |
|||
-- Build the args table. User-specified args overwrite default args. |
|||
local args = {} |
|||
for k, v in pairs(defaultArgs) do |
for k, v in pairs(defaultArgs) do |
||
args[k] = v |
|||
end |
|||
for k, v in pairs(userArgs) do |
|||
args[k] = v |
args[k] = v |
||
end |
end |