Module:Infobox: Difference between revisions

321 bytes added ,  3 years ago
m
65 revisions imported: Importing Template:Tmbox, with templates.
(Undid revision 957070706 by Ahecht (talk) - Undo for now, not very useful due to parameter name collisions)
m (65 revisions imported: Importing Template:Tmbox, with templates.)
 
(3 intermediate revisions by one other user not shown)
Line 8:
 
local args = {}
local origArgs = {}
local root
 
Line 399:
end
 
local function p.infoboxparseDataParameters(frame)
-- If called via #invoke, use the args passed into the invoking template.
-- Otherwise, for testing purposes, assume args are being passed directly in.
if frame == mw.getCurrentFrame() then
origArgs = frame:getParent().args
else
origArgs = frame
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 455 ⟶ 448:
args['italic title'] = origArgs['italic title'] -- different behaviour if blank or absent
preprocessSingleArg('decat')
end
 
function p.infobox(frame)
-- If called via #invoke, use the args passed into the invoking template.
-- 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