From a68057900d4dae36c822d9dcc2484741e0367f9b Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Sat, 2 Dec 2023 14:34:31 +0100 Subject: [PATCH] =?UTF-8?q?Action=20de=20visualisation=20avec=20droits=20l?= =?UTF-8?q?imit=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/actor-sheet.js | 46 +++++++++++++++++--------------- module/actor/base-actor-sheet.js | 17 ++++++------ 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/module/actor-sheet.js b/module/actor-sheet.js index a252ab02..f51eaa48 100644 --- a/module/actor-sheet.js +++ b/module/actor-sheet.js @@ -120,6 +120,18 @@ export class RdDActorSheet extends RdDBaseActorSangSheet { HtmlUtility.showControlWhen(this.html.find(".appliquerFatigue"), ReglesOptionnelles.isUsing("appliquer-fatigue")); + this.html.find('.subacteur-open').click(async event => { + const subActorId = RdDSheetUtility.getEventItemData(event, 'subactor-id'); + this.openSubActeur(subActorId); + }) + + this.html.find('.show-hide-competences').click(async event => { + this.options.showCompNiveauBase = !this.options.showCompNiveauBase; + this.render(true); + }); + + this.html.find('.visu-tmr').click(async event => this.actor.displayTMR("visu")) + // Everything below here is only needed if the sheet is editable if (!this.options.editable) return; @@ -137,25 +149,11 @@ export class RdDActorSheet extends RdDBaseActorSangSheet { const subActorId = RdDSheetUtility.getEventItemData(event, 'subactor-id') RdDCoeur.startSubActeurTendreMoment(this.actor.id, subActorId) }) - this.html.find('.subacteur-open').click(async event => { - const subActorId = RdDSheetUtility.getEventItemData(event, 'subactor-id'); - this.openSubActeur(subActorId); - }) this.html.find('.subacteur-delete').click(async event => { const li = RdDSheetUtility.getEventElement(event); const subActorId = li.data("subactor-id"); this.deleteSubActeur(subActorId, li); }) - this.html.find('.experiencelog-delete').click(async event => { - const li = this.html.find(event.currentTarget)?.parents(".experiencelog"); - const key = Number(li.data("key") ?? -1); - await this.actor.deleteExperienceLog(key, 1); - }); - this.html.find('.experiencelog-delete-previous').click(async event => { - const li = this.html.find(event.currentTarget)?.parents(".experiencelog"); - const key = Number(li.data("key") ?? -1); - await this.actor.deleteExperienceLog(0, key + 1); - }); this.html.find("input.derivee-value[name='system.compteurs.stress.value']").change(async event => { this.actor.updateCompteurValue("stress", parseInt(event.target.value)); }); @@ -204,7 +202,18 @@ export class RdDActorSheet extends RdDBaseActorSangSheet { this.html.find('.recettecuisine-label a').click(async event => this.actor.rollRecetteCuisine(RdDSheetUtility.getItemId(event))) if (game.user.isGM) { - // Boutons spéciaux MJs + // experience log + this.html.find('.experiencelog-delete').click(async event => { + const li = this.html.find(event.currentTarget)?.parents(".experiencelog"); + const key = Number(li.data("key") ?? -1); + await this.actor.deleteExperienceLog(key, 1); + }); + this.html.find('.experiencelog-delete-previous').click(async event => { + const li = this.html.find(event.currentTarget)?.parents(".experiencelog"); + const key = Number(li.data("key") ?? -1); + await this.actor.deleteExperienceLog(0, key + 1); + }); + // Boutons spéciaux MJs this.html.find('.forcer-tmr-aleatoire').click(async event => this.actor.reinsertionAleatoire("Action MJ")) this.html.find('.afficher-tmr').click(async event => this.actor.changeTMRVisible()) } @@ -226,7 +235,6 @@ export class RdDActorSheet extends RdDBaseActorSangSheet { }); // Display TMR - this.html.find('.visu-tmr').click(async event => this.actor.displayTMR("visu")) this.html.find('.monte-tmr').click(async event => this.actor.displayTMR("normal")) this.html.find('.monte-tmr-rapide').click(async event => this.actor.displayTMR("rapide")) @@ -264,12 +272,6 @@ export class RdDActorSheet extends RdDBaseActorSangSheet { this.html.find('.nouvelle-incarnation').click(async event => this.actor.nouvelleIncarnation()) } - - this.html.find('.show-hide-competences').click(async event => { - this.options.showCompNiveauBase = !this.options.showCompNiveauBase; - this.render(true); - }); - // On pts de reve change this.html.find('.pointsreve-value').change(async event => this.actor.update({ "system.reve.reve.value": event.currentTarget.value })) this.html.find('.seuil-reve-value').change(async event => this.actor.setPointsDeSeuil(event.currentTarget.value)) diff --git a/module/actor/base-actor-sheet.js b/module/actor/base-actor-sheet.js index 20f2a5c2..103187d0 100644 --- a/module/actor/base-actor-sheet.js +++ b/module/actor/base-actor-sheet.js @@ -131,20 +131,14 @@ export class RdDBaseActorSheet extends ActorSheet { super.activateListeners(html); this.html = html; - if (!this.options.editable) return; - - this.html.find('.item-action').click(async event => { - const item = RdDSheetUtility.getItem(event, this.actor); - item?.actionPrincipale(this.actor, async () => this.render()) - }); - this.html.find('.conteneur-name a').click(async event => { RdDUtility.toggleAfficheContenu(this.getItemId(event)); this.render(true); }); + this.html.find('.actor-montrer').click(async event => this.actor.postActorToChat()); this.html.find('.item-edit').click(async event => this.getItem(event)?.sheet.render(true)) this.html.find('.item-montrer').click(async event => this.getItem(event)?.postItemToChat()); - this.html.find('.actor-montrer').click(async event => this.actor.postActorToChat()); + this.html.find('.recherche') .each((index, field) => { this._rechercheSelectArea(field); @@ -152,9 +146,16 @@ export class RdDBaseActorSheet extends ActorSheet { .keyup(async event => this._rechercherKeyup(event)) .change(async event => this._rechercherKeyup(event)); this.html.find('.recherche').prop("disabled", false); + // Everything below here is only needed if the sheet is editable if (!this.options.editable) return; + this.html.find('.item-action').click(async event => { + const item = RdDSheetUtility.getItem(event, this.actor); + item?.actionPrincipale(this.actor, async () => this.render()) + }); + + this.html.find('.item-split').click(async event => { const item = this.getItem(event); RdDSheetUtility.splitItem(item, this.actor);