Halo Esports Wiki
[checked revision][checked revision]
No edit summary
No edit summary
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
local util_args = require('Module:ArgsUtil')
+
local util_vars = require("Module:VarsUtil")
local util_table = require('Module:TableUtil')
 
local lang = mw.getLanguage('en')
 
   
 
local p = require('Module:EntityAbstract'):extends()
 
local h = {}
 
local h = {}
   
  +
p.objectType = 'League'
function h.getInfo(str, settings)
 
  +
p.imageDisplayLength = 'long'
local vars = util_args.lookupVars(str, mw.loadData('Module:Leaguenames'), true)
 
  +
p.imagelength = 'unique'
if not vars then
 
  +
p.defaultlength = 'long' -- this is what we store in cargo !!
vars = {
 
  +
-- p.cssClass = 'league-object'
  +
p.imagesizes = {}
  +
p.nosize = true
  +
 
function p:init(str)
  +
self:super('init', str, 'Item')
 
if self.unknown then
 
self.vars = {
 
link = str,
 
link = str,
 
long = str,
 
long = str,
Line 15: Line 22:
 
}
 
}
 
end
 
end
settings.vars = util_table.shallowClone(vars)
 
if settings.link then
 
settings.vars.link = settings.link
 
end
 
return vars
 
end
 
 
function h.getClass(str)
 
if not str then return '' end
 
return ('|class=%s-logo-std'):format(str)
 
end
 
 
local p = {}
 
 
function p.league(frame)
 
local args = util_args.merge(true)
 
local str = lang:lc(args[1] or '')
 
local style = lang:lc(args[2] or 'onlyimage')
 
return p[style](str, args)
 
end
 
 
function p.main(frame)
 
local args = util_args.merge(true)
 
local str = lang:lc(args[1] or '')
 
local style = lang:lc(args[2] or 'onlyimage')
 
return p[style](str, args)
 
end
 
 
function p.newsitem(str, settings)
 
if not settings then settings = {} end
 
h.getInfo(str, settings)
 
return('<div class="news-league-icon">[[File:%s|link=%s|%spx%s]]</div>&nbsp;[[%s|%s]]'):format(
 
settings.vars.image,
 
settings.vars.link,
 
settings.size or 25,
 
h.getClass(settings.vars.class),
 
settings.vars.link,
 
settings.vars.short
 
)
 
end
 
 
function p.onlyimage(str, settings)
 
if not settings then settings = {} end
 
h.getInfo(str, settings)
 
return ('[[File:%s|link=|%spx%s]]'):format(
 
settings.vars.image,
 
settings.size or 25,
 
h.getClass(settings.vars.class)
 
)
 
end
 
 
function p.leaguename(str, settings)
 
if not settings then settings = {} end
 
h.getInfo(str, settings)
 
return settings.vars.long
 
end
 
 
function p.leagueshortname(str, settings)
 
if not settings then settings = {} end
 
h.getInfo(str, settings)
 
return settings.vars.short
 
end
 
 
function p.onlyimagelinked(str, settings)
 
if not settings then settings = {} end
 
h.getInfo(str, settings)
 
return ('[[File:%s|link=%s|%spx%s]]'):format(
 
settings.vars.image,
 
settings.vars.link,
 
settings.size or 25,
 
h.getClass(settings.vars.class)
 
)
 
 
end
 
end
   

Revision as of 17:17, 22 August 2020

To edit the documentation or categories for this module, click here.


local util_vars = require("Module:VarsUtil")

local p = require('Module:EntityAbstract'):extends()
local h = {}

p.objectType = 'League'
p.imageDisplayLength = 'long'
p.imagelength = 'unique'
p.defaultlength = 'long' -- this is what we store in cargo !!
-- p.cssClass = 'league-object'
p.imagesizes = {}
p.nosize = true

function p:init(str)
	self:super('init', str, 'Item')
	if self.unknown then
		self.vars = {
			link = str,
			long = str,
			short = str,
			image = 'Unknown Infobox Image - Tournament.png'
		}
	end
end

return p