diff options
| author | Géry Debongnie <ged@odoo.com> | 2016-06-16 14:00:22 +0200 |
|---|---|---|
| committer | Géry Debongnie <ged@odoo.com> | 2016-06-17 13:24:54 +0200 |
| commit | cfe4b337af7c5ccef586289d1bd7d69a700d5d93 (patch) | |
| tree | dca60967bb75e35960292c2141feb048ff8f369e /addons/web/static/src/js/framework/utils.js | |
| parent | cfe13f79e6ab513f9753ee995cf9bd56dab4d3a4 (diff) | |
[REF] web: move async_when to utils
Diffstat (limited to 'addons/web/static/src/js/framework/utils.js')
| -rw-r--r-- | addons/web/static/src/js/framework/utils.js | 26 |
1 files changed, 26 insertions, 0 deletions
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, }; }); |
