Module:ItemSlot
Documentation for this module may be created at Module:ItemSlot/doc
local p = {}
function p.render(frame)
local args = frame:getParent().args
local itemParam = args.item or ""
local linkParam = args.link or ""
local tooltipParam = args.tooltip
local amountParam = args.amount or ""
local output = {}
-- Split items by semicolon
for filename in string.gmatch(itemParam, '([^;]+)') do
filename = filename:gsub("^%s*(.-)%s*$", "%1") -- trim spaces
if not filename:lower():match("%.png$") then
filename = filename .. ".png"
end
local imgTag = string.format('[[File:%s|link=%s]]', filename, linkParam)
table.insert(output, imgTag)
end
local itemContainer = '<div class="image-sequence" style="width:32px;"><div class="image-sequence-group">' .. table.concat(output, "") .. '</div></div>'
local amountSpan = ""
if amountParam ~= "" then
amountSpan = '<span class="item-slot-count">' .. amountParam .. '</span>'
end
local tooltipText = tooltipParam or (args.item or "")
if not tooltipText or tooltipText == "" then
tooltipText = ""
end
local result = '<div class="item-slot">' .. itemContainer
if amountSpan ~= "" then
result = result .. amountSpan
end
if tooltipText ~= "" then
result = result .. '<span class="item-tooltip">' .. tooltipText .. '</span>'
end
result = result .. '</div>'
return result
end
return p