Tweak the embedded item updating method to make it retrieve the value correctly

This commit is contained in:
Oliver-Akins 2024-01-20 14:49:16 -07:00
parent 6700c8c1fb
commit 9a61b9f127
2 changed files with 13 additions and 12 deletions

View file

@ -31,8 +31,19 @@ export class ActorHandler extends Actor {
};
async genericEmbeddedUpdate($event) {
if (!this.fn?.genericEmbeddedUpdate) return;
this.fn.genericEmbeddedUpdate.bind(this)($event);
if (this.fn?.genericEmbeddedUpdate) {
return this.fn.genericEmbeddedUpdate.bind(this)($event);
};
const target = $event.delegateTarget;
const data = target.dataset;
const item = await fromUuid(data.embeddedId);
let value = target.value;
switch (target.type) {
case "checkbox": value = target.checked; break;
};
await item?.update({ [data.embeddedUpdate]: value });
};
async genericEmbeddedDelete($event) {

View file

@ -1,13 +1,5 @@
import { ItemHandler } from "../Item/Handler.mjs";
/** @this {Actor} */
async function genericEmbeddedUpdate($event) {
let data = $event.delegateTarget.dataset;
let item = await fromUuid(data.embeddedId);
item?.update({ [data.embeddedUpdate]: $event.target.value });
this.sheet.render();
};
/** @this {Actor} */
async function genericEmbeddedDelete($event) {
let data = $event.currentTarget.dataset;
@ -73,7 +65,6 @@ async function createCustomSpell() {
/** @this {Actor} */
async function atAspectLimit() {
let limit = game.settings.get(`dotdungeon`, `aspectLimit`);
console.log(this.itemTypes.aspect.length, `>=`, limit, `-->`, this.itemTypes.aspect.length >= limit)
return this.itemTypes.aspect.length >= limit;
};
@ -100,6 +91,5 @@ export default {
createCustomAspect,
createCustomSpell,
genericEmbeddedDelete,
genericEmbeddedUpdate,
preAspectEmbed,
};