Fortnite Esports Wiki
No edit summary
Ispoonz (talk | contribs)
m (Syncing content across wikis from Leaguepedia | League of Legends Esports Wiki, if something seems broken as a result let me know)
 
Line 1: Line 1:
  +
local util_args = require("Module:ArgsUtil")
 
local util_cargo = require('Module:CargoUtil')
 
local util_cargo = require('Module:CargoUtil')
  +
local util_vars = require('Module:VarsUtil')
   
 
local h = {}
 
local h = {}
 
local p = {}
function h.orgNavboxArgs(team)
 
 
function p.navbox(tabstype)
return {
 
 
if tabstype ~= 'Player' and tabstype ~= 'Team' then
title = 'OrgNavbox',
 
 
return nil
events = { showAll = true },
 
 
end
args = { team, suffix = 'Yes' },
 
  +
local teamAndSystem = h.getTeamAndSystem(
 
tabstype,
  +
mw.title.getCurrentTitle().rootText
 
)
  +
local ret = {
  +
h.clpnArgs(teamAndSystem, tabstype),
  +
h.orgNavboxArgs(teamAndSystem, tabstype)
 
}
 
}
  +
return ret
 
end
 
end
   
function h.clpnArgs(team, tabstype)
+
function h.getTeamAndSystem(tabstype, title)
  +
if tabstype == 'Team' then
return {
 
  +
return { Team = title }
title = 'CurrentLeagueParticipantNavbox',
 
  +
end
events = { showAll = true },
 
  +
return h.getTeamFromPlayer(title)
args = { team, suffix = 'Yes' },
 
pagetype = tabstype
 
}
 
 
end
 
end
   
Line 22: Line 30:
 
local query = {
 
local query = {
 
tables = 'Players',
 
tables = 'Players',
fields = 'Team',
+
fields = { 'Team', 'TeamSystem=System' },
 
where = string.format('_pageName="%s"', title)
 
where = string.format('_pageName="%s"', title)
 
}
 
}
return util_cargo.getOneResult(query)
+
return util_cargo.getOneRow(query) or {}
 
end
 
end
   
 
function h.orgNavboxArgs(teamAndSystem, tabstype)
local p = {}
 
 
return {
function p.navbox(tabstype, title)
 
 
title = 'OrgNavbox',
if tabstype ~= 'Player' and tabstype ~= 'Team' then
 
 
events = { showAll = true },
return nil
 
  +
args = {
end
 
  +
teamAndSystem.Team,
local team = (tabstype == 'Team') and title or h.getTeamFromPlayer(title)
 
  +
system = teamAndSystem.System,
local clpnavbox = h.clpnArgs(team, tabstype)
 
  +
suffix = util_args.boolToStringYN(true),
local orgnavbox = h.orgNavboxArgs(team)
 
  +
from_player = tabstype == 'Player'
local navboxes = { clpnavbox, orgnavbox }
 
  +
},
return navboxes
 
  +
}
 
end
 
end
  +
 
function h.clpnArgs(teamAndSystem, tabstype)
 
return {
 
title = 'CurrentLeagueParticipantNavbox',
 
events = { showAll = true },
  +
args = { teamAndSystem.Team, suffix = util_args.boolToStringYN(true) },
  +
pagetype = tabstype
  +
}
  +
end
  +
 
return p
 
return p

Latest revision as of 16:19, 27 December 2020

Edit the documentation or categories for this module.


local util_args = require("Module:ArgsUtil")
local util_cargo = require('Module:CargoUtil')
local util_vars = require('Module:VarsUtil')

local h = {}
local p = {}
function p.navbox(tabstype)
	if tabstype ~= 'Player' and tabstype ~= 'Team' then
		return nil
	end
	local teamAndSystem = h.getTeamAndSystem(
		tabstype,
		mw.title.getCurrentTitle().rootText
	)
	local ret = {
		h.clpnArgs(teamAndSystem, tabstype),
		h.orgNavboxArgs(teamAndSystem, tabstype)
	}
	return ret
end

function h.getTeamAndSystem(tabstype, title)
	if tabstype == 'Team' then
		return { Team = title }
	end
	return h.getTeamFromPlayer(title)
end

function h.getTeamFromPlayer(title)
	local query = {
		tables = 'Players',
		fields = { 'Team', 'TeamSystem=System' },
		where = string.format('_pageName="%s"', title)
	}
	return util_cargo.getOneRow(query) or {}
end

function h.orgNavboxArgs(teamAndSystem, tabstype)
	return {
		title = 'OrgNavbox',
		events = { showAll = true },
		args = {
			teamAndSystem.Team,
			system = teamAndSystem.System,
			suffix = util_args.boolToStringYN(true),
			from_player = tabstype == 'Player'
		},
	}
end

function h.clpnArgs(teamAndSystem, tabstype)
	return {
		title = 'CurrentLeagueParticipantNavbox',
		events = { showAll = true },
		args = { teamAndSystem.Team, suffix = util_args.boolToStringYN(true) },
		pagetype = tabstype
	}
end

return p