Module:Infobox: Difference between revisions

Content added Content deleted
(shorter variable name for what is a pretty simple role, really)
(custom step degree for touchParameters)
Line 249: Line 249:
end
end


-- This function parses the parameters with the given prefixes, in order, in batches of 20.
-- This function parses the parameters with the given prefixes, in order, in batches of the step size specified.
-- If the step size is not given, the default is 20.
local function touchParameters(prefixTable, origArgs)
local function touchParameters(prefixTable, origArgs, step)
if type(prefixTable) ~= 'table' or type(origArgs) ~= 'table' then
if type(prefixTable) ~= 'table' or type(origArgs) ~= 'table' then
error("Invalid input to the touchParameters function detected. Both parameters must be tables.", 2)
error("Invalid input to the touchParameters function detected. Both parameters must be tables.", 2)
end
end
if step and type(step) ~= 'number' then
error("Non-numerical step value detected.", 2)
end
step = step or 20
local temp
local temp
local a = 1
local a = 1
Line 265: Line 271:
while moreArgumentsExist == true do
while moreArgumentsExist == true do
moreArgumentsExist = false
moreArgumentsExist = false
for i = a, a+19 do
for i = a, a + step - 1 do
for j,v in ipairs(prefixTable) do
for j,v in ipairs(prefixTable) do
temp = origArgs[v .. tostring(i)]
temp = origArgs[v .. tostring(i)]
Line 273: Line 279:
end
end
end
end
a = a + 20
a = a + step
end
end
end
end
Line 292: Line 298:
temp = origArgs.title
temp = origArgs.title
temp = origArgs.above
temp = origArgs.above
touchParameters({'subheader'}, origArgs)
touchParameters({'subheader'}, origArgs, 5)
touchParameters({'image', 'caption'}, origArgs)
touchParameters({'image', 'caption'}, origArgs, 5)
touchParameters({'header', 'label', 'data'}, origArgs)
touchParameters({'header', 'label', 'data'}, origArgs, 20)
temp = origArgs.below
temp = origArgs.below