From cfe4b337af7c5ccef586289d1bd7d69a700d5d93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9ry=20Debongnie?= Date: Thu, 16 Jun 2016 14:00:22 +0200 Subject: [REF] web: move async_when to utils --- addons/web/static/src/js/framework/utils.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'addons/web/static/src/js/framework/utils.js') diff --git a/addons/web/static/src/js/framework/utils.js b/addons/web/static/src/js/framework/utils.js index edf7355dc29..e19246823c5 100644 --- a/addons/web/static/src/js/framework/utils.js +++ b/addons/web/static/src/js/framework/utils.js @@ -470,6 +470,31 @@ function toBoolElse (str, elseValues, trueValues, falseValues) { return ret; } +function async_when() { + var async = false; + var def = $.Deferred(); + $.when.apply($, arguments).done(function() { + var args = arguments; + var action = function() { + def.resolve.apply(def, args); + }; + if (async) + action(); + else + setTimeout(action, 0); + }).fail(function() { + var args = arguments; + var action = function() { + def.reject.apply(def, args); + }; + if (async) + action(); + else + setTimeout(action, 0); + }); + async = true; + return def; +} return { divmod: divmod, @@ -501,6 +526,7 @@ return { delay: delay, swap: swap, toBoolElse: toBoolElse, + async_when: async_when, }; }); -- cgit v1.2.3