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 = "
";
- } else {
- strContenu = "";
- }
+ let strContenu = ``;
for (let subItem of objet.subItems) {
- strContenu = strContenu + this.buildConteneur(subItem, niveau + 1);
+ strContenu += this.buildConteneur(subItem, profondeur + 1);
}
- strContenu = strContenu + "
";
- return strContenu;
+ return strContenu + "
";
}
/* -------------------------------------------- */
diff --git a/styles/simple.css b/styles/simple.css
index b57e1151..6d158832 100644
--- a/styles/simple.css
+++ b/styles/simple.css
@@ -806,16 +806,22 @@ ul, li {
}
.list-item-margin1 {
- margin-left: 1rem;
+ margin-left: 0.5rem;
}
.list-item-margin2 {
- margin-left: 2rem;
+ margin-left: 1rem;
}
.list-item-margin3 {
- margin-left: 3rem;
+ margin-left: 1.5rem;
}
.list-item-margin4 {
- margin-left: 4rem;
+ margin-left: 2rem;
+}
+.list-item-margin5 {
+ margin-left: 2.5rem;
+}
+.list-item-margin6 {
+ margin-left: 3rem;
}
.sheet-competence-img {
diff --git a/templates/actor-sheet-inventaire-conteneur.html b/templates/actor-sheet-inventaire-conteneur.html
index 92d90dde..a1c624d2 100644
--- a/templates/actor-sheet-inventaire-conteneur.html
+++ b/templates/actor-sheet-inventaire-conteneur.html
@@ -1,9 +1,28 @@
-
-
-
{{#if (eq item.type 'conteneur')}}
- +{{item.name}}
+
+ {{#if vide}}
+
+ {{else}}
+
+ {{#if ouvert}}
+
+
+ {{else}}
+
+
+ {{/if}}
+
+ {{/if}}
+
+
+
+
+ {{item.name}}
+
+
{{else}}
+
{{item.name}}
{{/if}}
{{item.data.quantite}}
@@ -30,3 +49,4 @@
{{/if}}
+
diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html
index 1ea3be42..f65df255 100644
--- a/templates/actor-sheet.html
+++ b/templates/actor-sheet.html
@@ -690,7 +690,7 @@
{{#each objets as |item id|}}
{{#unless item.estContenu}}
{{#if (ne item.type 'conteneur')}}
- {{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-conteneur.html" item=item }}
+ {{> "systems/foundryvtt-reve-de-dragon/templates/actor-sheet-inventaire-conteneur.html" item=item vide=true ouvert=true }}
{{/if}}
{{/unless}}
{{/each}}