diff --git a/module/documents/Actor/Handler.mjs b/module/documents/Actor/Handler.mjs index 7a2757d..2fbe384 100644 --- a/module/documents/Actor/Handler.mjs +++ b/module/documents/Actor/Handler.mjs @@ -14,9 +14,14 @@ export class ActorHandler extends Actor { return this.actorTypes[this.type]; }; - updateEmbeddedDocument($event) { - if (!this.fn?.updateEmbeddedDocument) return; - this.fn.updateEmbeddedDocument.bind(this)($event); + genericEmbeddedUpdate($event) { + if (!this.fn?.genericEmbeddedUpdate) return; + this.fn.genericEmbeddedUpdate.bind(this)($event); + }; + + genericEmbeddedDelete($event) { + if (!this.fn?.genericEmbeddedDelete) return; + this.fn.genericEmbeddedDelete.bind(this)($event); }; createCustomSpell() { diff --git a/module/documents/Actor/Player.mjs b/module/documents/Actor/Player.mjs index f3e07c8..7e02f72 100644 --- a/module/documents/Actor/Player.mjs +++ b/module/documents/Actor/Player.mjs @@ -1,14 +1,24 @@ export class PlayerActor { + static async genericEmbeddedUpdate($event) { + let data = $event.target.dataset; + let item = await fromUuid(data.embeddedId); + item?.update({ [data.embeddedUpdate]: $event.target.value }); + }; + + static async genericEmbeddedDelete($event) { + let data = $event.target.dataset; + let itemID = data.embeddedId; + if (!itemID) { + // TODO: Throw a notification here + return; + }; + // TODO: Ask for confirmation before deleting + }; + static createCustomSpell() { this.createEmbeddedDocuments( "Item", [{ type: `spell`, name: `New Spell` }] ); }; - - static async updateEmbeddedDocument($event) { - let data = $event.target.dataset; - let item = await fromUuid(data.embeddedId); - item?.update({ [data.embeddedUpdate]: $event.target.value }); - }; };