Module:IconUtils: Difference between revisions

From Eco - English Wiki
[checked revision][checked revision]
No edit summary
No edit summary
Line 3: Line 3:
function p.main(param)
function p.main(param)
     local Utils = require('Module:Utils')
     local Utils = require('Module:Utils')
    local itemData = mw.loadData("Module:ItemData")
 
     local Icon = ''
     local Icon = ''
     local IconStyle = ''
     local IconStyle = ''
Line 12: Line 12:
     if args.name == nil or args.name == '' then return '\'name\' must be specified.' end
     if args.name == nil or args.name == '' then return '\'name\' must be specified.' end


    local itemData = mw.loadData("Module:ItemData")
     local itemTable = itemData.items[args.name]
     local itemTable = itemData.items[args.name]
     if itemTable == nil then return args.name .. ' could not be found ' end
     if itemTable == nil then return args.name .. ' could not be found ' end

Revision as of 06:14, 28 June 2024


local p = {}

function p.main(param)
    local Utils = require('Module:Utils')

    local Icon = ''
    local IconStyle = ''
    local IconSize = ''
    local IconLink = ''

    local args = Utils.normaliseArgs(param)
    if args.name == nil or args.name == '' then return '\'name\' must be specified.' end

    local itemData = mw.loadData("Module:ItemData")
    local itemTable = itemData.items[args.name]
    if itemTable == nil then return args.name .. ' could not be found ' end
    local ItemEN = itemTable.untranslated
    local IconName = string.gsub(ItemEN, ' ', '') .. 'Item'

    Icon = Utils.checkImage(IconName)

    if args.size == nil or args.size == '' then IconSize = 28 else IconSize = args.size end
    if args.style == nil or args.style == '' then IconStyle = '1' else IconStyle = args.style end
    if args.link == nil or args.link == '' then IconLink = '' else IconLink = '[[' .. args.link .. ']]' end   
    if args.link == '1' then IconLink = '[[' .. args.name .. ']]' end
    if IconLink == '' then IconTextLine = '  ' .. args.name IconTextBr = '<br>' .. args.name else IconTextLine = '  ' .. IconLink IconTextBr = '<br>' .. IconLink end

    if IconStyle == '1' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' end
    if IconStyle == '2' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextLine end
    if IconStyle == '3' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextBr end
    if IconStyle == '4' then return '<div class="IconFrame">[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextBr .. '</div>' end
end

return p