diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js index f6185201035..76756c08e47 100644 --- a/addons/website/static/src/js/website.js +++ b/addons/website/static/src/js/website.js @@ -255,6 +255,22 @@ if($.fn.placeholder) $('input, textarea').placeholder(); }); + /** + * Execute a function if the dom contains at least one element matched + * through the given jQuery selector. Will first wait for the dom to be ready. + * + * @param {String} selector A jQuery selector used to match the element(s) + * @param {Function} fn Callback to execute if at least one element has been matched + */ + website.if_dom_contains = function(selector, fn) { + website.dom_ready.then(function () { + var elems = $(selector); + if (elems.length) { + fn(elems); + } + }); + }; + var all_ready = null; /** * Returns a deferred resolved when the templates are loaded @@ -282,7 +298,7 @@ website.inject_tour = function() { // if a tour is active inject tour js - } + }; website.dom_ready.then(function () { /* ----- PUBLISHING STUFF ---- */ diff --git a/addons/website_event/views/website_event.xml b/addons/website_event/views/website_event.xml index bdc92cdd69e..74846554ff3 100644 --- a/addons/website_event/views/website_event.xml +++ b/addons/website_event/views/website_event.xml @@ -197,7 +197,7 @@