Module:Infobox: Difference between revisions

Ganaram inukshuk (talk | contribs)
move preprocess function as a nested function; refactor link-detector code
Ganaram inukshuk (talk | contribs)
mNo edit summary
Line 214: Line 214:
-- Build adjacent_links
-- Build adjacent_links
-- Links from args are removed, as they're stored in a separate table
local adjacent_links = {}
local adjacent_links = {}
if is_upper_lower_links_present then
if is_upper_lower_links_present then
Line 219: Line 220:
for _, key in ipairs(upper_links) do
for _, key in ipairs(upper_links) do
table.insert(adjacent_links, args[key] or "")
table.insert(adjacent_links, args[key] or "")
args[key] = nil
end
end
-- Middle row of links
-- Middle row of links
for _, key in ipairs(side_links) do
for _, key in ipairs(side_links) do
table.insert(adjacent_links, args[key] or "")
table.insert(adjacent_links, args[key] or "")
args[key] = nil
end
end
-- Bottom row of links
-- Bottom row of links
for _, key in ipairs(lower_links) do
for _, key in ipairs(lower_links) do
table.insert(adjacent_links, args[key] or "")
table.insert(adjacent_links, args[key] or "")
args[key] = nil
end
end
else
else
Line 232: Line 236:
for _, key in ipairs(side_links) do
for _, key in ipairs(side_links) do
table.insert(adjacent_links, args[key] or "")
table.insert(adjacent_links, args[key] or "")
args[key] = nil
end
end
end
end
args["Adjacent Links"] = adjacent_links
args["Adjacent Links"] = adjacent_links
 
-- Cleanup individual links, as they've been combined into one table
args["Upper Left Link" ] = nil
args["Upper Link"      ] = nil
args["Upper Right Link"] = nil
args["Left Link"      ] = nil
args["Right Link"      ] = nil
args["Lower Left Link" ] = nil
args["Lower Link"      ] = nil
args["Lower Right Link"] = nil
-- Preprocess rows
-- Preprocess rows