feat: audible indication of scan status.
This commit is contained in:
parent
613c8158a8
commit
32e75ff808
@ -21,6 +21,11 @@ erpnext.utils.BarcodeScanner = class BarcodeScanner {
|
|||||||
this.items_table_name = opts.items_table_name || "items";
|
this.items_table_name = opts.items_table_name || "items";
|
||||||
this.items_table = this.frm.doc[this.items_table_name];
|
this.items_table = this.frm.doc[this.items_table_name];
|
||||||
|
|
||||||
|
// optional sound name to play when scan either fails or passes.
|
||||||
|
// see https://frappeframework.com/docs/v14/user/en/python-api/hooks#sounds
|
||||||
|
this.success_sound = opts.play_success_sound;
|
||||||
|
this.fail_sound = opts.play_fail_sound;
|
||||||
|
|
||||||
// any API that takes `search_value` as input and returns dictionary as follows
|
// any API that takes `search_value` as input and returns dictionary as follows
|
||||||
// {
|
// {
|
||||||
// item_code: "HORSESHOE", // present if any item was found
|
// item_code: "HORSESHOE", // present if any item was found
|
||||||
@ -54,13 +59,18 @@ erpnext.utils.BarcodeScanner = class BarcodeScanner {
|
|||||||
if (!data || Object.keys(data).length === 0) {
|
if (!data || Object.keys(data).length === 0) {
|
||||||
this.show_alert(__("Cannot find Item with this Barcode"), "red");
|
this.show_alert(__("Cannot find Item with this Barcode"), "red");
|
||||||
this.clean_up();
|
this.clean_up();
|
||||||
|
this.play_fail_sound();
|
||||||
reject();
|
reject();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
me.update_table(data).then(row => {
|
me.update_table(data).then(row => {
|
||||||
|
this.play_success_sound();
|
||||||
resolve(row);
|
resolve(row);
|
||||||
}).catch(() => reject());
|
}).catch(() => {
|
||||||
|
this.play_fail_sound();
|
||||||
|
reject();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -221,6 +231,14 @@ erpnext.utils.BarcodeScanner = class BarcodeScanner {
|
|||||||
return this.items_table.find((d) => !d.item_code);
|
return this.items_table.find((d) => !d.item_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
play_success_sound() {
|
||||||
|
this.success_sound && frappe.utils.play_sound(this.success_sound);
|
||||||
|
}
|
||||||
|
|
||||||
|
play_fail_sound() {
|
||||||
|
this.fail_sound && frappe.utils.play_sound(this.fail_sound);
|
||||||
|
}
|
||||||
|
|
||||||
clean_up() {
|
clean_up() {
|
||||||
this.scan_barcode_field.set_value("");
|
this.scan_barcode_field.set_value("");
|
||||||
refresh_field(this.items_table_name);
|
refresh_field(this.items_table_name);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user