2,513
edits
(Allow arguments passed via #invoke to override those passed into the invoking template.) |
m (65 revisions imported: Importing Template:Tmbox, with templates.) |
||
(4 intermediate revisions by one other user not shown) | |||
Line 8:
local args = {}
local origArgs = {}
local root
Line 399:
end
local function
-- Allow arguments passed via #invoke to override those passed into the invoking template.▼
if frame == mw.getCurrentFrame() then▼
origArgs = frame:getParent().args▼
end▼
for k,v in pairs(frame.args) do origArgs[k] = mw.text.trim(v) end▼
-- Parse the data parameters in the same order that the old {{infobox}} did, so that
-- references etc. will display in the expected places. Parameters that depend on
-- another parameter are only processed if that parameter is present, to avoid
-- phantom references appearing in article reference lists.
preprocessSingleArg('autoheaders')
preprocessSingleArg('child')
preprocessSingleArg('bodyclass')
Line 453 ⟶ 448:
args['italic title'] = origArgs['italic title'] -- different behaviour if blank or absent
preprocessSingleArg('decat')
end
function p.infobox(frame)
▲ --
-- Otherwise, for testing purposes, assume args are being passed directly in.
▲ if frame == mw.getCurrentFrame() then
▲ origArgs = frame:getParent().args
else
origArgs = frame
▲ end
parseDataParameters()
return _infobox()
end
function p.infoboxTemplate(frame)
-- For calling via #invoke within a template
origArgs = {}
▲ for k,v in pairs(frame.args) do origArgs[k] = mw.text.trim(v) end
parseDataParameters()
return _infobox()
end
|