summaryrefslogtreecommitdiff
path: root/addons/website/static/src/js/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website/static/src/js/utils.js')
-rw-r--r--addons/website/static/src/js/utils.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/addons/website/static/src/js/utils.js b/addons/website/static/src/js/utils.js
index 9cf511fe160..01f0e7797a4 100644
--- a/addons/website/static/src/js/utils.js
+++ b/addons/website/static/src/js/utils.js
@@ -60,6 +60,24 @@ function autocompleteWithPages(self, $input) {
},
});
}
+
+/**
+ * @param {jQuery} $element
+ */
+function onceAllImagesLoaded($element) {
+ var defs = _.map($element.find('img').addBack('img'), function (img) {
+ if (img.complete) {
+ return; // Already loaded
+ }
+ var def = $.Deferred();
+ $(img).one('load', function () {
+ def.resolve();
+ });
+ return def;
+ });
+ return $.when.apply($, defs);
+}
+
/**
* @deprecated
* @todo create Dialog.prompt instead of this
@@ -168,6 +186,7 @@ function prompt(options, _qweb) {
return {
loadAnchors: loadAnchors,
autocompleteWithPages: autocompleteWithPages,
+ onceAllImagesLoaded: onceAllImagesLoaded,
prompt: prompt,
};
});