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

Module:Side story datatable

From Sekaipedia
Revision as of 21:11, 10 June 2024 by Phantommarigold (talk | contribs) (Created page with "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('75px|link=%s', thumbnail, card_name ) end local function formatText(card_name) return string.format('%s {{Card tabs alt|%s}}', card_name) end fun...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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)
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
		]])
	qb
		:addWhereList(
			'rarity',
			'HOLDS LIKE',
			args['rarity']
			)
		:addWhereList(
			'card_character',
			'HOLDS LIKE',
			args['card_character']
			)
		:addWhere('thumbnail')
		:addWhere('card_name')
	
	local datatable = DatatableBuilder.new()
	datatable
		:setColumns{
			{
				name = 'card',
				header = 'Card',
				dataFields = { 'card_name, thumbnail' },
				func = formatThumb,
				sortable = false
			},
			{
				name = '',
				header = 'Side stories',
				dataFields = { 'card_name' },
				
			}
		}
		:setData(qb:query())
	
end
return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies.