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:TabsTitle/doc

local util_args = require('Module:ArgsUtil')
local util_title = require('Module:TitleUtil')
local util_vars = require('Module:VarsUtil')
local util_text = require('Module:TextUtil')

local TabsAbstract = require('Module:TabsAbstract')

local Tabs = TabsAbstract:extends()
local TabsFromLua = Tabs:extends()

local p = {}
local h = {}

function p.fromArgs(frame)
	local args = util_args.merge()
	return Tabs():run(args)
end

function p.fromTables(names, links, This)
	return TabsFromLua():run(links, names, This)
end

function Tabs:init()
	self.tabClass = 'titletabs-tab'
	self.activeClass = 'titletabs-active'
	self.outerClass = 'titletabs-tabs'
end

function Tabs:printOneTab(output, tabDisplay)
	local tab = output:tag('div')
		:addClass(self.tabClass)
		:wikitext(tabDisplay)
	return tab
end

function TabsFromLua:run(links, names, This)
	self.title = mw.title.getCurrentTitle().prefixedText
	self.This = This
	self.links = self:getLinksFromTables(links, names)
	self:setThisVar()
	return self:makeOutput()
end

function TabsFromLua:getLinksFromTables(links, names)
	local ret = {}
	for i, link in ipairs(links) do
		ret[#ret+1] = {
			link = link,
			name = names[i]
		}
	end
	return ret
end

return p
Advertisement