From 4b1862fa48365c27beb75be4b04fab844bc91dab Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Fri, 26 Aug 2022 22:23:04 +0200 Subject: [PATCH] Arborescence de conteneurs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les conteneurs sont maintenant précédés d'une icone: * pour ouvrir: '+' * pour fermer: '-' * si vide: carré vide --- module/rdd-utility.js | 42 +++++++++---------- styles/simple.css | 14 +++++-- .../actor-sheet-inventaire-conteneur.html | 26 ++++++++++-- templates/actor-sheet.html | 2 +- 4 files changed, 54 insertions(+), 30 deletions(-) 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 = "