Allow editing embedded documents (used for spells here) in the item's sheet itself.
This commit is contained in:
parent
516f7ac826
commit
7381a2a7fe
6 changed files with 56 additions and 7 deletions
|
|
@ -14,17 +14,28 @@ export class ActorHandler extends Actor {
|
|||
return this.actorTypes[this.type];
|
||||
};
|
||||
|
||||
genericEmbeddedUpdate($event) {
|
||||
async openEmbeddedSheet($event) {
|
||||
console.log(`openEmbeddedSheet`)
|
||||
if (this.fn?.openEmbeddedSheet) {
|
||||
this.fn.openEmbeddedSheet.bind(this)($event);
|
||||
} else {
|
||||
const data = $event.currentTarget.dataset;
|
||||
let item = await fromUuid(data.embeddedEdit);
|
||||
item?.sheet.render(true);
|
||||
};
|
||||
};
|
||||
|
||||
async genericEmbeddedUpdate($event) {
|
||||
if (!this.fn?.genericEmbeddedUpdate) return;
|
||||
this.fn.genericEmbeddedUpdate.bind(this)($event);
|
||||
};
|
||||
|
||||
genericEmbeddedDelete($event) {
|
||||
async genericEmbeddedDelete($event) {
|
||||
if (!this.fn?.genericEmbeddedDelete) return;
|
||||
this.fn.genericEmbeddedDelete.bind(this)($event);
|
||||
};
|
||||
|
||||
createCustomSpell() {
|
||||
async createCustomSpell() {
|
||||
if (!this.fn?.createCustomSpell) return;
|
||||
this.fn.createCustomSpell.bind(this)();
|
||||
this.sheet.render(true);
|
||||
|
|
|
|||
|
|
@ -37,11 +37,26 @@ export class PlayerActor {
|
|||
};
|
||||
|
||||
/** @this {Actor} */
|
||||
static createCustomSpell() {
|
||||
this.createEmbeddedDocuments(
|
||||
static async createCustomSpell() {
|
||||
let items = await this.createEmbeddedDocuments(
|
||||
"Item",
|
||||
[{ type: `spell`, name: `New Spell` }]
|
||||
[{
|
||||
type: `spell`,
|
||||
name: game.i18n.format(`dotdungeon.defaults.spell.name`),
|
||||
}]
|
||||
);
|
||||
if (items.length == 0) {
|
||||
ui.notifications.error(
|
||||
`dotdungeon.notifications.error.spell-create-failed`,
|
||||
{ localize: true, console: false }
|
||||
);
|
||||
return;
|
||||
};
|
||||
this.sheet.render();
|
||||
if (game.settings.get(`dotdungeon`, `openEmbeddedOnCreate`)) {
|
||||
for (const item of items) {
|
||||
item.sheet.render(true);
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue