diff options
| author | qsm-odoo <qsm@odoo.com> | 2017-06-07 17:45:15 +0200 |
|---|---|---|
| committer | qsm-odoo <qsm@odoo.com> | 2017-08-16 10:59:39 +0200 |
| commit | 4f925af06fd3cebfcfb56eb947ab68c8a2ca4490 (patch) | |
| tree | b13bd049b6b3e7bbdfb537d19b53c95fc4025ea5 /addons/website/static/src/js/tours | |
| parent | f205bfcd4ddcf3f1d8676ee87ee0b29941bd6773 (diff) | |
[MOV] web_editor, website: reorganize files
Diffstat (limited to 'addons/website/static/src/js/tours')
| -rw-r--r-- | addons/website/static/src/js/tours/banner.js | 81 | ||||
| -rw-r--r-- | addons/website/static/src/js/tours/rte.js | 159 |
2 files changed, 240 insertions, 0 deletions
diff --git a/addons/website/static/src/js/tours/banner.js b/addons/website/static/src/js/tours/banner.js new file mode 100644 index 00000000000..8c61c78a5ab --- /dev/null +++ b/addons/website/static/src/js/tours/banner.js @@ -0,0 +1,81 @@ +odoo.define("website.tour.banner", function (require) { + "use strict"; + + var core = require("web.core"); + var tour = require("web_tour.tour"); + var base = require("web_editor.base"); + + var _t = core._t; + + tour.register("banner", { + url: "/", + wait_for: base.ready(), + }, [{ + trigger: "a[data-action=edit]", + content: _t("<b>Click Edit</b> to start designing your homepage."), + extra_trigger: ".homepage", + position: "bottom", + }, { + trigger: "#snippet_structure .oe_snippet:eq(1) .oe_snippet_thumbnail", + content: _t("Drag the <i>Cover</i> block and drop it in your page."), + position: "bottom", + run: "drag_and_drop", + }, { + trigger: "#wrapwrap .s_text_block_image_fw h2", + content: _t("<b>Click on a text</b> to start editing it. <i>It's that easy to edit your content!</i>"), + position: "left", + width: 150, + run: "text", + }, { + trigger: ".oe_overlay_options .oe_options", + extra_trigger: "#wrapwrap .s_text_block_image_fw h2:not(:containsExact(\"Headline\"))", + content: _t("Customize any block through this menu. Try to change the background of the banner."), + position: "bottom", + }, { + trigger: "#snippet_structure .oe_snippet:eq(3) .oe_snippet_thumbnail", + content: _t("Drag another block in your page, below the cover."), + position: "bottom", + run: "drag_and_drop", + }, { + trigger: "button[data-action=save]", + extra_trigger: ".oe_overlay_options .oe_options", + content: _t("Publish your page by clicking on the <b>Save</b> button."), + position: "bottom", + }, { + trigger: "a[data-action=show-mobile-preview]", + content: _t("Good Job! You created your first page. Let's check how this page looks like on <b>mobile devices</b>."), + position: "bottom", + }, { + trigger: ".modal-dialog:has(#mobile-viewport) button[data-dismiss=modal]", + content: _t("After having checked how it looks on mobile, <b>close the preview</b>."), + position: "right", + }, { + trigger: "#oe_main_menu_navbar a[data-action=new_page]", + content: _t("<p><b>That's it.</b> Your homepage is live.</p><p>Continue adding more pages to your site or edit this page to make it even more awesome.</p>"), + position: "bottom", + }]); +}); + + +odoo.define("website.tour.contact", function (require) { + "use strict"; + + var core = require("web.core"); + var tour = require("web_tour.tour"); + var base = require("web_editor.base"); + var _t = core._t; + + tour.register("contact", { + url: "/page/contactus", + wait_for: base.ready(), + }, [{ + trigger: "li#customize-menu", + content: _t("<b>Install a contact form</b> to improve this page."), + extra_trigger: "#o_contact_mail", + position: "bottom", + }, { + trigger: "li#install_apps", + content: _t("<b>Install new apps</b> to get more features. Let's install the <i>'Contact form'</i> app."), + position: "bottom", + }]); +}); diff --git a/addons/website/static/src/js/tours/rte.js b/addons/website/static/src/js/tours/rte.js new file mode 100644 index 00000000000..d428c46fa7f --- /dev/null +++ b/addons/website/static/src/js/tours/rte.js @@ -0,0 +1,159 @@ +odoo.define('website.tour.rte', function (require) { +'use strict'; + +var tour = require("web_tour.tour"); +var base = require("web_editor.base"); + +tour.register('rte_translator', { + test: true, + wait_for: base.ready() +}, + [ + { + content: "click on Add a language", + trigger: '.js_language_selector a:has(i.fa)', + }, { + content: "select french", + trigger: 'select[name="lang"]', + run: 'text "fr_BE"', + }, { + content: "load french", + trigger: '.modal-footer button:first', + extra_trigger: '.modal select[name="lang"]:propValueContains(fr_BE)', + }, { + content: "go to english version", + trigger: '.js_language_selector a[data-lang="en_US"]', + extra_trigger: 'html[lang*="fr"]', + timeout: 60000, + }, { + content: "Open new page menu", + trigger: '#oe_main_menu_navbar a[data-action=new_page]', + extra_trigger: 'a[data-action="edit"]', + }, { + content: "click on new page", + trigger: 'a[data-action="new_page"]', + }, { + content: "insert page name", + trigger: '#editor_new_page input[type="text"]', + run: 'text rte_translator', + }, { + content: "create page", + trigger: 'button.btn-continue', + extra_trigger: 'input[type="text"]:propValue(rte_translator)', + }, { + content: "drop a snippet", + trigger: "#snippet_structure .oe_snippet:eq(1) .oe_snippet_thumbnail", + run: 'drag_and_drop', + }, { + content: "change content", + trigger: '.oe_overlay_options .oe_options:visible', + run: function () { + $("#wrap p:first").replaceWith('<p>Write one or <font style="background-color: yellow;">two paragraphs <b>describing</b></font> your product or\ + <font style="color: rgb(255, 0, 0);">services</font>. To be successful your content needs to be\ + useful to your <a href="/999">readers</a>.</p> <input placeholder="test translate placeholder"/>\ + <p><b></b> is an HTML tag & is empty</p>'); + $("#wrap img").attr("title", "test translate image title"); + } + }, { + content: "save", + trigger: 'button[data-action=save]', + extra_trigger: '#wrap p:first b', + }, { + content: "click on french version", + trigger: '.js_language_selector a[data-lang="fr_BE"]', + extra_trigger: 'html[lang*="en"]:not(:has(button[data-action=save]))', + }, { + content: "translate", + trigger: 'html:not(:has(#wrap p span)) .o_menu_systray a[data-action="translate"]', + }, { + content: "close modal", + trigger: 'button[data-action="activate"]', + }, { + content: "check if translation is activate", + trigger: '[data-oe-translation-id]', + }, { + content: "translate text", + trigger: '#wrap p font:first', + run: function (action_helper) { + action_helper.text('translated french text'); + this.$anchor.trigger('keydown'); + }, + }, { + content: "translate text with special char", + trigger: '#wrap input + p span:first', + run: function (action_helper) { + action_helper.click(); + this.$anchor.prepend('<{translated}>').trigger('keydown'); + }, + }, { + content: "click on input", + trigger: 'input:first', + extra_trigger: '#wrap .o_dirty font:first:contains(translated french text)', + run: 'click', + }, { + content: "translate placeholder", + trigger: 'input:first', + run: 'text test french placeholder', + }, { + content: "close modal", + trigger: 'button.o_save_button', + extra_trigger: '.modal input:propValue(test french placeholder)', + }, { + content: "save translation", + trigger: 'button[data-action=save]', + }, { + content: "check: content is translated", + trigger: '#wrap p font:first:contains(translated french text)', + run: function () {}, // it's a check + }, { + content: "check: content with special char is translated", + trigger: "#wrap input + p:contains(<{translated}><b></b> is an HTML\xa0tag & )", + run: function () {}, // it's a check + + }, { + content: "check: placeholder translation", + trigger: 'input[placeholder="test french placeholder"]', + run: function () {}, // it's a check + }, { + content: "return to english version", + trigger: '.js_language_selector a[data-lang="en_US"]', + extra_trigger: 'html[lang*="fr"]:not(:has(#wrap p span))', + }, { + content: "edit english version", + trigger: 'a[data-action=edit]', + extra_trigger: 'body:not(:has(#wrap p font:first:containsExact(paragraphs <b>describing</b>)))', + }, { + content: "select text", + extra_trigger: 'button[data-action=save]', + trigger: '#wrap p', + run: function (action_helper) { + action_helper.click(); + var el = this.$anchor[0]; + var evt = document.createEvent("MouseEvents"); + $.summernote.core.range.create(el.childNodes[2], 6, el.childNodes[2], 13).select(); + evt.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, el); + el.dispatchEvent(evt); + }, + }, { + content: "underline", + trigger: '.note-air-popover button[data-event="underline"]', + }, { + content: "save new change", + trigger: 'button[data-action=save]', + extra_trigger: '#wrap p u', + }, { + content: "return in french", + trigger: 'html[lang="en-US"] .js_language_selector a[data-lang="fr_BE"]', + extra_trigger: 'html[lang*="en"]:not(:has(button[data-action=save]))', + }, { + content: "check bis: content is translated", + trigger: '#wrap p font:first:contains(translated french text)', + extra_trigger: 'body:not(:has(button[data-action=save]))', + }, { + content: "check bis: placeholder translation", + trigger: 'input[placeholder="test french placeholder"]', + }, + ] +); + +}); |
