fix: valider le champs des dialogs
Forcer la validation des champs saisis avant de fermer les dialogs et d'appeler le callback pour avoir la dernière valuer saisie par l'utilisateur
This commit is contained in:
@ -17,9 +17,7 @@ export class DialogConsommer extends Dialog {
|
||||
default: consommerData.buttonName,
|
||||
buttons: {
|
||||
[consommerData.buttonName]: {
|
||||
label: consommerData.buttonName, callback: it => {
|
||||
this.actor.consommer(this.item, this.consommerData.choix);
|
||||
}
|
||||
label: consommerData.buttonName, callback: it => this.onConsommer(it)
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -31,6 +29,12 @@ export class DialogConsommer extends Dialog {
|
||||
this.consommerData = consommerData;
|
||||
}
|
||||
|
||||
async onConsommer(event) {
|
||||
await $(".se-forcer").change();
|
||||
await $(".consommer-doses").change();
|
||||
this.actor.consommer(this.item, this.consommerData.choix);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static prepareData(actor, item, options) {
|
||||
const itemData = duplicate(Misc.data(item));
|
||||
@ -68,15 +72,19 @@ export class DialogConsommer extends Dialog {
|
||||
/* -------------------------------------------- */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
html.find(".se-forcer").change(event => {
|
||||
this.consommerData.choix.seForcer = event.currentTarget.checked;
|
||||
});
|
||||
html.find(".consommer-doses").change(event => {
|
||||
this.consommerData.choix.doses = Number(event.currentTarget.value);
|
||||
DialogConsommer.calculDoses(this.consommerData);
|
||||
$(".total-sust").text(this.consommerData.totalSust)
|
||||
$(".total-desaltere").text(this.consommerData.totalDesaltere)
|
||||
});
|
||||
html.find(".se-forcer").change(event => this.setSeForcer(event));
|
||||
html.find(".consommer-doses").change(event => this.selectDoses(event));
|
||||
}
|
||||
|
||||
|
||||
setSeForcer(event) {
|
||||
this.consommerData.choix.seForcer = event.currentTarget.checked;
|
||||
}
|
||||
|
||||
selectDoses(event) {
|
||||
this.consommerData.choix.doses = Number(event.currentTarget.value);
|
||||
DialogConsommer.calculDoses(this.consommerData);
|
||||
$(".total-sust").text(this.consommerData.totalSust);
|
||||
$(".total-desaltere").text(this.consommerData.totalDesaltere);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user