-- Mô đun này thực hiện [[Bản mẫu:Infobox tennis tournament event/events]].
-- [SublimeLinter luacheck-globals:mw]
local p = {}
local getBuffer, print = require("Mô đun:OutputBuffer")()
local STYLES = {
["singlesdoubles"] = {[=[|-
| [[{prefix} {tournament} {year} - Đơn|Đơn]]
| [[{prefix} {tournamentd} {year} - Đôi|Đôi]]]=]},
["1"] = "singlesdoubles",
["men"] = "singlesdoubles",
["mens"] = "singlesdoubles",
["women"] = "singlesdoubles",
["womens"] = "singlesdoubles",
["risingstarsinvitational"] = {[=[|-
| [[{prefix} {tournament} {year} - Đơn|Đơn]]
| [[{prefix} {tournamentd} {year} - Đôi|Đôi]]
|-
| colspan="2" | [[{prefix} {tournament} {year} - Rising Stars Invitational|Rising Stars]]]=]},
["boysgirlssingles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn
| [[{prefix} {tournament} {year} - Đơn nam|nam]]
| [[{prefix} {tournament} {year} - Đơn nữ|nữ]]
| [[{prefix} {tournament} {year} - Đơn nam trẻ|nam trẻ]]
| [[{prefix} {tournament} {year} - Đơn nữ trẻ|nữ trẻ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi
| [[{prefix} {tournament} {year} - Đôi nam|nam]]
| [[{prefix} {tournament} {year} - Đôi nữ|nữ]]]=]},
["miamimasters"] = "boysgirlssingles",
["mixeddoubles"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn
| [[{prefix} {tournament} {year} - Đơn nam|nam]]
| [[{prefix} {tournament} {year} - Đơn nữ|nữ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi
| [[{prefix} {tournament} {year} - Đôi nam|nam]]
| [[{prefix} {tournament} {year} - Đôi nữ|nữ]]
| [[{prefix} {tournament} {year} - Đôi nam nữ|hỗn hợp]]]=]},
["mixed"] = "mixeddoubles",
["grandslam"] = "mixeddoubles",
["mixedandteam"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn
| [[{prefix} {tournament} {year} - Đơn nam|nam]]
| [[{prefix} {tournament} {year} - Đơn nữ|nữ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi
| [[{prefix} {tournament} {year} - Đôi nam|nam]]
| [[{prefix} {tournament} {year} - Đôi nữ|nữ]]
| [[{prefix} {tournament} {year} - Đôi nam nữ|hỗn hợp]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đội
| [[{prefix} {tournament} {year} - Đồng đội nam|nam]]
| [[{prefix} {tournament} {year} - Đồng đội nữ|nữ]]]=]},
["giaiquanvotucmorong"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn
| [[{tournament} {year} - Đơn nam|nam]]
| [[{tournament} {year} - Đơn nữ|nữ]]
|
| [[{tournament} {year} - Đơn nam trẻ|nam trẻ]]
| [[{tournament} {year} - Đơn nữ trẻ|nữ trẻ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi
| [[{tournament} {year} - Đôi nam|nam]]
| [[{tournament} {year} - Đôi nữ|nữ]]
| [[{tournament} {year} - Đôi nam nữ|hỗn hợp]]
| [[{tournament} {year} - Đôi nam trẻ|nam trẻ]]
| [[{tournament} {year} - Đôi nữ trẻ|nữ trẻ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Huyền thoại
| [[{tournament} {year} - Đôi nam huyền thoại|nam]]
| [[{tournament} {year} - Đôi nữ huyền thoại|nữ]]
| [[{tournament} {year} - Đôi nam nữ huyền thoại|hỗn hợp]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn xe lăn
| [[{tournament} {year} - Đơn nam xe lăn|nam]]
| [[{tournament} {year} - Đơn nữ xe lăn|nữ]]
| [[{tournament} {year} - Đơn xe lăn quad|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi xe lăn
| [[{tournament} {year} - Đôi nam xe lăn|nam]]
| [[{tournament} {year} - Đôi nữ xe lăn|nữ]]
| [[{tournament} {year} - Đôi xe lăn quad|quad]]
]=]},
["giaiquanvotphapmorong"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn
| [[{tournament} {year} - Đơn nam|nam]]
| [[{tournament} {year} - Đơn nữ|nữ]]
|
| [[{tournament} {year} - Đơn nam trẻ|nam trẻ]]
| [[{tournament} {year} - Đơn nữ trẻ|nữ trẻ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi
| [[{tournament} {year} - Đôi nam|nam]]
| [[{tournament} {year} - Đôi nữ|nữ]]
| [[{tournament} {year} - Đôi nam nữ|hỗn hợp]]
| [[{tournament} {year} - Đôi nam trẻ|nam trẻ]]
| [[{tournament} {year} - Đôi nữ trẻ|nữ trẻ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Huyền thoại
| [[{tournament} {year} - Đôi huyền thoại dưới 45|−45]]
| [[{tournament} {year} - Đôi huyền thoại trên 45|45+]]
| [[{tournament} {year} - Đôi nữ huyền thoại|nữ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn xe lăn
| [[{tournament} {year} - Đơn nam xe lăn|nam]]
| [[{tournament} {year} - Đơn nữ xe lăn|nữ]]
| [[{tournament} {year} - Đơn xe lăn quad|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi xe lăn
| [[{tournament} {year} - Đôi nam xe lăn|nam]]
| [[{tournament} {year} - Đôi nữ xe lăn|nữ]]
| [[{tournament} {year} - Đôi xe lăn quad|quad]]
]=]},
["giaiquanvotphapmorong2022"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn
| [[{tournament} {year} - Đơn nam|nam]]
| [[{tournament} {year} - Đơn nữ|nữ]]
|
| [[{tournament} {year} - Đơn nam trẻ|nam trẻ]]
| [[{tournament} {year} - Đơn nữ trẻ|nữ trẻ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi
| [[{tournament} {year} - Đôi nam|nam]]
| [[{tournament} {year} - Đôi nữ|nữ]]
| [[{tournament} {year} - Đôi nam nữ|hỗn hợp]]
| [[{tournament} {year} - Đôi nam trẻ|nam trẻ]]
| [[{tournament} {year} - Đôi nữ trẻ|nữ trẻ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Huyền thoại
| [[{tournament} {year} - Đôi nam huyền thoại|nam]]
| [[{tournament} {year} - Đôi nữ huyền thoại|nữ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn xe lăn
| [[{tournament} {year} - Đơn nam xe lăn|nam]]
| [[{tournament} {year} - Đơn nữ xe lăn|nữ]]
| [[{tournament} {year} - Đơn xe lăn quad|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi xe lăn
| [[{tournament} {year} - Đôi nam xe lăn|nam]]
| [[{tournament} {year} - Đôi nữ xe lăn|nữ]]
| [[{tournament} {year} - Đôi xe lăn quad|quad]]
]=]},
["giaiquanvotwimbledon"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn
| [[{tournament} {year} - Đơn nam|nam]]
| [[{tournament} {year} - Đơn nữ|nữ]]
|
| [[{tournament} {year} - Đơn nam trẻ|nam trẻ]]
| [[{tournament} {year} - Đơn nữ trẻ|nữ trẻ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi
| [[{tournament} {year} - Đôi nam|nam]]
| [[{tournament} {year} - Đôi nữ|nữ]]
| [[{tournament} {year} - Đôi nam nữ|hỗn hợp]]
| [[{tournament} {year} - Đôi nam trẻ|nam trẻ]]
| [[{tournament} {year} - Đôi nữ trẻ|nữ trẻ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Huyền thoại
| [[{tournament} {year} - Đôi nam khách mời|nam]]
| [[{tournament} {year} - Đôi nữ khách mời|nữ]]
| [[{tournament} {year} - Đôi nam khách mời cao tuổi|trên 45]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn xe lăn
| [[{tournament} {year} - Đơn nam xe lăn|nam]]
| [[{tournament} {year} - Đơn nữ xe lăn|nữ]]
| [[{tournament} {year} - Đơn xe lăn quad|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi xe lăn
| [[{tournament} {year} - Đôi nam xe lăn|nam]]
| [[{tournament} {year} - Đôi nữ xe lăn|nữ]]
| [[{tournament} {year} - Đôi xe lăn quad|quad]]
]=]},
["giaiquanvotmymorong"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn
| [[{tournament} {year} - Đơn nam|nam]]
| [[{tournament} {year} - Đơn nữ|nữ]]
|
| [[{tournament} {year} - Đơn nam trẻ|nam trẻ]]
| [[{tournament} {year} - Đơn nữ trẻ|nữ trẻ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi
| [[{tournament} {year} - Đôi nam|nam]]
| [[{tournament} {year} - Đôi nữ|nữ]]
| [[{tournament} {year} - Đôi nam nữ|hỗn hợp]]
| [[{tournament} {year} - Đôi nam trẻ|nam trẻ]]
| [[{tournament} {year} - Đôi nữ trẻ|nữ trẻ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Huyền thoại
| [[{tournament} {year} - Nam khách mời|nam]]
| [[{tournament} {year} - Nữ khách mời|nữ]]
| [[{tournament} {year} - Đôi nam nữ khách mời|hỗn hợp]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn xe lăn
| [[{tournament} {year} - Đơn nam xe lăn|nam]]
| [[{tournament} {year} - Đơn nữ xe lăn|nữ]]
| [[{tournament} {year} - Đơn xe lăn quad|quad]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi xe lăn
| [[{tournament} {year} - Đôi nam xe lăn|nam]]
| [[{tournament} {year} - Đôi nữ xe lăn|nữ]]
| [[{tournament} {year} - Đôi xe lăn quad|quad]]
]=]},
["abnamroworldtennistournament"] = {[=[|-
| [[{prefix} {tournament} {year} - Đơn|Đơn]]
| [[{prefix} {tournamentd} {year} - Đôi|Đôi]]
|-
| [[{prefix} {tournament} {year} - Đơn xe lăn|đơn xe lăn]]
| [[{prefix} {tournamentd} {year} - Đôi xe lăn|đôi xe lăn]]]=]},
["doublestwotourneys"] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn
| [[{prefix} {tournament} {year} - Đơn|nam]]
| [[{prefix} {tournamentd} {year} - Đơn|nữ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi
| [[{prefix} {tournament} {year} - Đôi|nam]]
| [[{prefix} {tournamentd} {year} - Đôi|nữ]]]=]},
[""] = {[=[|-
! scope="row" style="font-weight: normal; text-align: right;" | Đơn
| [[{prefix} {tournament} {year} - Đơn nam|nam]]
| [[{prefix} {tournament} {year} - Đơn nữ|nữ]]
|-
! scope="row" style="font-weight: normal; text-align: right;" | Đôi
| [[{prefix} {tournament} {year} - Đôi nam|nam]]
| [[{prefix} {tournament} {year} - Đôi nữ|nữ]]]=]}}
local function pullItem(value, default)
value = value and string.lower(string.gsub(value, "%A", ""))
if type(STYLES[value]) == "string" then
value = STYLES[value]
end
if STYLES[value] then
return STYLES[value][1]
else
return STYLES[default][1]
end
end
function p._main(args)
local default = ""
if args[2] ~= args[3] then
default = "doublestwotourneys"
end
print('{| style="border-spacing: 0.6em 0; margin: auto; ' ..
'text-align: center;"')
print(string.gsub(pullItem(args.type, default), "{(%a+)}",
{prefix = args.prefix or "", year = args[1], tournament = args[2],
tournamentd = args[3]}))
print("|}")
return getBuffer("\n")
end
function p.main(frame)
local args = require("Mô đun:Arguments").getArgs(frame)
return p._main(args)
end
return p