Module:CollectionLog: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
function p.render(frame) | function p.render(frame) | ||
local args = frame:getParent() | local args = frame:getParent().args | ||
local html = mw.html.create('div'):addClass('collection-log-wrapper') | local html = mw.html.create('div'):addClass('collection-log-wrapper') | ||
if args.Killcount then | |||
html:node( | |||
mw.html.create('div') | |||
:addClass('collection-log-killcount') | |||
:wikitext('Killcount: ' .. args.Killcount) | |||
) | |||
end | end | ||
local grid = mw.html.create('div'):addClass('collection-log-grid') | |||
local i = 1 | |||
while true do | |||
local itemName = args['item' .. i] | |||
if not itemName then break end | |||
local qty = tonumber(args['qty' .. i]) or 0 | |||
local item = mw.html.create('div') | |||
:addClass('collection-log-item') | |||
:addClass(qty > 0 and 'obtained' or 'missing') | |||
item:wikitext(string.format( | |||
'{{plinkp3|name=%s|qty=%d|obtained=%s}}', | |||
itemName, qty, qty > 0 and 'obtained' or 'missing' | |||
)) | |||
grid:node(item) | |||
i = i + 1 | |||
end | end | ||
html:node(grid) | html:node(grid) | ||
return tostring(html) | return tostring(html) | ||
end | end | ||
return p | return p |
Revision as of 06:48, 19 May 2025
Documentation for this module may be created at Module:CollectionLog/doc
local p = {}
function p.render(frame)
local args = frame:getParent().args
local html = mw.html.create('div'):addClass('collection-log-wrapper')
if args.Killcount then
html:node(
mw.html.create('div')
:addClass('collection-log-killcount')
:wikitext('Killcount: ' .. args.Killcount)
)
end
local grid = mw.html.create('div'):addClass('collection-log-grid')
local i = 1
while true do
local itemName = args['item' .. i]
if not itemName then break end
local qty = tonumber(args['qty' .. i]) or 0
local item = mw.html.create('div')
:addClass('collection-log-item')
:addClass(qty > 0 and 'obtained' or 'missing')
item:wikitext(string.format(
'{{plinkp3|name=%s|qty=%d|obtained=%s}}',
itemName, qty, qty > 0 and 'obtained' or 'missing'
))
grid:node(item)
i = i + 1
end
html:node(grid)
return tostring(html)
end
return p