No edit summary |
No edit summary |
||
Line 24: | Line 24: | ||
local name = frame.args['name'] ~= 'none' and (renderArgs[3] and ('[['..renderArgs[3]..'|'..renderArgs[2]..']]') or renderArgs[2]) or nil |
local name = frame.args['name'] ~= 'none' and (renderArgs[3] and ('[['..renderArgs[3]..'|'..renderArgs[2]..']]') or renderArgs[2]) or nil |
||
− | if |
+ | if frame.args['size'] == 'large' then |
renderArgs[6] = 128 |
renderArgs[6] = 128 |
||
end |
end |
||
− | if |
+ | if frame.args['size'] == 'small' then |
renderArgs[6] = 24 |
renderArgs[6] = 24 |
||
renderArgs[9] = name and '<span>'..name..'</span>' |
renderArgs[9] = name and '<span>'..name..'</span>' |
||
renderArgs[10] = true |
renderArgs[10] = true |
||
+ | elseif frame.args['size'] == 'compact' then |
||
+ | renderArgs[9] = name and '<div class="item-count" style="font-size: 0.7em;overflow: hidden;right: 0">'..renderArgs[2]..'</div>' |
||
else |
else |
||
renderArgs[9] = name and '<div style="width: '..renderArgs[6]..'px">'..name..'</div>' |
renderArgs[9] = name and '<div style="width: '..renderArgs[6]..'px">'..name..'</div>' |
Revision as of 01:20, 3 March 2019
Documentation for this module may be created at Module:Render/Item/doc
local render = require('Module:Render')
local model = require('Module:Data').model
local p = {}
function p.icon(frame)
if frame.getParent and frame:getParent():getTitle() == 'Template:Item/Icon' then frame = frame:getParent() end
local iname = frame.args[1]
local data = model.query('Item','_pageName,server,rare,type,icon',{where='iname="'..iname..'"'})
data = data[1] or {rini=0,icon='IT_UNKNOWN'} -- TODO Get the correct server
local renderArgs = {
'ItemIcon,'..data.icon,
model.getLoc(data._pageName, 'name'),
data._pageName ~= nil and (frame.args['link'] ~= 'none' and (mw.ext.cargo.query('Pages','_pageName',{where='type="Item" and iname="'..iname..'"'})[1] or {_pageName = model.getLoc(data._pageName, 'name')})._pageName) or nil,
data.rare,
(data.type == 1 or data.type == 11) and 1 or 0,
64,
frame.args['count'] ~= '' and frame.args['count'] or nil,
frame.args['classes'],
nil,
false,
}
local name = frame.args['name'] ~= 'none' and (renderArgs[3] and ('[['..renderArgs[3]..'|'..renderArgs[2]..']]') or renderArgs[2]) or nil
if frame.args['size'] == 'large' then
renderArgs[6] = 128
end
if frame.args['size'] == 'small' then
renderArgs[6] = 24
renderArgs[9] = name and '<span>'..name..'</span>'
renderArgs[10] = true
elseif frame.args['size'] == 'compact' then
renderArgs[9] = name and '<div class="item-count" style="font-size: 0.7em;overflow: hidden;right: 0">'..renderArgs[2]..'</div>'
else
renderArgs[9] = name and '<div style="width: '..renderArgs[6]..'px">'..name..'</div>'
end
return render.icon(unpack(renderArgs))
end
return p