« Module:Galerie de vidéos » : différence entre les versions

De Les Archives de Vault-Tec
Kharmitch (discussion | contributions)
Première version du module
 
Kharmitch (discussion | contributions)
mAucun résumé des modifications
 
Ligne 22 : Ligne 22 :


function p.build(frame)
function p.build(frame)
local args = frame--getArgs(frame)
local args = getArgs(frame)
local res = mw.html.create( 'ul' )
local res = mw.html.create( 'ul' )
Ligne 35 : Ligne 35 :
local service = args['service' .. i] or defaultService
local service = args['service' .. i] or defaultService
local description = args['t' .. i] or ''
local description = args['t' .. i] or ''
local video = mw:getCurrentFrame():callParserFunction{ name = '#ev:' .. service, args = {
local video = frame:callParserFunction{ name = '#ev:' .. service, args = {
id, dimensions, '', description
id, dimensions, '', description
}}
}}

Dernière version du 7 juillet 2021 à 18:59

La documentation pour ce module peut être créée à Module:Galerie de vidéos/doc

local p = {}

--------------------------------------
-----     Fonctions communes     ----- 
--------------------------------------


function getArgs(frame)
	local args = {}
	
	local argsParent = frame:getParent().args
	for cle, val in pairs(argsParent) do
		if val then
			args[cle] = mw.text.trim(val)
		end
	end
	
	return args
end

--------------------------------------

function p.build(frame)
	local args = getArgs(frame)
	
	local res = mw.html.create( 'ul' )
		:addClass( 'avt-videogallery' )
	
	local defaultService = args['service'] or 'youtube'
	local dimensions = args['widths'] or '300'
		
	for i = 1, 15 do
		local id = args[i]
		if id then
			local service = args['service' .. i] or defaultService
			local description = args['t' .. i] or ''
			local video = frame:callParserFunction{ name = '#ev:' .. service, args = {
				id, dimensions, '', description
			}}
		
			res	:tag( 'li' )
				:addClass( 'avt-videogallery-item' )
				:wikitext( video )
				:done()
		else
			break
		end
	end
	
	return res
end

return p