Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Side story datatable: Difference between revisions

From Sekaipedia
Content added Content deleted
No edit summary
(Undo revision 109749 by Phantommarigold (talk))
Tag: Undo
(9 intermediate revisions by the same user not shown)
Line 3: Line 3:
local DisplayFns = require('Module:DisplayFunctions')
local DisplayFns = require('Module:DisplayFunctions')
local QueryBuilder = require('Module:QueryBuilder')
local QueryBuilder = require('Module:QueryBuilder')

local tabs = require('Module:Card tabs alt')._main


local p = {}
local p = {}


local function formatThumb(card_name, thumbnail)
local function formatText(card_name, tabs)
return string.format('[[File:%f|75px|link=%s]]', thumbnail, card_name)
return string.format('[[%s]]',
tabs({ card_name }),
end
card_name)

local function formatText(card_name)
return string.format('[[%s]] {{Card tabs alt|%s}}', card_name, card_name)
end
end


Line 31: Line 31:
:addWhereList(
:addWhereList(
'character',
'character',
'HOLDS LIKE',
'HOLDS',
args['card_character']
args['card_character']
)
)
Line 41: Line 41:
name = 'card',
name = 'card',
header = 'Card',
header = 'Card',
dataFields = { 'card_name, thumbnail' },
dataFields = { 'thumbnail' },
func = formatThumb,
func = DisplayFns.image('75px'),
sortable = false
sortable = false
},
},

Revision as of 22:47, 10 June 2024

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 tabs = require('Module:Card tabs alt')._main

local p = {}

local function formatText(card_name, tabs)
	return string.format('[[%s]]',
		tabs({ 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',
			args['card_character']
			)
	
	local datatable = DatatableBuilder.new()
	datatable
		:setColumns{
			{
				name = 'card',
				header = 'Card',
				dataFields = { 'thumbnail' },
				func = DisplayFns.image('75px'),
				sortable = false
			},
			{
				name = 'side stories',
				header = 'Side stories',
				dataFields = { 'card_name' },
				func = formatText
			}
		}
		:setData(qb:query())
	
	return datatable:tostring()
end
return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies.