summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/component_extension.js
diff options
context:
space:
mode:
authorGéry Debongnie <ged@odoo.com>2019-08-23 13:19:24 +0000
committerVincent Schippefilt <vsc@odoo.com>2019-12-09 11:09:10 +0000
commit29726e8fd000cb09075f9b6b2a6a8d2ddaf4ef58 (patch)
tree91718f6edc90cc069ee5ff3b44c4beb823d31104 /addons/web/static/src/js/component_extension.js
parent3b4592acfcd67f2b3e467c5e3f82d7b524b96843 (diff)
[ADD] web: add owl 1.0.0-beta1 to odoo
With this commit, we properly introduce the Owl library into our beloved codebase. More information on the Owl library can be found in the project repository: https://github.com/odoo/owl/ Co-authored-by: Aaron Bohy <aab@odoo.com> Co-authored-by: Julien Mougenot <jum@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/component_extension.js')
-rw-r--r--addons/web/static/src/js/component_extension.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/addons/web/static/src/js/component_extension.js b/addons/web/static/src/js/component_extension.js
new file mode 100644
index 00000000000..39568bd0594
--- /dev/null
+++ b/addons/web/static/src/js/component_extension.js
@@ -0,0 +1,21 @@
+/**
+ * Add a new method to owl Components to ensure that no performed RPC is
+ * resolved/rejected when the component is destroyed.
+ */
+(function () {
+ owl.Component.prototype.rpc = function () {
+ return new Promise((resolve, reject) => {
+ return this.env.services.rpc(...arguments)
+ .then(result => {
+ if (!this.__owl__.isDestroyed) {
+ resolve(result);
+ }
+ })
+ .catch(reason => {
+ if (!this.__owl__.isDestroyed) {
+ reject(reason);
+ }
+ });
+ });
+ };
+})();