Documentation for this module may be created at Module:Side story datatable/doc
local getArgs = require('Module:Arguments').getArgs
local DatatableBuilder = require('Module:DatatableBuilder')
local DisplayFns = require('Module:DisplayFunctions')
local QueryBuilder = require('Module:QueryBuilder')
local p = {}
local function formatThumb(card_name, thumbnail)
return string.format('[[File:%s|75px|link=%s]]', thumbnail, card_name)
end
local function formatText(card_name)
return string.format('[[%s]] {{Card tabs alt|%s}}', card_name, card_name)
end
function p.main(frame)
local args = getArgs(frame)
local columns = args['columns']
local qb = QueryBuilder.new()
qb
:setTables('cards')
:setFields([[
card_name,
thumbnail,
card_character,
rarity
]])
:addWhere('rarity', '=', args['rarity'])
:addWhereList(
'character',
'HOLDS LIKE',
args['card_character']
)
local datatable = DatatableBuilder.new()
datatable
:setColumns{
{
name = 'card',
header = 'Card',
dataFields = { 'card_name, thumbnail' },
func = formatThumb,
sortable = false
},
{
name = 'side stories',
header = 'Side stories',
dataFields = { 'card_name' },
func = formatText
}
}
:setData(qb:query())
return datatable:tostring()
end
return p