diff options
| author | Christophe Matthieu <chm@odoo.com> | 2015-07-17 15:34:31 +0200 |
|---|---|---|
| committer | Christophe Matthieu <chm@odoo.com> | 2015-07-22 12:15:24 +0200 |
| commit | 71732dceb6613dab28d6eef96fa155acc91af7ce (patch) | |
| tree | 1f33280ca569fd23912a640a79ec8d878d934bfc /addons/website_links/static/src/js | |
| parent | dfad968515b523ebc900a0ba0fa1b111626f6149 (diff) | |
[IMP] web: module can be asynchronous loaded if it return a deferred
Each module can return a deferred. In that case, the module is marked as loaded
only when the deferred is resolved, and its value is equal to the resolved value.
The module can be rejected (unloaded). This will be logged in the console as info.
Remove if_dom_contains from the website, the modules return a rejected deferred if
the DOM doesn't contains the seleted values.
Diffstat (limited to 'addons/website_links/static/src/js')
3 files changed, 11 insertions, 8 deletions
diff --git a/addons/website_links/static/src/js/website_links.js b/addons/website_links/static/src/js/website_links.js index 053bb2756c7..28facdf5206 100644 --- a/addons/website_links/static/src/js/website_links.js +++ b/addons/website_links/static/src/js/website_links.js @@ -14,7 +14,9 @@ var ZeroClipboard = window.ZeroClipboard; var exports = {}; -website.if_dom_contains('div.o_website_links_create_tracked_url', function() { +if(!$('.o_website_links_create_tracked_url').length) { + return $.Deferred().reject("DOM doesn't contain '.o_website_links_create_tracked_url'"); +} var SelectBox = Widget.extend({ init: function(obj) { @@ -386,7 +388,6 @@ website.if_dom_contains('div.o_website_links_create_tracked_url', function() { exports.SelectBox = SelectBox; exports.RecentLinkBox = RecentLinkBox; exports.RecentLinks = RecentLinks; -}); return exports; }); diff --git a/addons/website_links/static/src/js/website_links_charts.js b/addons/website_links/static/src/js/website_links_charts.js index 3db653b688b..e73b625dadc 100644 --- a/addons/website_links/static/src/js/website_links_charts.js +++ b/addons/website_links/static/src/js/website_links_charts.js @@ -8,7 +8,10 @@ var Model = require('web.Model'); var exports = {}; -website.if_dom_contains('div.o_website_links_chart', function() { +if(!$('.o_website_links_chart').length) { + return $.Deferred().reject("DOM doesn't contain '.o_website_links_chart'"); +} + var BarChart = Widget.extend({ init: function($element, begin_date, end_date, dates) { this.$element = $element; @@ -244,7 +247,6 @@ website.if_dom_contains('div.o_website_links_chart', function() { exports.BarChart = BarChart; exports.PieChart = PieChart; -}); return exports; }); diff --git a/addons/website_links/static/src/js/website_links_code_editor.js b/addons/website_links/static/src/js/website_links_code_editor.js index afd11a62f43..68019f70177 100644 --- a/addons/website_links/static/src/js/website_links_code_editor.js +++ b/addons/website_links/static/src/js/website_links_code_editor.js @@ -5,8 +5,10 @@ var ajax = require('web.ajax'); var base = require('web_editor.base'); var website = require('website.website'); -base.ready().done(function() { -website.if_dom_contains('.o_website_links_edit_code', function() { + +if(!$('.o_website_links_edit_code').length) { + return $.Deferred().reject("DOM doesn't contain '.o_website_links_edit_code'"); +} // Edit the short URL code $('.o_website_links_edit_code').on('click', function(e) { @@ -84,5 +86,3 @@ website.if_dom_contains('.o_website_links_edit_code', function() { }); }); -}); -}); |
