[pos][minor] barcode clear timeout done
diff --git a/accounts/doctype/sales_invoice/pos.js b/accounts/doctype/sales_invoice/pos.js
index 0bae8a3..1a9fb12 100644
--- a/accounts/doctype/sales_invoice/pos.js
+++ b/accounts/doctype/sales_invoice/pos.js
@@ -160,8 +160,10 @@
parent: this.wrapper.find(".barcode-area")
});
this.barcode.make_input();
- this.barcode.$input.on("change", function() {
- setTimeout(me.add_item_thru_barcode(), 1000);
+ this.barcode.$input.on("keypress", function() {
+ if(me.barcode_timeout)
+ clearTimeout(me.barcode_timeout);
+ me.barcode_timeout = setTimeout(function() { me.add_item_thru_barcode(); }, 1000);
});
},
make_item_list: function() {
@@ -233,19 +235,23 @@
me.frm.cscript.item_code(me.frm.doc, child.doctype, child.name);
}
},
- update_qty: function(item_code, qty) {
+ update_qty: function(item_code, qty, textbox_qty) {
var me = this;
$.each(wn.model.get_children("Sales Invoice Item", this.frm.doc.name, "entries",
"Sales Invoice"), function(i, d) {
if (d.item_code == item_code) {
- if (qty == 1)
- d.qty += 1;
- else
+ if (textbox_qty) {
+ if (qty == 0 && d.item_code == item_code)
+ wn.model.clear_doc(d.doctype, d.name);
d.qty = qty;
+ }
+ else
+ d.qty += 1;
me.frm.cscript.qty(me.frm.doc, d.doctype, d.name);
}
});
+ me.frm.dirty();
me.refresh();
},
refresh: function() {
@@ -288,7 +294,7 @@
<tr>', {
description: d.description,
tax_amount: format_currency(d.tax_amount, me.frm.doc.price_list_currency)
- })).appendTo(".tax-table tbody")
+ })).appendTo(".tax-table tbody");
});
// set totals
@@ -304,7 +310,7 @@
// append quantity to the respective item after change from input box
$("input.qty").on("change", function() {
var item_code = $(this).closest("tr")[0].id;
- me.update_qty(item_code, $(this).val());
+ me.update_qty(item_code, $(this).val(), true);
});
// on td click toggle the highlighting of row
@@ -330,6 +336,7 @@
},
add_item_thru_barcode: function() {
var me = this;
+ me.barcode_timeout = null;
wn.call({
method: 'accounts.doctype.sales_invoice.pos.get_item_from_barcode',
args: {barcode: this.barcode.$input.val()},
@@ -367,6 +374,7 @@
});
cur_frm.fields_dict["entries"].grid.refresh();
cur_frm.script_manager.trigger("calculate_taxes_and_totals");
+ me.frm.dirty();
me.refresh();
},
make_payment: function() {