foundryvtt-reve-de-dragon/module/dialog-split-item.js

45 lines
1.3 KiB
JavaScript
Raw Normal View History

2021-04-13 00:58:05 +02:00
import { Misc } from "./misc.js";
export class DialogSplitItem extends Dialog {
static async create(item, callback) {
const splitData = {
item: item,
choix: { quantite: 1, max: item.system.quantite - 1 }
2021-04-13 00:58:05 +02:00
};
const html = await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/dialog-item-split.html`, splitData);
return new DialogSplitItem(item, splitData, html, callback)
}
constructor(item, splitData, html, callback) {
2022-12-12 23:32:23 +01:00
let options = { classes: ["dialogsplit"], width: 300, height: 'fit-content', 'z-index': 99999 };
2021-04-13 00:58:05 +02:00
let conf = {
title: "Séparer en deux",
content: html,
default: "separer",
buttons: {
"separer": { label: "Séparer", callback: it => this.onSplit() }
2021-04-13 00:58:05 +02:00
}
};
super(conf, options);
2021-04-13 00:58:05 +02:00
this.callback = callback;
this.item = item;
this.splitData = splitData;
}
activateListeners(html) {
super.activateListeners(html);
this.html = html;
this.html.find(".choix-quantite").change(event => {
2021-04-13 00:58:05 +02:00
this.splitData.choix.quantite = Number(event.currentTarget.value);
});
}
/* -------------------------------------------- */
async onSplit() {
await this.html.find(".choix-quantite").change();
this.callback(this.item, this.splitData.choix.quantite);
}
2021-04-13 00:58:05 +02:00
}