summaryrefslogtreecommitdiff
path: root/addons/barcodes/static/src/js/barcode_events.js
diff options
context:
space:
mode:
authorAkash Bhavsar <abh@odoo.com>2017-06-26 17:24:01 +0530
committerAaron Bohy <aab@odoo.com>2017-08-25 15:54:56 +0200
commitb131e9b0ef458e8cc00b0a2eb6c1b4d8dfe889a0 (patch)
tree51589b025dffc424e6e67dfac5c11a35fe88ea42 /addons/barcodes/static/src/js/barcode_events.js
parent7095c32f1cd17a86606e4137ece8baa3034fe74a (diff)
[FIX] barcodes: fix several issues when scanning barcodes
Since the new views, most of the barcodes feature was broken. This commit re-enables the support of commands like 'edit', 'save', 'cancel', 'previous' and 'next'. Also changed javascript event handler to jquery event handler to make barcodes testable in phantomjs.
Diffstat (limited to 'addons/barcodes/static/src/js/barcode_events.js')
-rw-r--r--addons/barcodes/static/src/js/barcode_events.js22
1 files changed, 8 insertions, 14 deletions
diff --git a/addons/barcodes/static/src/js/barcode_events.js b/addons/barcodes/static/src/js/barcode_events.js
index 04c03a41308..0f13c59fe66 100644
--- a/addons/barcodes/static/src/js/barcode_events.js
+++ b/addons/barcodes/static/src/js/barcode_events.js
@@ -77,13 +77,7 @@ var BarcodeEvents = core.Class.extend(mixins.PropertiesMixin, {
'bubbles': old_event.bubbles,
'cancelable': old_event.cancelable,
};
- try {
- new_event = new Event("keypress", params);
- } catch(error) {
- // For IE >= 9, use new CustomEvent(), instead of new Event()
- new_event = new CustomEvent("keypress", params);
- }
-
+ new_event = $.Event('keypress', params);
new_event.viewArg = old_event.viewArg;
new_event.ctrl = old_event.ctrl;
new_event.alt = old_event.alt;
@@ -96,7 +90,7 @@ var BarcodeEvents = core.Class.extend(mixins.PropertiesMixin, {
new_event.which = old_event.which;
new_event.dispatched_by_barcode_reader = true;
- old_event.target.dispatchEvent(new_event);
+ $(old_event.target).trigger(new_event);
}
}
},
@@ -173,17 +167,17 @@ var BarcodeEvents = core.Class.extend(mixins.PropertiesMixin, {
},
start: function(prevent_key_repeat){
- document.body.addEventListener('keypress', this.__handler, true);
+ $('body').bind("keypress", this.__handler);
if (prevent_key_repeat === true) {
- document.body.addEventListener('keydown', this.__keydown_handler, true);
- document.body.addEventListener('keyup', this.__keyup_handler, true);
+ $('body').bind("keydown", this.__keydown_handler);
+ $('body').bind('keyup', this.__keyup_handler);
}
},
stop: function(){
- document.body.removeEventListener('keypress', this.__handler, true);
- document.body.removeEventListener('keydown', this.__keydown_handler, true);
- document.body.removeEventListener('keyup', this.__keyup_handler, true);
+ $('body').unbind("keypress", this.__handler);
+ $('body').unbind("keydown", this.__keydown_handler);
+ $('body').unbind('keyup', this.__keyup_handler);
},
});