import HeritiersItemSheet from "./base-item-sheet.mjs" export default class HeritiersCompetenceSheet extends HeritiersItemSheet { /** @override */ static DEFAULT_OPTIONS = { ...super.DEFAULT_OPTIONS, window: { ...super.DEFAULT_OPTIONS.window, title: "SHEETS.Item.competence", }, actions: { addSpecialite: HeritiersCompetenceSheet.#onAddSpecialite, deleteSpecialite: HeritiersCompetenceSheet.#onDeleteSpecialite, editSpecialite: HeritiersCompetenceSheet.#onEditSpecialite, editSpecialiteDescription: HeritiersCompetenceSheet.#onEditSpecialiteDescription, } } /** @override */ static PARTS = { sheet: { template: "systems/fvtt-les-heritiers/templates/item-competence-sheet.hbs", }, } /* -------------------------------------------- */ /* Event Handlers */ /* -------------------------------------------- */ static async #onAddSpecialite(event, target) { let spec = foundry.utils.duplicate(this.item.system.specialites) || [] spec.push({ name: "Nouvelle Spécialité", id: foundry.utils.randomID(16), used: false }) await this.item.update({ 'system.specialites': spec }) } static async #onDeleteSpecialite(event, target) { const li = target.closest(".specialite-item") let index = parseInt(li.dataset.specialiteIndex) let spec = foundry.utils.duplicate(this.item.system.specialites) || [] spec.splice(index, 1) await this.item.update({ 'system.specialites': spec }) } static async #onEditSpecialite(event, target) { const li = target.closest(".specialite-item") let index = parseInt(li.dataset.specialiteIndex) let spec = foundry.utils.duplicate(this.item.system.specialites) || [] if (spec[index]) { spec[index].name = target.value spec[index].id = spec[index].id || foundry.utils.randomID(16) await this.item.update({ 'system.specialites': spec }) } } static async #onEditSpecialiteDescription(event, target) { const li = target.closest(".specialite-item") let index = parseInt(li.dataset.specialiteIndex) let spec = foundry.utils.duplicate(this.item.system.specialites) || [] if (spec[index]) { spec[index].description = target.value spec[index].id = spec[index].id || foundry.utils.randomID(16) await this.item.update({ 'system.specialites': spec }) } } }