Fortnite Esports Wiki

Power Rankings of Brazil and Oceania at the moment are not updated to the last two competitive seasons, so the current positions of the players are not 100% accurate.

READ MORE

Fortnite Esports Wiki
Advertisement

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

local util_args = require('Module:ArgsUtil')
local util_html = require("Module:HtmlUtil")
local util_toggle = require("Module:ToggleUtil")
local util_vars = require("Module:VarsUtil")
local i18n = require('Module:i18nUtil')
local PlayerTeamHistoryCompact = require('Module:PlayerTeamHistoryCompact')._main
local PlayerTeamHistory = require('Module:PlayerTeamHistory')._main
local NewsQueryPlayer = require('Module:NewsQueryPlayer')._main

local TOGGLES_TABLE = {
	order = { 'full', 'compact' },
}

local TOGGLES_DATE = {
	order = { 'approx', 'exact' },
	key = 'date'
}

local h = {}

local p = {}
function p.main(frame)
	local args = util_args.merge()
	i18n.init('PlayerTimelineSection')
	local output = mw.html.create()
	local div = output:tag('div')
		:addClass('player-history')
	h.printContent(div, args)
	if util_args.castAsBool(args.suppressoutput) then return '' end
	return output, '[[Category:PlayersWithAutomatedNews]]'
end

function h.printContent(output, args)
	output:tag('h2')
		:wikitext(i18n.print('TeamHistory'))
	h.printLowContentIntroIfNeeded(output)
	h.printPTH(output, args)
	output:tag('h2')
		:wikitext(i18n.print('News'))
	output:tag('div')
		:addClass('player-history-timeline')
		:wikitext(tostring(NewsQueryPlayer(args)))
end

function h.printPTH(output, args)
	h.printToggler(output)
	local div = output:tag('div')
		:addClass('player-history-teamlist')
	local div2 = div:tag('div'):wikitext(tostring(PlayerTeamHistoryCompact(args)))
	local div1 = div:tag('div'):wikitext(tostring(PlayerTeamHistory(args)))
	h.printToggleClasses(div1, 'full')
	h.printToggleClasses(div2, 'compact')
end

function h.printToggler(tbl)
	local div = tbl:tag('div')
		:addClass('toggle-button')
	div:wikitext(i18n.print('toggleIntro'))
	util_toggle.printOptionFromListTogglers(div, TOGGLES_TABLE)
	local div2 = tbl:tag('div')
		:addClass('toggle-button')
	div2:wikitext(i18n.print('toggleDatesIntro'))
	util_toggle.printOptionFromListTogglers(div2, TOGGLES_DATE)
	util_html.clear(tbl)
	return
end

function h.printToggleClasses(div, label)
	util_toggle.oflCellClasses(div, TOGGLES_TABLE, label)
end

function h.printLowContentIntroIfNeeded(output)
	if not util_vars.getBool('isLowContent') then return end
	output:tag('div')
		:addClass('low-content-notice-wrapper')
		:tag('div')
			:addClass('low-content-notice')
			:wikitext(i18n.print('lowContentIntro'))
		
end

return p
Advertisement