Aller au contenu

« Module:Liste d'objets de Fallout 76 » : différence entre les versions

aucun résumé des modifications
Kharmitch (discussion | contributions)
mAucun résumé des modifications
Kharmitch (discussion | contributions)
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
local p = {}
local p = {}
-- fonction commune
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
-- Récompenses par regroupement


function addItem(item)
function addItem(item)
Ligne 38 : Ligne 55 :
end
end


function p.build(frame)
-- Récompenses via une liste unique
local args = {}
 
function addItemToUniqList(item, list)
if type(item) == 'string' then
table.insert( list, item )
elseif type(item) == 'table' then
local moduledata = require( "Module:Liste d'objets de Fallout 76/" .. item.value )
for i, subitem in pairs(moduledata.items) do
addItemToUniqList( subitem, list )
end
end
end
 
function p._uniqList(args)
-- chargement du module de paramétrage
local moduledata = require( "Module:Liste d'objets de Fallout 76/" .. args.nom )
local list = {}
for i, item in pairs(moduledata.items) do
addItemToUniqList(item, list)
end
table.sort( list )
local htmlList = '<ul>'
local argsParent = frame:getParent().args
for i, item in pairs(list) do
for cle, val in pairs(argsParent) do
htmlList = htmlList .. '<li>' .. item .. '</li>'
if val then
args[cle] = mw.text.trim(val)
end
end
end
return p._build(args)
htmlList = htmlList .. '</ul>'
 
return tostring(htmlList)
end
end
-- Fonction modèle
function p.build(frame) return p._build(getArgs(frame)) end
function p.uniqList(frame) return p._uniqList(getArgs(frame)) end


return p
return p
Bureaucrate, commentadmin, emailconfirmed, Administrateurs d’interface, staff, Administrateur
62 734

modifications