« Module:Fermentation » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 46 : | Ligne 46 : | ||
:done() | :done() | ||
:done() | :done() | ||
end | end | ||
Ligne 52 : | Ligne 51 : | ||
local res = mw.html.create( 'ul' ) | local res = mw.html.create( 'ul' ) | ||
:addClass( 'avt-interactions' ) | :addClass( 'avt-interactions' ) | ||
:wikitext( '[[Fichier:Icon_range_inverse.png|x50px|alt=|link=]]' ) | |||
local isEmpty = true | local isEmpty = true | ||
Version du 19 juillet 2021 à 15:55
La documentation pour ce module peut être créée à Module:Fermentation/doc
local p = {}
local LF = '\n'
--------------------------------
----- Référentiel -----
--------------------------------
local data = {
["fermentable"] = {
image = "Master of the Arsenal.png",
description = "Ce personnage possède des armes."
},
["fermenté"] = {
image = "30 Reilly's Rangers.png",
description = "Ce personnage possède des vêtements."
},
["mature"] = {
image = "You Run Barter Town.png",
description = "Ce personnage possède des objets divers."
},
["vide"] = {
image = "Neutral test color.png",
description = "L'inventaire de ce personnage est vide."
}
}
--------------------------------
function buildRow(argValue, def)
local note = argValue or ''
if note ~= '' then note = LF .. note .. LF end
return mw.html.create( 'li' )
:addClass( 'avt-interactions-row' )
:tag( 'div' )
:addClass( 'avt-interactions-img' )
:wikitext( '[[Fichier:'..def.image..'|x50px|alt=|link=]]' )
:done()
:tag( 'div' )
:addClass( 'avt-interactions-text' )
:tag( 'p' )
:wikitext(def.description)
:done()
:wikitext( note )
:done()
:done()
end
function p._build(args)
local res = mw.html.create( 'ul' )
:addClass( 'avt-interactions' )
:wikitext( '[[Fichier:Icon_range_inverse.png|x50px|alt=|link=]]' )
local isEmpty = true
for key, value in pairs(args) do
local def = data[key:lower()]
if def and value ~= '-' and value ~= 'vide' then
isEmpty = false
res:node(buildRow(value, def))
end
end
-- cas particulier l'inventaire du pnj est vide
if isEmpty then
res:node(buildRow(nil, data.vide))
end
res:allDone()
return res
end
function p.build(frame)
local args = {}
local argsParent = frame:getParent().args
for cle, val in pairs(argsParent) do
if val then
val = mw.text.trim(val)
if val ~= '' then
args[cle] = val
end
end
end
return p._build(args)
end
return p