1
1
import {
2
- changeOption ,
2
+ changeOptionInPopover ,
3
3
clickOnExtraMenuItem ,
4
4
clickOnSave ,
5
+ openLinkPopup ,
5
6
registerWebsitePreviewTour ,
6
7
} from "@website/js/tours/tour_utils" ;
7
8
@@ -123,14 +124,10 @@ registerWebsitePreviewTour("megamenu_active_nav_link", {
123
124
edition : true ,
124
125
} , ( ) => [
125
126
// Add a megamenu item to the top menu.
126
- {
127
- content : "Click on a menu item" ,
128
- trigger : ":iframe .top_menu .nav-item a" ,
129
- run : "click" ,
130
- } ,
127
+ ...openLinkPopup ( ":iframe .top_menu .nav-item a" , "Home" ) ,
131
128
{
132
129
content : "Click on 'Link' to open Link Dialog" ,
133
- trigger : ":iframe .o_edit_menu_popover a.js_edit_menu" ,
130
+ trigger : ".o-we-linkpopover a.js_edit_menu" ,
134
131
run : "click" ,
135
132
} ,
136
133
{
@@ -160,50 +157,24 @@ registerWebsitePreviewTour("megamenu_active_nav_link", {
160
157
run : "click" ,
161
158
} ,
162
159
{
163
- trigger : "#oe_snippets.o_loaded " ,
160
+ trigger : "body:not(:has(.modal)) " ,
164
161
} ,
165
162
{
166
163
content : "Check for the new mega menu" ,
167
164
trigger : `:iframe .top_menu:has(.nav-item a.o_mega_menu_toggle:contains("Megatron"))` ,
168
165
} ,
169
- {
170
- trigger : ".o_website_preview.editor_enable.editor_has_snippets:not(.o_is_blocked)"
171
- } ,
172
166
clickOnExtraMenuItem ( { } , true ) ,
173
167
toggleMegaMenu ( { } ) ,
168
+ ...openLinkPopup ( ":iframe .s_mega_menu_odoo_menu .nav-link:contains('Laptops')" , "Laptops" ) ,
174
169
{
175
- content : "Select the first menu link of the first column" ,
176
- trigger : ":iframe .s_mega_menu_odoo_menu .row > div:first-child .nav a" ,
177
- async run ( actions ) {
178
- await actions . click ( ) ;
179
- const iframeDocument = document . querySelector ( '.o_iframe' ) . contentDocument ;
180
- const range = iframeDocument . createRange ( ) ;
181
- range . selectNodeContents ( this . anchor ) ;
182
- const sel = iframeDocument . getSelection ( ) ;
183
- sel . removeAllRanges ( ) ;
184
- sel . addRange ( range ) ;
185
- } ,
186
- } ,
187
- {
188
- content : "Click 'edit link' button if URL input is now shown" ,
189
- trigger : "#create-link" ,
190
- async run ( actions ) {
191
- // Note: the 'create-link' button is always here, however the input
192
- // for the URL might not be.
193
- // We have to consider both cases:
194
- // 1. Single-app website build: a few menu, so no extra menu added
195
- // and the URL input is shown
196
- // 2. Multi-app website build: many menu, so extra menu added
197
- // and the URL input is not shown
198
- if ( ! document . querySelector ( "#o_link_dialog_url_input" ) ) {
199
- await actions . click ( ) ;
200
- }
201
- } ,
170
+ content : "Click on 'Edit Link'" ,
171
+ trigger : ".o-we-linkpopover a.o_we_edit_link" ,
172
+ run : "click" ,
202
173
} ,
203
174
{
204
175
content : "Change the link" ,
205
- trigger : "#o_link_dialog_url_input " ,
206
- run : "edit /new_page"
176
+ trigger : ".o-we-linkpopover input.o_we_href_input_link " ,
177
+ run : "edit /new_page" ,
207
178
} ,
208
179
...clickOnSave ( ) ,
209
180
clickOnExtraMenuItem ( { } , true ) ,
@@ -223,14 +194,10 @@ registerWebsitePreviewTour('edit_megamenu_big_icons_subtitles', {
223
194
edition : true ,
224
195
} , ( ) => [
225
196
// Add a megamenu item to the top menu.
226
- {
227
- content : "Click on a menu item" ,
228
- trigger : ':iframe .top_menu .nav-item a' ,
229
- run : "click" ,
230
- } ,
197
+ ...openLinkPopup ( ":iframe .top_menu .nav-item a" , "Home" ) ,
231
198
{
232
199
content : "Click on 'Link' to open Link Dialog" ,
233
- trigger : ':iframe .o_edit_menu_popover a.js_edit_menu' ,
200
+ trigger : ".o-we-linkpopover a.js_edit_menu" ,
234
201
run : "click" ,
235
202
} ,
236
203
{
@@ -260,15 +227,12 @@ registerWebsitePreviewTour('edit_megamenu_big_icons_subtitles', {
260
227
run : "click" ,
261
228
} ,
262
229
{
263
- trigger : '#oe_snippets.o_loaded' ,
230
+ trigger : "body:not(:has(.modal))" ,
264
231
} ,
265
232
{
266
233
content : "Check for the new mega menu" ,
267
234
trigger : ':iframe .top_menu:has(.nav-item a.o_mega_menu_toggle:contains("Megaaaaa2!"))' ,
268
235
} ,
269
- {
270
- trigger : ".o_website_preview.editor_enable.editor_has_snippets:not(.o_is_blocked)"
271
- } ,
272
236
// Edit a menu item
273
237
clickOnExtraMenuItem ( { } , true ) ,
274
238
toggleMegaMenu ( { } ) ,
@@ -277,18 +241,14 @@ registerWebsitePreviewTour('edit_megamenu_big_icons_subtitles', {
277
241
trigger : ':iframe .s_mega_menu_odoo_menu .row > div:first-child .nav > :first-child' ,
278
242
run : "click" ,
279
243
} ,
280
- changeOption ( "MegaMenuLayout" , "we-toggler" ) ,
281
- {
282
- content : "Select Big Icons Subtitles mega menu" ,
283
- trigger : '[data-select-label="Big Icons Subtitles"]' ,
284
- run : "click" ,
285
- } ,
244
+ // Change MegaMenu template
245
+ ...changeOptionInPopover ( "Mega Menu" , "Template" , "[title='Big Icons Subtitles']" ) ,
286
246
{
287
247
content : "Select the h4 of first menu link of the first column" ,
288
248
trigger : ':iframe .s_mega_menu_big_icons_subtitles .row > div:first-child .nav > :first-child h4' ,
289
249
async run ( actions ) {
290
250
await actions . click ( ) ;
291
- const iframeDocument = document . querySelector ( '.o_iframe ' ) . contentDocument ;
251
+ const iframeDocument = document . querySelector ( '.o_iframe_container iframe ' ) . contentDocument ;
292
252
const range = iframeDocument . createRange ( ) ;
293
253
range . selectNodeContents ( this . anchor ) ;
294
254
const sel = iframeDocument . getSelection ( ) ;
@@ -298,7 +258,7 @@ registerWebsitePreviewTour('edit_megamenu_big_icons_subtitles', {
298
258
} ,
299
259
{
300
260
content : "Convert it to Bold" ,
301
- trigger : '#oe_snippets # toolbar # bold',
261
+ trigger : ".o-we- toolbar button[name=' bold']" ,
302
262
run : "click" ,
303
263
} ,
304
264
...clickOnSave ( ) ,
0 commit comments