Content added Content deleted
m (temporarily disabling card grid) Tag: Reverted |
(Undo revision 63584 by ChaoticShadow (talk)) Tag: Undo |
||
Line 35: | Line 35: | ||
:addClass('card-grid') |
:addClass('card-grid') |
||
local results = qb:query() |
|||
local results = {} |
|||
local show_name = yesno(args['show name'], false) |
local show_name = yesno(args['show name'], false) |
||
Line 72: | Line 71: | ||
return frame:extensionTag{ |
return frame:extensionTag{ |
||
name = 'templatestyles', args = { src = 'Template:Card grid/styles.css' } |
name = 'templatestyles', args = { src = 'Template:Card grid/styles.css' } |
||
} .. tostring(root) |
} .. tostring(root) |
||
[[<div>Card grid has been disabled, see [https://blog.sekaipedia.org/2023/04/unexpected-disruption-due-to-extension.html our blog post].</div>]] |
|||
end |
end |
Revision as of 04:10, 31 August 2023
Documentation for this module may be created at Module:Card grid/doc
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local QueryBuilder = require('Module:QueryBuilder')
local p = {}
function p.main(frame)
local args = getArgs(frame)
local qb = QueryBuilder.new()
qb:setTables('Cards')
:setFields([[
_pageName,
card_name,
thumbnail,
thumbnail_trained,
card_character
]])
:addWhere('Cards.card_id', '>', '0')
:setGroupBy('Cards.card_id')
qb
:setOrderBy(args['order by'] or 'Cards.card_id ASC')
:setLimit(args['limit'] or 300)
qb
:addWhereList(
'Cards.card_id',
'=',
args['ids'],
',',
'OR'
)
local root = mw.html.create('div')
:addClass('card-grid')
local results = qb:query()
local show_name = yesno(args['show name'], false)
if #results > 0 then
for _,v in ipairs(results) do
local file = '[[File:' .. v.thumbnail .. '|center|130px]]'
if v.rarity and
v.rarity ~= '' and
(tonumber(v.rarity) == 3 or tonumber(v.rarity) == 4) then
file = file .. '[[File:' .. v.thumbnail_trained .. '|center|130px]]'
end
local box = root:tag('div')
:addClass('card-grid-item')
box:tag('div')
:css({
['display'] = 'flex',
})
:wikitext(file)
:done()
box:tag('div')
:wikitext(string.format('<b>[[%s|%s]]</b>', v._pageName, v.card_name))
:done()
if show_name then
box:tag('div')
:wikitext(string.format('[[%s]]', v.card_character))
:done()
end
end
end
return frame:extensionTag{
name = 'templatestyles', args = { src = 'Template:Card grid/styles.css' }
} .. tostring(root)
end
return p