From 0072861c3f57f85f0bb85ad5c69657ead5f64ea2 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Sun, 3 Jan 2021 19:19:02 +0100 Subject: [PATCH] =?UTF-8?q?Montrer/cacher=20l'arch=C3=A9type?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/actor-sheet.js | 59 +++++++++++--------------------------- module/actor.js | 12 ++++++++ templates/actor-sheet.html | 50 +++++++++++++++++++++++++------- 3 files changed, 69 insertions(+), 52 deletions(-) diff --git a/module/actor-sheet.js b/module/actor-sheet.js index fbad5d0b..e2f6c4fe 100644 --- a/module/actor-sheet.js +++ b/module/actor-sheet.js @@ -20,7 +20,8 @@ export class RdDActorSheet extends ActorSheet { tabs: [{navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "carac"}], dragDrop: [{dragSelector: ".item-list .item", dropSelector: null}], editCaracComp: false, - cacherCompetencesNiveauBase: false, + montrerCompetencesNiveauBase: false, + montrerArchetype: false }); } @@ -28,17 +29,13 @@ export class RdDActorSheet extends ActorSheet { getData() { let data = super.getData(); - // Gestion du lock/unlock des zones éditables (carac+compétences) data.data.editCaracComp = this.options.editCaracComp; - data.data.lockUnlockText = (this.options.editCaracComp) ? "Bloquer" : "Débloquer"; - data.data.lockUnlockIcon = (this.options.editCaracComp) ? "unlocked.svg" : "locked.svg"; - // Gestion de l'affichage total/partiel des compétences - data.data.cacherCompetencesNiveauBase = this.options.cacherCompetencesNiveauBase; - data.data.showHideCompetenceText = (this.options.cacherCompetencesNiveauBase) ? "Montrer tout" : "Filtrer" ; - data.data.showHideCompetenceIcon = (this.options.cacherCompetencesNiveauBase) ? "no-filter.svg" : "filter.svg"; + data.data.montrerCompetencesNiveauBase = this.options.montrerCompetencesNiveauBase; + data.data.montrerArchetype = this.options.montrerArchetype; let compCategorieNiveau = RdDUtility.getLevelCategory(); // recup catégorie data.itemsByType = RdDUtility.buildItemsClassification(data.items); + // Competence per category data.competenceByCategory = {}; let competenceXPTotal = 0; @@ -54,7 +51,7 @@ export class RdDActorSheet extends ActorSheet { if (!RdDUtility.isTronc( item.name ) ) // Ignorer les compétences 'troncs' à ce stade competenceXPTotal += RdDUtility.computeCompetenceXPCost(item); item.data.afficherCompetence = true; - if ( data.data.cacherCompetencesNiveauBase && (Number(item.data.niveau) == Number(compCategorieNiveau[item.data.categorie]) ) ) { + if ( data.data.montrerCompetencesNiveauBase && (Number(item.data.niveau) == Number(compCategorieNiveau[item.data.categorie]) ) ) { item.data.afficherCompetence = false; } list.push(item); @@ -170,31 +167,6 @@ export class RdDActorSheet extends ActorSheet { d.render(true); } - /* -------------------------------------------- */ - afficheResumeArchetype() { - let levelCategory = RdDUtility.getLevelCategory(); - let labelCategory = RdDUtility.getLabelCategory(); - let contentHTML = ""; - for (let compCategory in this.competenceByCategory) { - console.log(">>>>", compCategory); - contentHTML += "
" + labelCategory[compCategory] + ""; - for (let comp of this.competenceByCategory[compCategory]) { - if ( !comp.data.niveau_archetype ) comp.data.niveau_archetype = levelCategory[compCategory]; - contentHTML += "
" + comp.name + " : " + comp.data.niveau_archetype; - } - } - let dialogData = { - content: contentHTML, - buttons: { - one: { - icon: '', - label: "Fermer" - } - } - } - new Dialog( dialogData ).render(true); - } - /* -------------------------------------------- */ async createEmptyTache( ) { await this.actor.createOwnedItem( { name: 'Nouvelle tache', type: 'tache'}, { renderSheet: true } ); @@ -419,6 +391,11 @@ export class RdDActorSheet extends ActorSheet { let compName = event.currentTarget.attributes.compname.value; this.actor.updateCompetenceXP( compName, parseInt(event.target.value) ); } ); + // On competence archetype change + html.find('.competence-archetype').change((event) => { + let compName = event.currentTarget.attributes.compname.value; + this.actor.updateCompetenceArchetype( compName, parseInt(event.target.value) ); + } ); } // Gestion du bouton lock/unlock @@ -426,8 +403,12 @@ export class RdDActorSheet extends ActorSheet { this.options.editCaracComp = !this.options.editCaracComp; this.render(true); }); - html.find('.show-hide-competences').click((event) => { - this.options.cacherCompetencesNiveauBase = !this.options.cacherCompetencesNiveauBase; + html.find('#show-hide-competences').click((event) => { + this.options.montrerCompetencesNiveauBase = !this.options.montrerCompetencesNiveauBase; + this.render(true); + }); + html.find('#show-hide-archetype').click((event) => { + this.options.montrerArchetype = !this.options.montrerArchetype; this.render(true); }); @@ -458,12 +439,6 @@ export class RdDActorSheet extends ActorSheet { html.find('#ethylisme').change((event) => { this.actor.setEthylisme(parseInt(event.target.value) ); } ); - - // Dialog d'archetype - html.find("#affiche-archetype").click((event) => { - this.afficheResumeArchetype() - } ); - html.find('#stress-test').click((event) => { this.actor.stressTest(); this.render(true); diff --git a/module/actor.js b/module/actor.js index 6b2ec179..5d08602a 100644 --- a/module/actor.js +++ b/module/actor.js @@ -611,6 +611,18 @@ export class RdDActor extends Actor { console.log("Competence not found", compName); } } + + /* -------------------------------------------- */ + async updateCompetenceArchetype( compName, compValue ) + { + let comp = this.getCompetence(compName); + if ( comp ) { + const update = {_id: comp._id, 'data.niveau_archetype': compValue }; + const updated = await this.updateEmbeddedEntity("OwnedItem", update); // Updates one EmbeddedEntity + } else { + console.log("Competence not found", compName); + } + } /* -------------------------------------------- */ async updateCompteurValue( fieldName, fieldValue ) diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html index 8eb79477..31d24de7 100644 --- a/templates/actor-sheet.html +++ b/templates/actor-sheet.html @@ -98,7 +98,9 @@
+ {{#if ../data.montrerArchetype}} + + {{/if}} {{/if}} {{/each}} @@ -243,6 +258,9 @@
+ {{#if ../data.montrerArchetype}} + + {{/if}} {{/if}} {{/each}} @@ -265,6 +283,9 @@
+ {{#if ../data.montrerArchetype}} + + {{/if}} {{/if}} {{/each}} @@ -285,6 +306,9 @@ + {{#if ../data.montrerArchetype}} + + {{/if}} {{/if}} {{/each}} @@ -305,6 +329,9 @@ + {{#if ../data.montrerArchetype}} + + {{/if}} {{/if}} {{/each}} @@ -322,9 +349,12 @@
- - + +
+ {{#if ../data.montrerArchetype}} + + {{/if}} {{/if}} {{/each}} @@ -345,6 +375,9 @@ + {{#if ../data.montrerArchetype}} + + {{/if}} {{/if}} {{/each}} @@ -355,9 +388,6 @@ Total XP compétences {{data.competenceXPTotal}} -
  • - Voir l'Archetype -