No edit summary |
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 = {} |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | args = { team, suffix = 'Yes' }, |
||
+ | local teamAndSystem = h.getTeamAndSystem( |
||
⚫ | |||
+ | mw.title.getCurrentTitle().rootText |
||
⚫ | |||
+ | local ret = { |
||
+ | h.clpnArgs(teamAndSystem, tabstype), |
||
+ | h.orgNavboxArgs(teamAndSystem, tabstype) |
||
} |
} |
||
+ | return ret |
||
end |
end |
||
− | function h. |
+ | function h.getTeamAndSystem(tabstype, title) |
+ | if tabstype == 'Team' then |
||
⚫ | |||
+ | return { Team = title } |
||
⚫ | |||
+ | end |
||
⚫ | |||
+ | return h.getTeamFromPlayer(title) |
||
− | args = { team, suffix = 'Yes' }, |
||
⚫ | |||
⚫ | |||
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. |
+ | return util_cargo.getOneRow(query) or {} |
end |
end |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | args = { |
||
⚫ | |||
+ | teamAndSystem.Team, |
||
− | local team = (tabstype == 'Team') and title or h.getTeamFromPlayer(title) |
||
+ | system = teamAndSystem.System, |
||
⚫ | |||
+ | suffix = util_args.boolToStringYN(true), |
||
− | local orgnavbox = h.orgNavboxArgs(team) |
||
+ | from_player = tabstype == 'Player' |
||
− | local navboxes = { clpnavbox, orgnavbox } |
||
+ | }, |
||
⚫ | |||
+ | } |
||
end |
end |
||
+ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | 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