diff --git a/module/rdd-utility.js b/module/rdd-utility.js index afc4b2e3..dd49d522 100644 --- a/module/rdd-utility.js +++ b/module/rdd-utility.js @@ -465,34 +465,32 @@ export class RdDUtility { /** Construit la structure récursive des conteneurs, avec imbrication potentielle * */ - static buildConteneur(objet, niveau) { - if (!niveau) niveau = 1; - objet.niveau = niveau; - //console.log("OBJ:", objet); - let str = Handlebars.partials['systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-conteneur.html']({ item: objet }); - if (objet.type == 'conteneur') { - const afficherContenu = this.getAfficheContenu(objet._id); - str = str + RdDUtility.buildContenu(objet, niveau, afficherContenu); - } - return str; + static buildConteneur(objet, profondeur) { + if (!profondeur) profondeur = 1; + objet.niveau = profondeur; + const isConteneur = objet.type == 'conteneur'; + const isOuvert = isConteneur && this.getAfficheContenu(objet._id); + const isVide = isConteneur && Misc.templateData(objet).contenu.length == 0; + const conteneur = Handlebars.partials['systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-conteneur.html']({ + item: objet, + vide: isVide, + ouvert: isOuvert + }); + const contenu = isConteneur ? RdDUtility.buildContenu(objet, profondeur, isOuvert) : ''; + return conteneur + contenu; } /* -------------------------------------------- */ - static buildContenu(objet, niveau, afficherContenu) { - if (!niveau) niveau = 1; - objet.niveau = niveau; - let strContenu = ""; + static buildContenu(objet, profondeur, afficherContenu) { + if (!profondeur) profondeur = 1; + objet.niveau = profondeur; + const display = afficherContenu ? 'item-display-show' : 'item-display-hide'; //console.log("ITEM DISPLAYED", objet ); - if (afficherContenu) { - strContenu = "