diff options
| author | qsm-odoo <qsm@odoo.com> | 2016-09-30 11:33:17 +0200 |
|---|---|---|
| committer | qsm-odoo <qsm@odoo.com> | 2016-09-30 12:19:46 +0200 |
| commit | 3cbc7ebc4c3e0edb25d1a91dcbf4df163ef6d29e (patch) | |
| tree | d4c57cf880e39d2402bb75b63868010a63d1b235 | |
| parent | 984afdf120718a71b6b38a010c87d0b1bc44baf7 (diff) | |
[FIX] *: missing base.ready() waiting for frontend tours
Frontend tours have to wait for base.ready() before starting otherwise
they can find DOM elements whose event handlers have not been attached
yet.
Note that this is a workaround to ignore these real "bugs" as users
should not be able to see buttons they can't click at once but there is
no safe and small fix which will resolve that. The time between the DOM
becomes visible and handlers are attached is small enough to ignore
this bug for now anyway.
5 files changed, 29 insertions, 7 deletions
diff --git a/addons/survey/static/src/js/tour_test_survey.js b/addons/survey/static/src/js/tour_test_survey.js index e459336679a..bf0ae590709 100644 --- a/addons/survey/static/src/js/tour_test_survey.js +++ b/addons/survey/static/src/js/tour_test_survey.js @@ -2,9 +2,13 @@ odoo.define('survey.tour_test_survey', function (require) { 'use strict'; var tour = require('web_tour.tour'); +var base = require("web_editor.base"); - -tour.register('test_survey', { test: true, url: '/survey/start/user-feedback-form-1/phantom' }, +tour.register('test_survey', { + test: true, + url: '/survey/start/user-feedback-form-1/phantom', + wait_for: base.ready() +}, [ // Page-1 { diff --git a/addons/website/static/src/js/website.tour.rte.js b/addons/website/static/src/js/website.tour.rte.js index 3026e4c86b2..7785441faa0 100644 --- a/addons/website/static/src/js/website.tour.rte.js +++ b/addons/website/static/src/js/website.tour.rte.js @@ -2,9 +2,12 @@ odoo.define('website.tour.rte', function (require) { 'use strict'; var tour = require("web_tour.tour"); -var local_storage = require('web.local_storage'); +var base = require("web_editor.base"); -tour.register('rte_translator', { test: true }, +tour.register('rte_translator', { + test: true, + wait_for: base.ready() +}, [ { content: "click on Add a language", diff --git a/addons/website_event_sale/static/src/js/website.tour.event_sale.js b/addons/website_event_sale/static/src/js/website.tour.event_sale.js index 25b27c69ca2..de23a9b4b67 100644 --- a/addons/website_event_sale/static/src/js/website.tour.event_sale.js +++ b/addons/website_event_sale/static/src/js/website.tour.event_sale.js @@ -2,8 +2,13 @@ odoo.define('website_event_sale.tour', function (require) { 'use strict'; var tour = require('web_tour.tour'); +var base = require("web_editor.base"); -tour.register('event_buy_tickets', { test: true, url: '/event' }, +tour.register('event_buy_tickets', { + test: true, + url: '/event', + wait_for: base.ready() +}, [ { content: "Go to the `Events` page", diff --git a/addons/website_sale/static/src/js/website_sale_tour_buy.js b/addons/website_sale/static/src/js/website_sale_tour_buy.js index c5a3b8abb31..18db42a1270 100644 --- a/addons/website_sale/static/src/js/website_sale_tour_buy.js +++ b/addons/website_sale/static/src/js/website_sale_tour_buy.js @@ -2,8 +2,13 @@ odoo.define('website_sale.tour', function (require) { 'use strict'; var tour = require("web_tour.tour"); +var base = require("web_editor.base"); -tour.register('shop_buy_product', { test: true, url: '/shop' }, +tour.register('shop_buy_product', { + test: true, + url: '/shop', + wait_for: base.ready() +}, [ { content: "search ipod", diff --git a/addons/website_sale_options/static/src/js/website_sale.test.js b/addons/website_sale_options/static/src/js/website_sale.test.js index 947d30079ba..c4e38e1fcf3 100644 --- a/addons/website_sale_options/static/src/js/website_sale.test.js +++ b/addons/website_sale_options/static/src/js/website_sale.test.js @@ -3,6 +3,7 @@ odoo.define('website_sale.test', function (require) { require("website_sale.tour"); var tour = require("web_tour.tour"); +var base = require("web_editor.base"); var steps = tour.tours.shop_buy_product.steps; for (var k=0; k<steps.length; k++) { @@ -15,7 +16,11 @@ for (var k=0; k<steps.length; k++) { } } -tour.register('shop_customize', { test: true, url: '/shop' }, +tour.register('shop_customize', { + test: true, + url: '/shop', + wait_for: base.ready() +}, [ { content: "open customize menu", |
