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

Module:Event story chapters: Difference between revisions

From Sekaipedia
Content added Content deleted
mNo edit summary
No edit summary
Line 1: Line 1:
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
local QueryBuilder = require('Module:QueryBuilder')
local QueryBuilder = require('Module:QueryBuilder')
local utils = require('Module:Utilities')
local cicon = require('Module:Character icon')._main
local cicon = require('Module:Character icon')._main


local p = {}
local p = {}

local function formatCharacters(characters)
local charArr = utils.splitWithDelim(';')(characters)
for i,v in ipairs(charArr) do
charArr[i] = cicon({ v, size='35px' })
end
return table.join(charArr, ' ')
end


function p.main(frame)
function p.main(frame)
Line 38: Line 49:
:done()
:done()
:tag('td')
:tag('td')
:wikitext(row.characters)
:wikitext(formatCharacters(row.characters))
:done()
:done()
end
end

Revision as of 08:43, 16 April 2022

Documentation for this module may be created at Module:Event story chapters/doc

local getArgs      = require('Module:Arguments').getArgs
local QueryBuilder = require('Module:QueryBuilder')
local utils        = require('Module:Utilities')
local cicon        = require('Module:Character icon')._main

local p = {}

local function formatCharacters(characters)
	local charArr = utils.splitWithDelim(';')(characters)
	
	for i,v in ipairs(charArr) do
		charArr[i] = cicon({ v, size='35px' })
	end
	
	return table.join(charArr, ' ')
end

function p.main(frame)
	local args = getArgs(frame)
	
	local eventId = args['event id']
	
	local qb = QueryBuilder.new()
	qb
		:setTables('event_story_chapters')
		:setFields([[
			image,
			chapter,
			_pageName,
			english,
			characters
		]])
		:addWhere('event_id', '=', event_id)

	local results = qb:query()
	
	local root = mw.html.create('table')
		:addClass('wikitable')
	
	for _,row in ipairs(results) do
		root:tag('tr')
			:tag('td')
				:wikitext(row.image)
				:done()
			:tag('td')
				:wikitext(row.chapter)
				:wikitext(row._pageName)
				:wikitext(row.english)
				:done()
			:tag('td')
				:wikitext(formatCharacters(row.characters))
				:done()
	end
	
	return tostring(root)
end

return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies.