Halo Esports Wiki

We are currently performing extensive maintenance to this wiki and as a result there will likely be errors. Please be patient while we work to fix all problems.

READ MORE

Halo Esports Wiki
Advertisement

Documentation for this module may be created at Module:Reload/doc

local util_args = require('Module:ArgsUtil')
local util_table = require('Module:TableUtil')
local util_vars = require('Module:VarsUtil')

local h = {}
local p = {}

function p.intro(widget, template, args)
	if not args then args = {} end
	if util_vars.getBool('isReload') then
		return mw.html.create()
	end
	args.isReload = 'Yes'
	local output = mw.html.create('div')
		:addClass('template-reload')
		:attr('data-for-template', template)
		:attr('data-target-id', h.getKey(util_vars.setGlobalIndex('tr_key')))
	if args and next(args) then
		output:attr('data-default-args', h.concatArgs(args))
	end
	output:wikitext(mw.getCurrentFrame():callParserFunction{
		name = '#widget',
		args = { widget }
	})
	return output
end

function p.wrapper()
	if util_vars.getBool('isReload') then
		return mw.html.create()
	end
	local output = mw.html.create('div')
		:attr('id', h.getKey(util_vars.getGlobalIndex('tr_key')))
	return output
end

function p.isReload()
	return util_vars.getBool('isReload')
end

function h.getKey(i)
	return ('template-reload-%s'):format(i)
end

function h.concatArgs(args)
	local transformedArgs = {}
	for k, v in pairs(args) do
		transformedArgs[#transformedArgs+1] = ('%s=%s'):format(k, v)
	end
	return util_table.concat(transformedArgs, '', h.formatArg)
end

function h.formatArg(arg)
	return ('|%s'):format(arg)
end

return p
Advertisement