(Created page with "local cargo = mw.ext.cargo local PageEvents = {} function PageEvents.main(frame) local currentTitle = mw.title.getCurrentTitle().text local empty = true -- Check if there are any interviews for this page local tables = 'Tournaments' local fields = '_pageName, start, end, icon, venue, prize' local cargoArgs = { where = 'venue="' .. currentTitle .. '"', sortBy = 'end' } local results = cargo.query(tables, fields, cargoArgs) local list = mw.html.create('tabl...") |
mNo edit summary |
||
Line 9: | Line 9: | ||
-- Check if there are any interviews for this page | -- Check if there are any interviews for this page | ||
local tables = 'Tournaments' | local tables = 'Tournaments' | ||
local fields = '_pageName, start, end, | local fields = '_pageName, start, end, logoAll, logoLight, logoDark, iconAll, iconLight, iconDark, venue, prize' | ||
local cargoArgs = { | local cargoArgs = { | ||
where = 'venue | where = 'venue HOLDS "' .. currentTitle .. '"', | ||
sortBy = 'end' | sortBy = 'end' | ||
} | } | ||
Line 41: | Line 41: | ||
local endDate = mw.html.create('td'):wikitext(result['end']) | local endDate = mw.html.create('td'):wikitext(result['end']) | ||
local name = mw.html.create('td') | local name = mw.html.create('td') | ||
local nameDiv = mw.html.create('div'):addClass('eventName'):wikitext('[[File:' . | local icon = result.iconAll ~= '' and result.iconAll or result.iconLight ~= '' and result.iconLight or result.iconDark ~= '' and result.iconDark or result.logoAll ~= '' and result.logoAll or result.logoDark ~= '' and result.logoDark or result.logoLight ~= '' and result.logoLight | ||
if not icon then icon = 'Tournament_placeholder.png' end | |||
local nameDiv = mw.html.create('div'):addClass('eventName'):wikitext('[[File:' .. icon .. '|25px|link=' .. result._pageName ..']]'):wikitext('[[' .. result._pageName .. ']]') | |||
name:node(nameDiv) | name:node(nameDiv) | ||
Revision as of 03:42, 2 October 2023
Documentation for this module may be created at Module:PageEvents/doc
local cargo = mw.ext.cargo
local PageEvents = {}
function PageEvents.main(frame)
local currentTitle = mw.title.getCurrentTitle().text
local empty = true
-- Check if there are any interviews for this page
local tables = 'Tournaments'
local fields = '_pageName, start, end, logoAll, logoLight, logoDark, iconAll, iconLight, iconDark, venue, prize'
local cargoArgs = {
where = 'venue HOLDS "' .. currentTitle .. '"',
sortBy = 'end'
}
local results = cargo.query(tables, fields, cargoArgs)
local list = mw.html.create('table')
:addClass('striped-table')
local container = mw.html.create()
if #results > 0 then
empty = false
container:node(mw.html.create('h2'):wikitext('Events'))
local titleRow = mw.html.create('tr')
:addClass('headerRow')
local startCell = mw.html.create('th')
:wikitext('Start Date')
local endCell = mw.html.create('th')
:wikitext('End Date')
local nameCell = mw.html.create('th')
:wikitext('Name')
local prizeCell = mw.html.create('th')
:wikitext('Prize')
list:node(titleRow:node(nameCell):node(startCell):node(endCell):node(prizeCell))
for r = 1, #results do
local result = results[r]
local eventRow = mw.html.create('tr'):addClass('bodyRow')
local start = mw.html.create('td'):wikitext(result.start)
local endDate = mw.html.create('td'):wikitext(result['end'])
local name = mw.html.create('td')
local icon = result.iconAll ~= '' and result.iconAll or result.iconLight ~= '' and result.iconLight or result.iconDark ~= '' and result.iconDark or result.logoAll ~= '' and result.logoAll or result.logoDark ~= '' and result.logoDark or result.logoLight ~= '' and result.logoLight
if not icon then icon = 'Tournament_placeholder.png' end
local nameDiv = mw.html.create('div'):addClass('eventName'):wikitext('[[File:' .. icon .. '|25px|link=' .. result._pageName ..']]'):wikitext('[[' .. result._pageName .. ']]')
name:node(nameDiv)
local prize = mw.html.create('td'):wikitext(result.prize)
list:node(eventRow:node(name):node(start):node(endDate):node(prize))
end
container:node(list)
end
if empty then
return '<span class="d-none"></span>'
else
return container
end
end
return PageEvents