diff --git a/addons/account/static/src/js/account_portal_sidebar.js b/addons/account/static/src/js/account_portal_sidebar.js
index 58114e00a56..44e9fc5336f 100644
--- a/addons/account/static/src/js/account_portal_sidebar.js
+++ b/addons/account/static/src/js/account_portal_sidebar.js
@@ -1,10 +1,9 @@
-odoo.define('account.AccountPortalSidebar', function (require) {
-'use strict';
+/** @odoo-module **/
-const dom = require('web.dom');
-var publicWidget = require('web.public.widget');
-var PortalSidebar = require('portal.PortalSidebar');
-var utils = require('web.utils');
+import dom from "web.dom";
+import publicWidget from "web.public.widget";
+import PortalSidebar from "portal.PortalSidebar";
+import utils from "web.utils";
publicWidget.registry.AccountPortalSidebar = PortalSidebar.extend({
selector: '.o_portal_invoice_sidebar',
@@ -70,4 +69,3 @@ publicWidget.registry.AccountPortalSidebar = PortalSidebar.extend({
this._printIframeContent(href);
},
});
-});
diff --git a/addons/account/static/src/js/tours/account.js b/addons/account/static/src/js/tours/account.js
index bdaf40b9423..719a55860c6 100644
--- a/addons/account/static/src/js/tours/account.js
+++ b/addons/account/static/src/js/tours/account.js
@@ -1,10 +1,9 @@
-odoo.define('account.tour', function(require) {
-"use strict";
+/** @odoo-module alias=account.tour **/
-var core = require('web.core');
-const {Markup} = require('web.utils');
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import core from "web.core";
+import {Markup} from "web.utils";
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
var _t = core._t;
@@ -138,5 +137,3 @@ registry.category("web_tour.tours").add('account_tour', {
run() {},
}
]});
-
-});
diff --git a/addons/account/static/tests/tours/account_dashboard_setup_bar_tests.js b/addons/account/static/tests/tours/account_dashboard_setup_bar_tests.js
index 9080a91714e..f3a99e9d0a5 100644
--- a/addons/account/static/tests/tours/account_dashboard_setup_bar_tests.js
+++ b/addons/account/static/tests/tours/account_dashboard_setup_bar_tests.js
@@ -1,9 +1,8 @@
-odoo.define('account.dashboard.setup.tour', function (require) {
- "use strict";
-
- var core = require('web.core');
- const { registry } = require("@web/core/registry");
- const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+/** @odoo-module alias=account.dashboard.setup.tour **/
+
+ import core from "web.core";
+ import { registry } from "@web/core/registry";
+ import { stepUtils } from "@web_tour/tour_service/tour_utils";
var _t = core._t;
@@ -42,4 +41,3 @@ odoo.define('account.dashboard.setup.tour', function (require) {
},
}
]});
-});
diff --git a/addons/account_payment/static/src/js/payment_form.js b/addons/account_payment/static/src/js/payment_form.js
index 9fb04c83439..bffd3d95b3e 100644
--- a/addons/account_payment/static/src/js/payment_form.js
+++ b/addons/account_payment/static/src/js/payment_form.js
@@ -1,8 +1,7 @@
-odoo.define('account_payment.payment_form', require => {
- 'use strict';
-
- const checkoutForm = require('payment.checkout_form');
- const manageForm = require('payment.manage_form');
+/** @odoo-module **/
+
+ import checkoutForm from "payment.checkout_form";
+ import manageForm from "payment.manage_form";
const PaymentMixin = {
@@ -32,5 +31,3 @@ odoo.define('account_payment.payment_form', require => {
checkoutForm.include(PaymentMixin);
manageForm.include(PaymentMixin);
-
-});
diff --git a/addons/auth_signup/static/src/js/signup.js b/addons/auth_signup/static/src/js/signup.js
index 366d4cef124..c408a8b4eed 100644
--- a/addons/auth_signup/static/src/js/signup.js
+++ b/addons/auth_signup/static/src/js/signup.js
@@ -1,7 +1,6 @@
-odoo.define('auth_signup.signup', function (require) {
-'use strict';
+/** @odoo-module **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.SignUpForm = publicWidget.Widget.extend({
selector: '.oe_signup_form',
@@ -22,4 +21,3 @@ publicWidget.registry.SignUpForm = publicWidget.Widget.extend({
$btn.prepend(' ');
},
});
-});
diff --git a/addons/auth_totp/static/tests/totp_flow.js b/addons/auth_totp/static/tests/totp_flow.js
index 53a35dee23e..6c0e91a9e6d 100644
--- a/addons/auth_totp/static/tests/totp_flow.js
+++ b/addons/auth_totp/static/tests/totp_flow.js
@@ -1,9 +1,8 @@
-odoo.define('auth_totp.tours', function(require) {
-"use strict";
+/** @odoo-module **/
-const ajax = require('web.ajax');
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import ajax from "web.ajax";
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
function openRoot() {
return [{
@@ -337,4 +336,3 @@ registry.category("web_tour.tours").add('totp_admin_disables', {
totp_state: false,
}),
]})
-});
diff --git a/addons/auth_totp_mail/static/tests/totp_flow.js b/addons/auth_totp_mail/static/tests/totp_flow.js
index b7115540760..7c9682db600 100644
--- a/addons/auth_totp_mail/static/tests/totp_flow.js
+++ b/addons/auth_totp_mail/static/tests/totp_flow.js
@@ -1,8 +1,7 @@
-odoo.define('auth_totp_mail.tours', function(require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
function openAccountSettingsTab() {
return [{
@@ -73,5 +72,3 @@ registry.category("web_tour.tours").add('totp_admin_invite', {
content: "check that demo user can be invited to use 2FA.",
trigger: "button:contains(Invite to use 2FA)",
}]});
-
-});
\ No newline at end of file
diff --git a/addons/auth_totp_portal/static/src/js/totp_frontend.js b/addons/auth_totp_portal/static/src/js/totp_frontend.js
index c2dd9ad0d41..3449ac82d6c 100644
--- a/addons/auth_totp_portal/static/src/js/totp_frontend.js
+++ b/addons/auth_totp_portal/static/src/js/totp_frontend.js
@@ -1,10 +1,9 @@
-odoo.define('auth_totp_portal.button', function (require) {
-'use strict';
+/** @odoo-module **/
-const {_t} = require('web.core');
-const publicWidget = require('web.public.widget');
-const Dialog = require('web.Dialog');
-const {handleCheckIdentity} = require('portal.portal');
+import {_t} from "web.core";
+import publicWidget from "web.public.widget";
+import Dialog from "web.Dialog";
+import {handleCheckIdentity} from "portal.portal";
/**
* Replaces specific elements by normal HTML, strip out the rest entirely
@@ -303,4 +302,3 @@ publicWidget.registry.RevokeAllTrustedDevicesButton = publicWidget.Widget.extend
window.location = window.location;
}
});
-});
diff --git a/addons/auth_totp_portal/static/tests/totp_portal.js b/addons/auth_totp_portal/static/tests/totp_portal.js
index d50d2678f95..f38c4da1155 100644
--- a/addons/auth_totp_portal/static/tests/totp_portal.js
+++ b/addons/auth_totp_portal/static/tests/totp_portal.js
@@ -1,8 +1,7 @@
-odoo.define('auth_totp_portal.tours', function(require) {
-"use strict";
+/** @odoo-module **/
-const ajax = require('web.ajax');
-const { registry } = require("@web/core/registry");
+import ajax from "web.ajax";
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('totportal_tour_setup', {
test: true,
@@ -121,4 +120,3 @@ registry.category("web_tour.tours").add('totportal_login_disabled', {
trigger: "h3:contains(Documents)",
run: () => {}
}]});
-});
diff --git a/addons/barcodes/static/src/js/barcode_parser.js b/addons/barcodes/static/src/js/barcode_parser.js
index b7ce128a483..38410f3adcd 100644
--- a/addons/barcodes/static/src/js/barcode_parser.js
+++ b/addons/barcodes/static/src/js/barcode_parser.js
@@ -1,8 +1,7 @@
-odoo.define('barcodes.BarcodeParser', function (require) {
-"use strict";
+/** @odoo-module alias=barcodes.BarcodeParser **/
-var Class = require('web.Class');
-var rpc = require('web.rpc');
+import Class from "web.Class";
+import rpc from "web.rpc";
// The BarcodeParser is used to detect what is the category
// of a barcode (product, partner, ...) and extract an encoded value
@@ -277,5 +276,4 @@ var BarcodeParser = Class.extend({
},
});
-return BarcodeParser;
-});
+export default BarcodeParser;
diff --git a/addons/barcodes/static/tests/basic/legacy/barcode_parser_tests.js b/addons/barcodes/static/tests/basic/legacy/barcode_parser_tests.js
index 4ce5f807261..48cdad00dcf 100644
--- a/addons/barcodes/static/tests/basic/legacy/barcode_parser_tests.js
+++ b/addons/barcodes/static/tests/basic/legacy/barcode_parser_tests.js
@@ -1,7 +1,6 @@
-odoo.define('barcodes/static/tests/barcode_parser_tests.js', function (require) {
-"use strict";
+/** @odoo-module **/
-const BarcodeParser = require('barcodes.BarcodeParser');
+import BarcodeParser from "barcodes.BarcodeParser";
QUnit.module('Barcodes', {}, function () {
@@ -55,4 +54,3 @@ QUnit.module('Barcode Parser', {
});
});
});
-});
diff --git a/addons/barcodes/static/tests/mobile/barcode_mobile_tests.js b/addons/barcodes/static/tests/mobile/barcode_mobile_tests.js
index b2a27ceb94c..7517d5dbf1b 100644
--- a/addons/barcodes/static/tests/mobile/barcode_mobile_tests.js
+++ b/addons/barcodes/static/tests/mobile/barcode_mobile_tests.js
@@ -1,11 +1,10 @@
-odoo.define('barcodes.barcode_mobile_tests', function (require) {
- "use strict";
-
- const {barcodeService} = require("@barcodes/barcode_service");
- const {barcodeRemapperService} = require("@barcodes/js/barcode_events");
- const { makeTestEnv } = require("@web/../tests/helpers/mock_env");
- const { registry } = require("@web/core/registry");
- var testUtils = require('web.test_utils');
+/** @odoo-module **/
+
+ import {barcodeService} from "@barcodes/barcode_service";
+ import {barcodeRemapperService} from "@barcodes/js/barcode_events";
+ import { makeTestEnv } from "@web/../tests/helpers/mock_env";
+ import { registry } from "@web/core/registry";
+ import testUtils from "web.test_utils";
const maxTimeBetweenKeysInMs = barcodeService.maxTimeBetweenKeysInMs;
const isMobileChrome = barcodeService.isMobileChrome;
@@ -102,4 +101,3 @@ odoo.define('barcodes.barcode_mobile_tests', function (require) {
document.querySelector('input[name=barcode]').remove();
});
});
- });
diff --git a/addons/barcodes_gs1_nomenclature/static/src/js/barcode_parser.js b/addons/barcodes_gs1_nomenclature/static/src/js/barcode_parser.js
index f7bbf51fb46..3561d1fd80b 100644
--- a/addons/barcodes_gs1_nomenclature/static/src/js/barcode_parser.js
+++ b/addons/barcodes_gs1_nomenclature/static/src/js/barcode_parser.js
@@ -1,9 +1,8 @@
-odoo.define('barcodes_gs1_nomenclature/static/src/js/barcode_parser.js', function (require) {
-"use strict";
+/** @odoo-module alias=barcodes_gs1_nomenclature.barcode_parser **/
-const BarcodeParser = require('barcodes.BarcodeParser');
+import BarcodeParser from "barcodes.BarcodeParser";
const FNC1_CHAR = String.fromCharCode(29);
-const {_lt} = require('web.core');
+import {_lt} from "web.core";
BarcodeParser.include({
/**
@@ -148,8 +147,7 @@ BarcodeParser.include({
},
});
-return {
+export default {
BarcodeParser,
FNC1_CHAR,
};
-});
diff --git a/addons/barcodes_gs1_nomenclature/static/src/js/barcode_service.js b/addons/barcodes_gs1_nomenclature/static/src/js/barcode_service.js
index d37a4adb811..e74bff971ea 100644
--- a/addons/barcodes_gs1_nomenclature/static/src/js/barcode_service.js
+++ b/addons/barcodes_gs1_nomenclature/static/src/js/barcode_service.js
@@ -4,7 +4,7 @@ import { session } from "@web/session";
import { patch } from "@web/core/utils/patch";
import { barcodeService } from '@barcodes/barcode_service';
-import { FNC1_CHAR } from "barcodes_gs1_nomenclature/static/src/js/barcode_parser.js";
+import { FNC1_CHAR } from "barcodes_gs1_nomenclature.barcode_parser";
patch(barcodeService, 'barcodes_gs1_nomenclature', {
diff --git a/addons/barcodes_gs1_nomenclature/static/src/js/tests/barcode_parser_tests.js b/addons/barcodes_gs1_nomenclature/static/src/js/tests/barcode_parser_tests.js
index 01741e6554d..560bf099df9 100644
--- a/addons/barcodes_gs1_nomenclature/static/src/js/tests/barcode_parser_tests.js
+++ b/addons/barcodes_gs1_nomenclature/static/src/js/tests/barcode_parser_tests.js
@@ -1,8 +1,7 @@
-odoo.define('barcodes_gs1_nomenclature/static/src/js/tests/barcode_parser_tests.js', function (require) {
-"use strict";
+/** @odoo-module **/
-const BarcodeParser = require('barcodes.BarcodeParser');
-const { barcodeService } = require('@barcodes/barcode_service');
+import BarcodeParser from "barcodes.BarcodeParser";
+import { barcodeService } from "@barcodes/barcode_service";
QUnit.module('Barcodes', {}, function () {
@@ -249,5 +248,3 @@ QUnit.module('Barcode GS1 Parser', {
});
});
});
-
-});
diff --git a/addons/board/static/src/add_to_board/legacy_add_to_board.js b/addons/board/static/src/add_to_board/legacy_add_to_board.js
index 01f4dee4abd..cda6329dbaf 100644
--- a/addons/board/static/src/add_to_board/legacy_add_to_board.js
+++ b/addons/board/static/src/add_to_board/legacy_add_to_board.js
@@ -1,12 +1,11 @@
-odoo.define("board.AddToBoardMenu", function (require) {
- "use strict";
+/** @odoo-module alias=board.AddToBoardMenu **/
- const Context = require("web.Context");
- const Domain = require("web.Domain");
- const { Dropdown } = require("@web/core/dropdown/dropdown");
- const FavoriteMenu = require("web.FavoriteMenu");
- const { sprintf } = require("web.utils");
- const { useAutofocus } = require("@web/core/utils/hooks");
+ import Context from "web.Context";
+ import Domain from "web.Domain";
+ import { Dropdown } from "@web/core/dropdown/dropdown";
+ import FavoriteMenu from "web.FavoriteMenu";
+ import { sprintf } from "web.utils";
+ import { useAutofocus } from "@web/core/utils/hooks";
const { Component, useState } = owl;
@@ -156,5 +155,4 @@ odoo.define("board.AddToBoardMenu", function (require) {
FavoriteMenu.registry.add("add-to-board-menu", AddToBoardMenu, 10);
- return AddToBoardMenu;
-});
+ export default AddToBoardMenu;
diff --git a/addons/bus/static/tests/bus_tests.js b/addons/bus/static/tests/bus_tests.js
index 2691dce2aa0..98e909ea4d6 100644
--- a/addons/bus/static/tests/bus_tests.js
+++ b/addons/bus/static/tests/bus_tests.js
@@ -1,19 +1,18 @@
-odoo.define('web.bus_tests', function (require) {
-"use strict";
+/** @odoo-module **/
-var { busService } = require('@bus/services/bus_service');
-const { presenceService } = require('@bus/services/presence_service');
-const { busParametersService } = require('@bus/bus_parameters_service');
-const { multiTabService } = require('@bus/multi_tab_service');
-const { WEBSOCKET_CLOSE_CODES } = require("@bus/workers/websocket_worker");
-const { startServer } = require('@bus/../tests/helpers/mock_python_environment');
-const { patchWebsocketWorkerWithCleanup } = require("@bus/../tests/helpers/mock_websocket");
+import { busService } from "@bus/services/bus_service";
+import { presenceService } from "@bus/services/presence_service";
+import { busParametersService } from "@bus/bus_parameters_service";
+import { multiTabService } from "@bus/multi_tab_service";
+import { WEBSOCKET_CLOSE_CODES } from "@bus/workers/websocket_worker";
+import { startServer } from "@bus/../tests/helpers/mock_python_environment";
+import { patchWebsocketWorkerWithCleanup } from "@bus/../tests/helpers/mock_websocket";
-const { browser } = require("@web/core/browser/browser");
-const { registry } = require("@web/core/registry");
-const { session } = require('@web/session');
-const { makeDeferred, nextTick, patchWithCleanup } = require("@web/../tests/helpers/utils");
-const { makeTestEnv } = require('@web/../tests/helpers/mock_env');
+import { browser } from "@web/core/browser/browser";
+import { registry } from "@web/core/registry";
+import { session } from "@web/session";
+import { makeDeferred, nextTick, patchWithCleanup } from "@web/../tests/helpers/utils";
+import { makeTestEnv } from "@web/../tests/helpers/mock_env";
QUnit.module('Bus', {
beforeEach: function () {
@@ -583,5 +582,3 @@ QUnit.module('Bus', {
}
);
});
-});
-
diff --git a/addons/calendar/static/tests/tours/calendar_tour.js b/addons/calendar/static/tests/tours/calendar_tour.js
index 5ef1f95c651..0fded337c8c 100644
--- a/addons/calendar/static/tests/tours/calendar_tour.js
+++ b/addons/calendar/static/tests/tours/calendar_tour.js
@@ -1,7 +1,7 @@
-odoo.define('calendar.tour', function (require) {
- 'use strict';
- const { registry } = require("@web/core/registry");
- const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
+ import { stepUtils } from "@web_tour/tour_service/tour_utils";
const todayDate = function() {
let now = new Date();
@@ -69,4 +69,3 @@ odoo.define('calendar.tour', function (require) {
content: 'Check the event title',
},
]});
-});
diff --git a/addons/contacts/static/tests/tours/debug_menu_set_defaults.js b/addons/contacts/static/tests/tours/debug_menu_set_defaults.js
index fb1941051b9..255ce474136 100644
--- a/addons/contacts/static/tests/tours/debug_menu_set_defaults.js
+++ b/addons/contacts/static/tests/tours/debug_menu_set_defaults.js
@@ -1,8 +1,7 @@
-odoo.define('debug_menu_set_defaults.tour', function (require) {
- "use strict";
-
- const { registry } = require("@web/core/registry");
- const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
+ import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('debug_menu_set_defaults', {
test: true,
@@ -70,5 +69,3 @@ odoo.define('debug_menu_set_defaults.tour', function (require) {
},
]
});
-
-});
diff --git a/addons/crm/static/tests/tours/crm_email_and_phone_propagation.js b/addons/crm/static/tests/tours/crm_email_and_phone_propagation.js
index 3e4ac45cecc..eabc25f43f5 100644
--- a/addons/crm/static/tests/tours/crm_email_and_phone_propagation.js
+++ b/addons/crm/static/tests/tours/crm_email_and_phone_propagation.js
@@ -1,8 +1,7 @@
-odoo.define('crm.crm_email_and_phone_propagation', function (require) {
- 'use strict';
-
- const { registry } = require("@web/core/registry");
- const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
+ import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('crm_email_and_phone_propagation_edit_save', {
test: true,
@@ -54,4 +53,3 @@ odoo.define('crm.crm_email_and_phone_propagation', function (require) {
trigger: '.o_kanban_renderer',
}
]});
-});
diff --git a/addons/crm_iap_mine/static/src/js/tours/crm_iap_lead.js b/addons/crm_iap_mine/static/src/js/tours/crm_iap_lead.js
index a08caf48268..36b9c45a062 100644
--- a/addons/crm_iap_mine/static/src/js/tours/crm_iap_lead.js
+++ b/addons/crm_iap_mine/static/src/js/tours/crm_iap_lead.js
@@ -1,11 +1,10 @@
-odoo.define('crm_iap_mine.generate_leads_steps', function (require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const {Markup} = require('web.utils');
-var core = require('web.core');
+import { registry } from "@web/core/registry";
+import {Markup} from "web.utils";
+import core from "web.core";
-require('@crm/js/tours/crm');
+import "@crm/js/tours/crm";
var _t = core._t;
var DragOppToWonStepIndex = _.findIndex(registry.category("web_tour.tours").get("crm_tour").steps, function (step) {
@@ -38,5 +37,3 @@ registry.category("web_tour.tours").get("crm_tour").steps.splice(DragOppToWonSte
actions.auto('.modal-footer button[special=cancel]');
}
});
-
-});
diff --git a/addons/event/static/src/js/tours/event_steps.js b/addons/event/static/src/js/tours/event_steps.js
new file mode 100644
index 00000000000..ae2ed0dbf6a
--- /dev/null
+++ b/addons/event/static/src/js/tours/event_steps.js
@@ -0,0 +1,13 @@
+/** @odoo-module alias=event.event_steps **/
+
+import core from "web.core";
+
+var EventAdditionalTourSteps = core.Class.extend({
+
+ _get_website_event_steps: function () {
+ return [false];
+ },
+
+});
+
+export default EventAdditionalTourSteps;
diff --git a/addons/event/static/src/js/tours/event_tour.js b/addons/event/static/src/js/tours/event_tour.js
index 8ad2e099666..e6663e4e590 100644
--- a/addons/event/static/src/js/tours/event_tour.js
+++ b/addons/event/static/src/js/tours/event_tour.js
@@ -1,29 +1,11 @@
-odoo.define('event.event_steps', function (require) {
-"use strict";
+/** @odoo-module **/
-var core = require('web.core');
+import {_t} from "web.core";
+import {Markup} from "web.utils";
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
-var EventAdditionalTourSteps = core.Class.extend({
-
- _get_website_event_steps: function () {
- return [false];
- },
-
-});
-
-return EventAdditionalTourSteps;
-
-});
-
-odoo.define('event.event_tour', function (require) {
-"use strict";
-
-const {_t} = require('web.core');
-const {Markup} = require('web.utils');
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
-
-var EventAdditionalTourSteps = require('event.event_steps');
+import EventAdditionalTourSteps from "event.event_steps";
registry.category("web_tour.tours").add('event_tour', {
url: '/web',
@@ -75,5 +57,3 @@ registry.category("web_tour.tours").add('event_tour', {
position: 'bottom',
run: 'click',
}].filter(Boolean)});
-
-});
diff --git a/addons/event_sale/static/tests/tours/event_configurator_ui.js b/addons/event_sale/static/tests/tours/event_configurator_ui.js
index adf76df0553..07380d8c774 100644
--- a/addons/event_sale/static/tests/tours/event_configurator_ui.js
+++ b/addons/event_sale/static/tests/tours/event_configurator_ui.js
@@ -1,8 +1,7 @@
-odoo.define('event.event_configurator_tour', function (require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('event_configurator_tour', {
url: "/web",
@@ -74,5 +73,3 @@ registry.category("web_tour.tours").add('event_configurator_tour', {
run: function () {} // check
}, ...stepUtils.saveForm()
]});
-
-});
diff --git a/addons/google_recaptcha/static/src/js/recaptcha.js b/addons/google_recaptcha/static/src/js/recaptcha.js
index c71673eabf1..7d5153215c5 100644
--- a/addons/google_recaptcha/static/src/js/recaptcha.js
+++ b/addons/google_recaptcha/static/src/js/recaptcha.js
@@ -1,10 +1,9 @@
-odoo.define('google_recaptcha.ReCaptchaV3', function (require) {
-"use strict";
+/** @odoo-module alias=google_recaptcha.ReCaptchaV3 **/
-const Class = require('web.Class');
-const core = require('web.core');
-const { session } = require('@web/session');
-const { loadJS } = require('@web/core/assets');
+import Class from "web.Class";
+import core from "web.core";
+import { session } from "@web/session";
+import { loadJS } from "@web/core/assets";
const _t = core._t;
@@ -55,7 +54,6 @@ const ReCaptcha = Class.extend({
},
});
-return {
+export default {
ReCaptcha: ReCaptcha,
};
-});
diff --git a/addons/hr_expense/static/src/js/tours/hr_expense.js b/addons/hr_expense/static/src/js/tours/hr_expense.js
index 353d1151a68..70a7b8e3cf2 100644
--- a/addons/hr_expense/static/src/js/tours/hr_expense.js
+++ b/addons/hr_expense/static/src/js/tours/hr_expense.js
@@ -1,11 +1,10 @@
-odoo.define('hr_expense.tour', function(require) {
-"use strict";
+/** @odoo-module **/
-const {_t} = require('web.core');
-const {Markup} = require('web.utils');
+import {_t} from "web.core";
+import {Markup} from "web.utils";
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('hr_expense_tour' , {
url: "/web",
@@ -80,5 +79,3 @@ stepUtils.openBurgerMenu(),
},
...stepUtils.statusbarButtonsSteps(_t("Approve"), _t("Managers can approve the report here, then an accountant can post the accounting entries.")),
]});
-
-});
diff --git a/addons/hr_expense/static/tests/tours/expense_upload_tours.js b/addons/hr_expense/static/tests/tours/expense_upload_tours.js
index c848e1c632c..bd8691291f1 100644
--- a/addons/hr_expense/static/tests/tours/expense_upload_tours.js
+++ b/addons/hr_expense/static/tests/tours/expense_upload_tours.js
@@ -1,8 +1,7 @@
-odoo.define('hr_expense.tests.tours', function (require) {
- "use strict";
-
- const { registry } = require("@web/core/registry");
- const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
+ import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('hr_expense_test_tour', {
test: true,
@@ -77,4 +76,3 @@ odoo.define('hr_expense.tests.tours', function (require) {
}
},
]});
-});
diff --git a/addons/hr_holidays/static/tests/tours/time_off_request_calendar_view.js b/addons/hr_holidays/static/tests/tours/time_off_request_calendar_view.js
index 58381869f92..38678742086 100644
--- a/addons/hr_holidays/static/tests/tours/time_off_request_calendar_view.js
+++ b/addons/hr_holidays/static/tests/tours/time_off_request_calendar_view.js
@@ -1,8 +1,7 @@
-odoo.define('hr_holidays.tour_time_off_request_calendar_view', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('time_off_request_calendar_view', {
test: true,
@@ -41,4 +40,3 @@ registry.category("web_tour.tours").add('time_off_request_calendar_view', {
run: 'click',
}
]});
-});
diff --git a/addons/hr_recruitment/static/src/js/tours/hr_recruitment.js b/addons/hr_recruitment/static/src/js/tours/hr_recruitment.js
index b678935fad8..4cb28b57c5d 100644
--- a/addons/hr_recruitment/static/src/js/tours/hr_recruitment.js
+++ b/addons/hr_recruitment/static/src/js/tours/hr_recruitment.js
@@ -1,10 +1,9 @@
-odoo.define('hr_recruitment.tour', function(require) {
-"use strict";
+/** @odoo-module **/
-const {_t} = require('web.core');
-const {Markup} = require('web.utils');
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import {_t} from "web.core";
+import {Markup} from "web.utils";
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
const { markup } = owl;
@@ -106,5 +105,3 @@ registry.category("web_tour.tours").add('hr_recruitment_tour',{
position: "bottom",
width: 80
}]});
-
-});
diff --git a/addons/im_livechat/static/src/public/session.js b/addons/im_livechat/static/src/public/session.js
index 7853ba0eeae..a3971c7bc49 100644
--- a/addons/im_livechat/static/src/public/session.js
+++ b/addons/im_livechat/static/src/public/session.js
@@ -1,6 +1,6 @@
-odoo.define("web.session", function (require) {
- const Session = require("web.Session");
- const { serverUrl } = require("@im_livechat/livechat_data");
+/** @odoo-module alias=web.session **/
- return new Session(undefined, serverUrl, { use_cors: true });
-});
+import Session from "web.Session";
+import { serverUrl } from "@im_livechat/livechat_data";
+
+export default new Session(undefined, serverUrl, { use_cors: true });
diff --git a/addons/l10n_ar/static/src/js/tours/account.js b/addons/l10n_ar/static/src/js/tours/account.js
index 3267bd65012..77a915da3c8 100644
--- a/addons/l10n_ar/static/src/js/tours/account.js
+++ b/addons/l10n_ar/static/src/js/tours/account.js
@@ -1,8 +1,7 @@
-odoo.define('l10n_ar.account_tour', function(require) {
-"use strict";
+/** @odoo-module **/
- require("account.tour");
- const { registry } = require("@web/core/registry");
+ import "account.tour";
+ import { registry } from "@web/core/registry";
let account_tour = registry.category("web_tour.tours").get("account_tour");
// Remove the step suggesting to change the name as it is done another way (document number)
account_tour.steps = _.filter(account_tour.steps, step => step.trigger != "input[name=name]");
@@ -22,5 +21,3 @@ odoo.define('l10n_ar.account_tour', function(require) {
auto: true,
in_modal: false,
})
-
-})
diff --git a/addons/mail/static/src/public/root_widget.js b/addons/mail/static/src/public/root_widget.js
index 9dd93aa236f..e2ad45840d1 100644
--- a/addons/mail/static/src/public/root_widget.js
+++ b/addons/mail/static/src/public/root_widget.js
@@ -1,12 +1,12 @@
+/** @odoo-module alias=root.widget **/
/**
* This module exists so that web_tour can use it as the parent of the
* TourManager so it can get access to _trigger_up.
*/
-odoo.define("root.widget", function (require) {
- // need to wait for owl.Component.env to be set by new/public/boot before
- // we spawn the component adapter
- require("@mail/public/boot");
- const { standaloneAdapter } = require("web.OwlCompatibility");
- const { Component } = require("@odoo/owl");
- return standaloneAdapter({ Component });
-});
+// need to wait for owl.Component.env to be set by new/public/boot before
+// we spawn the component adapter
+import "@mail/public/boot";
+import { standaloneAdapter } from "web.OwlCompatibility";
+import { Component } from "@odoo/owl";
+
+export default standaloneAdapter({ Component });
diff --git a/addons/mail_group/static/src/js/mail_group.js b/addons/mail_group/static/src/js/mail_group.js
index fce6175cc6d..c04480f4f7f 100644
--- a/addons/mail_group/static/src/js/mail_group.js
+++ b/addons/mail_group/static/src/js/mail_group.js
@@ -1,8 +1,7 @@
-odoo.define('mail_group.mail_group', function (require) {
-'use strict';
+/** @odoo-module alias=mail_group.mail_group **/
-const publicWidget = require('web.public.widget');
-const core = require('web.core');
+import publicWidget from "web.public.widget";
+import core from "web.core";
const _t = core._t;
publicWidget.registry.MailGroup = publicWidget.Widget.extend({
@@ -88,5 +87,4 @@ publicWidget.registry.MailGroup = publicWidget.Widget.extend({
},
});
-return publicWidget.registry.MailGroup;
-});
+export default publicWidget.registry.MailGroup;
diff --git a/addons/mail_group/static/src/js/mail_group_message.js b/addons/mail_group/static/src/js/mail_group_message.js
index 47d2e90df4e..f510099f42f 100644
--- a/addons/mail_group/static/src/js/mail_group_message.js
+++ b/addons/mail_group/static/src/js/mail_group_message.js
@@ -1,7 +1,6 @@
-odoo.define('mail_group.mail_group_message', function (require) {
-'use strict';
+/** @odoo-module **/
-const publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.MailGroupMessage = publicWidget.Widget.extend({
selector: '.o_mg_message',
@@ -86,4 +85,3 @@ publicWidget.registry.MailGroupMessage = publicWidget.Widget.extend({
});
},
});
-});
diff --git a/addons/mass_mailing/static/src/js/mailing_portal.js b/addons/mass_mailing/static/src/js/mailing_portal.js
index a0c81af4498..0a848e871ef 100644
--- a/addons/mass_mailing/static/src/js/mailing_portal.js
+++ b/addons/mass_mailing/static/src/js/mailing_portal.js
@@ -1,10 +1,9 @@
-odoo.define('mass_mailing.unsubscribe', function (require) {
- 'use strict';
+/** @odoo-module **/
- var session = require('web.session');
- var ajax = require('web.ajax');
- var core = require('web.core');
- require('web.dom_ready');
+ import session from "web.session";
+ import ajax from "web.ajax";
+ import core from "web.core";
+ import "web.dom_ready";
var _t = core._t;
@@ -13,9 +12,7 @@ odoo.define('mass_mailing.unsubscribe', function (require) {
var res_id = parseInt($("input[name='res_id']").val());
var token = (location.search.split('token' + '=')[1] || '').split('&')[0];
- if (!$('.o_unsubscribe_form').length) {
- return;
- }
+if ($('.o_unsubscribe_form').length) {
session.load_translations().then(function () {
if (email != '' && email != undefined){
ajax.jsonRpc('/mailing/blacklist/check', 'call', {'email': email, 'mailing_id': mailing_id, 'res_id': res_id, 'token': token})
@@ -63,12 +60,12 @@ odoo.define('mass_mailing.unsubscribe', function (require) {
var checked_ids = [];
$("input[type='checkbox']:checked").each(function (i){
- checked_ids[i] = parseInt($(this).val());
+ checked_ids[i] = parseInt($(this).val());
});
var unchecked_ids = [];
$("input[type='checkbox']:not(:checked)").each(function (i){
- unchecked_ids[i] = parseInt($(this).val());
+ unchecked_ids[i] = parseInt($(this).val());
});
ajax.jsonRpc('/mailing/list/update', 'call', {'opt_in_ids': checked_ids, 'opt_out_ids': unchecked_ids, 'email': email, 'mailing_id': mailing_id, 'res_id': res_id, 'token': token})
@@ -186,7 +183,6 @@ odoo.define('mass_mailing.unsubscribe', function (require) {
$('#info_state').removeClass('alert-info').removeClass('alert-success').removeClass('alert-error').addClass('alert-warning');
});
});
-});
function toggle_opt_out_section(value) {
var result = !value;
@@ -196,3 +192,4 @@ function toggle_opt_out_section(value) {
if (value) { $('[name="button_subscription"]').addClass('clickable'); }
else { $('[name="button_subscription"]').removeClass('clickable'); }
}
+}
diff --git a/addons/mass_mailing/static/src/js/mass_mailing_link_dialog_fix.js b/addons/mass_mailing/static/src/js/mass_mailing_link_dialog_fix.js
index e580b3e41ce..c31c00bff59 100644
--- a/addons/mass_mailing/static/src/js/mass_mailing_link_dialog_fix.js
+++ b/addons/mass_mailing/static/src/js/mass_mailing_link_dialog_fix.js
@@ -1,4 +1,3 @@
-
odoo.define('mass_mailing.fix.LinkDialog', function (require) {
'use strict';
@@ -71,5 +70,4 @@ LinkDialog.include({
}
},
});
-
});
diff --git a/addons/mass_mailing/static/src/js/mass_mailing_snippets.js b/addons/mass_mailing/static/src/js/mass_mailing_snippets.js
index 22a216a1830..534b0423c8c 100644
--- a/addons/mass_mailing/static/src/js/mass_mailing_snippets.js
+++ b/addons/mass_mailing/static/src/js/mass_mailing_snippets.js
@@ -306,5 +306,4 @@ options.registry.DesignTab = options.Class.extend({
return [...(this.styleSheet.cssRules || this.styleSheet.rules)].find(rule => rule.selectorText === selectorText);
},
});
-
});
diff --git a/addons/mass_mailing/static/src/js/snippets.editor.js b/addons/mass_mailing/static/src/js/snippets.editor.js
index 20ef9a44584..13ed75c22fe 100644
--- a/addons/mass_mailing/static/src/js/snippets.editor.js
+++ b/addons/mass_mailing/static/src/js/snippets.editor.js
@@ -1,8 +1,7 @@
-odoo.define('mass_mailing.snippets.editor', function (require) {
-'use strict';
+/** @odoo-module alias=mass_mailing.snippets.editor **/
-const {_lt} = require('web.core');
-const snippetsEditor = require('web_editor.snippet.editor');
+import {_lt} from "web.core";
+import snippetsEditor from "web_editor.snippet.editor";
const MassMailingSnippetsMenu = snippetsEditor.SnippetsMenu.extend({
events: _.extend({}, snippetsEditor.SnippetsMenu.prototype.events, {
@@ -163,6 +162,4 @@ const MassMailingSnippetsMenu = snippetsEditor.SnippetsMenu.extend({
},
});
-return MassMailingSnippetsMenu;
-
-});
+export default MassMailingSnippetsMenu;
diff --git a/addons/mass_mailing/static/src/js/tours/mass_mailing_editor_tour.js b/addons/mass_mailing/static/src/js/tours/mass_mailing_editor_tour.js
index fa0700fbce2..8438309458d 100644
--- a/addons/mass_mailing/static/src/js/tours/mass_mailing_editor_tour.js
+++ b/addons/mass_mailing/static/src/js/tours/mass_mailing_editor_tour.js
@@ -1,8 +1,7 @@
-odoo.define('mass_mailing.mass_mailing_editor_tour', function (require) {
- "use strict";
-
- const { registry } = require("@web/core/registry");
- const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
+ import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('mass_mailing_editor_tour', {
url: '/web',
@@ -57,4 +56,3 @@ odoo.define('mass_mailing.mass_mailing_editor_tour', function (require) {
trigger: 'iframe .o_editable',
run: () => {},
}]});
-});
diff --git a/addons/mass_mailing/static/src/js/tours/mass_mailing_tour.js b/addons/mass_mailing/static/src/js/tours/mass_mailing_tour.js
index ef972a53646..c47c9eb4847 100644
--- a/addons/mass_mailing/static/src/js/tours/mass_mailing_tour.js
+++ b/addons/mass_mailing/static/src/js/tours/mass_mailing_tour.js
@@ -1,10 +1,9 @@
-odoo.define('mass_mailing.mass_mailing_tour', function (require) {
- "use strict";
-
- const { registry } = require("@web/core/registry");
- const { stepUtils } = require('@web_tour/tour_service/tour_utils');
- const {_t} = require('web.core');
- const {Markup} = require('web.utils');
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
+ import { stepUtils } from "@web_tour/tour_service/tour_utils";
+ import {_t} from "web.core";
+ import {Markup} from "web.utils";
var now = moment();
registry.category("web_tour.tours").add('mass_mailing_tour', {
@@ -92,4 +91,3 @@ odoo.define('mass_mailing.mass_mailing_tour', function (require) {
run: 'click',
}]
});
-});
diff --git a/addons/mass_mailing/static/src/js/wysiwyg.js b/addons/mass_mailing/static/src/js/wysiwyg.js
index e8741c62ee4..d95542583a1 100644
--- a/addons/mass_mailing/static/src/js/wysiwyg.js
+++ b/addons/mass_mailing/static/src/js/wysiwyg.js
@@ -1,9 +1,8 @@
-odoo.define('mass_mailing.wysiwyg', function (require) {
-'use strict';
+/** @odoo-module alias=mass_mailing.wysiwyg **/
-var Wysiwyg = require('web_editor.wysiwyg');
-var MassMailingSnippetsMenu = require('mass_mailing.snippets.editor');
-const {closestElement} = require('@web_editor/js/editor/odoo-editor/src/OdooEditor');
+import Wysiwyg from "web_editor.wysiwyg";
+import MassMailingSnippetsMenu from "mass_mailing.snippets.editor";
+import {closestElement} from "@web_editor/js/editor/odoo-editor/src/OdooEditor";
const MassMailingWysiwyg = Wysiwyg.extend({
//--------------------------------------------------------------------------
@@ -80,6 +79,4 @@ const MassMailingWysiwyg = Wysiwyg.extend({
},
});
-return MassMailingWysiwyg;
-
-});
+export default MassMailingWysiwyg;
diff --git a/addons/payment/static/src/js/checkout_form.js b/addons/payment/static/src/js/checkout_form.js
index c6d4b03e02a..a078e628b7e 100644
--- a/addons/payment/static/src/js/checkout_form.js
+++ b/addons/payment/static/src/js/checkout_form.js
@@ -1,9 +1,8 @@
-odoo.define('payment.checkout_form', require => {
- 'use strict';
+/** @odoo-module alias=payment.checkout_form **/
+
+ import publicWidget from "web.public.widget";
- const publicWidget = require('web.public.widget');
-
- const paymentFormMixin = require('payment.payment_form_mixin');
+ import paymentFormMixin from "payment.payment_form_mixin";
publicWidget.registry.PaymentCheckoutForm = publicWidget.Widget.extend(paymentFormMixin, {
selector: 'form[name="o_payment_checkout"]',
@@ -98,5 +97,4 @@ odoo.define('payment.checkout_form', require => {
},
});
- return publicWidget.registry.PaymentCheckoutForm;
-});
+ export default publicWidget.registry.PaymentCheckoutForm;
diff --git a/addons/payment/static/src/js/manage_form.js b/addons/payment/static/src/js/manage_form.js
index 8cdb1a9e75c..0eb04900d6d 100644
--- a/addons/payment/static/src/js/manage_form.js
+++ b/addons/payment/static/src/js/manage_form.js
@@ -1,11 +1,10 @@
-odoo.define('payment.manage_form', require => {
- 'use strict';
+/** @odoo-module alias=payment.manage_form **/
+
+ import core from "web.core";
+ import publicWidget from "web.public.widget";
+ import Dialog from "web.Dialog";
- const core = require('web.core');
- const publicWidget = require('web.public.widget');
- const Dialog = require('web.Dialog');
-
- const paymentFormMixin = require('payment.payment_form_mixin');
+ import paymentFormMixin from "payment.payment_form_mixin";
const _t = core._t;
@@ -249,5 +248,4 @@ odoo.define('payment.manage_form', require => {
},
});
- return publicWidget.registry.PaymentManageForm;
-});
+ export default publicWidget.registry.PaymentManageForm;
diff --git a/addons/payment/static/src/js/post_processing.js b/addons/payment/static/src/js/post_processing.js
index 31adf4c2b78..4832227a360 100644
--- a/addons/payment/static/src/js/post_processing.js
+++ b/addons/payment/static/src/js/post_processing.js
@@ -1,9 +1,8 @@
-odoo.define('payment.post_processing', function (require) {
- 'use strict';
-
- var publicWidget = require('web.public.widget');
- var core = require('web.core');
- const {Markup} = require('web.utils');
+/** @odoo-module alias=payment.post_processing **/
+
+ import publicWidget from "web.public.widget";
+ import core from "web.core";
+ import {Markup} from "web.utils";
var _t = core._t;
@@ -138,5 +137,4 @@ odoo.define('payment.post_processing', function (require) {
},
});
- return publicWidget.registry.PaymentPostProcessing;
-});
+ export default publicWidget.registry.PaymentPostProcessing;
diff --git a/addons/payment_adyen/static/src/js/payment_form.js b/addons/payment_adyen/static/src/js/payment_form.js
index edbecc1032a..fe6df2f2d98 100644
--- a/addons/payment_adyen/static/src/js/payment_form.js
+++ b/addons/payment_adyen/static/src/js/payment_form.js
@@ -1,10 +1,9 @@
+/** @odoo-module **/
/* global AdyenCheckout */
-odoo.define('payment_adyen.payment_form', require => {
- 'use strict';
-
- const core = require('web.core');
- const checkoutForm = require('payment.checkout_form');
- const manageForm = require('payment.manage_form');
+
+ import core from "web.core";
+ import checkoutForm from "payment.checkout_form";
+ import manageForm from "payment.manage_form";
const _t = core._t;
@@ -214,4 +213,3 @@ odoo.define('payment_adyen.payment_form', require => {
checkoutForm.include(adyenMixin);
manageForm.include(adyenMixin);
-});
diff --git a/addons/payment_authorize/static/src/js/payment_form.js b/addons/payment_authorize/static/src/js/payment_form.js
index e1a23d80d71..9998e980e1b 100644
--- a/addons/payment_authorize/static/src/js/payment_form.js
+++ b/addons/payment_authorize/static/src/js/payment_form.js
@@ -1,12 +1,11 @@
+/** @odoo-module **/
/* global Accept */
-odoo.define('payment_authorize.payment_form', require => {
- 'use strict';
+
+ import core from "web.core";
+ import { loadJS } from "@web/core/assets";
- const core = require('web.core');
- const { loadJS } = require('@web/core/assets');
-
- const checkoutForm = require('payment.checkout_form');
- const manageForm = require('payment.manage_form');
+ import checkoutForm from "payment.checkout_form";
+ import manageForm from "payment.manage_form";
const _t = core._t;
@@ -210,4 +209,3 @@ odoo.define('payment_authorize.payment_form', require => {
checkoutForm.include(authorizeMixin);
manageForm.include(authorizeMixin);
-});
diff --git a/addons/payment_custom/static/src/js/post_processing.js b/addons/payment_custom/static/src/js/post_processing.js
index 592a426538f..b95d9af1a13 100644
--- a/addons/payment_custom/static/src/js/post_processing.js
+++ b/addons/payment_custom/static/src/js/post_processing.js
@@ -1,7 +1,6 @@
-odoo.define('payment_custom.post_processing', require => {
- 'use strict';
-
- const paymentPostProcessing = require('payment.post_processing');
+/** @odoo-module **/
+
+ import paymentPostProcessing from "payment.post_processing";
paymentPostProcessing.include({
/**
@@ -22,4 +21,3 @@ odoo.define('payment_custom.post_processing', require => {
}
}
});
-});
diff --git a/addons/payment_demo/static/src/js/payment_form.js b/addons/payment_demo/static/src/js/payment_form.js
index 039fbd8b170..32993fc90c2 100644
--- a/addons/payment_demo/static/src/js/payment_form.js
+++ b/addons/payment_demo/static/src/js/payment_form.js
@@ -1,8 +1,7 @@
-odoo.define('payment_demo.payment_form', require => {
- 'use strict';
-
- const checkoutForm = require('payment.checkout_form');
- const manageForm = require('payment.manage_form');
+/** @odoo-module **/
+
+ import checkoutForm from "payment.checkout_form";
+ import manageForm from "payment.manage_form";
const paymentDemoMixin = {
@@ -61,4 +60,3 @@ odoo.define('payment_demo.payment_form', require => {
};
checkoutForm.include(paymentDemoMixin);
manageForm.include(paymentDemoMixin);
-});
diff --git a/addons/portal/static/src/js/portal.js b/addons/portal/static/src/js/portal.js
index fcc4f545a37..6490f89f106 100644
--- a/addons/portal/static/src/js/portal.js
+++ b/addons/portal/static/src/js/portal.js
@@ -1,10 +1,9 @@
-odoo.define('portal.portal', function (require) {
-'use strict';
+/** @odoo-module alias=portal.portal **/
-var publicWidget = require('web.public.widget');
-const Dialog = require('web.Dialog');
-const {_t, qweb} = require('web.core');
-const session = require('web.session');
+import publicWidget from "web.public.widget";
+import Dialog from "web.Dialog";
+import {_t, qweb} from "web.core";
+import session from "web.session";
publicWidget.registry.portalDetails = publicWidget.Widget.extend({
selector: '.o_portal_details',
@@ -356,7 +355,6 @@ function handleCheckIdentity(rpc, wrapped) {
});
});
}
-return {
+export default {
handleCheckIdentity,
}
-});
diff --git a/addons/portal/static/src/js/portal_chatter.js b/addons/portal/static/src/js/portal_chatter.js
index 3a34228ece3..9501afb1b20 100644
--- a/addons/portal/static/src/js/portal_chatter.js
+++ b/addons/portal/static/src/js/portal_chatter.js
@@ -1,12 +1,11 @@
-odoo.define('portal.chatter', function (require) {
-'use strict';
+/** @odoo-module alias=portal.chatter **/
-var core = require('web.core');
-const dom = require('web.dom');
-var publicWidget = require('web.public.widget');
-var time = require('web.time');
-var portalComposer = require('portal.composer');
-const {Markup} = require('web.utils');
+import core from "web.core";
+import dom from "web.dom";
+import publicWidget from "web.public.widget";
+import time from "web.time";
+import portalComposer from "portal.composer";
+import {Markup} from "web.utils";
var qweb = core.qweb;
var _t = core._t;
@@ -339,7 +338,6 @@ publicWidget.registry.portalChatter = publicWidget.Widget.extend({
},
});
-return {
+export default {
PortalChatter: PortalChatter,
};
-});
diff --git a/addons/portal/static/src/js/portal_composer.js b/addons/portal/static/src/js/portal_composer.js
index 1925a8a4c2f..25536cd34ff 100644
--- a/addons/portal/static/src/js/portal_composer.js
+++ b/addons/portal/static/src/js/portal_composer.js
@@ -1,9 +1,8 @@
-odoo.define('portal.composer', function (require) {
-'use strict';
+/** @odoo-module alias=portal.composer **/
-var ajax = require('web.ajax');
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
+import ajax from "web.ajax";
+import core from "web.core";
+import publicWidget from "web.public.widget";
var qweb = core.qweb;
var _t = core._t;
@@ -206,7 +205,6 @@ var PortalComposer = publicWidget.Widget.extend({
},
});
-return {
+export default {
PortalComposer: PortalComposer,
};
-});
diff --git a/addons/portal/static/src/js/portal_sidebar.js b/addons/portal/static/src/js/portal_sidebar.js
index d081ddec68d..bc8ceda33cd 100644
--- a/addons/portal/static/src/js/portal_sidebar.js
+++ b/addons/portal/static/src/js/portal_sidebar.js
@@ -1,10 +1,9 @@
-odoo.define('portal.PortalSidebar', function (require) {
-'use strict';
+/** @odoo-module alias=portal.PortalSidebar **/
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
-var time = require('web.time');
-var session = require('web.session');
+import core from "web.core";
+import publicWidget from "web.public.widget";
+import time from "web.time";
+import session from "web.session";
var _t = core._t;
@@ -71,5 +70,4 @@ var PortalSidebar = publicWidget.Widget.extend({
}
},
});
-return PortalSidebar;
-});
+export default PortalSidebar;
diff --git a/addons/portal/static/src/js/portal_signature.js b/addons/portal/static/src/js/portal_signature.js
index cfb7a457323..533c2ac6784 100644
--- a/addons/portal/static/src/js/portal_signature.js
+++ b/addons/portal/static/src/js/portal_signature.js
@@ -1,9 +1,8 @@
-odoo.define('portal.signature_form', function (require) {
-'use strict';
+/** @odoo-module alias=portal.signature_form **/
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
-var NameAndSignature = require('web.name_and_signature').NameAndSignature;
+import core from "web.core";
+import publicWidget from "web.public.widget";
+import { NameAndSignature } from "web.name_and_signature";
var qweb = core.qweb;
var _t = core._t;
@@ -190,7 +189,6 @@ publicWidget.registry.SignatureForm = publicWidget.Widget.extend({
},
});
-return {
+export default {
SignatureForm: SignatureForm,
};
-});
diff --git a/addons/portal/static/tests/tours/portal.js b/addons/portal/static/tests/tours/portal.js
index 4ee27274b44..fa21f437c6d 100644
--- a/addons/portal/static/tests/tours/portal.js
+++ b/addons/portal/static/tests/tours/portal.js
@@ -1,7 +1,6 @@
-odoo.define('portal.tour', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('portal_load_homepage', {
test: true,
@@ -17,5 +16,3 @@ registry.category("web_tour.tours").add('portal_load_homepage', {
}
]
});
-
-});
diff --git a/addons/portal_rating/static/src/js/portal_chatter.js b/addons/portal_rating/static/src/js/portal_chatter.js
index caeb6667dbd..984397f7b4d 100644
--- a/addons/portal_rating/static/src/js/portal_chatter.js
+++ b/addons/portal_rating/static/src/js/portal_chatter.js
@@ -1,10 +1,9 @@
-odoo.define('rating.portal.chatter', function (require) {
-'use strict';
+/** @odoo-module **/
-var core = require('web.core');
-var portalChatter = require('portal.chatter');
-var utils = require('web.utils');
-var time = require('web.time');
+import core from "web.core";
+import portalChatter from "portal.chatter";
+import utils from "web.utils";
+import time from "web.time";
var _t = core._t;
var PortalChatter = portalChatter.PortalChatter;
@@ -380,4 +379,3 @@ PortalChatter.include({
this._changeCurrentPage(1, domain);
},
});
-});
diff --git a/addons/portal_rating/static/src/js/portal_composer.js b/addons/portal_rating/static/src/js/portal_composer.js
index 7833de0b86c..d36a5d814d5 100644
--- a/addons/portal_rating/static/src/js/portal_composer.js
+++ b/addons/portal_rating/static/src/js/portal_composer.js
@@ -1,8 +1,7 @@
-odoo.define('rating.portal.composer', function (require) {
-'use strict';
+/** @odoo-module **/
-var core = require('web.core');
-var portalComposer = require('portal.composer');
+import core from "web.core";
+import portalComposer from "portal.composer";
var _t = core._t;
@@ -169,4 +168,3 @@ PortalComposer.include({
return this._super.apply(this, arguments);
},
});
-});
diff --git a/addons/portal_rating/static/src/js/portal_rating_composer.js b/addons/portal_rating/static/src/js/portal_rating_composer.js
index 08e723a7430..c3e01e30069 100644
--- a/addons/portal_rating/static/src/js/portal_rating_composer.js
+++ b/addons/portal_rating/static/src/js/portal_rating_composer.js
@@ -1,10 +1,9 @@
-odoo.define('portal.rating.composer', function (require) {
-'use strict';
+/** @odoo-module alias=portal.rating.composer **/
-const publicWidget = require('web.public.widget');
-const session = require('web.session');
-const portalComposer = require('portal.composer');
-const {_t, qweb} = require('web.core');
+import publicWidget from "web.public.widget";
+import session from "web.session";
+import portalComposer from "portal.composer";
+import {_t, qweb} from "web.core";
const PortalComposer = portalComposer.PortalComposer;
@@ -123,6 +122,4 @@ const RatingPopupComposer = publicWidget.Widget.extend({
publicWidget.registry.RatingPopupComposer = RatingPopupComposer;
-return RatingPopupComposer;
-
-});
+export default RatingPopupComposer;
diff --git a/addons/project/static/src/js/tours/project.js b/addons/project/static/src/js/tours/project.js
index 33f0f95b949..7c957ade38a 100644
--- a/addons/project/static/src/js/tours/project.js
+++ b/addons/project/static/src/js/tours/project.js
@@ -1,10 +1,9 @@
-odoo.define('project.tour', function(require) {
-"use strict";
+/** @odoo-module **/
-const {_t} = require('web.core');
-const {Markup} = require('web.utils');
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import {_t} from "web.core";
+import {Markup} from "web.utils";
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('project_tour', {
sequence: 110,
@@ -136,5 +135,3 @@ registry.category("web_tour.tours").add('project_tour', {
// last step to confirm we've come back before considering the tour successful
auto: true
}]});
-
-});
diff --git a/addons/purchase/__manifest__.py b/addons/purchase/__manifest__.py
index 1d8311943bd..0a617c3517d 100644
--- a/addons/purchase/__manifest__.py
+++ b/addons/purchase/__manifest__.py
@@ -41,6 +41,7 @@
'purchase/static/src/toaster_button/*',
'purchase/static/src/views/*.js',
'purchase/static/src/js/tours/purchase.js',
+ 'purchase/static/src/js/tours/purchase_steps.js',
'purchase/static/src/**/*.xml',
],
'web.assets_frontend': [
diff --git a/addons/purchase/static/src/js/purchase_portal_sidebar.js b/addons/purchase/static/src/js/purchase_portal_sidebar.js
index 20a9b6b57d9..e924b5679f6 100644
--- a/addons/purchase/static/src/js/purchase_portal_sidebar.js
+++ b/addons/purchase/static/src/js/purchase_portal_sidebar.js
@@ -1,18 +1,17 @@
-odoo.define('purchase.PurchasePortalSidebar', function (require) {
-'use strict';
+/** @odoo-module **/
-var publicWidget = require('web.public.widget');
-var PortalSidebar = require('portal.PortalSidebar');
+import publicWidget from "web.public.widget";
+import PortalSidebar from "portal.PortalSidebar";
publicWidget.registry.PurchasePortalSidebar = PortalSidebar.extend({
- selector: '.o_portal_purchase_sidebar',
+ selector: ".o_portal_purchase_sidebar",
/**
* @constructor
*/
init: function (parent, options) {
this._super.apply(this, arguments);
- this.authorizedTextTag = ['em', 'b', 'i', 'u'];
+ this.authorizedTextTag = ["em", "b", "i", "u"];
this.spyWatched = $('body[data-target=".navspy"]');
},
/**
@@ -41,7 +40,7 @@ publicWidget.registry.PurchasePortalSidebar = PortalSidebar.extend({
*/
_setElementId: function (prefix, $el) {
var id = _.uniqueId(prefix);
- this.spyWatched.find($el).attr('id', id);
+ this.spyWatched.find($el).attr("id", id);
return id;
},
/**
@@ -54,23 +53,32 @@ publicWidget.registry.PurchasePortalSidebar = PortalSidebar.extend({
var self = this,
lastLI = false,
lastUL = null,
- $bsSidenav = this.$el.find('.bs-sidenav');
+ $bsSidenav = this.$el.find(".bs-sidenav");
- $("#quote_content [id^=quote_header_], #quote_content [id^=quote_]", this.spyWatched).attr("id", "");
+ $("#quote_content [id^=quote_header_], #quote_content [id^=quote_]", this.spyWatched).attr(
+ "id",
+ ""
+ );
_.each(this.spyWatched.find("#quote_content h2, #quote_content h3"), function (el) {
var id, text;
switch (el.tagName.toLowerCase()) {
case "h2":
- id = self._setElementId('quote_header_', el);
+ id = self._setElementId("quote_header_", el);
text = self._extractText($(el));
if (!text) {
break;
}
- lastLI = $("").append($('').text(text)).appendTo($bsSidenav);
+ lastLI = $("")
+ .append(
+ $(
+ ''
+ ).text(text)
+ )
+ .appendTo($bsSidenav);
lastUL = false;
break;
case "h3":
- id = self._setElementId('quote_', el);
+ id = self._setElementId("quote_", el);
text = self._extractText($(el));
if (!text) {
break;
@@ -79,13 +87,21 @@ publicWidget.registry.PurchasePortalSidebar = PortalSidebar.extend({
if (!lastUL) {
lastUL = $("").appendTo(lastLI);
}
- $("- ").append($('').text(text)).appendTo(lastUL);
+ $("
- ")
+ .append(
+ $(
+ ''
+ ).text(text)
+ )
+ .appendTo(lastUL);
}
break;
}
- el.setAttribute('data-anchor', true);
+ el.setAttribute("data-anchor", true);
});
- this.trigger_up('widgets_start_request', {$target: $bsSidenav});
+ this.trigger_up("widgets_start_request", { $target: $bsSidenav });
},
/**
* extract text of menu title for sidebar
@@ -101,12 +117,15 @@ publicWidget.registry.PurchasePortalSidebar = PortalSidebar.extend({
var current = $(el);
if ($.trim(current.text())) {
var tagName = current.prop("tagName");
- if (_.isUndefined(tagName) || (!_.isUndefined(tagName) && _.contains(self.authorizedTextTag, tagName.toLowerCase()))) {
+ if (
+ _.isUndefined(tagName) ||
+ (!_.isUndefined(tagName) &&
+ _.contains(self.authorizedTextTag, tagName.toLowerCase()))
+ ) {
rawText.push($.trim(current.text()));
}
}
});
- return rawText.join(' ');
+ return rawText.join(" ");
},
});
-});
diff --git a/addons/purchase/static/src/js/tours/purchase.js b/addons/purchase/static/src/js/tours/purchase.js
index 9767768125a..d83588415e5 100644
--- a/addons/purchase/static/src/js/tours/purchase.js
+++ b/addons/purchase/static/src/js/tours/purchase.js
@@ -1,34 +1,11 @@
-odoo.define('purchase.purchase_steps', function (require) {
-"use strict";
+/** @odoo-module **/
-var core = require('web.core');
-
-var PurchaseAdditionalTourSteps = core.Class.extend({
-
- _get_purchase_stock_steps: function () {
- return [
- {
- auto: true, // Useless final step to trigger congratulation message
- trigger: ".o_purchase_order",
- },
- ];
- },
-
-});
-
-return PurchaseAdditionalTourSteps;
-
-});
-
-odoo.define('purchase.tour', function(require) {
-"use strict";
-
-var core = require('web.core');
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import core from "web.core";
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
var _t = core._t;
-var PurchaseAdditionalTourSteps = require('purchase.purchase_steps');
+import PurchaseAdditionalTourSteps from "purchase.purchase_steps";
registry.category("web_tour.tours").add('purchase_tour' , {
url: "/web",
@@ -128,5 +105,3 @@ registry.category("web_tour.tours").add('purchase_tour' , {
}, ...stepUtils.statusbarButtonsSteps('Confirm Order', _t("Confirm your purchase.")),
...new PurchaseAdditionalTourSteps()._get_purchase_stock_steps(),
]});
-
-});
diff --git a/addons/purchase/static/src/js/tours/purchase_steps.js b/addons/purchase/static/src/js/tours/purchase_steps.js
new file mode 100644
index 00000000000..6cfcf60d4b1
--- /dev/null
+++ b/addons/purchase/static/src/js/tours/purchase_steps.js
@@ -0,0 +1,16 @@
+/** @odoo-module alias=purchase.purchase_steps **/
+
+import core from "web.core";
+
+var PurchaseAdditionalTourSteps = core.Class.extend({
+ _get_purchase_stock_steps: function () {
+ return [
+ {
+ auto: true, // Useless final step to trigger congratulation message
+ trigger: ".o_purchase_order",
+ },
+ ];
+ },
+});
+
+export default PurchaseAdditionalTourSteps;
diff --git a/addons/purchase_product_matrix/static/tests/tours/purchase_product_matrix_tour.js b/addons/purchase_product_matrix/static/tests/tours/purchase_product_matrix_tour.js
index 1510323305f..eca75966018 100644
--- a/addons/purchase_product_matrix/static/tests/tours/purchase_product_matrix_tour.js
+++ b/addons/purchase_product_matrix/static/tests/tours/purchase_product_matrix_tour.js
@@ -1,8 +1,7 @@
-odoo.define('purchase_product_matrix.purchase_matrix_tour', function (require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('purchase_matrix_tour', {
url: "/web",
@@ -78,6 +77,3 @@ registry.category("web_tour.tours").add('purchase_matrix_tour', {
run: 'click' // apply the matrix
}, ...stepUtils.saveForm({ extra_trigger: '.o_field_cell.o_data_cell.o_list_number:contains("8.20")' })
]});
-
-
-});
diff --git a/addons/purchase_stock/static/src/js/tours/purchase_stock.js b/addons/purchase_stock/static/src/js/tours/purchase_stock.js
index 44e6eabe1b6..6f626b25add 100644
--- a/addons/purchase_stock/static/src/js/tours/purchase_stock.js
+++ b/addons/purchase_stock/static/src/js/tours/purchase_stock.js
@@ -1,10 +1,9 @@
-odoo.define('purchase_stock.purchase_steps', function (require) {
-"use strict";
+/** @odoo-module alias=purchase_stock.purchase_steps **/
-var core = require('web.core');
+import core from "web.core";
var _t = core._t;
-var PurchaseAdditionalTourSteps = require('purchase.purchase_steps');
+import PurchaseAdditionalTourSteps from "purchase.purchase_steps";
PurchaseAdditionalTourSteps.include({
@@ -44,6 +43,4 @@ PurchaseAdditionalTourSteps.include({
}
});
-return PurchaseAdditionalTourSteps;
-
-});
+export default PurchaseAdditionalTourSteps;
diff --git a/addons/sale/static/src/js/payment_form.js b/addons/sale/static/src/js/payment_form.js
index 0eda48f4a14..06a62e88bda 100644
--- a/addons/sale/static/src/js/payment_form.js
+++ b/addons/sale/static/src/js/payment_form.js
@@ -1,8 +1,7 @@
-odoo.define('sale.payment_form', require => {
- 'use strict';
-
- const checkoutForm = require('payment.checkout_form');
- const manageForm = require('payment.manage_form');
+/** @odoo-module **/
+
+ import checkoutForm from "payment.checkout_form";
+ import manageForm from "payment.manage_form";
const salePaymentMixin = {
@@ -33,5 +32,3 @@ odoo.define('sale.payment_form', require => {
checkoutForm.include(salePaymentMixin);
manageForm.include(salePaymentMixin);
-
-});
diff --git a/addons/sale/static/src/js/sale_portal_sidebar.js b/addons/sale/static/src/js/sale_portal_sidebar.js
index f78623e42b8..efd8ff1980e 100644
--- a/addons/sale/static/src/js/sale_portal_sidebar.js
+++ b/addons/sale/static/src/js/sale_portal_sidebar.js
@@ -1,8 +1,7 @@
-odoo.define('sale.SalePortalSidebar', function (require) {
-'use strict';
+/** @odoo-module **/
-var publicWidget = require('web.public.widget');
-var PortalSidebar = require('portal.PortalSidebar');
+import publicWidget from "web.public.widget";
+import PortalSidebar from "portal.PortalSidebar";
publicWidget.registry.SalePortalSidebar = PortalSidebar.extend({
selector: '.o_portal_sale_sidebar',
@@ -114,4 +113,3 @@ publicWidget.registry.SalePortalSidebar = PortalSidebar.extend({
return rawText.join(' ');
},
});
-});
diff --git a/addons/sale/static/src/js/tours/sale.js b/addons/sale/static/src/js/tours/sale.js
index 4507bcd6640..e375b3b6abd 100644
--- a/addons/sale/static/src/js/tours/sale.js
+++ b/addons/sale/static/src/js/tours/sale.js
@@ -1,10 +1,9 @@
-odoo.define('sale.tour', function(require) {
-"use strict";
+/** @odoo-module **/
-const {_t} = require('web.core');
-const {Markup} = require('web.utils');
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import {_t} from "web.core";
+import {Markup} from "web.utils";
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
const { markup } = owl;
@@ -149,5 +148,3 @@ registry.category("web_tour.tours").add("sale_quote_tour", {
auto: true,
}
]});
-
-});
diff --git a/addons/sale/static/src/js/variant_mixin.js b/addons/sale/static/src/js/variant_mixin.js
index 1e36633bd3c..5bcdbeee58f 100644
--- a/addons/sale/static/src/js/variant_mixin.js
+++ b/addons/sale/static/src/js/variant_mixin.js
@@ -1,10 +1,9 @@
-odoo.define('sale.VariantMixin', function (require) {
-'use strict';
+/** @odoo-module alias=sale.VariantMixin **/
-var concurrency = require('web.concurrency');
-var core = require('web.core');
-var utils = require('web.utils');
-var ajax = require('web.ajax');
+import concurrency from "web.concurrency";
+import core from "web.core";
+import utils from "web.utils";
+import ajax from "web.ajax";
var _t = core._t;
var VariantMixin = {
@@ -710,6 +709,4 @@ var VariantMixin = {
}
};
-return VariantMixin;
-
-});
+export default VariantMixin;
diff --git a/addons/sale/static/tests/tours/sale_signature.js b/addons/sale/static/tests/tours/sale_signature.js
index f3b72f770cf..946d9bde2a7 100644
--- a/addons/sale/static/tests/tours/sale_signature.js
+++ b/addons/sale/static/tests/tours/sale_signature.js
@@ -1,7 +1,6 @@
-odoo.define('sale.tour_sale_signature', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
// This tour relies on data created on the Python test.
registry.category("web_tour.tours").add('sale_signature', {
@@ -47,4 +46,3 @@ registry.category("web_tour.tours").add('sale_signature', {
run: function() {},
}
]});
-});
diff --git a/addons/sale_management/static/src/js/sale_management.js b/addons/sale_management/static/src/js/sale_management.js
index 3d829b98900..a5b9e75964b 100644
--- a/addons/sale_management/static/src/js/sale_management.js
+++ b/addons/sale_management/static/src/js/sale_management.js
@@ -1,7 +1,6 @@
-odoo.define('sale_management.sale_management', function (require) {
-'use strict';
+/** @odoo-module **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.SaleUpdateLineButton = publicWidget.Widget.extend({
selector: '.o_portal_sale_sidebar',
@@ -108,4 +107,3 @@ publicWidget.registry.SaleUpdateLineButton = publicWidget.Widget.extend({
},
});
-});
diff --git a/addons/sale_product_matrix/static/src/js/sale_product_field.js b/addons/sale_product_matrix/static/src/js/sale_product_field.js
index fd6e8732175..5485cd05a04 100644
--- a/addons/sale_product_matrix/static/src/js/sale_product_field.js
+++ b/addons/sale_product_matrix/static/src/js/sale_product_field.js
@@ -4,6 +4,7 @@ import { patch } from "@web/core/utils/patch";
import { SaleOrderLineProductField } from '@sale/js/sale_product_field';
import { ProductMatrixDialog } from "@product_matrix/js/product_matrix_dialog";
import { useService } from "@web/core/utils/hooks";
+import "@sale_product_configurator/js/sale_product_field";
patch(SaleOrderLineProductField.prototype, 'sale_product_matrix', {
diff --git a/addons/sale_timesheet/static/tests/tours/sale_timesheet_tour.js b/addons/sale_timesheet/static/tests/tours/sale_timesheet_tour.js
index 571363a3deb..e2248f2edcb 100644
--- a/addons/sale_timesheet/static/tests/tours/sale_timesheet_tour.js
+++ b/addons/sale_timesheet/static/tests/tours/sale_timesheet_tour.js
@@ -1,9 +1,8 @@
-odoo.define('sale_timesheet.tour', function (require) {
-"use strict";
+/** @odoo-module **/
-const {Markup} = require('web.utils');
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import {Markup} from "web.utils";
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('sale_timesheet_tour', {
test: true,
@@ -305,4 +304,3 @@ registry.category("web_tour.tours").add('sale_timesheet_tour', {
stepUtils.toggleHomeMenu(),
...stepUtils.goToAppSteps("project.menu_main_pm", 'Go to the Project app.'),
]});
-});
diff --git a/addons/stock/static/tests/tours/stock_report_tests.js b/addons/stock/static/tests/tours/stock_report_tests.js
index 72d3cda0ac3..c08aced29f2 100644
--- a/addons/stock/static/tests/tours/stock_report_tests.js
+++ b/addons/stock/static/tests/tours/stock_report_tests.js
@@ -1,7 +1,6 @@
-odoo.define('stock.reports.setup.tour', function (require) {
- "use strict";
-
- const { registry } = require("@web/core/registry");
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('test_stock_route_diagram_report', {
test: true,
@@ -20,4 +19,3 @@ odoo.define('stock.reports.setup.tour', function (require) {
trigger: 'iframe .o_report_stock_rule',
},
]});
-});
diff --git a/addons/survey/static/src/js/survey_breadcrumb.js b/addons/survey/static/src/js/survey_breadcrumb.js
index a04b678d3c4..925dae4834e 100644
--- a/addons/survey/static/src/js/survey_breadcrumb.js
+++ b/addons/survey/static/src/js/survey_breadcrumb.js
@@ -1,7 +1,6 @@
-odoo.define('survey.breadcrumb', function (require) {
-'use strict';
+/** @odoo-module alias=survey.breadcrumb **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.SurveyBreadcrumbWidget = publicWidget.Widget.extend({
template: "survey.survey_breadcrumb_template",
@@ -44,6 +43,4 @@ publicWidget.registry.SurveyBreadcrumbWidget = publicWidget.Widget.extend({
},
});
-return publicWidget.registry.SurveyBreadcrumbWidget;
-
-});
+export default publicWidget.registry.SurveyBreadcrumbWidget;
diff --git a/addons/survey/static/src/js/survey_form.js b/addons/survey/static/src/js/survey_form.js
index a25a4d964e6..6a2b6b12383 100644
--- a/addons/survey/static/src/js/survey_form.js
+++ b/addons/survey/static/src/js/survey_form.js
@@ -1,17 +1,16 @@
-odoo.define('survey.form', function (require) {
-'use strict';
+/** @odoo-module alias=survey.form **/
-var field_utils = require('web.field_utils');
-var publicWidget = require('web.public.widget');
-var time = require('web.time');
-var config = require('web.config');
-var core = require('web.core');
-var Dialog = require('web.Dialog');
-var dom = require('web.dom');
-const {getCookie, setCookie, deleteCookie} = require('web.utils.cookies');
+import field_utils from "web.field_utils";
+import publicWidget from "web.public.widget";
+import time from "web.time";
+import config from "web.config";
+import core from "web.core";
+import Dialog from "web.Dialog";
+import dom from "web.dom";
+import {getCookie, setCookie, deleteCookie} from "web.utils.cookies";
-var SurveyPreloadImageMixin = require('survey.preload_image_mixin');
-const { SurveyImageZoomer } = require("@survey/js/survey_image_zoomer");
+import SurveyPreloadImageMixin from "survey.preload_image_mixin";
+import { SurveyImageZoomer } from "@survey/js/survey_image_zoomer";
var _t = core._t;
var isMac = navigator.platform.toUpperCase().includes('MAC');
@@ -1206,6 +1205,4 @@ publicWidget.registry.SurveyFormWidget = publicWidget.Widget.extend(SurveyPreloa
});
-return publicWidget.registry.SurveyFormWidget;
-
-});
+export default publicWidget.registry.SurveyFormWidget;
diff --git a/addons/survey/static/src/js/survey_preload_image_mixin.js b/addons/survey/static/src/js/survey_preload_image_mixin.js
index 8cf97d50c03..21240b2c371 100644
--- a/addons/survey/static/src/js/survey_preload_image_mixin.js
+++ b/addons/survey/static/src/js/survey_preload_image_mixin.js
@@ -1,8 +1,7 @@
-odoo.define('survey.preload_image_mixin', function (require) {
-"use strict";
+/** @odoo-module alias=survey.preload_image_mixin **/
-return {
+export default {
/**
* Load the target section background and render it when loaded.
*
@@ -30,5 +29,3 @@ return {
return preloadPromise;
}
};
-
-});
diff --git a/addons/survey/static/src/js/survey_print.js b/addons/survey/static/src/js/survey_print.js
index 5e4b8118aec..d31f432b427 100644
--- a/addons/survey/static/src/js/survey_print.js
+++ b/addons/survey/static/src/js/survey_print.js
@@ -1,8 +1,7 @@
-odoo.define('survey.print', function (require) {
-'use strict';
+/** @odoo-module alias=survey.print **/
-var publicWidget = require('web.public.widget');
-var dom = require('web.dom');
+import publicWidget from "web.public.widget";
+import dom from "web.dom";
publicWidget.registry.SurveyPrintWidget = publicWidget.Widget.extend({
selector: '.o_survey_print',
@@ -26,6 +25,4 @@ publicWidget.registry.SurveyPrintWidget = publicWidget.Widget.extend({
});
-return publicWidget.registry.SurveyPrintWidget;
-
-});
+export default publicWidget.registry.SurveyPrintWidget;
diff --git a/addons/survey/static/src/js/survey_quick_access.js b/addons/survey/static/src/js/survey_quick_access.js
index abf509412c8..235ed8fffa0 100644
--- a/addons/survey/static/src/js/survey_quick_access.js
+++ b/addons/survey/static/src/js/survey_quick_access.js
@@ -1,7 +1,6 @@
-odoo.define('survey.quick.access', function (require) {
-'use strict';
+/** @odoo-module alias=survey.quick.access **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.SurveyQuickAccessWidget = publicWidget.Widget.extend({
selector: '.o_survey_quick_access',
@@ -91,6 +90,4 @@ publicWidget.registry.SurveyQuickAccessWidget = publicWidget.Widget.extend({
},
});
-return publicWidget.registry.SurveyQuickAccessWidget;
-
-});
+export default publicWidget.registry.SurveyQuickAccessWidget;
diff --git a/addons/survey/static/src/js/survey_result.js b/addons/survey/static/src/js/survey_result.js
index 163857a0bd7..c835e7e46e3 100644
--- a/addons/survey/static/src/js/survey_result.js
+++ b/addons/survey/static/src/js/survey_result.js
@@ -1,10 +1,9 @@
-odoo.define('survey.result', function (require) {
-'use strict';
+/** @odoo-module alias=survey.result **/
-var _t = require('web.core')._t;
-const { loadJS } = require('@web/core/assets');
-const { SurveyImageZoomer } = require("@survey/js/survey_image_zoomer");
-var publicWidget = require('web.public.widget');
+import { _t } from "web.core";
+import { loadJS } from "@web/core/assets";
+import { SurveyImageZoomer } from "@survey/js/survey_image_zoomer";
+import publicWidget from "web.public.widget";
// The given colors are the same as those used by D3
var D3_COLORS = ["#1f77b4","#ff7f0e","#aec7e8","#ffbb78","#2ca02c","#98df8a","#d62728",
@@ -608,10 +607,8 @@ publicWidget.registry.SurveyResultWidget = publicWidget.Widget.extend({
}
});
-return {
+export default {
resultWidget: publicWidget.registry.SurveyResultWidget,
chartWidget: publicWidget.registry.SurveyResultChart,
paginationWidget: publicWidget.registry.SurveyResultPagination
};
-
-});
diff --git a/addons/survey/static/src/js/survey_session_chart.js b/addons/survey/static/src/js/survey_session_chart.js
index 416c6763da3..99c941ccd92 100644
--- a/addons/survey/static/src/js/survey_session_chart.js
+++ b/addons/survey/static/src/js/survey_session_chart.js
@@ -1,8 +1,7 @@
-odoo.define('survey.session_chart', function (require) {
-'use strict';
+/** @odoo-module alias=survey.session_chart **/
-var publicWidget = require('web.public.widget');
-var SESSION_CHART_COLORS = require('survey.session_colors');
+import publicWidget from "web.public.widget";
+import SESSION_CHART_COLORS from "survey.session_colors";
publicWidget.registry.SurveySessionChart = publicWidget.Widget.extend({
init: function (parent, options) {
@@ -358,6 +357,4 @@ publicWidget.registry.SurveySessionChart = publicWidget.Widget.extend({
}
});
-return publicWidget.registry.SurveySessionChart;
-
-});
+export default publicWidget.registry.SurveySessionChart;
diff --git a/addons/survey/static/src/js/survey_session_colors.js b/addons/survey/static/src/js/survey_session_colors.js
index 6b5ca3446e7..292c713f2d7 100644
--- a/addons/survey/static/src/js/survey_session_colors.js
+++ b/addons/survey/static/src/js/survey_session_colors.js
@@ -1,11 +1,10 @@
-odoo.define('survey.session_colors', function (require) {
-'use strict';
+/** @odoo-module alias=survey.session_colors **/
/**
* Small tool that returns common colors for survey session widgets.
* Source: https://www.materialui.co/colors (500)
*/
-return [
+export default [
'33,150,243',
'63,81,181',
'205,220,57',
@@ -17,5 +16,3 @@ return [
'96,125,139',
'244,67,54',
];
-
-});
diff --git a/addons/survey/static/src/js/survey_session_leaderboard.js b/addons/survey/static/src/js/survey_session_leaderboard.js
index 7d4ad6b81f6..67208d1ce32 100644
--- a/addons/survey/static/src/js/survey_session_leaderboard.js
+++ b/addons/survey/static/src/js/survey_session_leaderboard.js
@@ -1,8 +1,7 @@
-odoo.define('survey.session_leaderboard', function (require) {
-'use strict';
+/** @odoo-module alias=survey.session_leaderboard **/
-var publicWidget = require('web.public.widget');
-var SESSION_CHART_COLORS = require('survey.session_colors');
+import publicWidget from "web.public.widget";
+import SESSION_CHART_COLORS from "survey.session_colors";
publicWidget.registry.SurveySessionLeaderboard = publicWidget.Widget.extend({
init: function (parent, options) {
@@ -330,6 +329,4 @@ publicWidget.registry.SurveySessionLeaderboard = publicWidget.Widget.extend({
}
});
-return publicWidget.registry.SurveySessionLeaderboard;
-
-});
+export default publicWidget.registry.SurveySessionLeaderboard;
diff --git a/addons/survey/static/src/js/survey_session_manage.js b/addons/survey/static/src/js/survey_session_manage.js
index b3a89e4ec71..61af1b7e32b 100644
--- a/addons/survey/static/src/js/survey_session_manage.js
+++ b/addons/survey/static/src/js/survey_session_manage.js
@@ -1,12 +1,11 @@
-odoo.define('survey.session_manage', function (require) {
-'use strict';
+/** @odoo-module alias=survey.session_manage **/
-var publicWidget = require('web.public.widget');
-var SurveyPreloadImageMixin = require('survey.preload_image_mixin');
-var SurveySessionChart = require('survey.session_chart');
-var SurveySessionTextAnswers = require('survey.session_text_answers');
-var SurveySessionLeaderBoard = require('survey.session_leaderboard');
-const {_lt} = require('web.core');
+import publicWidget from "web.public.widget";
+import SurveyPreloadImageMixin from "survey.preload_image_mixin";
+import SurveySessionChart from "survey.session_chart";
+import SurveySessionTextAnswers from "survey.session_text_answers";
+import SurveySessionLeaderBoard from "survey.session_leaderboard";
+import {_lt} from "web.core";
const nextPageTooltips = {
closingWords: _lt('End of Survey'),
@@ -704,6 +703,4 @@ publicWidget.registry.SurveySessionManage = publicWidget.Widget.extend(SurveyPre
}
});
-return publicWidget.registry.SurveySessionManage;
-
-});
+export default publicWidget.registry.SurveySessionManage;
diff --git a/addons/survey/static/src/js/survey_session_text_answers.js b/addons/survey/static/src/js/survey_session_text_answers.js
index 5649f9ae6a6..93990aca28b 100644
--- a/addons/survey/static/src/js/survey_session_text_answers.js
+++ b/addons/survey/static/src/js/survey_session_text_answers.js
@@ -1,10 +1,9 @@
-odoo.define('survey.session_text_answers', function (require) {
-'use strict';
+/** @odoo-module alias=survey.session_text_answers **/
-var publicWidget = require('web.public.widget');
-var core = require('web.core');
-var time = require('web.time');
-var SESSION_CHART_COLORS = require('survey.session_colors');
+import publicWidget from "web.public.widget";
+import core from "web.core";
+import time from "web.time";
+import SESSION_CHART_COLORS from "survey.session_colors";
var QWeb = core.qweb;
@@ -68,6 +67,4 @@ publicWidget.registry.SurveySessionTextAnswers = publicWidget.Widget.extend({
},
});
-return publicWidget.registry.SurveySessionTextAnswers;
-
-});
+export default publicWidget.registry.SurveySessionTextAnswers;
diff --git a/addons/survey/static/src/js/survey_timer.js b/addons/survey/static/src/js/survey_timer.js
index 23339bc21fd..4b27e410c31 100644
--- a/addons/survey/static/src/js/survey_timer.js
+++ b/addons/survey/static/src/js/survey_timer.js
@@ -1,7 +1,6 @@
-odoo.define('survey.timer', function (require) {
-'use strict';
+/** @odoo-module alias=survey.timer **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.SurveyTimerWidget = publicWidget.Widget.extend({
//--------------------------------------------------------------------------
@@ -77,6 +76,4 @@ publicWidget.registry.SurveyTimerWidget = publicWidget.Widget.extend({
},
});
-return publicWidget.registry.SurveyTimerWidget;
-
-});
+export default publicWidget.registry.SurveyTimerWidget;
diff --git a/addons/survey/static/tests/tours/certification_failure.js b/addons/survey/static/tests/tours/certification_failure.js
index aa99c0d190f..5fa6ef343ee 100644
--- a/addons/survey/static/tests/tours/certification_failure.js
+++ b/addons/survey/static/tests/tours/certification_failure.js
@@ -1,7 +1,6 @@
-odoo.define('survey.tour_test_certification_failure', function (require) {
-'use strict';
+/** @odoo-module **/
-var SurveyFormWidget = require('survey.form');
+import SurveyFormWidget from "survey.form";
/**
* Speed up fade-in fade-out to avoid useless delay in tests.
*/
@@ -17,7 +16,7 @@ SurveyFormWidget.include({
* try and fail twice and will no longer be able to take the certification.
*/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
var failSteps = [{ // Page-1
content: "Clicking on Start Certification",
@@ -105,5 +104,3 @@ registry.category("web_tour.tours").add('test_certification_failure', {
test: true,
url: '/survey/start/4ead4bc8-b8f2-4760-a682-1fde8daaaaac',
steps: [].concat(failSteps, retrySteps, failSteps, lastSteps) });
-
-});
diff --git a/addons/survey/static/tests/tours/certification_success.js b/addons/survey/static/tests/tours/certification_success.js
index 238befd8d01..4439838e8fb 100644
--- a/addons/survey/static/tests/tours/certification_success.js
+++ b/addons/survey/static/tests/tours/certification_success.js
@@ -1,7 +1,6 @@
-odoo.define('survey.tour_test_certification_success', function (require) {
-'use strict';
+/** @odoo-module **/
-var SurveyFormWidget = require('survey.form');
+import SurveyFormWidget from "survey.form";
/**
* Speed up fade-in fade-out to avoid useless delay in tests.
*/
@@ -12,7 +11,7 @@ SurveyFormWidget.include({
}
});
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('test_certification_success', {
test: true,
@@ -95,5 +94,3 @@ registry.category("web_tour.tours").add('test_certification_success', {
trigger: 'div:contains("Congratulations, you have passed the test!")',
}
]});
-
-});
diff --git a/addons/survey/static/tests/tours/survey.js b/addons/survey/static/tests/tours/survey.js
index c26a988d266..c75bcccd7c3 100644
--- a/addons/survey/static/tests/tours/survey.js
+++ b/addons/survey/static/tests/tours/survey.js
@@ -1,7 +1,6 @@
-odoo.define('survey.tour_test_survey', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('test_survey', {
test: true,
@@ -66,5 +65,3 @@ registry.category("web_tour.tours").add('test_survey', {
trigger: 'h1:contains("Thank you!")',
}
]});
-
-});
diff --git a/addons/survey/static/tests/tours/survey_chained_conditional_questions.js b/addons/survey/static/tests/tours/survey_chained_conditional_questions.js
index 37cba3e41bc..40fca0fde9a 100644
--- a/addons/survey/static/tests/tours/survey_chained_conditional_questions.js
+++ b/addons/survey/static/tests/tours/survey_chained_conditional_questions.js
@@ -1,7 +1,6 @@
-odoo.define('survey.tour_test_survey_chained_conditional_questions', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('test_survey_chained_conditional_questions', {
test: true,
@@ -42,5 +41,3 @@ registry.category("web_tour.tours").add('test_survey_chained_conditional_questio
}
]});
-
-});
diff --git a/addons/survey/static/tests/tours/survey_prefill.js b/addons/survey/static/tests/tours/survey_prefill.js
index e6b6d5c0a4a..cf786339c01 100644
--- a/addons/survey/static/tests/tours/survey_prefill.js
+++ b/addons/survey/static/tests/tours/survey_prefill.js
@@ -1,7 +1,6 @@
-odoo.define('survey.tour_test_survey_prefill', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('test_survey_prefill', {
test: true,
@@ -150,5 +149,3 @@ registry.category("web_tour.tours").add('test_survey_prefill', {
trigger: '.o_survey_title.tour_success_2'
}
]});
-
-});
diff --git a/addons/survey/static/tests/tours/survey_session_manage_test.js b/addons/survey/static/tests/tours/survey_session_manage_test.js
index dfd7f53841e..b794b4ef9d2 100644
--- a/addons/survey/static/tests/tours/survey_session_manage_test.js
+++ b/addons/survey/static/tests/tours/survey_session_manage_test.js
@@ -1,7 +1,6 @@
-odoo.define('survey.session_manage_test', function (require) {
-"use strict";
+/** @odoo-module alias=survey.session_manage_test **/
-var SessionManager = require('survey.session_manage');
+import SessionManager from "survey.session_manage";
/**
* Small override for test/tour purposes.
*/
@@ -32,6 +31,4 @@ SessionManager.include({
}
});
-return SessionManager;
-
-});
+export default SessionManager;
diff --git a/addons/survey/static/tests/tours/survey_tour_session_create.js b/addons/survey/static/tests/tours/survey_tour_session_create.js
index fabbb041f54..69bef5c92d5 100644
--- a/addons/survey/static/tests/tours/survey_tour_session_create.js
+++ b/addons/survey/static/tests/tours/survey_tour_session_create.js
@@ -1,8 +1,7 @@
-odoo.define('survey.test_survey_session_create_tour', function (require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-var surveySessionTools = require('survey.session_tour_tools');
+import { registry } from "@web/core/registry";
+import surveySessionTools from "survey.session_tour_tools";
/**
* Small tour that will simply start the session and wait for attendees.
@@ -16,5 +15,3 @@ registry.category("web_tour.tours").add('test_survey_session_create_tour', {
trigger: '.o_survey_session_attendees_count:contains("0")',
run: function () {} // check session is correctly started
}])});
-
-});
diff --git a/addons/survey/static/tests/tours/survey_tour_session_manage.js b/addons/survey/static/tests/tours/survey_tour_session_manage.js
index ee1a620bfc8..ae6ac39df7b 100644
--- a/addons/survey/static/tests/tours/survey_tour_session_manage.js
+++ b/addons/survey/static/tests/tours/survey_tour_session_manage.js
@@ -1,8 +1,7 @@
-odoo.define('survey.test_survey_session_manage_tour', function (require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-var surveySessionTools = require('survey.session_tour_tools');
+import { registry } from "@web/core/registry";
+import surveySessionTools from "survey.session_tour_tools";
/**
* Since the chart is rendered using SVG, we can't use jQuery triggers to check if everything
@@ -458,5 +457,3 @@ registry.category("web_tour.tours").add('test_survey_session_manage_tour', {
trigger: 'button[name="action_start_session"]',
run: function () {} // check that we can start another session
}])});
-
-});
diff --git a/addons/survey/static/tests/tours/survey_tour_session_start.js b/addons/survey/static/tests/tours/survey_tour_session_start.js
index 4e021536c2c..2734a577cb8 100644
--- a/addons/survey/static/tests/tours/survey_tour_session_start.js
+++ b/addons/survey/static/tests/tours/survey_tour_session_start.js
@@ -1,8 +1,7 @@
-odoo.define('survey.test_survey_session_start_tour', function (require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-var surveySessionTools = require('survey.session_tour_tools');
+import { registry } from "@web/core/registry";
+import surveySessionTools from "survey.session_tour_tools";
/**
* Small tour that will open the session manager and check
@@ -28,5 +27,3 @@ registry.category("web_tour.tours").add('test_survey_session_start_tour', {
trigger: 'h1:contains("Nickname")',
run: function () {} // check first question is displayed
}])});
-
-});
diff --git a/addons/survey/static/tests/tours/survey_tour_session_tools.js b/addons/survey/static/tests/tours/survey_tour_session_tools.js
index 380115f2c44..79e2549df43 100644
--- a/addons/survey/static/tests/tours/survey_tour_session_tools.js
+++ b/addons/survey/static/tests/tours/survey_tour_session_tools.js
@@ -1,12 +1,11 @@
-odoo.define('survey.session_tour_tools', function (require) {
-'use strict';
+/** @odoo-module alias=survey.session_tour_tools **/
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
/**
* Tool that gathers common steps to every 'survey session' tours.
*/
-return {
+export default {
accessSurveySteps: [stepUtils.showAppsMenuItem(), {
trigger: '.o_app[data-menu-xmlid="survey.menu_surveys"]',
edition: 'community'
@@ -17,5 +16,3 @@ return {
trigger: '.oe_kanban_card:contains("User Session Survey")',
}]
};
-
-});
diff --git a/addons/test_event_full/static/src/js/tours/wevent_performance_tour.js b/addons/test_event_full/static/src/js/tours/wevent_performance_tour.js
index 35cdf61e394..a0cb826027b 100644
--- a/addons/test_event_full/static/src/js/tours/wevent_performance_tour.js
+++ b/addons/test_event_full/static/src/js/tours/wevent_performance_tour.js
@@ -1,7 +1,6 @@
-odoo.define('test_event_full.tour.performance', function (require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
var registerSteps = [{
content: "Select 2 units of 'Ticket1' ticket type",
@@ -81,5 +80,3 @@ registry.category("web_tour.tours").add('wevent_performance_register', {
registerSteps,
)
});
-
-});
diff --git a/addons/test_event_full/static/src/js/tours/wevent_register_tour.js b/addons/test_event_full/static/src/js/tours/wevent_register_tour.js
index 6462204278c..ef130bf616d 100644
--- a/addons/test_event_full/static/src/js/tours/wevent_register_tour.js
+++ b/addons/test_event_full/static/src/js/tours/wevent_register_tour.js
@@ -1,7 +1,6 @@
-odoo.define('test_event_full.tour.register', function (require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
/**
* TALKS STEPS
@@ -170,5 +169,3 @@ registry.category("web_tour.tours").add('wevent_register', {
registerSteps,
)
});
-
-});
diff --git a/addons/test_website/static/src/js/test_error.js b/addons/test_website/static/src/js/test_error.js
index 8a0f909d33f..0afdd213153 100644
--- a/addons/test_website/static/src/js/test_error.js
+++ b/addons/test_website/static/src/js/test_error.js
@@ -1,7 +1,6 @@
-odoo.define('website_forum.test_error', function (require) {
-'use strict';
+/** @odoo-module **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.testError = publicWidget.Widget.extend({
selector: '.rpc_error',
@@ -27,4 +26,3 @@ publicWidget.registry.testError = publicWidget.Widget.extend({
});
}
});
-});
diff --git a/addons/test_website/static/tests/tours/custom_snippets.js b/addons/test_website/static/tests/tours/custom_snippets.js
index 0675c1079a8..6dd953164ce 100644
--- a/addons/test_website/static/tests/tours/custom_snippets.js
+++ b/addons/test_website/static/tests/tours/custom_snippets.js
@@ -1,7 +1,6 @@
-odoo.define('test_website.custom_snippets', function (require) {
-'use strict';
+/** @odoo-module **/
-const wTourUtils = require('website.tour_utils');
+import wTourUtils from "website.tour_utils";
/**
* The purpose of this tour is to check the custom snippets flow:
@@ -105,5 +104,3 @@ wTourUtils.registerWebsitePreviewTour('test_custom_snippet', {
run: function () {}, // check
},
]);
-
-});
diff --git a/addons/test_website/static/tests/tours/error_views.js b/addons/test_website/static/tests/tours/error_views.js
index c687ddb6bd0..fe78ce7c6f1 100644
--- a/addons/test_website/static/tests/tours/error_views.js
+++ b/addons/test_website/static/tests/tours/error_views.js
@@ -1,7 +1,6 @@
-odoo.define('test_website.error_views', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('test_error_website', {
test: true,
@@ -148,4 +147,3 @@ registry.category("web_tour.tours").add('test_error_website', {
run: function () {},
},
]});
-});
diff --git a/addons/test_website/static/tests/tours/image_upload_progress.js b/addons/test_website/static/tests/tours/image_upload_progress.js
index d1f41d6d68b..657ce28a45f 100644
--- a/addons/test_website/static/tests/tours/image_upload_progress.js
+++ b/addons/test_website/static/tests/tours/image_upload_progress.js
@@ -1,10 +1,9 @@
-odoo.define('test_website.image_upload_progress', function (require) {
-'use strict';
+/** @odoo-module **/
-const wTourUtils = require('website.tour_utils');
+import wTourUtils from "website.tour_utils";
-const { FileSelectorControlPanel } = require('@web_editor/components/media_dialog/file_selector');
-const { patch, unpatch } = require('web.utils');
+import { FileSelectorControlPanel } from "@web_editor/components/media_dialog/file_selector";
+import { patch, unpatch } from "web.utils";
let patchWithError = false;
const patchMediaDialog = () => patch(FileSelectorControlPanel.prototype, 'test_website.mock_image_widgets', {
@@ -241,5 +240,3 @@ wTourUtils.registerWebsitePreviewTour('test_image_upload_progress_unsplash', {
},
},
]);
-
-});
diff --git a/addons/test_website/static/tests/tours/json_auth.js b/addons/test_website/static/tests/tours/json_auth.js
index 3624da02978..d0504a70752 100644
--- a/addons/test_website/static/tests/tours/json_auth.js
+++ b/addons/test_website/static/tests/tours/json_auth.js
@@ -1,8 +1,7 @@
-odoo.define('test_website.json_auth', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-var session = require('web.session')
+import { registry } from "@web/core/registry";
+import session from "web.session";
registry.category("web_tour.tours").add('test_json_auth', {
test: true,
@@ -23,4 +22,3 @@ registry.category("web_tour.tours").add('test_json_auth', {
run: function () {},
}
]});
-});
diff --git a/addons/test_website/static/tests/tours/reset_views.js b/addons/test_website/static/tests/tours/reset_views.js
index 5026c643ad4..a1ae9ba4def 100644
--- a/addons/test_website/static/tests/tours/reset_views.js
+++ b/addons/test_website/static/tests/tours/reset_views.js
@@ -1,8 +1,7 @@
+/** @odoo-module **/
/* global ace */
-odoo.define('test_website.reset_views', function (require) {
-'use strict';
-const wTourUtils = require('website.tour_utils');
+import wTourUtils from "website.tour_utils";
var BROKEN_STEP = {
// because saving a broken template opens a recovery page with no assets
@@ -103,5 +102,3 @@ wTourUtils.registerWebsitePreviewTour('test_reset_page_view_complete_flow_part2'
BROKEN_STEP
]
);
-
-});
diff --git a/addons/test_website_modules/static/tests/tours/configurator_flow.js b/addons/test_website_modules/static/tests/tours/configurator_flow.js
index 72ee5360462..9bcc1f4b46b 100644
--- a/addons/test_website_modules/static/tests/tours/configurator_flow.js
+++ b/addons/test_website_modules/static/tests/tours/configurator_flow.js
@@ -1,8 +1,7 @@
-odoo.define('test_website_modules.tour.configurator_flow', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const wTourUtils = require('website.tour_utils');
+import { registry } from "@web/core/registry";
+import wTourUtils from "website.tour_utils";
registry.category("web_tour.tours").add('configurator_flow', {
test: true,
@@ -101,4 +100,3 @@ registry.category("web_tour.tours").add('configurator_flow', {
},
},
]});
-});
diff --git a/addons/test_website_slides_full/__manifest__.py b/addons/test_website_slides_full/__manifest__.py
index 26acca5099e..99cae7ef91c 100644
--- a/addons/test_website_slides_full/__manifest__.py
+++ b/addons/test_website_slides_full/__manifest__.py
@@ -25,7 +25,7 @@ certification flow including purchase, certification, failure and success.
'installable': True,
'assets': {
'web.assets_tests': [
- 'test_website_slides_full/tests/tours/**/*',
+ 'test_website_slides_full/static/tests/tours/**/*',
],
},
'license': 'LGPL-3',
diff --git a/addons/test_website_slides_full/tests/tours/slides_certification_member.js b/addons/test_website_slides_full/static/tests/tours/slides_certification_member.js
similarity index 96%
rename from addons/test_website_slides_full/tests/tours/slides_certification_member.js
rename to addons/test_website_slides_full/static/tests/tours/slides_certification_member.js
index 880812e4c54..eaf79731ff4 100644
--- a/addons/test_website_slides_full/tests/tours/slides_certification_member.js
+++ b/addons/test_website_slides_full/static/tests/tours/slides_certification_member.js
@@ -1,8 +1,7 @@
-odoo.define('test_website_slides_full.tour.slide.certification.member', function (require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const tourUtils = require('website_sale.tour_utils');
+import { registry } from "@web/core/registry";
+import tourUtils from 'website_sale.tour_utils';
/**
* The purpose of this tour is to check the whole certification flow:
@@ -160,5 +159,3 @@ registry.category("web_tour.tours").add('certification_member', {
profileSteps
)
});
-
-});
diff --git a/addons/web/static/src/legacy/js/core/smooth_scroll_on_drag.js b/addons/web/static/src/legacy/js/core/smooth_scroll_on_drag.js
index 0d3699caa43..750e54daeec 100644
--- a/addons/web/static/src/legacy/js/core/smooth_scroll_on_drag.js
+++ b/addons/web/static/src/legacy/js/core/smooth_scroll_on_drag.js
@@ -1,4 +1,4 @@
-odoo.define('web/static/src/js/core/smooth_scroll_on_drag.js', function (require) {
+odoo.define('web.smooth_scroll_on_drag', function (require) {
"use strict";
const Class = require('web.Class');
diff --git a/addons/web_editor/__manifest__.py b/addons/web_editor/__manifest__.py
index 5b6b36e22f0..cf0d09a5009 100644
--- a/addons/web_editor/__manifest__.py
+++ b/addons/web_editor/__manifest__.py
@@ -79,6 +79,7 @@ Odoo Web Editor widget.
# Launcher
'web_editor/static/src/js/wysiwyg/wysiwyg.js',
+ 'web_editor/static/src/js/wysiwyg/widget.js',
'web_editor/static/src/js/wysiwyg/wysiwyg_iframe.js',
'web_editor/static/src/xml/editor.xml',
diff --git a/addons/web_editor/static/src/js/common/ace.js b/addons/web_editor/static/src/js/common/ace.js
index 4d2df8ed689..8326c4a55ff 100644
--- a/addons/web_editor/static/src/js/common/ace.js
+++ b/addons/web_editor/static/src/js/common/ace.js
@@ -1,13 +1,12 @@
-odoo.define('web_editor.ace', function (require) {
-'use strict';
+/** @odoo-module alias=web_editor.ace **/
-var config = require('web.config');
-var concurrency = require('web.concurrency');
-var core = require('web.core');
-var dom = require('web.dom');
-var Dialog = require('web.Dialog');
-var Widget = require('web.Widget');
-var localStorage = require('web.local_storage');
+import config from "web.config";
+import concurrency from "web.concurrency";
+import core from "web.core";
+import dom from "web.dom";
+import Dialog from "web.Dialog";
+import Widget from "web.Widget";
+import localStorage from "web.local_storage";
var _t = core._t;
@@ -1031,5 +1030,4 @@ var ViewEditor = Widget.extend({
},
});
-return ViewEditor;
-});
+export default ViewEditor;
diff --git a/addons/web_editor/static/src/js/common/utils.js b/addons/web_editor/static/src/js/common/utils.js
index 1f4866285ef..69d72b8440c 100644
--- a/addons/web_editor/static/src/js/common/utils.js
+++ b/addons/web_editor/static/src/js/common/utils.js
@@ -1,7 +1,6 @@
-odoo.define('web_editor.utils', function (require) {
-'use strict';
+/** @odoo-module alias=web_editor.utils **/
-const {ColorpickerWidget} = require('web.Colorpicker');
+import {ColorpickerWidget} from "web.Colorpicker";
let editableWindow = window;
const _setEditableWindow = (ew) => editableWindow = ew;
@@ -409,7 +408,7 @@ function _getColorClass(el, colorNames, prefix) {
return el.classList.value.split(' ').filter(cl => prefixedColorNames.includes(cl)).join(' ');
}
-return {
+export default {
COLOR_PALETTE_COMPATIBILITY_COLOR_NAMES: COLOR_PALETTE_COMPATIBILITY_COLOR_NAMES,
CSS_SHORTHANDS: CSS_SHORTHANDS,
CSS_UNITS_CONVERSION: CSS_UNITS_CONVERSION,
@@ -432,4 +431,3 @@ return {
getColorClass: _getColorClass,
setEditableWindow: _setEditableWindow,
};
-});
diff --git a/addons/web_editor/static/src/js/editor/custom_colors.js b/addons/web_editor/static/src/js/editor/custom_colors.js
index 8ac4a5e9697..1135ee8c709 100644
--- a/addons/web_editor/static/src/js/editor/custom_colors.js
+++ b/addons/web_editor/static/src/js/editor/custom_colors.js
@@ -1,9 +1,8 @@
-odoo.define('web_editor.custom_colors', function (require) {
-'use strict';
+/** @odoo-module alias=web_editor.custom_colors **/
// These colors are already normalized as per normalizeCSSColor in web.Colorpicker
-return [
+export default [
['#000000', '#424242', '#636363', '#9C9C94', '#CEC6CE', '#EFEFEF', '#F7F7F7', '#FFFFFF'],
['#FF0000', '#FF9C00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#9C00FF', '#FF00FF'],
['#F7C6CE', '#FFE7CE', '#FFEFC6', '#D6EFD6', '#CEDEE7', '#CEE7F7', '#D6D6E7', '#E7D6DE'],
@@ -13,4 +12,3 @@ return [
['#9C0000', '#B56308', '#BD9400', '#397B21', '#104A5A', '#085294', '#311873', '#731842'],
['#630000', '#7B3900', '#846300', '#295218', '#083139', '#003163', '#21104A', '#4A1031']
];
-});
diff --git a/addons/web_editor/static/src/js/editor/image_processing.js b/addons/web_editor/static/src/js/editor/image_processing.js
index afafb7d707b..2af88bac6c6 100644
--- a/addons/web_editor/static/src/js/editor/image_processing.js
+++ b/addons/web_editor/static/src/js/editor/image_processing.js
@@ -1,7 +1,6 @@
-odoo.define('web_editor.image_processing', function (require) {
-'use strict';
+/** @odoo-module alias=web_editor.image_processing **/
-const {getAffineApproximation, getProjective} = require('@web_editor/js/editor/perspective_utils');
+import {getAffineApproximation, getProjective} from "@web_editor/js/editor/perspective_utils";
// Fields returned by cropperjs 'getData' method, also need to be passed when
// initializing the cropper to reuse the previous crop.
@@ -494,7 +493,7 @@ function createDataURL(blob) {
});
}
-return {
+export default {
applyModifications,
cropperDataFields,
activateCropper,
@@ -506,4 +505,3 @@ return {
createDataURL,
isGif,
};
-});
diff --git a/addons/web_editor/static/src/js/editor/snippets.editor.js b/addons/web_editor/static/src/js/editor/snippets.editor.js
index f7a9994ff30..bc321119fbd 100644
--- a/addons/web_editor/static/src/js/editor/snippets.editor.js
+++ b/addons/web_editor/static/src/js/editor/snippets.editor.js
@@ -1,19 +1,18 @@
-odoo.define('web_editor.snippet.editor', function (require) {
-'use strict';
+/** @odoo-module alias=web_editor.snippet.editor **/
-var concurrency = require('web.concurrency');
-var core = require('web.core');
-var Dialog = require('web.Dialog');
-var dom = require('web.dom');
-const {Markup, sprintf, confine} = require('web.utils');
-var Widget = require('web.Widget');
-var options = require('web_editor.snippets.options');
-const {ColorPaletteWidget} = require('web_editor.ColorPalette');
-const SmoothScrollOnDrag = require('web/static/src/js/core/smooth_scroll_on_drag.js');
-const {getCSSVariableValue} = require('web_editor.utils');
-const gridUtils = require('@web_editor/js/common/grid_layout_utils');
+import concurrency from "web.concurrency";
+import core from "web.core";
+import Dialog from "web.Dialog";
+import dom from "web.dom";
+import {Markup, sprintf, confine} from "web.utils";
+import Widget from "web.Widget";
+import options from "web_editor.snippets.options";
+import {ColorPaletteWidget} from "web_editor.ColorPalette";
+import SmoothScrollOnDrag from "web.smooth_scroll_on_drag";
+import {getCSSVariableValue} from "web_editor.utils";
+import * as gridUtils from "@web_editor/js/common/grid_layout_utils";
const QWeb = core.qweb;
-const {closestElement} = require('@web_editor/js/editor/odoo-editor/src/utils/utils');
+import {closestElement} from "@web_editor/js/editor/odoo-editor/src/utils/utils";
var _t = core._t;
@@ -4343,9 +4342,8 @@ var SnippetsMenu = Widget.extend({
},
});
-return {
+export default {
SnippetsMenu: SnippetsMenu,
SnippetEditor: SnippetEditor,
globalSelector: globalSelector,
};
-});
diff --git a/addons/web_editor/static/src/js/editor/snippets.options.js b/addons/web_editor/static/src/js/editor/snippets.options.js
index cd9ca423d8f..ee9604e7d09 100644
--- a/addons/web_editor/static/src/js/editor/snippets.options.js
+++ b/addons/web_editor/static/src/js/editor/snippets.options.js
@@ -1,19 +1,18 @@
-odoo.define('web_editor.snippets.options', function (require) {
-'use strict';
+/** @odoo-module alias=web_editor.snippets.options **/
-const { ComponentWrapper } = require('web.OwlCompatibility');
-const { MediaDialogWrapper } = require('@web_editor/components/media_dialog/media_dialog');
-var core = require('web.core');
-const {ColorpickerWidget} = require('web.Colorpicker');
-const Dialog = require('web.Dialog');
-const {scrollTo} = require('web.dom');
-const rpc = require('web.rpc');
-const time = require('web.time');
-const utils = require('web.utils');
-var Widget = require('web.Widget');
-var ColorPaletteWidget = require('web_editor.ColorPalette').ColorPaletteWidget;
-const weUtils = require('web_editor.utils');
-const gridUtils = require('@web_editor/js/common/grid_layout_utils');
+import { ComponentWrapper } from "web.OwlCompatibility";
+import { MediaDialogWrapper } from "@web_editor/components/media_dialog/media_dialog";
+import core from "web.core";
+import {ColorpickerWidget} from "web.Colorpicker";
+import Dialog from "web.Dialog";
+import {scrollTo} from "web.dom";
+import rpc from "web.rpc";
+import time from "web.time";
+import utils from "web.utils";
+import Widget from "web.Widget";
+import { ColorPaletteWidget } from "web_editor.ColorPalette";
+import weUtils from "web_editor.utils";
+import * as gridUtils from "@web_editor/js/common/grid_layout_utils";
const {
normalizeColor,
getBgImageURL,
@@ -21,8 +20,8 @@ const {
backgroundImagePartsToCss,
DEFAULT_PALETTE,
} = weUtils;
-var weWidgets = require('wysiwyg.widgets');
-const {
+import weWidgets from "wysiwyg.widgets";
+import {
loadImage,
loadImageInfo,
applyModifications,
@@ -31,9 +30,9 @@ const {
isImageSupportedForStyle,
createDataURL,
isGif,
-} = require('web_editor.image_processing');
-const OdooEditorLib = require('@web_editor/js/editor/odoo-editor/src/OdooEditor');
-const {SIZES, MEDIAS_BREAKPOINTS} = require('@web/core/ui/ui_service');
+} from "web_editor.image_processing";
+import * as OdooEditorLib from "@web_editor/js/editor/odoo-editor/src/OdooEditor";
+import {SIZES, MEDIAS_BREAKPOINTS} from "@web/core/ui/ui_service";
var qweb = core.qweb;
var _t = core._t;
@@ -8129,7 +8128,7 @@ registry.SelectTemplate = SnippetOptionWidget.extend({
});
-return {
+export default {
SnippetOptionWidget: SnippetOptionWidget,
snippetOptionRegistry: registry,
@@ -8150,4 +8149,3 @@ return {
Class: SnippetOptionWidget,
registry: registry,
};
-});
diff --git a/addons/web_editor/static/src/js/editor/toolbar.js b/addons/web_editor/static/src/js/editor/toolbar.js
index b38f832190e..1d82c4fde7b 100644
--- a/addons/web_editor/static/src/js/editor/toolbar.js
+++ b/addons/web_editor/static/src/js/editor/toolbar.js
@@ -1,8 +1,7 @@
-odoo.define('web_editor.toolbar', function (require) {
-'use strict';
+/** @odoo-module alias=web_editor.toolbar **/
-var Widget = require('web.Widget');
-var config = require('web.config');
+import Widget from "web.Widget";
+import config from "web.config";
const Toolbar = Widget.extend({
/**
@@ -25,6 +24,4 @@ const Toolbar = Widget.extend({
},
});
-return Toolbar;
-
-});
+export default Toolbar;
diff --git a/addons/web_editor/static/src/js/frontend/loader.js b/addons/web_editor/static/src/js/frontend/loader.js
index fbe6e2dfca7..481a461066c 100644
--- a/addons/web_editor/static/src/js/frontend/loader.js
+++ b/addons/web_editor/static/src/js/frontend/loader.js
@@ -1,7 +1,6 @@
-odoo.define('web_editor.loader', function (require) {
-'use strict';
+/** @odoo-module alias=web_editor.loader **/
-const { getBundle, loadBundle } = require('@web/core/assets');
+import { getBundle, loadBundle } from "@web/core/assets";
const exports = {};
@@ -77,5 +76,4 @@ exports.loadFromTextarea = async (parent, textarea, options) => {
return wysiwyg;
};
-return exports;
-});
+export default exports;
diff --git a/addons/web_editor/static/src/js/wysiwyg/dialog.js b/addons/web_editor/static/src/js/wysiwyg/dialog.js
index 51d357bcbbc..4561ed70900 100644
--- a/addons/web_editor/static/src/js/wysiwyg/dialog.js
+++ b/addons/web_editor/static/src/js/wysiwyg/dialog.js
@@ -1,9 +1,8 @@
-odoo.define('wysiwyg.widgets.Dialog', function (require) {
-'use strict';
+/** @odoo-module alias=wysiwyg.widgets.Dialog **/
-var config = require('web.config');
-var core = require('web.core');
-var Dialog = require('web.Dialog');
+import config from "web.config";
+import core from "web.core";
+import Dialog from "web.Dialog";
var _t = core._t;
@@ -85,5 +84,4 @@ var WysiwygDialog = Dialog.extend({
},
});
-return WysiwygDialog;
-});
+export default WysiwygDialog;
diff --git a/addons/web_editor/static/src/js/wysiwyg/fonts.js b/addons/web_editor/static/src/js/wysiwyg/fonts.js
index e35fcae7459..e40e9fb3669 100644
--- a/addons/web_editor/static/src/js/wysiwyg/fonts.js
+++ b/addons/web_editor/static/src/js/wysiwyg/fonts.js
@@ -1,7 +1,6 @@
-odoo.define('wysiwyg.fonts', function (require) {
-'use strict';
+/** @odoo-module alias=wysiwyg.fonts **/
-return {
+export default {
/**
* Retrieves all the CSS rules which match the given parser (Regex).
*
@@ -95,4 +94,3 @@ return {
});
}),
};
-});
diff --git a/addons/web_editor/static/src/js/wysiwyg/widget.js b/addons/web_editor/static/src/js/wysiwyg/widget.js
new file mode 100644
index 00000000000..91022c199bb
--- /dev/null
+++ b/addons/web_editor/static/src/js/wysiwyg/widget.js
@@ -0,0 +1,6 @@
+/** @odoo-module alias=web_editor.widget **/
+
+import Dialog from "wysiwyg.widgets.Dialog";
+import LinkDialog from "wysiwyg.widgets.LinkDialog";
+
+export default { Dialog, LinkDialog };
diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/alt_dialog.js b/addons/web_editor/static/src/js/wysiwyg/widgets/alt_dialog.js
index 21b1119df46..2b70f7d1260 100644
--- a/addons/web_editor/static/src/js/wysiwyg/widgets/alt_dialog.js
+++ b/addons/web_editor/static/src/js/wysiwyg/widgets/alt_dialog.js
@@ -1,8 +1,7 @@
-odoo.define('wysiwyg.widgets.AltDialog', function (require) {
-'use strict';
+/** @odoo-module alias=wysiwyg.widgets.AltDialog **/
-var core = require('web.core');
-var Dialog = require('wysiwyg.widgets.Dialog');
+import core from "web.core";
+import Dialog from "wysiwyg.widgets.Dialog";
var _t = core._t;
@@ -47,5 +46,4 @@ var AltDialog = Dialog.extend({
});
-return AltDialog;
-});
+export default AltDialog;
diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js b/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js
index 40a5ccb1efa..c64a6466a54 100644
--- a/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js
+++ b/addons/web_editor/static/src/js/wysiwyg/widgets/color_palette.js
@@ -1,11 +1,10 @@
-odoo.define('web_editor.ColorPalette', function (require) {
-'use strict';
+/** @odoo-module alias=web_editor.ColorPalette **/
-const session = require('web.session');
-const {ColorpickerWidget} = require('web.Colorpicker');
-const Widget = require('web.Widget');
-const customColors = require('web_editor.custom_colors');
-const weUtils = require('web_editor.utils');
+import session from "web.session";
+import {ColorpickerWidget} from "web.Colorpicker";
+import Widget from "web.Widget";
+import customColors from "web_editor.custom_colors";
+import weUtils from "web_editor.utils";
let colorpickerArch;
@@ -1007,7 +1006,6 @@ ColorPaletteWidget.loadDependencies = async function (rpcCapableObj) {
}
};
-return {
+export default {
ColorPaletteWidget: ColorPaletteWidget,
};
-});
diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/image_crop_widget.js b/addons/web_editor/static/src/js/wysiwyg/widgets/image_crop_widget.js
index cbb418c5dd1..dec5b6e930c 100644
--- a/addons/web_editor/static/src/js/wysiwyg/widgets/image_crop_widget.js
+++ b/addons/web_editor/static/src/js/wysiwyg/widgets/image_crop_widget.js
@@ -1,9 +1,8 @@
-odoo.define('wysiwyg.widgets.ImageCropWidget', function (require) {
-'use strict';
+/** @odoo-module alias=wysiwyg.widgets.ImageCropWidget **/
-const core = require('web.core');
-const Widget = require('web.Widget');
-const {applyModifications, cropperDataFields, activateCropper, loadImage, loadImageInfo} = require('web_editor.image_processing');
+import core from "web.core";
+import Widget from "web.Widget";
+import {applyModifications, cropperDataFields, activateCropper, loadImage, loadImageInfo} from "web_editor.image_processing";
const _t = core._t;
@@ -230,5 +229,4 @@ const ImageCropWidget = Widget.extend({
},
});
-return ImageCropWidget;
-});
+export default ImageCropWidget;
diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/link.js b/addons/web_editor/static/src/js/wysiwyg/widgets/link.js
index cea6a5143db..e44ce25c1e9 100644
--- a/addons/web_editor/static/src/js/wysiwyg/widgets/link.js
+++ b/addons/web_editor/static/src/js/wysiwyg/widgets/link.js
@@ -1,10 +1,9 @@
-odoo.define('wysiwyg.widgets.Link', function (require) {
-'use strict';
+/** @odoo-module alias=wysiwyg.widgets.Link **/
-const core = require('web.core');
-const OdooEditorLib = require('@web_editor/js/editor/odoo-editor/src/OdooEditor');
-const Widget = require('web.Widget');
-const {isColorGradient} = require('web_editor.utils');
+import core from "web.core";
+import * as OdooEditorLib from "@web_editor/js/editor/odoo-editor/src/OdooEditor";
+import Widget from "web.Widget";
+import {isColorGradient} from "web_editor.utils";
const getDeepRange = OdooEditorLib.getDeepRange;
const getInSelection = OdooEditorLib.getInSelection;
@@ -635,5 +634,4 @@ Link.getOrCreateLink = ({ containerNode, startNode } = {}) => {
return { link, needLabel };
};
-return Link;
-});
+export default Link;
diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js b/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js
index b8ae37ae380..413797d5034 100644
--- a/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js
+++ b/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js
@@ -1,8 +1,7 @@
-odoo.define('wysiwyg.widgets.LinkDialog', function (require) {
-'use strict';
+/** @odoo-module alias=wysiwyg.widgets.LinkDialog **/
-const Dialog = require('wysiwyg.widgets.Dialog');
-const Link = require('wysiwyg.widgets.Link');
+import Dialog from "wysiwyg.widgets.Dialog";
+import Link from "wysiwyg.widgets.Link";
// This widget is there only to extend Link and be instantiated by LinkDialog.
@@ -211,5 +210,4 @@ const LinkDialog = Dialog.extend({
},
});
-return LinkDialog;
-});
+export default LinkDialog;
diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/link_tools.js b/addons/web_editor/static/src/js/wysiwyg/widgets/link_tools.js
index 7a3c28d602c..32994be816d 100644
--- a/addons/web_editor/static/src/js/wysiwyg/widgets/link_tools.js
+++ b/addons/web_editor/static/src/js/wysiwyg/widgets/link_tools.js
@@ -1,16 +1,15 @@
-odoo.define('wysiwyg.widgets.LinkTools', function (require) {
-'use strict';
+/** @odoo-module alias=wysiwyg.widgets.LinkTools **/
-const Link = require('wysiwyg.widgets.Link');
-const {ColorPaletteWidget} = require('web_editor.ColorPalette');
-const {ColorpickerWidget} = require('web.Colorpicker');
-const {
+import Link from "wysiwyg.widgets.Link";
+import {ColorPaletteWidget} from "web_editor.ColorPalette";
+import {ColorpickerWidget} from "web.Colorpicker";
+import {
computeColorClasses,
getCSSVariableValue,
getColorClass,
getNumericAndUnit,
isColorGradient,
-} = require('web_editor.utils');
+} from "web_editor.utils";
/**
* Allows to customize link content and style.
@@ -490,5 +489,4 @@ const LinkTools = Link.extend({
},
});
-return LinkTools;
-});
+export default LinkTools;
diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/widgets.js b/addons/web_editor/static/src/js/wysiwyg/widgets/widgets.js
index a6461870c8b..d771b8d622d 100644
--- a/addons/web_editor/static/src/js/wysiwyg/widgets/widgets.js
+++ b/addons/web_editor/static/src/js/wysiwyg/widgets/widgets.js
@@ -1,15 +1,14 @@
-odoo.define('wysiwyg.widgets', function (require) {
-'use strict';
+/** @odoo-module alias=wysiwyg.widgets **/
-var Dialog = require('wysiwyg.widgets.Dialog');
-var AltDialog = require('wysiwyg.widgets.AltDialog');
-var LinkDialog = require('wysiwyg.widgets.LinkDialog');
-var LinkTools = require('wysiwyg.widgets.LinkTools');
-var ImageCropWidget = require('wysiwyg.widgets.ImageCropWidget');
-const LinkPopoverWidget = require('@web_editor/js/wysiwyg/widgets/link_popover_widget')[Symbol.for("default")];
-const {ColorpickerDialog} = require('web.Colorpicker');
+import Dialog from "wysiwyg.widgets.Dialog";
+import AltDialog from "wysiwyg.widgets.AltDialog";
+import LinkDialog from "wysiwyg.widgets.LinkDialog";
+import LinkTools from "wysiwyg.widgets.LinkTools";
+import ImageCropWidget from "wysiwyg.widgets.ImageCropWidget";
+import LinkPopoverWidget from "@web_editor/js/wysiwyg/widgets/link_popover_widget";
+import {ColorpickerDialog} from "web.Colorpicker";
-return {
+export default {
Dialog: Dialog,
AltDialog: AltDialog,
LinkDialog: LinkDialog,
@@ -18,4 +17,3 @@ return {
LinkPopoverWidget: LinkPopoverWidget,
ColorpickerDialog: ColorpickerDialog,
};
-});
diff --git a/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js b/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js
index 9fda8d74f00..8cfc03f0a4a 100644
--- a/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js
+++ b/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js
@@ -1,29 +1,27 @@
-odoo.define('web_editor.wysiwyg', function (require) {
-'use strict';
+/** @odoo-module alias=web_editor.wysiwyg **/
-const { ComponentWrapper } = require('web.OwlCompatibility');
-const { MediaDialogWrapper } = require('@web_editor/components/media_dialog/media_dialog');
-const { VideoSelector } = require('@web_editor/components/media_dialog/video_selector');
-const dom = require('web.dom');
-const core = require('web.core');
-const { browser } = require('@web/core/browser/browser');
-const Widget = require('web.Widget');
-const Dialog = require('web.Dialog');
-const customColors = require('web_editor.custom_colors');
-const {ColorPaletteWidget} = require('web_editor.ColorPalette');
-const {ColorpickerWidget} = require('web.Colorpicker');
-const concurrency = require('web.concurrency');
-const { device } = require('web.config');
-const { localization } = require('@web/core/l10n/localization');
-const OdooEditorLib = require('@web_editor/js/editor/odoo-editor/src/OdooEditor');
-const snippetsEditor = require('web_editor.snippet.editor');
-const Toolbar = require('web_editor.toolbar');
-const weWidgets = require('wysiwyg.widgets');
-const Link = require('wysiwyg.widgets.Link');
-const wysiwygUtils = require('@web_editor/js/common/wysiwyg_utils');
-const weUtils = require('web_editor.utils');
-const { PeerToPeer } = require('@web_editor/js/wysiwyg/PeerToPeer');
-const { Mutex } = require('web.concurrency');
+import { ComponentWrapper } from "web.OwlCompatibility";
+import { MediaDialogWrapper } from "@web_editor/components/media_dialog/media_dialog";
+import { VideoSelector } from "@web_editor/components/media_dialog/video_selector";
+import dom from "web.dom";
+import core from "web.core";
+import { browser } from "@web/core/browser/browser";
+import Widget from "web.Widget";
+import Dialog from "web.Dialog";
+import customColors from "web_editor.custom_colors";
+import {ColorPaletteWidget} from "web_editor.ColorPalette";
+import {ColorpickerWidget} from "web.Colorpicker";
+import concurrency from "web.concurrency";
+import { device } from "web.config";
+import { localization } from "@web/core/l10n/localization";
+import * as OdooEditorLib from "@web_editor/js/editor/odoo-editor/src/OdooEditor";
+import snippetsEditor from "web_editor.snippet.editor";
+import Toolbar from "web_editor.toolbar";
+import weWidgets from "wysiwyg.widgets";
+import Link from "wysiwyg.widgets.Link";
+import * as wysiwygUtils from "@web_editor/js/common/wysiwyg_utils";
+import weUtils from "web_editor.utils";
+import { PeerToPeer } from "@web_editor/js/wysiwyg/PeerToPeer";
var _t = core._t;
const QWeb = core.qweb;
@@ -466,7 +464,7 @@ const Wysiwyg = Widget.extend({
return clientA.startTime < clientB.startTime;
}
};
- const rpcMutex = new Mutex();
+ const rpcMutex = new concurrency.Mutex();
this._getNewPtp = () => {
// Wether or not the history has been sent or received at least once.
@@ -2714,12 +2712,4 @@ Wysiwyg.setRange = function (startNode, startOffset = 0, endNode = startNode, en
range.setEnd(endNode, endOffset);
selection.addRange(range);
};
-return Wysiwyg;
-});
-odoo.define('web_editor.widget', function (require) {
-'use strict';
- return {
- Dialog: require('wysiwyg.widgets.Dialog'),
- LinkDialog: require('wysiwyg.widgets.LinkDialog'),
- };
-});
+export default Wysiwyg;
diff --git a/addons/web_editor/static/src/js/wysiwyg/wysiwyg_iframe.js b/addons/web_editor/static/src/js/wysiwyg/wysiwyg_iframe.js
index 1fe97d8dc05..f3e71bd83f9 100644
--- a/addons/web_editor/static/src/js/wysiwyg/wysiwyg_iframe.js
+++ b/addons/web_editor/static/src/js/wysiwyg/wysiwyg_iframe.js
@@ -1,10 +1,9 @@
-odoo.define('web_editor.wysiwyg.iframe', function (require) {
-'use strict';
+/** @odoo-module **/
-var Wysiwyg = require('web_editor.wysiwyg');
-var ajax = require('web.ajax');
-var core = require('web.core');
-var config = require('web.config');
+import Wysiwyg from "web_editor.wysiwyg";
+import ajax from "web.ajax";
+import core from "web.core";
+import config from "web.config";
var qweb = core.qweb;
var promiseJsAssets;
@@ -189,5 +188,3 @@ Wysiwyg.include({
}
},
});
-
-});
diff --git a/addons/web_editor/static/tests/ajax_loader.js b/addons/web_editor/static/tests/ajax_loader.js
index 22c1fd421f7..a38dc0f6cab 100644
--- a/addons/web_editor/static/tests/ajax_loader.js
+++ b/addons/web_editor/static/tests/ajax_loader.js
@@ -1,11 +1,8 @@
-odoo.define('web_editor.ajax.loader', function (require) {
-'use strict';
+/** @odoo-module **/
-const loaderFunctions = require('web_editor.loader');
+import loaderFunctions from "web_editor.loader";
loaderFunctions.createWysiwyg = (parent, options) => {
const Wysiwyg = odoo.__DEBUG__.services['web_editor.wysiwyg'];
return new Wysiwyg(parent, options.wysiwygOptions);
};
-
-});
diff --git a/addons/web_editor/static/tests/test_utils.js b/addons/web_editor/static/tests/test_utils.js
index 5152a9922a8..9413564565b 100644
--- a/addons/web_editor/static/tests/test_utils.js
+++ b/addons/web_editor/static/tests/test_utils.js
@@ -1,13 +1,12 @@
-odoo.define('web_editor.test_utils', function (require) {
-"use strict";
+/** @odoo-module alias=web_editor.test_utils **/
-var ajax = require('web.ajax');
-var MockServer = require('web.MockServer');
-var testUtils = require('web.test_utils');
-var OdooEditorLib = require('@web_editor/js/editor/odoo-editor/src/OdooEditor');
-var Widget = require('web.Widget');
-var Wysiwyg = require('web_editor.wysiwyg');
-var options = require('web_editor.snippets.options');
+import ajax from "web.ajax";
+import MockServer from "web.MockServer";
+import testUtils from "web.test_utils";
+import * as OdooEditorLib from "@web_editor/js/editor/odoo-editor/src/OdooEditor";
+import Widget from "web.Widget";
+import Wysiwyg from "web_editor.wysiwyg";
+import options from "web_editor.snippets.options";
const COLOR_PICKER_TEMPLATE = `
@@ -880,7 +879,7 @@ function removeComments(html, removeMsoHide=true) {
}
}
-return {
+export default {
wysiwygData: wysiwygData,
createWysiwyg: createWysiwyg,
testKeyboard: testKeyboard,
@@ -895,6 +894,3 @@ return {
getTdHtml: getTdHtml,
removeComments: removeComments,
};
-
-
-});
diff --git a/addons/web_unsplash/static/src/js/unsplash_beacon.js b/addons/web_unsplash/static/src/js/unsplash_beacon.js
index c15ff027faf..7154b2df14a 100644
--- a/addons/web_unsplash/static/src/js/unsplash_beacon.js
+++ b/addons/web_unsplash/static/src/js/unsplash_beacon.js
@@ -1,7 +1,6 @@
-odoo.define('web_unsplash.beacon', function (require) {
-'use strict';
+/** @odoo-module **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.UnsplashBeacon = publicWidget.Widget.extend({
// /!\ To adapt the day the beacon makes sense for backend customizations
@@ -31,4 +30,3 @@ publicWidget.registry.UnsplashBeacon = publicWidget.Widget.extend({
return this._super.apply(this, arguments);
},
});
-});
diff --git a/addons/website/__manifest__.py b/addons/website/__manifest__.py
index 0cebee77c63..77fa4091b5e 100644
--- a/addons/website/__manifest__.py
+++ b/addons/website/__manifest__.py
@@ -239,6 +239,7 @@
'website/static/src/snippets/s_embed_code/options.js',
'website/static/src/snippets/s_website_form/options.js',
'website/static/src/js/form_editor_registry.js',
+ 'website/static/src/js/send_mail_form.js',
'website/static/src/xml/website_form.xml',
'website/static/src/xml/website.editor.xml',
'website/static/src/xml/website_form_editor.xml',
diff --git a/addons/website/static/src/js/backend/dashboard.js b/addons/website/static/src/js/backend/dashboard.js
index dbe831c9db7..9693a6bf98e 100644
--- a/addons/website/static/src/js/backend/dashboard.js
+++ b/addons/website/static/src/js/backend/dashboard.js
@@ -1,14 +1,13 @@
-odoo.define('website.backend.dashboard', function (require) {
-'use strict';
+/** @odoo-module alias=website.backend.dashboard **/
-var AbstractAction = require('web.AbstractAction');
-const { loadBundle } = require("@web/core/assets");
-var core = require('web.core');
-var field_utils = require('web.field_utils');
-var pyUtils = require('web.py_utils');
-var session = require('web.session');
-var time = require('web.time');
-var web_client = require('web.web_client');
+import AbstractAction from "web.AbstractAction";
+import { loadBundle } from "@web/core/assets";
+import core from "web.core";
+import field_utils from "web.field_utils";
+import pyUtils from "web.py_utils";
+import session from "web.session";
+import time from "web.time";
+import web_client from "web.web_client";
var QWeb = core.qweb;
@@ -360,5 +359,4 @@ var Dashboard = AbstractAction.extend({
core.action_registry.add('backend_dashboard', Dashboard);
-return Dashboard;
-});
+export default Dashboard;
diff --git a/addons/website/static/src/js/content/compatibility.js b/addons/website/static/src/js/content/compatibility.js
index f41488025d8..7589f15f991 100644
--- a/addons/website/static/src/js/content/compatibility.js
+++ b/addons/website/static/src/js/content/compatibility.js
@@ -1,12 +1,11 @@
-odoo.define('website.content.compatibility', function (require) {
-'use strict';
+/** @odoo-module alias=website.content.compatibility **/
/**
* Tweaks the website rendering so that the old browsers correctly render the
* content too.
*/
-require('web.dom_ready');
+import "web.dom_ready";
// Check the browser and its version and add the info as an attribute of the
// HTML element so that css selectors can match it
@@ -31,8 +30,7 @@ if (!isFlexSupported) {
document.documentElement.setAttribute('data-no-flex', '');
}
-return {
+export default {
browser: browser,
isFlexSupported: isFlexSupported,
};
-});
diff --git a/addons/website/static/src/js/content/menu.js b/addons/website/static/src/js/content/menu.js
index f6bdd83baab..e8147d7e984 100644
--- a/addons/website/static/src/js/content/menu.js
+++ b/addons/website/static/src/js/content/menu.js
@@ -1,9 +1,8 @@
-odoo.define('website.content.menu', function (require) {
-'use strict';
+/** @odoo-module alias=website.content.menu **/
-const config = require('web.config');
-var publicWidget = require('web.public.widget');
-var animations = require('website.content.snippets.animation');
+import config from "web.config";
+import publicWidget from "web.public.widget";
+import animations from "website.content.snippets.animation";
const extraMenuUpdateCallbacks = [];
const BaseAnimatedHeader = animations.Animation.extend({
@@ -597,7 +596,6 @@ publicWidget.registry.HeaderMainCollapse = publicWidget.Widget.extend({
},
});
-return {
+export default {
extraMenuUpdateCallbacks: extraMenuUpdateCallbacks,
};
-});
diff --git a/addons/website/static/src/js/content/ripple_effect.js b/addons/website/static/src/js/content/ripple_effect.js
index d52fe73d8b8..65f89075c31 100644
--- a/addons/website/static/src/js/content/ripple_effect.js
+++ b/addons/website/static/src/js/content/ripple_effect.js
@@ -1,7 +1,6 @@
-odoo.define('website.ripple_effect', function (require) {
-'use strict';
+/** @odoo-module **/
-const publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.RippleEffect = publicWidget.Widget.extend({
selector: '.btn, .dropdown-toggle, .dropdown-item',
@@ -66,4 +65,3 @@ publicWidget.registry.RippleEffect = publicWidget.Widget.extend({
this.timeoutID = setTimeout(() => this._toggleRippleEffect(false), this.duration);
},
});
-});
diff --git a/addons/website/static/src/js/content/snippets.animation.js b/addons/website/static/src/js/content/snippets.animation.js
index 7ddac887fcf..16bd00593b0 100644
--- a/addons/website/static/src/js/content/snippets.animation.js
+++ b/addons/website/static/src/js/content/snippets.animation.js
@@ -1,19 +1,18 @@
-odoo.define('website.content.snippets.animation', function (require) {
-'use strict';
+/** @odoo-module alias=website.content.snippets.animation **/
/**
* Provides a way to start JS code for snippets' initialization and animations.
*/
-const { loadJS } = require('@web/core/assets');
-var Class = require('web.Class');
-var config = require('web.config');
-var core = require('web.core');
-const dom = require('web.dom');
-var mixins = require('web.mixins');
-var publicWidget = require('web.public.widget');
-var utils = require('web.utils');
-const wUtils = require('website.utils');
+import { loadJS } from "@web/core/assets";
+import Class from "web.Class";
+import config from "web.config";
+import core from "web.core";
+import dom from "web.dom";
+import mixins from "web.mixins";
+import publicWidget from "web.public.widget";
+import utils from "web.utils";
+import wUtils from "website.utils";
var qweb = core.qweb;
@@ -1601,11 +1600,10 @@ registry.ZoomedBackgroundShape = publicWidget.Widget.extend({
},
});
-return {
+export default {
Widget: publicWidget.Widget,
Animation: Animation,
registry: registry,
Class: Animation, // Deprecated
};
-});
diff --git a/addons/website/static/src/js/editor/editor.js b/addons/website/static/src/js/editor/editor.js
index b490d2a5e61..2d75849c668 100644
--- a/addons/website/static/src/js/editor/editor.js
+++ b/addons/website/static/src/js/editor/editor.js
@@ -1,8 +1,7 @@
-odoo.define('website.editor', function (require) {
-'use strict';
+/** @odoo-module **/
-var weWidgets = require('web_editor.widget');
-var wUtils = require('website.utils');
+import weWidgets from "web_editor.widget";
+import wUtils from "website.utils";
weWidgets.LinkDialog.include({
/**
@@ -19,4 +18,3 @@ weWidgets.LinkDialog.include({
return result;
},
});
-});
diff --git a/addons/website/static/src/js/editor/snippets.editor.js b/addons/website/static/src/js/editor/snippets.editor.js
index d7f968f5019..862a2a6543b 100644
--- a/addons/website/static/src/js/editor/snippets.editor.js
+++ b/addons/website/static/src/js/editor/snippets.editor.js
@@ -1,11 +1,10 @@
-odoo.define('website.snippet.editor', function (require) {
-'use strict';
+/** @odoo-module alias=website.snippet.editor **/
-const {qweb, _t, _lt} = require('web.core');
-const Dialog = require('web.Dialog');
-const weSnippetEditor = require('web_editor.snippet.editor');
-const wSnippetOptions = require('website.editor.snippets.options');
-const OdooEditorLib = require('@web_editor/js/editor/odoo-editor/src/utils/utils');
+import {qweb, _t, _lt} from "web.core";
+import Dialog from "web.Dialog";
+import weSnippetEditor from "web_editor.snippet.editor";
+import wSnippetOptions from "website.editor.snippets.options";
+import * as OdooEditorLib from "@web_editor/js/editor/odoo-editor/src/utils/utils";
const getDeepRange = OdooEditorLib.getDeepRange;
const getTraversedNodes = OdooEditorLib.getTraversedNodes;
@@ -512,7 +511,6 @@ weSnippetEditor.SnippetEditor.include({
return restore;
},
});
-return {
+export default {
SnippetsMenu: wSnippetMenu,
};
-});
diff --git a/addons/website/static/src/js/editor/snippets.options.js b/addons/website/static/src/js/editor/snippets.options.js
index 61cb0b83315..51d82d7697c 100644
--- a/addons/website/static/src/js/editor/snippets.options.js
+++ b/addons/website/static/src/js/editor/snippets.options.js
@@ -1,17 +1,16 @@
-odoo.define('website.editor.snippets.options', function (require) {
-'use strict';
+/** @odoo-module alias=website.editor.snippets.options **/
-const {ColorpickerWidget} = require('web.Colorpicker');
-var core = require('web.core');
-const { loadBundle, loadCSS } = require("@web/core/assets");
-var Dialog = require('web.Dialog');
-const {Markup, sprintf} = require('web.utils');
-const weUtils = require('web_editor.utils');
-var options = require('web_editor.snippets.options');
-const wLinkPopoverWidget = require('@website/js/widgets/link_popover_widget')[Symbol.for("default")];
-const wUtils = require('website.utils');
-const {isImageSupportedForStyle} = require('web_editor.image_processing');
-require('website.s_popup_options');
+import {ColorpickerWidget} from "web.Colorpicker";
+import core from "web.core";
+import { loadBundle, loadCSS } from "@web/core/assets";
+import Dialog from "web.Dialog";
+import {Markup, sprintf} from "web.utils";
+import weUtils from "web_editor.utils";
+import options from "web_editor.snippets.options";
+import wLinkPopoverWidget from "@website/js/widgets/link_popover_widget";
+import wUtils from "website.utils";
+import {isImageSupportedForStyle} from "web_editor.image_processing";
+import "website.s_popup_options";
var _t = core._t;
var qweb = core.qweb;
@@ -3721,8 +3720,7 @@ options.registry.GridImage = options.Class.extend({
},
});
-return {
+export default {
UrlPickerUserValueWidget: UrlPickerUserValueWidget,
FontFamilyPickerUserValueWidget: FontFamilyPickerUserValueWidget,
};
-});
diff --git a/addons/website/static/src/js/editor/widget_link.js b/addons/website/static/src/js/editor/widget_link.js
index 9de80f11e25..2478cd524f3 100644
--- a/addons/website/static/src/js/editor/widget_link.js
+++ b/addons/website/static/src/js/editor/widget_link.js
@@ -1,8 +1,7 @@
-odoo.define('website.editor.link', function (require) {
-'use strict';
+/** @odoo-module **/
-var weWidgets = require('wysiwyg.widgets');
-var wUtils = require('website.utils');
+import weWidgets from "wysiwyg.widgets";
+import wUtils from "website.utils";
weWidgets.LinkTools.include({
custom_events: _.extend({}, weWidgets.LinkTools.prototype.custom_events || {}, {
@@ -102,4 +101,3 @@ weWidgets.LinkTools.include({
this._super(...arguments);
},
});
-});
diff --git a/addons/website/static/src/js/editor/wysiwyg.js b/addons/website/static/src/js/editor/wysiwyg.js
index fb7e9d6a19a..f2b54dd54bc 100644
--- a/addons/website/static/src/js/editor/wysiwyg.js
+++ b/addons/website/static/src/js/editor/wysiwyg.js
@@ -1,9 +1,8 @@
-odoo.define('website.wysiwyg', function (require) {
-'use strict';
+/** @odoo-module alias=website.wysiwyg **/
-var Wysiwyg = require('web_editor.wysiwyg');
-var snippetsEditor = require('website.snippet.editor');
-let socialMediaOptions = require('@website/snippets/s_social_media/options')[Symbol.for("default")];
+import Wysiwyg from "web_editor.wysiwyg";
+import snippetsEditor from "website.snippet.editor";
+import socialMediaOptions from "@website/snippets/s_social_media/options";
/**
* Show/hide the dropdowns associated to the given toggles and allows to wait
@@ -337,5 +336,4 @@ snippetsEditor.SnippetsMenu.include({
},
});
-return WebsiteWysiwyg;
-});
+export default WebsiteWysiwyg;
diff --git a/addons/website/static/src/js/form_editor_registry.js b/addons/website/static/src/js/form_editor_registry.js
index 3dd2cfc5cb8..b7df9f672fb 100644
--- a/addons/website/static/src/js/form_editor_registry.js
+++ b/addons/website/static/src/js/form_editor_registry.js
@@ -1,65 +1,5 @@
-odoo.define('website.form_editor_registry', function (require) {
-'use strict';
+/** @odoo-module alias=website.form_editor_registry **/
-var Registry = require('web.Registry');
+import Registry from "web.Registry";
-return new Registry();
-
-});
-
-odoo.define('website.send_mail_form', function (require) {
-'use strict';
-
-var core = require('web.core');
-var FormEditorRegistry = require('website.form_editor_registry');
-
-var _t = core._t;
-
-FormEditorRegistry.add('send_mail', {
- formFields: [{
- type: 'char',
- custom: true,
- required: true,
- fillWith: 'name',
- name: 'name',
- string: 'Your Name',
- }, {
- type: 'tel',
- custom: true,
- fillWith: 'phone',
- name: 'phone',
- string: 'Phone Number',
- }, {
- type: 'email',
- modelRequired: true,
- fillWith: 'email',
- name: 'email_from',
- string: 'Your Email',
- }, {
- type: 'char',
- custom: true,
- fillWith: 'commercial_company_name',
- name: 'company',
- string: 'Your Company',
- }, {
- type: 'char',
- modelRequired: true,
- name: 'subject',
- string: 'Subject',
- }, {
- type: 'text',
- custom: true,
- required: true,
- name: 'description',
- string: 'Your Question',
- }],
- fields: [{
- name: 'email_to',
- type: 'char',
- required: true,
- string: _t('Recipient Email'),
- defaultValue: 'info@yourcompany.example.com',
- }],
-});
-
-});
+export default new Registry();
diff --git a/addons/website/static/src/js/post_link.js b/addons/website/static/src/js/post_link.js
index bf2119642e2..a4abf15b88f 100644
--- a/addons/website/static/src/js/post_link.js
+++ b/addons/website/static/src/js/post_link.js
@@ -1,8 +1,7 @@
-odoo.define('website.post_link', function (require) {
-'use strict';
+/** @odoo-module **/
-const publicWidget = require('web.public.widget');
-const wUtils = require('website.utils');
+import publicWidget from "web.public.widget";
+import wUtils from "website.utils";
publicWidget.registry.postLink = publicWidget.Widget.extend({
selector: '.post_link',
@@ -42,5 +41,3 @@ publicWidget.registry.postLink = publicWidget.Widget.extend({
wUtils.sendRequest(url, data);
},
});
-
-});
diff --git a/addons/website/static/src/js/send_mail_form.js b/addons/website/static/src/js/send_mail_form.js
new file mode 100644
index 00000000000..200c3a9ef85
--- /dev/null
+++ b/addons/website/static/src/js/send_mail_form.js
@@ -0,0 +1,53 @@
+/** @odoo-module **/
+
+import core from "web.core";
+import FormEditorRegistry from "website.form_editor_registry";
+
+var _t = core._t;
+
+FormEditorRegistry.add('send_mail', {
+ formFields: [{
+ type: 'char',
+ custom: true,
+ required: true,
+ fillWith: 'name',
+ name: 'name',
+ string: 'Your Name',
+ }, {
+ type: 'tel',
+ custom: true,
+ fillWith: 'phone',
+ name: 'phone',
+ string: 'Phone Number',
+ }, {
+ type: 'email',
+ modelRequired: true,
+ fillWith: 'email',
+ name: 'email_from',
+ string: 'Your Email',
+ }, {
+ type: 'char',
+ custom: true,
+ fillWith: 'commercial_company_name',
+ name: 'company',
+ string: 'Your Company',
+ }, {
+ type: 'char',
+ modelRequired: true,
+ name: 'subject',
+ string: 'Subject',
+ }, {
+ type: 'text',
+ custom: true,
+ required: true,
+ name: 'description',
+ string: 'Your Question',
+ }],
+ fields: [{
+ name: 'email_to',
+ type: 'char',
+ required: true,
+ string: _t('Recipient Email'),
+ defaultValue: 'info@yourcompany.example.com',
+ }],
+});
diff --git a/addons/website/static/src/js/show_password.js b/addons/website/static/src/js/show_password.js
index a27d181208d..7bb680b46b3 100644
--- a/addons/website/static/src/js/show_password.js
+++ b/addons/website/static/src/js/show_password.js
@@ -1,13 +1,13 @@
+/** @odoo-module alias=website.show_password **/
+
//
// This file is meant to allow to switch the type of an input #password
// from password to text on mousedown on an input group.
// On mouse down, we see the password in clear text
// On mouse up, we hide it again.
//
-odoo.define('website.show_password', function (require) {
-'use strict';
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.ShowPassword = publicWidget.Widget.extend({
selector: '#showPass',
@@ -43,6 +43,4 @@ publicWidget.registry.ShowPassword = publicWidget.Widget.extend({
},
});
-return publicWidget.registry.ShowPassword;
-
-});
+export default publicWidget.registry.ShowPassword;
diff --git a/addons/website/static/src/js/tours/configurator_tour.js b/addons/website/static/src/js/tours/configurator_tour.js
index 4410c4a6045..64d3086647b 100644
--- a/addons/website/static/src/js/tours/configurator_tour.js
+++ b/addons/website/static/src/js/tours/configurator_tour.js
@@ -1,8 +1,7 @@
-odoo.define("website.configurator_tour", function (require) {
-"use strict";
+/** @odoo-module **/
-const wTourUtils = require("website.tour_utils");
-const core = require("web.core");
+import wTourUtils from "website.tour_utils";
+import core from "web.core";
const _t = core._t;
let titleSelector = '#wrap > section:first-child';
@@ -43,5 +42,3 @@ const steps = [
];
wTourUtils.registerThemeHomepageTour('configurator_tour', steps);
-
-});
diff --git a/addons/website/static/src/js/tours/homepage.js b/addons/website/static/src/js/tours/homepage.js
index 5676b8eab7b..97f57151fb2 100644
--- a/addons/website/static/src/js/tours/homepage.js
+++ b/addons/website/static/src/js/tours/homepage.js
@@ -1,7 +1,6 @@
-odoo.define("website.tour.homepage", function (require) {
-"use strict";
+/** @odoo-module **/
-const wTourUtils = require("website.tour_utils");
+import wTourUtils from "website.tour_utils";
const snippets = [
{
@@ -42,5 +41,3 @@ wTourUtils.registerThemeHomepageTour('homepage', [
wTourUtils.clickOnSnippet(snippets[5], 'top'),
wTourUtils.changeBackgroundColor(),
]);
-
-});
diff --git a/addons/website/static/src/js/tours/tour_utils.js b/addons/website/static/src/js/tours/tour_utils.js
index 9f49878b865..3fea196f7f4 100644
--- a/addons/website/static/src/js/tours/tour_utils.js
+++ b/addons/website/static/src/js/tours/tour_utils.js
@@ -1,9 +1,8 @@
-odoo.define("website.tour_utils", function (require) {
-"use strict";
+/** @odoo-module alias=website.tour_utils **/
-const {_t} = require("web.core");
-const {Markup} = require('web.utils');
-const { registry } = require("@web/core/registry");
+import {_t} from "web.core";
+import {Markup} from "web.utils";
+import { registry } from "@web/core/registry";
function addMedia(position = "right") {
return {
@@ -392,7 +391,7 @@ function selectElementInWeSelectWidget(widgetName, elementName, searchNeeded = f
return steps;
}
-return {
+export default {
addMedia,
assertCssVariable,
assertPathName,
@@ -422,4 +421,3 @@ return {
registerBackendAndFrontendTour,
selectElementInWeSelectWidget,
};
-});
diff --git a/addons/website/static/src/js/utils.js b/addons/website/static/src/js/utils.js
index 1e69f4f15c5..7238c6e8bfe 100644
--- a/addons/website/static/src/js/utils.js
+++ b/addons/website/static/src/js/utils.js
@@ -1,7 +1,6 @@
-odoo.define('website.utils', function (require) {
-'use strict';
+/** @odoo-module alias=website.utils **/
-var core = require('web.core');
+import core from "web.core";
const { qweb, _t } = core;
@@ -416,7 +415,7 @@ function generateGMapLink(dataset) {
+ '&ie=UTF8&iwloc=&output=embed';
}
-return {
+export default {
loadAnchors: loadAnchors,
autocompleteWithPages: autocompleteWithPages,
onceAllImagesLoaded: onceAllImagesLoaded,
@@ -428,4 +427,3 @@ return {
generateGMapIframe: generateGMapIframe,
generateGMapLink: generateGMapLink,
};
-});
diff --git a/addons/website/static/src/snippets/s_blockquote/options.js b/addons/website/static/src/snippets/s_blockquote/options.js
index 647af4eef34..be8e0c3edd8 100644
--- a/addons/website/static/src/snippets/s_blockquote/options.js
+++ b/addons/website/static/src/snippets/s_blockquote/options.js
@@ -1,7 +1,6 @@
-odoo.define('website.s_blockquote_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const options = require('web_editor.snippets.options');
+import options from "web_editor.snippets.options";
options.registry.Blockquote = options.Class.extend({
@@ -42,4 +41,3 @@ options.registry.Blockquote = options.Class.extend({
this.$target.find('footer').toggleClass('d-none', widgetValue === 'minimalist');
},
});
-});
diff --git a/addons/website/static/src/snippets/s_chart/000.js b/addons/website/static/src/snippets/s_chart/000.js
index eb32dbc119e..0d9ebd4f91e 100644
--- a/addons/website/static/src/snippets/s_chart/000.js
+++ b/addons/website/static/src/snippets/s_chart/000.js
@@ -1,8 +1,7 @@
-odoo.define('website.s_chart', function (require) {
-'use strict';
+/** @odoo-module alias=website.s_chart **/
-const publicWidget = require('web.public.widget');
-const weUtils = require('web_editor.utils');
+import publicWidget from "web.public.widget";
+import weUtils from "web_editor.utils";
const ChartWidget = publicWidget.Widget.extend({
selector: '.s_chart',
@@ -152,5 +151,4 @@ const ChartWidget = publicWidget.Widget.extend({
publicWidget.registry.chart = ChartWidget;
-return ChartWidget;
-});
+export default ChartWidget;
diff --git a/addons/website/static/src/snippets/s_chart/options.js b/addons/website/static/src/snippets/s_chart/options.js
index 33eebc53c5a..eccae79ec60 100644
--- a/addons/website/static/src/snippets/s_chart/options.js
+++ b/addons/website/static/src/snippets/s_chart/options.js
@@ -1,10 +1,9 @@
-odoo.define('website.s_chart_options', function (require) {
-'use strict';
+/** @odoo-module **/
-var core = require('web.core');
-const {ColorpickerWidget} = require('web.Colorpicker');
-var options = require('web_editor.snippets.options');
-const weUtils = require('web_editor.utils');
+import core from "web.core";
+import {ColorpickerWidget} from "web.Colorpicker";
+import options from "web_editor.snippets.options";
+import weUtils from "web_editor.utils";
var _t = core._t;
@@ -504,4 +503,3 @@ options.registry.InnerChart = options.Class.extend({
this.updateUI();
},
});
-});
diff --git a/addons/website/static/src/snippets/s_countdown/000.js b/addons/website/static/src/snippets/s_countdown/000.js
index 56b8fe391db..d83a8f7d227 100644
--- a/addons/website/static/src/snippets/s_countdown/000.js
+++ b/addons/website/static/src/snippets/s_countdown/000.js
@@ -1,10 +1,9 @@
-odoo.define('website.s_countdown', function (require) {
-'use strict';
+/** @odoo-module alias=website.s_countdown **/
-const {ColorpickerWidget} = require('web.Colorpicker');
-const core = require('web.core');
-const publicWidget = require('web.public.widget');
-const weUtils = require('web_editor.utils');
+import {ColorpickerWidget} from "web.Colorpicker";
+import core from "web.core";
+import publicWidget from "web.public.widget";
+import weUtils from "web_editor.utils";
const qweb = core.qweb;
const _t = core._t;
@@ -418,5 +417,4 @@ const CountdownWidget = publicWidget.Widget.extend({
publicWidget.registry.countdown = CountdownWidget;
-return CountdownWidget;
-});
+export default CountdownWidget;
diff --git a/addons/website/static/src/snippets/s_countdown/options.js b/addons/website/static/src/snippets/s_countdown/options.js
index 3c1c82a26d3..4938e0b381c 100644
--- a/addons/website/static/src/snippets/s_countdown/options.js
+++ b/addons/website/static/src/snippets/s_countdown/options.js
@@ -1,8 +1,7 @@
-odoo.define('website.s_countdown_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const core = require('web.core');
-const options = require('web_editor.snippets.options');
+import core from "web.core";
+import options from "web_editor.snippets.options";
const qweb = core.qweb;
@@ -142,4 +141,3 @@ options.registry.countdown = options.Class.extend({
this.trigger_up('cover_update');
},
});
-});
diff --git a/addons/website/static/src/snippets/s_dynamic_snippet/000.js b/addons/website/static/src/snippets/s_dynamic_snippet/000.js
index d0d3221d0ff..bf27cf20b19 100644
--- a/addons/website/static/src/snippets/s_dynamic_snippet/000.js
+++ b/addons/website/static/src/snippets/s_dynamic_snippet/000.js
@@ -1,10 +1,9 @@
-odoo.define('website.s_dynamic_snippet', function (require) {
-'use strict';
+/** @odoo-module alias=website.s_dynamic_snippet **/
-const core = require('web.core');
-const config = require('web.config');
-const publicWidget = require('web.public.widget');
-const {Markup} = require('web.utils');
+import core from "web.core";
+import config from "web.config";
+import publicWidget from "web.public.widget";
+import {Markup} from "web.utils";
const DEFAULT_NUMBER_OF_ELEMENTS = 4;
const DEFAULT_NUMBER_OF_ELEMENTS_SM = 1;
@@ -243,6 +242,4 @@ const DynamicSnippet = publicWidget.Widget.extend({
publicWidget.registry.dynamic_snippet = DynamicSnippet;
-return DynamicSnippet;
-
-});
+export default DynamicSnippet;
diff --git a/addons/website/static/src/snippets/s_dynamic_snippet/options.js b/addons/website/static/src/snippets/s_dynamic_snippet/options.js
index 7b52e1d936c..e263847d8bd 100644
--- a/addons/website/static/src/snippets/s_dynamic_snippet/options.js
+++ b/addons/website/static/src/snippets/s_dynamic_snippet/options.js
@@ -1,7 +1,6 @@
-odoo.define('website.s_dynamic_snippet_options', function (require) {
-'use strict';
+/** @odoo-module alias=website.s_dynamic_snippet_options **/
-const options = require('web_editor.snippets.options');
+import options from "web_editor.snippets.options";
const dynamicSnippetOptions = options.Class.extend({
/**
@@ -342,5 +341,4 @@ const dynamicSnippetOptions = options.Class.extend({
options.registry.dynamic_snippet = dynamicSnippetOptions;
-return dynamicSnippetOptions;
-});
+export default dynamicSnippetOptions;
diff --git a/addons/website/static/src/snippets/s_dynamic_snippet_carousel/000.js b/addons/website/static/src/snippets/s_dynamic_snippet_carousel/000.js
index d199bb1b6f4..33e004c28be 100644
--- a/addons/website/static/src/snippets/s_dynamic_snippet_carousel/000.js
+++ b/addons/website/static/src/snippets/s_dynamic_snippet_carousel/000.js
@@ -1,9 +1,8 @@
-odoo.define('website.s_dynamic_snippet_carousel', function (require) {
-'use strict';
+/** @odoo-module alias=website.s_dynamic_snippet_carousel **/
-const publicWidget = require('web.public.widget');
-const DynamicSnippet = require('website.s_dynamic_snippet');
-const config = require('web.config');
+import publicWidget from "web.public.widget";
+import DynamicSnippet from "website.s_dynamic_snippet";
+import config from "web.config";
const DynamicSnippetCarousel = DynamicSnippet.extend({
selector: '.s_dynamic_snippet_carousel',
@@ -35,5 +34,4 @@ const DynamicSnippetCarousel = DynamicSnippet.extend({
});
publicWidget.registry.dynamic_snippet_carousel = DynamicSnippetCarousel;
-return DynamicSnippetCarousel;
-});
+export default DynamicSnippetCarousel;
diff --git a/addons/website/static/src/snippets/s_dynamic_snippet_carousel/options.js b/addons/website/static/src/snippets/s_dynamic_snippet_carousel/options.js
index 23cd8cf8c63..900bed4358d 100644
--- a/addons/website/static/src/snippets/s_dynamic_snippet_carousel/options.js
+++ b/addons/website/static/src/snippets/s_dynamic_snippet_carousel/options.js
@@ -1,8 +1,7 @@
-odoo.define('website.s_dynamic_snippet_carousel_options', function (require) {
-'use strict';
+/** @odoo-module alias=website.s_dynamic_snippet_carousel_options **/
-const options = require('web_editor.snippets.options');
-const s_dynamic_snippet_options = require('website.s_dynamic_snippet_options');
+import options from "web_editor.snippets.options";
+import s_dynamic_snippet_options from "website.s_dynamic_snippet_options";
const dynamicSnippetCarouselOptions = s_dynamic_snippet_options.extend({
@@ -45,5 +44,4 @@ const dynamicSnippetCarouselOptions = s_dynamic_snippet_options.extend({
options.registry.dynamic_snippet_carousel = dynamicSnippetCarouselOptions;
-return dynamicSnippetCarouselOptions;
-});
+export default dynamicSnippetCarouselOptions;
diff --git a/addons/website/static/src/snippets/s_facebook_page/000.js b/addons/website/static/src/snippets/s_facebook_page/000.js
index 213da31669c..a435c03dfbc 100644
--- a/addons/website/static/src/snippets/s_facebook_page/000.js
+++ b/addons/website/static/src/snippets/s_facebook_page/000.js
@@ -1,8 +1,7 @@
-odoo.define('website.s_facebook_page', function (require) {
-'use strict';
+/** @odoo-module alias=website.s_facebook_page **/
-var publicWidget = require('web.public.widget');
-var utils = require('web.utils');
+import publicWidget from "web.public.widget";
+import utils from "web.utils";
const FacebookPageWidget = publicWidget.Widget.extend({
selector: '.o_facebook_page',
@@ -56,5 +55,4 @@ const FacebookPageWidget = publicWidget.Widget.extend({
publicWidget.registry.facebookPage = FacebookPageWidget;
-return FacebookPageWidget;
-});
+export default FacebookPageWidget;
diff --git a/addons/website/static/src/snippets/s_facebook_page/options.js b/addons/website/static/src/snippets/s_facebook_page/options.js
index 040d925d627..45d7b020f34 100644
--- a/addons/website/static/src/snippets/s_facebook_page/options.js
+++ b/addons/website/static/src/snippets/s_facebook_page/options.js
@@ -1,7 +1,6 @@
-odoo.define('website.s_facebook_page_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const options = require('web_editor.snippets.options');
+import options from "web_editor.snippets.options";
options.registry.facebookPage = options.Class.extend({
/**
@@ -152,4 +151,3 @@ options.registry.facebookPage = options.Class.extend({
return Promise.resolve();
},
});
-});
diff --git a/addons/website/static/src/snippets/s_google_map/000.js b/addons/website/static/src/snippets/s_google_map/000.js
index ee1bdc3022a..13395b26a5f 100644
--- a/addons/website/static/src/snippets/s_google_map/000.js
+++ b/addons/website/static/src/snippets/s_google_map/000.js
@@ -1,8 +1,7 @@
+/** @odoo-module **/
/* global google */
-odoo.define('website.s_google_map', function (require) {
-'use strict';
-const publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.GoogleMap = publicWidget.Widget.extend({
selector: '.s_google_map',
@@ -94,4 +93,3 @@ publicWidget.registry.GoogleMap = publicWidget.Widget.extend({
}
},
});
-});
diff --git a/addons/website/static/src/snippets/s_google_map/options.js b/addons/website/static/src/snippets/s_google_map/options.js
index 6aad46f12ad..a11e8f23629 100644
--- a/addons/website/static/src/snippets/s_google_map/options.js
+++ b/addons/website/static/src/snippets/s_google_map/options.js
@@ -1,8 +1,7 @@
-odoo.define('options.s_google_map_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const {_t} = require('web.core');
-const options = require('web_editor.snippets.options');
+import {_t} from "web.core";
+import options from "web_editor.snippets.options";
options.registry.GoogleMap = options.Class.extend({
@@ -53,4 +52,3 @@ options.registry.GoogleMap = options.Class.extend({
return this._super(...arguments);
},
});
-});
diff --git a/addons/website/static/src/snippets/s_image_gallery/000.js b/addons/website/static/src/snippets/s_image_gallery/000.js
index bec4dc47903..9e5e824d9ef 100644
--- a/addons/website/static/src/snippets/s_image_gallery/000.js
+++ b/addons/website/static/src/snippets/s_image_gallery/000.js
@@ -1,8 +1,7 @@
-odoo.define('website.s_image_gallery', function (require) {
-'use strict';
+/** @odoo-module alias=website.s_image_gallery **/
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
+import core from "web.core";
+import publicWidget from "web.public.widget";
var qweb = core.qweb;
@@ -171,8 +170,7 @@ const GallerySliderWidget = publicWidget.Widget.extend({
publicWidget.registry.gallery = GalleryWidget;
publicWidget.registry.gallerySlider = GallerySliderWidget;
-return {
+export default {
GalleryWidget: GalleryWidget,
GallerySliderWidget: GallerySliderWidget,
};
-});
diff --git a/addons/website/static/src/snippets/s_image_gallery/options.js b/addons/website/static/src/snippets/s_image_gallery/options.js
index ba55a83aef3..7a5c52cf5d3 100644
--- a/addons/website/static/src/snippets/s_image_gallery/options.js
+++ b/addons/website/static/src/snippets/s_image_gallery/options.js
@@ -1,10 +1,9 @@
-odoo.define('website.s_image_gallery_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const { MediaDialogWrapper } = require('@web_editor/components/media_dialog/media_dialog');
-const { ComponentWrapper } = require('web.OwlCompatibility');
-var core = require('web.core');
-var options = require('web_editor.snippets.options');
+import { MediaDialogWrapper } from "@web_editor/components/media_dialog/media_dialog";
+import { ComponentWrapper } from "web.OwlCompatibility";
+import core from "web.core";
+import options from "web_editor.snippets.options";
var _t = core._t;
var qweb = core.qweb;
@@ -491,4 +490,3 @@ options.registry.gallery_img = options.Class.extend({
});
},
});
-});
diff --git a/addons/website/static/src/snippets/s_media_list/options.js b/addons/website/static/src/snippets/s_media_list/options.js
index ee277fcf85c..48f337a0ba9 100644
--- a/addons/website/static/src/snippets/s_media_list/options.js
+++ b/addons/website/static/src/snippets/s_media_list/options.js
@@ -1,7 +1,6 @@
-odoo.define('website.s_media_list_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const options = require('web_editor.snippets.options');
+import options from "web_editor.snippets.options";
options.registry.MediaItemLayout = options.Class.extend({
@@ -47,4 +46,3 @@ options.registry.MediaItemLayout = options.Class.extend({
return this._super(...arguments);
},
});
-});
diff --git a/addons/website/static/src/snippets/s_popup/000.js b/addons/website/static/src/snippets/s_popup/000.js
index 00dd7ad9124..196276066e2 100644
--- a/addons/website/static/src/snippets/s_popup/000.js
+++ b/addons/website/static/src/snippets/s_popup/000.js
@@ -1,9 +1,8 @@
-odoo.define('website.s_popup', function (require) {
-'use strict';
+/** @odoo-module alias=website.s_popup **/
-const config = require('web.config');
-const publicWidget = require('web.public.widget');
-const {getCookie, setCookie} = require('web.utils.cookies');
+import config from "web.config";
+import publicWidget from "web.public.widget";
+import {getCookie, setCookie} from "web.utils.cookies";
// TODO In master, export this class too or merge it with PopupWidget
const SharedPopupWidget = publicWidget.Widget.extend({
@@ -194,5 +193,4 @@ publicWidget.registry.cookies_bar = PopupWidget.extend({
},
});
-return PopupWidget;
-});
+export default PopupWidget;
diff --git a/addons/website/static/src/snippets/s_popup/options.js b/addons/website/static/src/snippets/s_popup/options.js
index 277c510054a..c611f8841cc 100644
--- a/addons/website/static/src/snippets/s_popup/options.js
+++ b/addons/website/static/src/snippets/s_popup/options.js
@@ -1,7 +1,6 @@
-odoo.define('website.s_popup_options', function (require) {
-'use strict';
+/** @odoo-module alias=website.s_popup_options **/
-const options = require('web_editor.snippets.options');
+import options from "web_editor.snippets.options";
options.registry.SnippetPopup = options.Class.extend({
/**
@@ -149,4 +148,3 @@ options.registry.SnippetPopup = options.Class.extend({
});
},
});
-});
diff --git a/addons/website/static/src/snippets/s_product_catalog/options.js b/addons/website/static/src/snippets/s_product_catalog/options.js
index ef78a364cea..80c37165f57 100644
--- a/addons/website/static/src/snippets/s_product_catalog/options.js
+++ b/addons/website/static/src/snippets/s_product_catalog/options.js
@@ -1,9 +1,7 @@
+/** @odoo-module **/
-odoo.define('website.s_product_catalog_options', function (require) {
-'use strict';
-
-const core = require('web.core');
-const options = require('web_editor.snippets.options');
+import core from "web.core";
+import options from "web_editor.snippets.options";
const _t = core._t;
@@ -63,4 +61,3 @@ options.registry.ProductCatalog = options.Class.extend({
return this._super(...arguments);
},
});
-});
diff --git a/addons/website/static/src/snippets/s_progress_bar/options.js b/addons/website/static/src/snippets/s_progress_bar/options.js
index d3f544a0515..b647e2a22ba 100644
--- a/addons/website/static/src/snippets/s_progress_bar/options.js
+++ b/addons/website/static/src/snippets/s_progress_bar/options.js
@@ -1,9 +1,8 @@
-odoo.define('website.s_progress_bar_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const core = require('web.core');
-const utils = require('web.utils');
-const options = require('web_editor.snippets.options');
+import core from "web.core";
+import utils from "web.utils";
+import options from "web_editor.snippets.options";
const _t = core._t;
@@ -77,4 +76,3 @@ options.registry.progress = options.Class.extend({
return this._super(...arguments);
},
});
-});
diff --git a/addons/website/static/src/snippets/s_rating/options.js b/addons/website/static/src/snippets/s_rating/options.js
index 782664233c8..faf40e92ccb 100644
--- a/addons/website/static/src/snippets/s_rating/options.js
+++ b/addons/website/static/src/snippets/s_rating/options.js
@@ -1,10 +1,9 @@
-odoo.define('website.s_rating_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const { ComponentWrapper } = require('web.OwlCompatibility');
-const { MediaDialogWrapper } = require('@web_editor/components/media_dialog/media_dialog');
+import { ComponentWrapper } from "web.OwlCompatibility";
+import { MediaDialogWrapper } from "@web_editor/components/media_dialog/media_dialog";
-const options = require('web_editor.snippets.options');
+import options from "web_editor.snippets.options";
options.registry.Rating = options.Class.extend({
/**
@@ -143,4 +142,3 @@ options.registry.Rating = options.Class.extend({
$inactiveIcons.removeClass().addClass(faClassInactiveIcons);
},
});
-});
diff --git a/addons/website/static/src/snippets/s_showcase/options.js b/addons/website/static/src/snippets/s_showcase/options.js
index 9c28030dd07..e164a61371b 100644
--- a/addons/website/static/src/snippets/s_showcase/options.js
+++ b/addons/website/static/src/snippets/s_showcase/options.js
@@ -1,7 +1,6 @@
-odoo.define('website.s_showcase_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const options = require('web_editor.snippets.options');
+import options from "web_editor.snippets.options";
options.registry.Showcase = options.Class.extend({
/**
@@ -16,4 +15,3 @@ options.registry.Showcase = options.Class.extend({
$title.find('.s_showcase_icon').toggleClass('me-lg-0 ms-lg-3', isLeftCol);
},
});
-});
diff --git a/addons/website/static/src/snippets/s_table_of_content/000.js b/addons/website/static/src/snippets/s_table_of_content/000.js
index 712390fd775..23327599a8f 100644
--- a/addons/website/static/src/snippets/s_table_of_content/000.js
+++ b/addons/website/static/src/snippets/s_table_of_content/000.js
@@ -1,8 +1,7 @@
-odoo.define('website.s_table_of_content', function (require) {
-'use strict';
+/** @odoo-module alias=website.s_table_of_content **/
-const publicWidget = require('web.public.widget');
-const {extraMenuUpdateCallbacks} = require('website.content.menu');
+import publicWidget from "web.public.widget";
+import {extraMenuUpdateCallbacks} from "website.content.menu";
const TableOfContent = publicWidget.Widget.extend({
selector: 'section .s_table_of_content_navbar_sticky',
@@ -107,5 +106,4 @@ publicWidget.registry.anchorSlide.include({
publicWidget.registry.snippetTableOfContent = TableOfContent;
-return TableOfContent;
-});
+export default TableOfContent;
diff --git a/addons/website/static/src/snippets/s_table_of_content/options.js b/addons/website/static/src/snippets/s_table_of_content/options.js
index d141dd34fb7..26cd941acc7 100644
--- a/addons/website/static/src/snippets/s_table_of_content/options.js
+++ b/addons/website/static/src/snippets/s_table_of_content/options.js
@@ -1,7 +1,6 @@
-odoo.define('website.s_table_of_content_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const options = require('web_editor.snippets.options');
+import options from "web_editor.snippets.options";
options.registry.TableOfContent = options.Class.extend({
/**
@@ -181,4 +180,3 @@ options.registry.TableOfContentMainColumns = options.Class.extend({
return this._super.apply(this, arguments);
},
});
-});
diff --git a/addons/website/static/src/snippets/s_tabs/options.js b/addons/website/static/src/snippets/s_tabs/options.js
index 20d44a9fa8f..92181a26d29 100644
--- a/addons/website/static/src/snippets/s_tabs/options.js
+++ b/addons/website/static/src/snippets/s_tabs/options.js
@@ -1,7 +1,6 @@
-odoo.define('website.s_tabs_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const options = require('web_editor.snippets.options');
+import options from "web_editor.snippets.options";
options.registry.NavTabs = options.registry.MultipleItems.extend({
isTopOption: true,
@@ -140,4 +139,3 @@ options.registry.NavTabsStyle = options.Class.extend({
return this._super(...arguments);
},
});
-});
diff --git a/addons/website/static/src/snippets/s_timeline/options.js b/addons/website/static/src/snippets/s_timeline/options.js
index f1f61cdf736..51e92ee31aa 100644
--- a/addons/website/static/src/snippets/s_timeline/options.js
+++ b/addons/website/static/src/snippets/s_timeline/options.js
@@ -1,7 +1,6 @@
-odoo.define('website.s_timeline_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const options = require('web_editor.snippets.options');
+import options from "web_editor.snippets.options";
options.registry.Timeline = options.Class.extend({
displayOverlayOptions: true,
@@ -31,4 +30,3 @@ options.registry.Timeline = options.Class.extend({
$timelineRow.toggleClass('flex-row-reverse flex-row');
},
});
-});
diff --git a/addons/website/static/src/snippets/s_website_form/000.js b/addons/website/static/src/snippets/s_website_form/000.js
index 71bddc60dbb..c57842c92b1 100644
--- a/addons/website/static/src/snippets/s_website_form/000.js
+++ b/addons/website/static/src/snippets/s_website_form/000.js
@@ -1,14 +1,13 @@
-odoo.define('website.s_website_form', function (require) {
- 'use strict';
-
- var core = require('web.core');
- var time = require('web.time');
- const {ReCaptcha} = require('google_recaptcha.ReCaptchaV3');
- const session = require('web.session');
- var ajax = require('web.ajax');
- var publicWidget = require('web.public.widget');
- const dom = require('web.dom');
- const concurrency = require('web.concurrency');
+/** @odoo-module **/
+
+ import core from "web.core";
+ import time from "web.time";
+ import {ReCaptcha} from "google_recaptcha.ReCaptchaV3";
+ import session from "web.session";
+ import ajax from "web.ajax";
+ import publicWidget from "web.public.widget";
+ import dom from "web.dom";
+ import concurrency from "web.concurrency";
var _t = core._t;
var qweb = core.qweb;
@@ -671,4 +670,3 @@ odoo.define('website.s_website_form', function (require) {
this._updateFieldsVisibility();
},
});
-});
diff --git a/addons/website/static/src/snippets/s_website_form/options.js b/addons/website/static/src/snippets/s_website_form/options.js
index 6a9e800bf73..5f41e56ceba 100644
--- a/addons/website/static/src/snippets/s_website_form/options.js
+++ b/addons/website/static/src/snippets/s_website_form/options.js
@@ -1,13 +1,12 @@
-odoo.define('website.form_editor', function (require) {
-'use strict';
+/** @odoo-module **/
-const core = require('web.core');
-const FormEditorRegistry = require('website.form_editor_registry');
-const options = require('web_editor.snippets.options');
-const Dialog = require('web.Dialog');
-const dom = require('web.dom');
-const {generateHTMLId} = require('web_editor.utils');
-require('website.editor.snippets.options');
+import core from "web.core";
+import FormEditorRegistry from "website.form_editor_registry";
+import options from "web_editor.snippets.options";
+import Dialog from "web.Dialog";
+import dom from "web.dom";
+import {generateHTMLId} from "web_editor.utils";
+import "website.editor.snippets.options";
const qweb = core.qweb;
const _t = core._t;
@@ -1522,4 +1521,3 @@ options.registry.DeviceVisibility.include({
&& !this.$target.hasClass('s_website_form_field_hidden');
},
});
-});
diff --git a/addons/website/static/tests/dashboard_tests.js b/addons/website/static/tests/dashboard_tests.js
index 45df5945cfc..ada378a09e2 100644
--- a/addons/website/static/tests/dashboard_tests.js
+++ b/addons/website/static/tests/dashboard_tests.js
@@ -1,10 +1,9 @@
-odoo.define('website/static/tests/dashboard_tests', function (require) {
-"use strict";
+/** @odoo-module **/
-const ControlPanel = require('web.ControlPanel');
-const Dashboard = require('website.backend.dashboard');
-const testUtils = require("web.test_utils");
-const { patch, unpatch } = require('web.utils');
+import ControlPanel from "web.ControlPanel";
+import Dashboard from "website.backend.dashboard";
+import testUtils from "web.test_utils";
+import { patch, unpatch } from "web.utils";
const { createParent, nextTick, prepareTarget } = testUtils;
@@ -61,5 +60,3 @@ QUnit.module('Website Backend Dashboard', {
unpatch(ControlPanel.prototype, 'test.ControlPanel');
});
});
-
-});
diff --git a/addons/website/static/tests/tours/automatic_editor.js b/addons/website/static/tests/tours/automatic_editor.js
index 05378c9b6af..48cd2574e96 100644
--- a/addons/website/static/tests/tours/automatic_editor.js
+++ b/addons/website/static/tests/tours/automatic_editor.js
@@ -1,7 +1,6 @@
-odoo.define('website.tour.automatic_editor', function (require) {
-'use strict';
+/** @odoo-module **/
-const wTourUtils = require("website.tour_utils");
+import wTourUtils from "website.tour_utils";
wTourUtils.registerWebsitePreviewTour('automatic_editor_on_new_website', {
test: true,
@@ -96,4 +95,3 @@ wTourUtils.registerWebsitePreviewTour('automatic_editor_on_new_website', {
run: () => null, // It's a check
}
]);
-});
diff --git a/addons/website/static/tests/tours/default_shape_gets_palette_colors.js b/addons/website/static/tests/tours/default_shape_gets_palette_colors.js
index 689678aa551..4ac3ef21ceb 100644
--- a/addons/website/static/tests/tours/default_shape_gets_palette_colors.js
+++ b/addons/website/static/tests/tours/default_shape_gets_palette_colors.js
@@ -1,7 +1,6 @@
-odoo.define("website.tour.default_shape_gets_palette_colors", function (require) {
-"use strict";
+/** @odoo-module **/
-const wTourUtils = require('website.tour_utils');
+import wTourUtils from "website.tour_utils";
wTourUtils.registerWebsitePreviewTour("default_shape_gets_palette_colors", {
test: true,
@@ -28,4 +27,3 @@ wTourUtils.registerWebsitePreviewTour("default_shape_gets_palette_colors", {
},
},
]);
-});
diff --git a/addons/website/static/tests/tours/edit_link_popover.js b/addons/website/static/tests/tours/edit_link_popover.js
index 14c4340cf65..a14f5950933 100644
--- a/addons/website/static/tests/tours/edit_link_popover.js
+++ b/addons/website/static/tests/tours/edit_link_popover.js
@@ -1,7 +1,6 @@
-odoo.define("website.tour.edit_link_popover", function (require) {
-"use strict";
+/** @odoo-module **/
-const wTourUtils = require('website.tour_utils');
+import wTourUtils from "website.tour_utils";
const FIRST_PARAGRAPH = 'iframe #wrap .s_text_image p:nth-child(2)';
@@ -202,4 +201,3 @@ wTourUtils.registerWebsitePreviewTour('edit_link_popover', {
},
},
]);
-});
diff --git a/addons/website/static/tests/tours/edit_megamenu.js b/addons/website/static/tests/tours/edit_megamenu.js
index bcc96126b3f..889272f6157 100644
--- a/addons/website/static/tests/tours/edit_megamenu.js
+++ b/addons/website/static/tests/tours/edit_megamenu.js
@@ -1,7 +1,6 @@
-odoo.define("website.tour.edit_megamenu", function (require) {
-"use strict";
+/** @odoo-module **/
-const wTourUtils = require('website.tour_utils');
+import wTourUtils from "website.tour_utils";
const toggleMegaMenu = (stepOptions) => Object.assign({}, {
content: "Toggles the mega menu.",
@@ -96,4 +95,3 @@ wTourUtils.registerWebsitePreviewTour('edit_megamenu', {
run: function () {}, // it's a check
},
]);
-});
diff --git a/addons/website/static/tests/tours/focus_blur_snippets.js b/addons/website/static/tests/tours/focus_blur_snippets.js
index 6d356e51cc0..c461482c128 100644
--- a/addons/website/static/tests/tours/focus_blur_snippets.js
+++ b/addons/website/static/tests/tours/focus_blur_snippets.js
@@ -1,8 +1,7 @@
-odoo.define('website.tour.focus_blur_snippets', function (require) {
-'use strict';
+/** @odoo-module **/
-const { loadJS } = require('@web/core/assets');
-const { registry } = require("@web/core/registry");
+import { loadJS } from "@web/core/assets";
+import { registry } from "@web/core/registry";
const blockIDToData = {
parent: {
@@ -80,4 +79,3 @@ registry.category("web_tour.tours").add('focus_blur_snippets', {
...clickAndCheck('child2', ['blur parent', 'blur child1', 'focus parent', 'focus child2']),
...clickAndCheck('parent', ['blur parent', 'blur child2', 'focus parent']),
]});
-});
diff --git a/addons/website/static/tests/tours/html_editor.js b/addons/website/static/tests/tours/html_editor.js
index d07ec121ea1..5c1fadc6bc1 100644
--- a/addons/website/static/tests/tours/html_editor.js
+++ b/addons/website/static/tests/tours/html_editor.js
@@ -1,8 +1,7 @@
+/** @odoo-module**/
/* global ace */
-odoo.define('website.test.html_editor', function (require) {
-'use strict';
-const wTourUtils = require('website.tour_utils');
+import wTourUtils from "website.tour_utils";
const adminCssModif = '#wrap {display: none;}';
const demoCssModif = '// demo_edition';
@@ -218,5 +217,3 @@ wTourUtils.registerWebsitePreviewTour('test_html_editor_scss_2', {
},
]
);
-
-});
diff --git a/addons/website/static/tests/tours/public_user_editor.js b/addons/website/static/tests/tours/public_user_editor.js
index 683774c348f..0c923ba29b5 100644
--- a/addons/website/static/tests/tours/public_user_editor.js
+++ b/addons/website/static/tests/tours/public_user_editor.js
@@ -1,26 +1,6 @@
-odoo.define('website.tour.public_user_editor_dep_widget', function (require) {
-'use strict';
+/** @odoo-module **/
-const publicWidget = require('web.public.widget');
-const wysiwygLoader = require('web_editor.loader');
-
-publicWidget.registry['public_user_editor_test'] = publicWidget.Widget.extend({
- selector: 'textarea.o_public_user_editor_test_textarea',
-
- /**
- * @override
- */
- start: async function () {
- await this._super(...arguments);
- await wysiwygLoader.loadFromTextarea(this, this.el, {});
- },
-});
-});
-
-odoo.define('website.tour.public_user_editor', function (require) {
-'use strict';
-
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('public_user_editor', {
test: true,
@@ -28,4 +8,3 @@ registry.category("web_tour.tours").add('public_user_editor', {
trigger: '.note-editable',
run: function () {}, // Simple check
}]});
-});
diff --git a/addons/website/static/tests/tours/public_user_editor_dep_widget.js b/addons/website/static/tests/tours/public_user_editor_dep_widget.js
new file mode 100644
index 00000000000..1e69c9de2ec
--- /dev/null
+++ b/addons/website/static/tests/tours/public_user_editor_dep_widget.js
@@ -0,0 +1,16 @@
+/** @odoo-module **/
+
+import publicWidget from "web.public.widget";
+import wysiwygLoader from "web_editor.loader";
+
+publicWidget.registry['public_user_editor_test'] = publicWidget.Widget.extend({
+ selector: 'textarea.o_public_user_editor_test_textarea',
+
+ /**
+ * @override
+ */
+ start: async function () {
+ await this._super(...arguments);
+ await wysiwygLoader.loadFromTextarea(this, this.el, {});
+ },
+});
diff --git a/addons/website/static/tests/tours/reset_password.js b/addons/website/static/tests/tours/reset_password.js
index 8b4dfa54459..7cd6cecf179 100644
--- a/addons/website/static/tests/tours/reset_password.js
+++ b/addons/website/static/tests/tours/reset_password.js
@@ -1,7 +1,6 @@
-odoo.define('website.tour_reset_password', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('website_reset_password', {
test: true,
@@ -26,4 +25,3 @@ registry.category("web_tour.tours").add('website_reset_password', {
run: function () {}
},
]});
-});
diff --git a/addons/website/static/tests/tours/restricted_editor.js b/addons/website/static/tests/tours/restricted_editor.js
index 666857ae58b..8891e85c7e1 100644
--- a/addons/website/static/tests/tours/restricted_editor.js
+++ b/addons/website/static/tests/tours/restricted_editor.js
@@ -1,7 +1,6 @@
-odoo.define("website.tour.restricted_editor", function (require) {
-"use strict";
+/** @odoo-module **/
-var wTourUtils = require("website.tour_utils");
+import wTourUtils from "website.tour_utils";
wTourUtils.registerWebsitePreviewTour("restricted_editor", {
test: true,
@@ -13,4 +12,3 @@ wTourUtils.registerWebsitePreviewTour("restricted_editor", {
trigger: '#oe_snippets.o_loaded',
content: "Check that the snippets loaded properly",
}]);
-});
diff --git a/addons/website/static/tests/tours/rte.js b/addons/website/static/tests/tours/rte.js
index 41092c0216b..0576a8c0c61 100644
--- a/addons/website/static/tests/tours/rte.js
+++ b/addons/website/static/tests/tours/rte.js
@@ -1,8 +1,7 @@
-odoo.define('website.tour.rte', function (require) {
-'use strict';
+/** @odoo-module **/
-var session = require('web.session');
-const wTourUtils = require('website.tour_utils');
+import session from "web.session";
+import wTourUtils from "website.tour_utils";
var domReady = new Promise(function (resolve) {
$(resolve);
@@ -239,4 +238,3 @@ wTourUtils.registerWebsitePreviewTour('rte_translator', {
trigger: 'iframe body:not(.rte_translator_error)',
run: function () {},
}]);
-});
diff --git a/addons/website/static/tests/tours/snippet_empty_parent_autoremove.js b/addons/website/static/tests/tours/snippet_empty_parent_autoremove.js
index 1a7bdaa3000..29343227041 100644
--- a/addons/website/static/tests/tours/snippet_empty_parent_autoremove.js
+++ b/addons/website/static/tests/tours/snippet_empty_parent_autoremove.js
@@ -1,7 +1,6 @@
-odoo.define("website.tour.snippet_empty_parent_autoremove", function (require) {
-"use strict";
+/** @odoo-module **/
-const wTourUtils = require('website.tour_utils');
+import wTourUtils from "website.tour_utils";
function removeSelectedBlock() {
return {
@@ -66,4 +65,3 @@ wTourUtils.registerWebsitePreviewTour('snippet_empty_parent_autoremove', {
run: () => null,
},
]);
-});
diff --git a/addons/website/static/tests/tours/snippet_version.js b/addons/website/static/tests/tours/snippet_version.js
index a921a750a02..6073ef60473 100644
--- a/addons/website/static/tests/tours/snippet_version.js
+++ b/addons/website/static/tests/tours/snippet_version.js
@@ -1,7 +1,6 @@
-odoo.define("website.tour.snippet_version", function (require) {
-"use strict";
+/** @odoo-module **/
-const wTourUtils = require('website.tour_utils');
+import wTourUtils from "website.tour_utils";
wTourUtils.registerWebsitePreviewTour("snippet_version", {
edition: true,
@@ -63,4 +62,3 @@ wTourUtils.registerWebsitePreviewTour("snippet_version", {
extra_trigger: 'we-customizeblock-options:contains(Share) .snippet-option-VersionControl > we-alert',
trigger: 'iframe body',
}]);
-});
diff --git a/addons/website/static/tests/tours/snippets_all_drag_and_drop.js b/addons/website/static/tests/tours/snippets_all_drag_and_drop.js
index 6149c1a28d3..d4ca2c38995 100644
--- a/addons/website/static/tests/tours/snippets_all_drag_and_drop.js
+++ b/addons/website/static/tests/tours/snippets_all_drag_and_drop.js
@@ -1,9 +1,8 @@
-odoo.define("website.tour.snippets_all_drag_and_drop", async function (require) {
-"use strict";
+/** @odoo-module **/
-const { WysiwygAdapterComponent } = require('@website/components/wysiwyg_adapter/wysiwyg_adapter');
-const websiteTourUtils = require('website.tour_utils');
-const { patch, unpatch } = require('web.utils');
+import { WysiwygAdapterComponent } from "@website/components/wysiwyg_adapter/wysiwyg_adapter";
+import websiteTourUtils from "website.tour_utils";
+import { patch, unpatch } from "web.utils";
const patchWysiwygAdapter = () => patch(WysiwygAdapterComponent.prototype, 'snippets_all_drag_and_drop.wysiwyg_adapter', {
_trigger_up(ev) {
@@ -16,7 +15,7 @@ const patchWysiwygAdapter = () => patch(WysiwygAdapterComponent.prototype, 'snip
const unpatchWysiwygAdapter = () => unpatch(WysiwygAdapterComponent.prototype, 'snippets_all_drag_and_drop.wysiwyg_adapter');
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
let snippetsNames = (new URL(document.location.href)).searchParams.get('snippets_names') || '';
// When this test is loaded in the backend, the search params aren't as easy to
@@ -121,4 +120,3 @@ registry.category("web_tour.tours").add("snippets_all_drag_and_drop", {
}
]),
});
-});
diff --git a/addons/website/static/tests/tours/specific_website_editor.js b/addons/website/static/tests/tours/specific_website_editor.js
index 57003909068..85700bc0ea4 100644
--- a/addons/website/static/tests/tours/specific_website_editor.js
+++ b/addons/website/static/tests/tours/specific_website_editor.js
@@ -1,7 +1,6 @@
-odoo.define('website.tour.specific_website_editor', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('generic_website_editor', {
test: true,
@@ -28,4 +27,3 @@ registry.category("web_tour.tours").add('specific_website_editor', {
content: 'Check that the editor DOM matches its website-specific features',
run: function () {}, // Simple check
}]});
-});
diff --git a/addons/website/static/tests/tours/website_form_editor.js b/addons/website/static/tests/tours/website_form_editor.js
index bef297c44c3..fd7bb84f9c8 100644
--- a/addons/website/static/tests/tours/website_form_editor.js
+++ b/addons/website/static/tests/tours/website_form_editor.js
@@ -1,7 +1,6 @@
-odoo.define('website.tour.form_editor', function (require) {
- 'use strict';
-
- const wTourUtils = require("website.tour_utils");
+/** @odoo-module alias=website.tour.form_editor **/
+
+ import wTourUtils from "website.tour_utils";
// Visibility possible values:
const VISIBLE = 'Always Visible';
@@ -572,5 +571,4 @@ odoo.define('website.tour.form_editor', function (require) {
}
]);
- return {};
-});
+ export default {};
diff --git a/addons/website/static/tests/tours/website_navbar_menu.js b/addons/website/static/tests/tours/website_navbar_menu.js
index b52651eb382..e309401a418 100644
--- a/addons/website/static/tests/tours/website_navbar_menu.js
+++ b/addons/website/static/tests/tours/website_navbar_menu.js
@@ -1,7 +1,6 @@
-odoo.define("website.tour.website_navbar_menu", function (require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add("website_navbar_menu", {
test: true,
@@ -17,4 +16,3 @@ registry.category("web_tour.tours").add("website_navbar_menu", {
run: function () {}, // it's a check
}
]});
-});
diff --git a/addons/website/static/tests/tours/website_style_edition.js b/addons/website/static/tests/tours/website_style_edition.js
index a53c208557a..4292091804a 100644
--- a/addons/website/static/tests/tours/website_style_edition.js
+++ b/addons/website/static/tests/tours/website_style_edition.js
@@ -1,7 +1,6 @@
-odoo.define("website.tour.website_style_edition", function (require) {
-"use strict";
+/** @odoo-module **/
-const wTourUtils = require("website.tour_utils");
+import wTourUtils from "website.tour_utils";
const TARGET_FONT_SIZE = 30;
@@ -49,4 +48,3 @@ wTourUtils.goToTheme(),
trigger: '.o_select_media_dialog',
run: () => {}, // It's a check.
}]);
-});
diff --git a/addons/website_blog/static/src/js/contentshare.js b/addons/website_blog/static/src/js/contentshare.js
index 2e6c9cd45dd..14b8cf6834f 100644
--- a/addons/website_blog/static/src/js/contentshare.js
+++ b/addons/website_blog/static/src/js/contentshare.js
@@ -1,7 +1,6 @@
-odoo.define('website_blog.contentshare', function (require) {
-'use strict';
+/** @odoo-module **/
-const dom = require('web.dom');
+import dom from "web.dom";
$.fn.share = function (options) {
var option = $.extend($.fn.share.defaults, options);
@@ -107,4 +106,3 @@ $.fn.share.defaults = {
className: "share",
placement: "top",
};
-});
diff --git a/addons/website_blog/static/src/js/options.js b/addons/website_blog/static/src/js/options.js
index ff813fd2471..3805d13f581 100644
--- a/addons/website_blog/static/src/js/options.js
+++ b/addons/website_blog/static/src/js/options.js
@@ -1,10 +1,9 @@
-odoo.define('website_blog.options', function (require) {
-'use strict';
+/** @odoo-module **/
-require('web.dom_ready');
-const {_t} = require('web.core');
-const options = require('web_editor.snippets.options');
-require('website.editor.snippets.options');
+import "web.dom_ready";
+import {_t} from "web.core";
+import options from "web_editor.snippets.options";
+import "website.editor.snippets.options";
const NEW_TAG_PREFIX = 'new-blog-tag-';
@@ -182,4 +181,3 @@ options.registry.BlogPostTagSelection = options.Class.extend({
uiFragment.querySelector('we-many2many').dataset.recordId = this.blogPostID;
},
});
-});
diff --git a/addons/website_blog/static/src/js/tours/website_blog.js b/addons/website_blog/static/src/js/tours/website_blog.js
index a6ebb22507d..f589b3aec4c 100644
--- a/addons/website_blog/static/src/js/tours/website_blog.js
+++ b/addons/website_blog/static/src/js/tours/website_blog.js
@@ -1,9 +1,8 @@
-odoo.define("website_blog.tour", function (require) {
- "use strict";
-
- const {_t} = require("web.core");
- const {Markup} = require('web.utils');
- const wTourUtils = require('website.tour_utils');
+/** @odoo-module **/
+
+ import {_t} from "web.core";
+ import {Markup} from "web.utils";
+ import wTourUtils from "website.tour_utils";
wTourUtils.registerWebsitePreviewTour("blog", {
url: "/",
@@ -91,4 +90,3 @@ odoo.define("website_blog.tour", function (require) {
content: Markup(_t("Publish your blog post to make it visible to your visitors.")),
},
]);
-});
diff --git a/addons/website_blog/static/src/js/website_blog.js b/addons/website_blog/static/src/js/website_blog.js
index 7131f275d00..8fd216e0e13 100644
--- a/addons/website_blog/static/src/js/website_blog.js
+++ b/addons/website_blog/static/src/js/website_blog.js
@@ -1,9 +1,8 @@
-odoo.define('website_blog.website_blog', function (require) {
-'use strict';
-var core = require('web.core');
+/** @odoo-module **/
-const dom = require('web.dom');
-const publicWidget = require('web.public.widget');
+import core from "web.core";
+import dom from "web.dom";
+import publicWidget from "web.public.widget";
publicWidget.registry.websiteBlog = publicWidget.Widget.extend({
selector: '.website_blog',
@@ -99,4 +98,3 @@ publicWidget.registry.websiteBlog = publicWidget.Widget.extend({
dom.scrollTo($el[0], {duration: duration}).then(() => callback());
},
});
-});
diff --git a/addons/website_blog/static/src/js/wysiwyg.js b/addons/website_blog/static/src/js/wysiwyg.js
index aed3953e20d..11bb67400f8 100644
--- a/addons/website_blog/static/src/js/wysiwyg.js
+++ b/addons/website_blog/static/src/js/wysiwyg.js
@@ -1,9 +1,8 @@
-odoo.define('website_blog.wysiwyg', function (require) {
-'use strict';
+/** @odoo-module **/
-const Wysiwyg = require('website.wysiwyg');
-require('website.editor.snippets.options');
+import Wysiwyg from "website.wysiwyg";
+import "website.editor.snippets.options";
Wysiwyg.include({
custom_events: Object.assign({}, Wysiwyg.prototype.custom_events, {
@@ -82,5 +81,3 @@ Wysiwyg.include({
this.blogTagsPerBlogPost[ev.data.blogPostID] = ev.data.tags;
},
});
-
-});
diff --git a/addons/website_blog/static/src/snippets/s_blog_posts/000.js b/addons/website_blog/static/src/snippets/s_blog_posts/000.js
index 4f516df9705..4a740bb5dcf 100644
--- a/addons/website_blog/static/src/snippets/s_blog_posts/000.js
+++ b/addons/website_blog/static/src/snippets/s_blog_posts/000.js
@@ -1,8 +1,7 @@
-odoo.define('website_blog.s_blog_posts_frontend', function (require) {
-'use strict';
+/** @odoo-module alias=website_blog.s_blog_posts_frontend **/
-var publicWidget = require('web.public.widget');
-const DynamicSnippet = require('website.s_dynamic_snippet');
+import publicWidget from "web.public.widget";
+import DynamicSnippet from "website.s_dynamic_snippet";
const DynamicSnippetBlogPosts = DynamicSnippet.extend({
selector: '.s_dynamic_snippet_blog_posts',
@@ -30,5 +29,4 @@ const DynamicSnippetBlogPosts = DynamicSnippet.extend({
});
publicWidget.registry.blog_posts = DynamicSnippetBlogPosts;
-return DynamicSnippetBlogPosts;
-});
+export default DynamicSnippetBlogPosts;
diff --git a/addons/website_blog/static/src/snippets/s_blog_posts/options.js b/addons/website_blog/static/src/snippets/s_blog_posts/options.js
index 41e5c5c9e95..c50fb836175 100644
--- a/addons/website_blog/static/src/snippets/s_blog_posts/options.js
+++ b/addons/website_blog/static/src/snippets/s_blog_posts/options.js
@@ -1,10 +1,9 @@
-odoo.define('website_blog.s_blog_posts_options', function (require) {
-'use strict';
+/** @odoo-module alias=website_blog.s_blog_posts_options **/
-const options = require('web_editor.snippets.options');
-const dynamicSnippetOptions = require('website.s_dynamic_snippet_options');
+import options from "web_editor.snippets.options";
+import dynamicSnippetOptions from "website.s_dynamic_snippet_options";
-var wUtils = require('website.utils');
+import wUtils from "website.utils";
const dynamicSnippetBlogPostsOptions = dynamicSnippetOptions.extend({
/**
@@ -85,5 +84,4 @@ const dynamicSnippetBlogPostsOptions = dynamicSnippetOptions.extend({
options.registry.dynamic_snippet_blog_posts = dynamicSnippetBlogPostsOptions;
-return dynamicSnippetBlogPostsOptions;
-});
+export default dynamicSnippetBlogPostsOptions;
diff --git a/addons/website_crm/static/src/js/website_crm_editor.js b/addons/website_crm/static/src/js/website_crm_editor.js
index 835ec83e9b3..00c46f2dbdd 100644
--- a/addons/website_crm/static/src/js/website_crm_editor.js
+++ b/addons/website_crm/static/src/js/website_crm_editor.js
@@ -1,8 +1,7 @@
-odoo.define('website_crm.form', function (require) {
-'use strict';
+/** @odoo-module **/
-var core = require('web.core');
-var FormEditorRegistry = require('website.form_editor_registry');
+import core from "web.core";
+import FormEditorRegistry from "website.form_editor_registry";
var _t = core._t;
@@ -57,5 +56,3 @@ FormEditorRegistry.add('create_lead', {
title: _t('Assign leads/opportunities to a salesperson.'),
}],
});
-
-});
diff --git a/addons/website_crm/static/tests/tours/website_crm.js b/addons/website_crm/static/tests/tours/website_crm.js
index 867c02a8de5..112f0ae975e 100644
--- a/addons/website_crm/static/tests/tours/website_crm.js
+++ b/addons/website_crm/static/tests/tours/website_crm.js
@@ -1,8 +1,7 @@
-odoo.define('website_crm.tour', function(require) {
- 'use strict';
-
- const { registry } = require("@web/core/registry");
- const wTourUtils = require('website.tour_utils');
+/** @odoo-module alias=website_crm.tour **/
+
+ import { registry } from "@web/core/registry";
+ import wTourUtils from "website.tour_utils";
wTourUtils.registerWebsitePreviewTour('website_crm_pre_tour', {
test: true,
@@ -82,5 +81,4 @@ odoo.define('website_crm.tour', function(require) {
trigger: "#wrap:has(h1:contains('Thank You!'))"
}]});
- return {};
-});
+ export default {};
diff --git a/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js b/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js
index 2f3974807ba..6c700bda087 100644
--- a/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js
+++ b/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js
@@ -1,9 +1,8 @@
-odoo.define('crm.partner_assign', function (require) {
-'use strict';
+/** @odoo-module **/
-const {_t} = require('web.core');
-var publicWidget = require('web.public.widget');
-var time = require('web.time');
+import {_t} from "web.core";
+import publicWidget from "web.public.widget";
+import time from "web.time";
publicWidget.registry.crmPartnerAssign = publicWidget.Widget.extend({
selector: '#wrapwrap:has(.interested_partner_assign_form, .desinterested_partner_assign_form, .opp-stage-button, .new_opp_form)',
@@ -286,4 +285,3 @@ publicWidget.registry.crmPartnerAssign = publicWidget.Widget.extend({
}
},
});
-});
diff --git a/addons/website_event/static/src/js/display_timer_widget.js b/addons/website_event/static/src/js/display_timer_widget.js
index 3fde2a50a61..2f8fde6ff7d 100644
--- a/addons/website_event/static/src/js/display_timer_widget.js
+++ b/addons/website_event/static/src/js/display_timer_widget.js
@@ -1,7 +1,6 @@
-odoo.define('website_event.display_timer_widget', function (require) {
-'use strict';
+/** @odoo-module alias=website_event.display_timer_widget **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.displayTimerWidget = publicWidget.Widget.extend({
selector: '.o_display_timer',
@@ -104,6 +103,4 @@ publicWidget.registry.displayTimerWidget = publicWidget.Widget.extend({
});
-return publicWidget.registry.countdownWidget;
-
-});
+export default publicWidget.registry.countdownWidget;
diff --git a/addons/website_event/static/src/js/register_toaster_widget.js b/addons/website_event/static/src/js/register_toaster_widget.js
index fd2f944c78d..4fedb199f9c 100644
--- a/addons/website_event/static/src/js/register_toaster_widget.js
+++ b/addons/website_event/static/src/js/register_toaster_widget.js
@@ -1,10 +1,9 @@
-odoo.define('website_event.register_toaster_widget', function (require) {
-'use strict';
+/** @odoo-module alias=website_event.register_toaster_widget **/
-let core = require('web.core');
-const {Markup} = require('web.utils');
+import core from "web.core";
+import {Markup} from "web.utils";
let _t = core._t;
-let publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.RegisterToasterWidget = publicWidget.Widget.extend({
selector: '.o_wevent_register_toaster',
@@ -27,6 +26,4 @@ publicWidget.registry.RegisterToasterWidget = publicWidget.Widget.extend({
},
});
-return publicWidget.registry.RegisterToasterWidget;
-
-});
+export default publicWidget.registry.RegisterToasterWidget;
diff --git a/addons/website_event/static/src/js/tours/event_tour.js b/addons/website_event/static/src/js/tours/event_tour.js
index b8818a6bb45..9f2c17d34df 100644
--- a/addons/website_event/static/src/js/tours/event_tour.js
+++ b/addons/website_event/static/src/js/tours/event_tour.js
@@ -1,10 +1,9 @@
-odoo.define('website_event.event_steps', function (require) {
-"use strict";
+/** @odoo-module alias=website_event.event_steps **/
-const {_t} = require('web.core');
-const {Markup} = require('web.utils');
+import {_t} from "web.core";
+import {Markup} from "web.utils";
-var EventAdditionalTourSteps = require('event.event_steps');
+import EventAdditionalTourSteps from "event.event_steps";
EventAdditionalTourSteps.include({
@@ -45,6 +44,4 @@ EventAdditionalTourSteps.include({
}
});
-return EventAdditionalTourSteps;
-
-});
+export default EventAdditionalTourSteps;
diff --git a/addons/website_event/static/src/js/website_event.js b/addons/website_event/static/src/js/website_event.js
index 6916b3e7b88..ce44b3e20f1 100644
--- a/addons/website_event/static/src/js/website_event.js
+++ b/addons/website_event/static/src/js/website_event.js
@@ -1,9 +1,9 @@
-odoo.define('website_event.website_event', function (require) {
+/** @odoo-module alias=website_event.website_event **/
-var ajax = require('web.ajax');
-var core = require('web.core');
-var Widget = require('web.Widget');
-var publicWidget = require('web.public.widget');
+import ajax from "web.ajax";
+import core from "web.core";
+import Widget from "web.Widget";
+import publicWidget from "web.public.widget";
var _t = core._t;
@@ -92,5 +92,4 @@ publicWidget.registry.EventRegistrationFormInstance = publicWidget.Widget.extend
},
});
-return EventRegistrationForm;
-});
+export default EventRegistrationForm;
diff --git a/addons/website_event/static/src/js/website_event_ticket_details.js b/addons/website_event/static/src/js/website_event_ticket_details.js
index c6b7011266b..c8a5327a850 100644
--- a/addons/website_event/static/src/js/website_event_ticket_details.js
+++ b/addons/website_event/static/src/js/website_event_ticket_details.js
@@ -1,5 +1,5 @@
-odoo.define('website_event.ticket_details', function (require) {
- var publicWidget = require('web.public.widget');
+/** @odoo-module alias=website_event.ticket_details **/
+ import publicWidget from "web.public.widget";
publicWidget.registry.ticketDetailsWidget = publicWidget.Widget.extend({
selector: '.o_wevent_js_ticket_details',
@@ -56,5 +56,4 @@ odoo.define('website_event.ticket_details', function (require) {
}
});
-return publicWidget.registry.ticketDetailsWidget;
-});
+export default publicWidget.registry.ticketDetailsWidget;
diff --git a/addons/website_event/static/tests/tours/website_event.js b/addons/website_event/static/tests/tours/website_event.js
index 5947e463b07..a747ae797b7 100644
--- a/addons/website_event/static/tests/tours/website_event.js
+++ b/addons/website_event/static/tests/tours/website_event.js
@@ -1,9 +1,8 @@
-odoo.define("website_event.tour", function (require) {
- "use strict";
-
- const {_t} = require("web.core");
- const {Markup} = require('web.utils');
- const wTourUtils = require('website.tour_utils');
+/** @odoo-module **/
+
+ import {_t} from "web.core";
+ import {Markup} from "web.utils";
+ import wTourUtils from "website.tour_utils";
wTourUtils.registerWebsitePreviewTour("website_event_tour", {
@@ -60,4 +59,3 @@ odoo.define("website_event.tour", function (require) {
content: _t("Click here to customize your event further."),
position: "bottom",
}]);
-});
diff --git a/addons/website_event_booth/static/src/js/booth_register.js b/addons/website_event_booth/static/src/js/booth_register.js
index b0cf87ea5ba..af7c5dfc8ec 100644
--- a/addons/website_event_booth/static/src/js/booth_register.js
+++ b/addons/website_event_booth/static/src/js/booth_register.js
@@ -1,9 +1,8 @@
-odoo.define('website_event_booth.booth_registration', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_booth.booth_registration **/
-var core = require('web.core');
-var dom = require('web.dom');
-var publicWidget = require('web.public.widget');
+import core from "web.core";
+import dom from "web.dom";
+import publicWidget from "web.public.widget";
var QWeb = core.qweb;
var _t = core._t;
@@ -230,5 +229,4 @@ publicWidget.registry.boothRegistration = publicWidget.Widget.extend({
});
-return publicWidget.registry.boothRegistration;
-});
+export default publicWidget.registry.boothRegistration;
diff --git a/addons/website_event_booth_exhibitor/__manifest__.py b/addons/website_event_booth_exhibitor/__manifest__.py
index 44bd7850c31..701fea6e7af 100644
--- a/addons/website_event_booth_exhibitor/__manifest__.py
+++ b/addons/website_event_booth_exhibitor/__manifest__.py
@@ -25,6 +25,7 @@ Automatically create a sponsor when renting a booth.
'/website_event_booth_exhibitor/static/src/js/booth_sponsor_details.js',
],
'web.assets_tests': [
+ 'website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor_steps.js',
'website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor.js',
],
},
diff --git a/addons/website_event_booth_exhibitor/static/src/js/booth_sponsor_details.js b/addons/website_event_booth_exhibitor/static/src/js/booth_sponsor_details.js
index df5d359a68f..22fb7a4ce05 100644
--- a/addons/website_event_booth_exhibitor/static/src/js/booth_sponsor_details.js
+++ b/addons/website_event_booth_exhibitor/static/src/js/booth_sponsor_details.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_booth_exhibitor.booth_sponsor_details', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_booth_exhibitor.booth_sponsor_details **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.boothSponsorDetails = publicWidget.Widget.extend({
selector: '#o_wbooth_contact_details_form',
@@ -22,8 +21,6 @@ publicWidget.registry.boothSponsorDetails = publicWidget.Widget.extend({
});
- return {
- boothSponsorDetails: publicWidget.registry.boothSponsorDetails,
- };
-
-});
+export default {
+ boothSponsorDetails: publicWidget.registry.boothSponsorDetails,
+};
diff --git a/addons/website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor.js b/addons/website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor.js
index 266823d1be5..28c4105f5e1 100644
--- a/addons/website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor.js
+++ b/addons/website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor.js
@@ -1,27 +1,7 @@
-odoo.define("website_event_booth_exhibitor.tour_steps", function (require) {
- "use strict";
-
- var core = require('web.core');
-
- var FinalSteps = core.Class.extend({
-
- _getSteps: function () {
- return [{
- trigger: 'h3:contains("Booth Registration completed!")',
- run: function() {},
- }];
- },
-
- });
-
- return FinalSteps;
-
-});
-odoo.define("website_event_booth_exhibitor.tour", function (require) {
- "use strict";
-
- const { registry } = require("@web/core/registry");
- var FinalSteps = require('website_event_booth_exhibitor.tour_steps');
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
+ import FinalSteps from "website_event_booth_exhibitor.tour_steps";
registry.category("web_tour.tours").add("webooth_exhibitor_register", {
@@ -63,4 +43,3 @@ odoo.define("website_event_booth_exhibitor.tour", function (require) {
trigger: 'button:contains("Book my Booths")',
run: 'click',
}, ...new FinalSteps()._getSteps()].filter(Boolean)});
-});
diff --git a/addons/website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor_steps.js b/addons/website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor_steps.js
new file mode 100644
index 00000000000..a1d6c28b942
--- /dev/null
+++ b/addons/website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor_steps.js
@@ -0,0 +1,16 @@
+/** @odoo-module alias=website_event_booth_exhibitor.tour_steps **/
+
+ import core from "web.core";
+
+ var FinalSteps = core.Class.extend({
+
+ _getSteps: function () {
+ return [{
+ trigger: 'h3:contains("Booth Registration completed!")',
+ run: function() {},
+ }];
+ },
+
+ });
+
+ export default FinalSteps;
diff --git a/addons/website_event_booth_sale/static/src/js/booth_register.js b/addons/website_event_booth_sale/static/src/js/booth_register.js
index 08d798dc3f0..15a0b24f3ee 100644
--- a/addons/website_event_booth_sale/static/src/js/booth_register.js
+++ b/addons/website_event_booth_sale/static/src/js/booth_register.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_booth_sale.booth_registration', function (require) {
-'use strict';
+/** @odoo-module **/
-const BoothRegistration = require('website_event_booth.booth_registration');
+import BoothRegistration from "website_event_booth.booth_registration";
/**
* This class changes the displayed price after selecting the requested booths.
@@ -39,5 +38,3 @@ BoothRegistration.include({
},
});
-
-});
diff --git a/addons/website_event_booth_sale/static/tests/tours/helpers/WebsiteEventBoothSaleTourMethods.js b/addons/website_event_booth_sale/static/tests/tours/helpers/WebsiteEventBoothSaleTourMethods.js
index a3f85169d87..ccd515de414 100644
--- a/addons/website_event_booth_sale/static/tests/tours/helpers/WebsiteEventBoothSaleTourMethods.js
+++ b/addons/website_event_booth_sale/static/tests/tours/helpers/WebsiteEventBoothSaleTourMethods.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_booth_sale.tour.WebsiteEventBoothSaleTourMethods', function (require) {
- 'use strict';
-
- const { changePricelist, checkPriceCart } = require('website_event_sale.tour.WebsiteEventSaleTourMethods');
+/** @odoo-module alias=website_event_booth_sale.tour.WebsiteEventBoothSaleTourMethods **/
+
+ import { changePricelist, checkPriceCart } from "website_event_sale.tour.WebsiteEventSaleTourMethods";
function checkPriceBooth(eventName, price, priceSelected) {
return [
@@ -54,5 +53,4 @@ odoo.define('website_event_booth_sale.tour.WebsiteEventBoothSaleTourMethods', fu
...checkPriceCart(priceCart),
]
}
- return { getPriceListChecksSteps }
-});
+ export default { getPriceListChecksSteps }
diff --git a/addons/website_event_booth_sale_exhibitor/static/tests/tours/website_event_booth_sale_exhibitor.js b/addons/website_event_booth_sale_exhibitor/static/tests/tours/website_event_booth_sale_exhibitor.js
index 82219adde23..0eb8510c6f9 100644
--- a/addons/website_event_booth_sale_exhibitor/static/tests/tours/website_event_booth_sale_exhibitor.js
+++ b/addons/website_event_booth_sale_exhibitor/static/tests/tours/website_event_booth_sale_exhibitor.js
@@ -1,7 +1,6 @@
-odoo.define("website_event_booth_sale_exhibitor.tour", function (require) {
- "use strict";
-
- var FinalSteps = require('website_event_booth_exhibitor.tour_steps');
+/** @odoo-module **/
+
+ import FinalSteps from "website_event_booth_exhibitor.tour_steps";
FinalSteps.include({
@@ -26,5 +25,3 @@ odoo.define("website_event_booth_sale_exhibitor.tour", function (require) {
}
});
-
-});
diff --git a/addons/website_event_exhibitor/static/src/js/event_exhibitor_connect.js b/addons/website_event_exhibitor/static/src/js/event_exhibitor_connect.js
index 3472e6f76d8..e651311654d 100644
--- a/addons/website_event_exhibitor/static/src/js/event_exhibitor_connect.js
+++ b/addons/website_event_exhibitor/static/src/js/event_exhibitor_connect.js
@@ -1,9 +1,8 @@
-odoo.define('website_event_exhibitor.event_exhibitor_connect', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_exhibitor.event_exhibitor_connect **/
-var Dialog = require('web.Dialog');
-var publicWidget = require('web.public.widget');
-const {Markup} = require('web.utils');
+import Dialog from "web.Dialog";
+import publicWidget from "web.public.widget";
+import {Markup} from "web.utils";
var ExhibitorConnectClosedDialog = Dialog.extend({
events: _.extend({}, Dialog.prototype.events, {
@@ -123,9 +122,7 @@ publicWidget.registry.eventExhibitorConnect = publicWidget.Widget.extend({
});
-return {
+export default {
ExhibitorConnectClosedDialog: ExhibitorConnectClosedDialog,
eventExhibitorConnect: publicWidget.registry.eventExhibitorConnect,
};
-
-});
diff --git a/addons/website_event_exhibitor/static/src/js/event_sponsor_search.js b/addons/website_event_exhibitor/static/src/js/event_sponsor_search.js
index a11d0701462..82cbbad9cca 100644
--- a/addons/website_event_exhibitor/static/src/js/event_sponsor_search.js
+++ b/addons/website_event_exhibitor/static/src/js/event_sponsor_search.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_exhibitor.event_sponsor_search', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_exhibitor.event_sponsor_search **/
-const publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.websiteEventSearchSponsor = publicWidget.Widget.extend({
selector: '.o_wesponsor_index',
@@ -65,5 +64,4 @@ publicWidget.registry.websiteEventSearchSponsor = publicWidget.Widget.extend({
},
});
-return publicWidget.registry.websiteEventSearchSponsor;
-});
+export default publicWidget.registry.websiteEventSearchSponsor;
diff --git a/addons/website_event_meet/static/src/js/website_event_create_meeting_room_button.js b/addons/website_event_meet/static/src/js/website_event_create_meeting_room_button.js
index ed6aefcff38..346bbafe44e 100644
--- a/addons/website_event_meet/static/src/js/website_event_create_meeting_room_button.js
+++ b/addons/website_event_meet/static/src/js/website_event_create_meeting_room_button.js
@@ -1,8 +1,7 @@
-odoo.define('website_event_meet.website_event_create_room_button', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_meet.website_event_create_room_button **/
-const publicWidget = require('web.public.widget');
-const core = require('web.core');
+import publicWidget from "web.public.widget";
+import core from "web.core";
const QWeb = core.qweb;
publicWidget.registry.websiteEventCreateMeetingRoom = publicWidget.Widget.extend({
@@ -53,6 +52,4 @@ publicWidget.registry.websiteEventCreateMeetingRoom = publicWidget.Widget.extend
},
});
-return publicWidget.registry.websiteEventMeetingRoom;
-
-});
+export default publicWidget.registry.websiteEventMeetingRoom;
diff --git a/addons/website_event_meet/static/src/js/website_event_meeting_room.js b/addons/website_event_meet/static/src/js/website_event_meeting_room.js
index bcbe141354a..a5cba77c8ba 100644
--- a/addons/website_event_meet/static/src/js/website_event_meeting_room.js
+++ b/addons/website_event_meet/static/src/js/website_event_meeting_room.js
@@ -1,9 +1,8 @@
-odoo.define('website_event_meet.website_event_meet_meeting_room', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_meet.website_event_meet_meeting_room **/
-const publicWidget = require('web.public.widget');
-const core = require('web.core');
-const Dialog = require('web.Dialog');
+import publicWidget from "web.public.widget";
+import core from "web.core";
+import Dialog from "web.Dialog";
const _t = core._t;
publicWidget.registry.websiteEventMeetingRoom = publicWidget.Widget.extend({
@@ -105,6 +104,4 @@ publicWidget.registry.websiteEventMeetingRoom = publicWidget.Widget.extend({
}
});
-return publicWidget.registry.websiteEventMeetingRoom;
-
-});
+export default publicWidget.registry.websiteEventMeetingRoom;
diff --git a/addons/website_event_questions/static/tests/tours/tickets_questions.js b/addons/website_event_questions/static/tests/tours/tickets_questions.js
index aeabf9f3e8a..a54b5a3409b 100644
--- a/addons/website_event_questions/static/tests/tours/tickets_questions.js
+++ b/addons/website_event_questions/static/tests/tours/tickets_questions.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_questions.tour_test_tickets_questions', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('test_tickets_questions', {
test: true,
url: '/event',
@@ -52,5 +51,3 @@ registry.category("web_tour.tours").add('test_tickets_questions', {
trigger: '.o_wereg_confirmed, .oe_cart',
auto: true
}]});
-
-});
diff --git a/addons/website_event_sale/static/tests/tours/helpers/WebsiteEventSaleTourMethods.js b/addons/website_event_sale/static/tests/tours/helpers/WebsiteEventSaleTourMethods.js
index d93832b91f1..d2d4edaa3ab 100644
--- a/addons/website_event_sale/static/tests/tours/helpers/WebsiteEventSaleTourMethods.js
+++ b/addons/website_event_sale/static/tests/tours/helpers/WebsiteEventSaleTourMethods.js
@@ -1,6 +1,5 @@
-odoo.define('website_event_sale.tour.WebsiteEventSaleTourMethods', function (require) {
- 'use strict';
-
+/** @odoo-module alias=website_event_sale.tour.WebsiteEventSaleTourMethods **/
+
function changePricelist(pricelistName) {
return [
{
@@ -72,5 +71,4 @@ odoo.define('website_event_sale.tour.WebsiteEventSaleTourMethods', function (req
...checkPriceCart(price),
]
}
- return { getPriceListChecksSteps, changePricelist, checkPriceCart }
-});
+ export default { getPriceListChecksSteps, changePricelist, checkPriceCart }
diff --git a/addons/website_event_sale/static/tests/tours/website_event_sale.js b/addons/website_event_sale/static/tests/tours/website_event_sale.js
index 8b149bdaa62..ee80b22e2d1 100644
--- a/addons/website_event_sale/static/tests/tours/website_event_sale.js
+++ b/addons/website_event_sale/static/tests/tours/website_event_sale.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_sale.tour', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('event_buy_tickets', {
test: true,
@@ -84,5 +83,3 @@ registry.category("web_tour.tours").add('event_buy_tickets', {
}
]
});
-
-});
diff --git a/addons/website_event_sale/static/tests/tours/website_event_sale_last_ticket.js b/addons/website_event_sale/static/tests/tours/website_event_sale_last_ticket.js
index 96f408b53b9..530bee2124a 100644
--- a/addons/website_event_sale/static/tests/tours/website_event_sale_last_ticket.js
+++ b/addons/website_event_sale/static/tests/tours/website_event_sale_last_ticket.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_sale.tour.last_ticket', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('event_buy_last_ticket', {
test: true,
@@ -89,4 +88,3 @@ registry.category("web_tour.tours").add('event_buy_last_ticket', {
run: function () {}, // it's a check
},
]});
-});
diff --git a/addons/website_event_sale/static/tests/tours/website_event_sale_pricelists.js b/addons/website_event_sale/static/tests/tours/website_event_sale_pricelists.js
index 2b08eb79105..6b3043b491a 100644
--- a/addons/website_event_sale/static/tests/tours/website_event_sale_pricelists.js
+++ b/addons/website_event_sale/static/tests/tours/website_event_sale_pricelists.js
@@ -1,8 +1,7 @@
-odoo.define('website_event_sale.tour.event_sale_pricelists_different_currencies', function (require) {
- 'use strict';
-
- const { registry } = require("@web/core/registry");
- const { getPriceListChecksSteps } = require('website_event_sale.tour.WebsiteEventSaleTourMethods');
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
+ import { getPriceListChecksSteps } from "website_event_sale.tour.WebsiteEventSaleTourMethods";
registry.category("web_tour.tours").add('event_sale_pricelists_different_currencies', {
test: true,
@@ -54,4 +53,3 @@ odoo.define('website_event_sale.tour.event_sale_pricelists_different_currencies'
priceBeforeDiscount: "1,000.00",
}),
]});
-});
diff --git a/addons/website_event_track/static/src/js/event_track_reminder.js b/addons/website_event_track/static/src/js/event_track_reminder.js
index 840bbf0d4fa..c94a7401676 100644
--- a/addons/website_event_track/static/src/js/event_track_reminder.js
+++ b/addons/website_event_track/static/src/js/event_track_reminder.js
@@ -1,9 +1,8 @@
-odoo.define('website_event_track.website_event_track_reminder', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_track.website_event_track_reminder **/
-var core = require('web.core');
+import core from "web.core";
var _t = core._t;
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.websiteEventTrackReminder = publicWidget.Widget.extend({
selector: '.o_wetrack_js_reminder',
@@ -97,6 +96,4 @@ publicWidget.registry.websiteEventTrackReminder = publicWidget.Widget.extend({
});
-return publicWidget.registry.websiteEventTrackReminder;
-
-});
+export default publicWidget.registry.websiteEventTrackReminder;
diff --git a/addons/website_event_track/static/src/js/event_track_timer.js b/addons/website_event_track/static/src/js/event_track_timer.js
index 1ee02595e2b..58feb7005cd 100644
--- a/addons/website_event_track/static/src/js/event_track_timer.js
+++ b/addons/website_event_track/static/src/js/event_track_timer.js
@@ -1,8 +1,7 @@
-odoo.define('website_event_track.website_event_track_timer', function (require) {
+/** @odoo-module alias=website_event_track.website_event_track_timer **/
-'use strict';
-const publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
/*
* Simple implementation of a timer widget that uses a "time to live" configuration
@@ -82,6 +81,4 @@ publicWidget.registry.websiteEventTrackTimer = publicWidget.Widget.extend({
},
});
-return publicWidget.registry.websiteEventTrackTimer;
-
-});
+export default publicWidget.registry.websiteEventTrackTimer;
diff --git a/addons/website_event_track/static/src/js/website_event_pwa_widget.js b/addons/website_event_track/static/src/js/website_event_pwa_widget.js
index c343f6ff608..75814b2950d 100644
--- a/addons/website_event_track/static/src/js/website_event_pwa_widget.js
+++ b/addons/website_event_track/static/src/js/website_event_pwa_widget.js
@@ -1,6 +1,5 @@
-odoo.define("website_event_track.website_event_pwa_widget", function (require) {
- "use strict";
-
+/** @odoo-module alias=website_event_track.website_event_pwa_widget **/
+
/*
* The "deferredPrompt" Promise will resolve only if the "beforeinstallprompt" event
* has been triggered. It allows to register this listener as soon as possible
@@ -16,8 +15,8 @@ odoo.define("website_event_track.website_event_pwa_widget", function (require) {
});
});
- var config = require("web.config");
- var publicWidget = require("web.public.widget");
+ import config from "web.config";
+ import publicWidget from "web.public.widget";
var PWAInstallBanner = publicWidget.Widget.extend({
template: "pwa_install_banner",
@@ -206,8 +205,7 @@ odoo.define("website_event_track.website_event_pwa_widget", function (require) {
},
});
- return {
+ export default {
PWAInstallBanner: PWAInstallBanner,
WebsiteEventPWAWidget: publicWidget.registry.WebsiteEventPWAWidget,
};
-});
diff --git a/addons/website_event_track/static/src/js/website_event_track.js b/addons/website_event_track/static/src/js/website_event_track.js
index 7ce54821876..24c01f01421 100644
--- a/addons/website_event_track/static/src/js/website_event_track.js
+++ b/addons/website_event_track/static/src/js/website_event_track.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_track.website_event_track', function (require) {
-'use strict';
+/** @odoo-module **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.websiteEventTrack = publicWidget.Widget.extend({
selector: '.o_wevent_event',
@@ -48,4 +47,3 @@ publicWidget.registry.websiteEventTrack = publicWidget.Widget.extend({
}
},
});
-});
diff --git a/addons/website_event_track/static/src/js/website_event_track_proposal_form.js b/addons/website_event_track/static/src/js/website_event_track_proposal_form.js
index b6b1bc73308..ebe7558792c 100644
--- a/addons/website_event_track/static/src/js/website_event_track_proposal_form.js
+++ b/addons/website_event_track/static/src/js/website_event_track_proposal_form.js
@@ -1,8 +1,7 @@
-odoo.define('website_event_track.website_event_track_proposal_form', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_track.website_event_track_proposal_form **/
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
+import core from "web.core";
+import publicWidget from "web.public.widget";
var QWeb = core.qweb;
var _t = core._t;
@@ -198,6 +197,4 @@ publicWidget.registry.websiteEventTrackProposalForm = publicWidget.Widget.extend
},
});
-return publicWidget.registry.websiteEventTrackProposalForm;
-
-});
+export default publicWidget.registry.websiteEventTrackProposalForm;
diff --git a/addons/website_event_track/static/src/js/website_event_track_proposal_form_tags.js b/addons/website_event_track/static/src/js/website_event_track_proposal_form_tags.js
index fbfe0d123cb..1fa37b1365a 100644
--- a/addons/website_event_track/static/src/js/website_event_track_proposal_form_tags.js
+++ b/addons/website_event_track/static/src/js/website_event_track_proposal_form_tags.js
@@ -1,8 +1,7 @@
-odoo.define('website_event_track.website_event_track_proposal_form_tags', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_track.website_event_track_proposal_form_tags **/
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
+import core from "web.core";
+import publicWidget from "web.public.widget";
var _t = core._t;
@@ -95,6 +94,4 @@ publicWidget.registry.websiteEventTrackProposalFormTags = publicWidget.Widget.ex
},
});
-return publicWidget.registry.websiteEventTrackProposalFormTags;
-
-});
+export default publicWidget.registry.websiteEventTrackProposalFormTags;
diff --git a/addons/website_event_track_live/static/src/js/website_event_track_live.js b/addons/website_event_track_live/static/src/js/website_event_track_live.js
index 89aa4c5d8ff..808b3d86cb1 100644
--- a/addons/website_event_track_live/static/src/js/website_event_track_live.js
+++ b/addons/website_event_track_live/static/src/js/website_event_track_live.js
@@ -1,10 +1,9 @@
+/** @odoo-module **/
/* global YT */
-odoo.define('website_event_track_live.website_event_youtube_embed', function (require) {
-'use strict';
-var publicWidget = require('web.public.widget');
-var TrackSuggestionWidget = require('website_event_track_live.website_event_track_suggestion');
-var ReplaySuggestionWidget = require('website_event_track_live.website_event_track_replay_suggestion');
+import publicWidget from "web.public.widget";
+import TrackSuggestionWidget from "website_event_track_live.website_event_track_suggestion";
+import ReplaySuggestionWidget from "website_event_track_live.website_event_track_replay_suggestion";
publicWidget.registry.websiteEventTrackLive = publicWidget.Widget.extend({
selector: '.o_wevent_event_track_live',
@@ -121,5 +120,3 @@ publicWidget.registry.websiteEventTrackLive = publicWidget.Widget.extend({
}
}
});
-
-});
diff --git a/addons/website_event_track_live/static/src/js/website_event_track_replay_suggestion.js b/addons/website_event_track_live/static/src/js/website_event_track_replay_suggestion.js
index db2350be388..d8f6adcb081 100644
--- a/addons/website_event_track_live/static/src/js/website_event_track_replay_suggestion.js
+++ b/addons/website_event_track_live/static/src/js/website_event_track_replay_suggestion.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_track_live.website_event_track_replay_suggestion', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_track_live.website_event_track_replay_suggestion **/
-var Widget = require('web.Widget');
+import Widget from "web.Widget";
/**
* The widget will have the responsibility to manage the interactions between the
@@ -37,5 +36,4 @@ var WebsiteEventReplaySuggestion = Widget.extend({
}
});
-return WebsiteEventReplaySuggestion;
-});
+export default WebsiteEventReplaySuggestion;
diff --git a/addons/website_event_track_live/static/src/js/website_event_track_suggestion.js b/addons/website_event_track_live/static/src/js/website_event_track_suggestion.js
index 4309fac363c..ab352c5fd1e 100644
--- a/addons/website_event_track_live/static/src/js/website_event_track_suggestion.js
+++ b/addons/website_event_track_live/static/src/js/website_event_track_suggestion.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_track_live.website_event_track_suggestion', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_track_live.website_event_track_suggestion **/
-var Widget = require('web.Widget');
+import Widget from "web.Widget";
var WebsiteEventTrackSuggestion = Widget.extend({
template: 'website_event_track_live.website_event_track_suggestion',
@@ -75,6 +74,4 @@ var WebsiteEventTrackSuggestion = Widget.extend({
}
});
-return WebsiteEventTrackSuggestion;
-
-});
+export default WebsiteEventTrackSuggestion;
diff --git a/addons/website_event_track_live_quiz/static/src/js/event_quiz.js b/addons/website_event_track_live_quiz/static/src/js/event_quiz.js
index 94dc35f5b9d..ccd1afc0b79 100644
--- a/addons/website_event_track_live_quiz/static/src/js/event_quiz.js
+++ b/addons/website_event_track_live_quiz/static/src/js/event_quiz.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_track_live_quiz.event_quiz', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_track_live_quiz.event_quiz **/
-var Quiz = require('website_event_track_quiz.event.quiz');
+import Quiz from "website_event_track_quiz.event.quiz";
var WebsiteEventTrackSuggestionQuiz = Quiz.include({
/**
@@ -49,6 +48,4 @@ var WebsiteEventTrackSuggestionQuiz = Quiz.include({
}
});
-return WebsiteEventTrackSuggestionQuiz;
-
-});
+export default WebsiteEventTrackSuggestionQuiz;
diff --git a/addons/website_event_track_live_quiz/static/src/js/website_event_track_suggestion.js b/addons/website_event_track_live_quiz/static/src/js/website_event_track_suggestion.js
index 28e6c559e75..980cf3e7fc7 100644
--- a/addons/website_event_track_live_quiz/static/src/js/website_event_track_suggestion.js
+++ b/addons/website_event_track_live_quiz/static/src/js/website_event_track_suggestion.js
@@ -1,7 +1,6 @@
-odoo.define('website_event_track_live_quiz.website_event_track_suggestion', function (require) {
-'use strict';
+/** @odoo-module alias=website_event_track_live_quiz.website_event_track_suggestion **/
-var WebsiteEventTrackSuggestion = require('website_event_track_live.website_event_track_suggestion');
+import WebsiteEventTrackSuggestion from "website_event_track_live.website_event_track_suggestion";
var WebsiteEventTrackSuggestionLiveQuiz = WebsiteEventTrackSuggestion.include({
events: _.extend({}, WebsiteEventTrackSuggestion.prototype.events, {
@@ -26,6 +25,4 @@ var WebsiteEventTrackSuggestionLiveQuiz = WebsiteEventTrackSuggestion.include({
}
});
-return WebsiteEventTrackSuggestionLiveQuiz;
-
-});
+export default WebsiteEventTrackSuggestionLiveQuiz;
diff --git a/addons/website_event_track_quiz/static/src/js/event_quiz.js b/addons/website_event_track_quiz/static/src/js/event_quiz.js
index e87fdbe2a23..9aba022c45b 100644
--- a/addons/website_event_track_quiz/static/src/js/event_quiz.js
+++ b/addons/website_event_track_quiz/static/src/js/event_quiz.js
@@ -1,10 +1,9 @@
-odoo.define('website_event_track_quiz.event.quiz', function (require) {
+/** @odoo-module alias=website_event_track_quiz.event.quiz **/
-'use strict';
-var publicWidget = require('web.public.widget');
-var core = require('web.core');
-var session = require('web.session');
+import publicWidget from "web.public.widget";
+import core from "web.core";
+import session from "web.session";
var QWeb = core.qweb;
var _t = core._t;
@@ -338,6 +337,4 @@ publicWidget.registry.Quiz = publicWidget.Widget.extend({
},
});
-return Quiz;
-
-});
+export default Quiz;
diff --git a/addons/website_event_track_quiz/static/src/js/event_quiz_leaderboard.js b/addons/website_event_track_quiz/static/src/js/event_quiz_leaderboard.js
index f624a852a8f..3aac128473d 100644
--- a/addons/website_event_track_quiz/static/src/js/event_quiz_leaderboard.js
+++ b/addons/website_event_track_quiz/static/src/js/event_quiz_leaderboard.js
@@ -1,8 +1,7 @@
-odoo.define('website_event_track_quiz.event_leaderboard', function (require) {
+/** @odoo-module alias=website_event_track_quiz.event_leaderboard **/
-'use strict';
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.EventLeaderboard = publicWidget.Widget.extend({
selector: '.o_wevent_quiz_leaderboard',
@@ -29,6 +28,4 @@ publicWidget.registry.EventLeaderboard = publicWidget.Widget.extend({
}
});
-return publicWidget.registry.EventLeaderboard;
-
-});
+export default publicWidget.registry.EventLeaderboard;
diff --git a/addons/website_form_project/static/src/js/website_form_project_editor.js b/addons/website_form_project/static/src/js/website_form_project_editor.js
index df3f9514558..8905b33f317 100644
--- a/addons/website_form_project/static/src/js/website_form_project_editor.js
+++ b/addons/website_form_project/static/src/js/website_form_project_editor.js
@@ -1,8 +1,7 @@
-odoo.define('website_form_project.form', function (require) {
-'use strict';
+/** @odoo-module **/
-var core = require('web.core');
-var FormEditorRegistry = require('website.form_editor_registry');
+import core from "web.core";
+import FormEditorRegistry from "website.form_editor_registry";
var _t = core._t;
@@ -31,5 +30,3 @@ FormEditorRegistry.add('create_task', {
createAction: 'project.open_view_project_all',
}],
});
-
-});
diff --git a/addons/website_forum/static/src/js/tours/website_forum.js b/addons/website_forum/static/src/js/tours/website_forum.js
index 952248ddc0d..6f86f2d9472 100644
--- a/addons/website_forum/static/src/js/tours/website_forum.js
+++ b/addons/website_forum/static/src/js/tours/website_forum.js
@@ -1,8 +1,7 @@
-odoo.define("website_forum.tour_forum", function (require) {
- "use strict";
-
- var core = require("web.core");
- const wTourUtils = require('website.tour_utils');
+/** @odoo-module **/
+
+ import core from "web.core";
+ import wTourUtils from "website.tour_utils";
var _t = core._t;
@@ -64,4 +63,3 @@ odoo.define("website_forum.tour_forum", function (require) {
content: _t("Click here to accept this answer."),
position: "right",
}]);
-});
diff --git a/addons/website_forum/static/src/js/website_forum.js b/addons/website_forum/static/src/js/website_forum.js
index 5dd5bcc3612..05163635a1e 100644
--- a/addons/website_forum/static/src/js/website_forum.js
+++ b/addons/website_forum/static/src/js/website_forum.js
@@ -1,14 +1,13 @@
-odoo.define('website_forum.website_forum', function (require) {
-'use strict';
+/** @odoo-module **/
-const dom = require('web.dom');
-var core = require('web.core');
-const {setCookie} = require('web.utils.cookies');
-var Dialog = require('web.Dialog');
-var wysiwygLoader = require('web_editor.loader');
-var publicWidget = require('web.public.widget');
-const { Markup } = require('web.utils');
-var session = require('web.session');
+import dom from "web.dom";
+import core from "web.core";
+import {setCookie} from "web.utils.cookies";
+import Dialog from "web.Dialog";
+import wysiwygLoader from "web_editor.loader";
+import publicWidget from "web.public.widget";
+import { Markup } from "web.utils";
+import session from "web.session";
var qweb = core.qweb;
var _t = core._t;
@@ -648,5 +647,3 @@ publicWidget.registry.WebsiteForumBackButton = publicWidget.Widget.extend({
window.history.back();
},
});
-
-});
diff --git a/addons/website_forum/static/src/js/website_forum.share.js b/addons/website_forum/static/src/js/website_forum.share.js
index b489c227d45..6b52c29dd54 100644
--- a/addons/website_forum/static/src/js/website_forum.share.js
+++ b/addons/website_forum/static/src/js/website_forum.share.js
@@ -1,9 +1,8 @@
-odoo.define('website_forum.share', function (require) {
-'use strict';
+/** @odoo-module **/
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
-require('website.content.snippets.animation');
+import core from "web.core";
+import publicWidget from "web.public.widget";
+import "website.content.snippets.animation";
var qweb = core.qweb;
@@ -95,4 +94,3 @@ publicWidget.registry.websiteForumShare = publicWidget.Widget.extend({
return this._super.apply(this, arguments);
},
});
-});
diff --git a/addons/website_forum/static/tests/tours/website_forum_question.js b/addons/website_forum/static/tests/tours/website_forum_question.js
index a1cea190d3a..d692a2c3160 100644
--- a/addons/website_forum/static/tests/tours/website_forum_question.js
+++ b/addons/website_forum/static/tests/tours/website_forum_question.js
@@ -1,7 +1,6 @@
-odoo.define('website_forum.tour_forum_question', function (require) {
- 'use strict';
-
- const { registry } = require("@web/core/registry");
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('forum_question', {
test: true,
@@ -61,4 +60,3 @@ odoo.define('website_forum.tour_forum_question', function (require) {
content: "Congratulations! You just created and post your first question and answer.",
trigger: '#wrap:has(".o_wforum_answer_correct")',
}]});
-});
diff --git a/addons/website_hr_recruitment/static/src/js/website_hr_recruitment_editor.js b/addons/website_hr_recruitment/static/src/js/website_hr_recruitment_editor.js
index 62602766eb7..aa544e29a88 100644
--- a/addons/website_hr_recruitment/static/src/js/website_hr_recruitment_editor.js
+++ b/addons/website_hr_recruitment/static/src/js/website_hr_recruitment_editor.js
@@ -1,8 +1,7 @@
-odoo.define('website_hr_recruitment.form', function (require) {
-'use strict';
+/** @odoo-module **/
-var core = require('web.core');
-var FormEditorRegistry = require('website.form_editor_registry');
+import core from "web.core";
+import FormEditorRegistry from "website.form_editor_registry";
var _t = core._t;
@@ -51,5 +50,3 @@ FormEditorRegistry.add('apply_job', {
}],
successPage: '/job-thank-you',
});
-
-});
diff --git a/addons/website_hr_recruitment/static/tests/tours/website_hr_recruitment.js b/addons/website_hr_recruitment/static/tests/tours/website_hr_recruitment.js
index eafa89b05a2..11ada35333b 100644
--- a/addons/website_hr_recruitment/static/tests/tours/website_hr_recruitment.js
+++ b/addons/website_hr_recruitment/static/tests/tours/website_hr_recruitment.js
@@ -1,8 +1,7 @@
-odoo.define('website_hr_recruitment.tour', function(require) {
- 'use strict';
-
- const { registry } = require("@web/core/registry");
- const wTourUtils = require("website.tour_utils");
+/** @odoo-module alias=website_hr_recruitment.tour **/
+
+ import { registry } from "@web/core/registry";
+ import wTourUtils from "website.tour_utils";
function applyForAJob(jobName, application) {
return [{
@@ -130,5 +129,4 @@ odoo.define('website_hr_recruitment.tour', function(require) {
},
]);
- return {};
-});
+export default {};
diff --git a/addons/website_jitsi/static/src/js/chat_room.js b/addons/website_jitsi/static/src/js/chat_room.js
index e16322fcf12..52ccb0ac471 100644
--- a/addons/website_jitsi/static/src/js/chat_room.js
+++ b/addons/website_jitsi/static/src/js/chat_room.js
@@ -1,9 +1,8 @@
-odoo.define('website_jitsi.chat_room', function (require) {
-'use strict';
+/** @odoo-module alias=website_jitsi.chat_room **/
-const config = require("web.config");
-const core = require('web.core');
-const publicWidget = require('web.public.widget');
+import config from "web.config";
+import core from "web.core";
+import publicWidget from "web.public.widget";
const QWeb = core.qweb;
publicWidget.registry.ChatRoom = publicWidget.Widget.extend({
@@ -272,6 +271,4 @@ publicWidget.registry.ChatRoom = publicWidget.Widget.extend({
},
});
-return publicWidget.registry.ChatRoom;
-
-});
+export default publicWidget.registry.ChatRoom;
diff --git a/addons/website_links/static/src/js/website_links.js b/addons/website_links/static/src/js/website_links.js
index f90957fe79d..4ba6f592333 100644
--- a/addons/website_links/static/src/js/website_links.js
+++ b/addons/website_links/static/src/js/website_links.js
@@ -1,8 +1,7 @@
-odoo.define('website_links.website_links', function (require) {
-'use strict';
+/** @odoo-module alias=website_links.website_links **/
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
+import core from "web.core";
+import publicWidget from "web.public.widget";
var _t = core._t;
@@ -533,9 +532,8 @@ publicWidget.registry.websiteLinks = publicWidget.Widget.extend({
},
});
-return {
+export default {
SelectBox: SelectBox,
RecentLinkBox: RecentLinkBox,
RecentLinks: RecentLinks,
};
-});
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 5578e424660..6eba3295db4 100644
--- a/addons/website_links/static/src/js/website_links_charts.js
+++ b/addons/website_links/static/src/js/website_links_charts.js
@@ -1,8 +1,7 @@
-odoo.define('website_links.charts', function (require) {
-'use strict';
+/** @odoo-module alias=website_links.charts **/
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
+import core from "web.core";
+import publicWidget from "web.public.widget";
var _t = core._t;
@@ -296,8 +295,7 @@ publicWidget.registry.websiteLinksCharts = publicWidget.Widget.extend({
},
});
-return {
+export default {
BarChart: BarChart,
PieChart: PieChart,
};
-});
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 b3c05bbf1a6..c32c3edb6d3 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
@@ -1,8 +1,7 @@
-odoo.define('website_links.code_editor', function (require) {
-'use strict';
+/** @odoo-module **/
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
+import core from "web.core";
+import publicWidget from "web.public.widget";
var _t = core._t;
@@ -118,4 +117,3 @@ publicWidget.registry.websiteLinksCodeEditor = publicWidget.Widget.extend({
this._submitCode();
},
});
-});
diff --git a/addons/website_links/static/tests/tours/website_links.js b/addons/website_links/static/tests/tours/website_links.js
index c1163d0bb27..5ad6f94eb37 100644
--- a/addons/website_links/static/tests/tours/website_links.js
+++ b/addons/website_links/static/tests/tours/website_links.js
@@ -1,7 +1,6 @@
-odoo.define('website_links.website_links_tour', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('website_links_tour', {
test: true,
@@ -76,5 +75,3 @@ registry.category("web_tour.tours").add('website_links_tour', {
},
]
});
-
-});
diff --git a/addons/website_livechat/static/src/legacy/public_livechat.js b/addons/website_livechat/static/src/legacy/public_livechat.js
index c4f9aceda1c..640552d6397 100644
--- a/addons/website_livechat/static/src/legacy/public_livechat.js
+++ b/addons/website_livechat/static/src/legacy/public_livechat.js
@@ -1,14 +1,11 @@
-odoo.define('website_livechat.legacy.website_livechat.livechat_request', function (require) {
-"use strict";
+/** @odoo-module alias=website_livechat.legacy.website_livechat.livechat_request **/
-var LivechatButton = require('@im_livechat/legacy/widgets/livechat_button')[Symbol.for("default")];
+import LivechatButton from "@im_livechat/legacy/widgets/livechat_button";
LivechatButton.include({
className: `${LivechatButton.prototype.className} o_bottom_fixed_element o_bottom_fixed_element_move_up o_website_livechat_button fa fa-commenting`,
});
-return {
+export default {
LivechatButton: LivechatButton,
};
-
-});
diff --git a/addons/website_livechat/static/tests/tours/website_livechat_common.js b/addons/website_livechat/static/tests/tours/website_livechat_common.js
index 5f5936f53c5..28ce1694dad 100644
--- a/addons/website_livechat/static/tests/tours/website_livechat_common.js
+++ b/addons/website_livechat/static/tests/tours/website_livechat_common.js
@@ -1,5 +1,4 @@
-odoo.define('website_livechat.tour_common', function (require) {
-'use strict';
+/** @odoo-module alias=website_livechat.tour_common **/
// Due to some issue with assets bundles, the current file can be loaded while
// LivechatButtonView isn't, causing the patch to fail as the original model was
@@ -7,8 +6,8 @@ odoo.define('website_livechat.tour_common', function (require) {
// execution of this file if @im_livechat/public_models/livechat_button_view is
// not part of the current assets bundles (as trying to import it will silently
// crash).
-require('@im_livechat/legacy/public_models/livechat_button_view');
-const { Patch } = require('@im_livechat/legacy/model');
+import "@im_livechat/legacy/public_models/livechat_button_view";
+import { Patch } from "@im_livechat/legacy/model";
Patch({
name: 'LivechatButtonView',
@@ -150,7 +149,7 @@ var sadRatingStep = [{
trigger: "div.o_livechat_rating_choices > img[data-value=1]",
}];
-return {
+export default {
'startStep': startStep,
'endDiscussionStep': endDiscussionStep,
'transcriptStep': transcriptStep,
@@ -160,5 +159,3 @@ return {
'okRatingStep': okRatingStep,
'sadRatingStep': sadRatingStep,
};
-
-});
diff --git a/addons/website_livechat/static/tests/tours/website_livechat_rating.js b/addons/website_livechat/static/tests/tours/website_livechat_rating.js
index c29aa573a59..1bc592076c8 100644
--- a/addons/website_livechat/static/tests/tours/website_livechat_rating.js
+++ b/addons/website_livechat/static/tests/tours/website_livechat_rating.js
@@ -1,8 +1,7 @@
-odoo.define('website_livechat.tour', function(require) {
-'use strict';
+/** @odoo-module alias=website_livechat.tour **/
-var commonSteps = require("website_livechat.tour_common");
-const { registry } = require("@web/core/registry");
+import commonSteps from "website_livechat.tour_common";
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('website_livechat_complete_flow_tour', {
test: true,
@@ -34,5 +33,4 @@ registry.category("web_tour.tours").add('website_livechat_no_rating_no_close_tou
url: '/',
steps: [].concat(commonSteps.startStep)});
-return {};
-});
+export default {};
diff --git a/addons/website_livechat/static/tests/tours/website_livechat_request.js b/addons/website_livechat/static/tests/tours/website_livechat_request.js
index 9ea9abd9960..9cb7c434eb8 100644
--- a/addons/website_livechat/static/tests/tours/website_livechat_request.js
+++ b/addons/website_livechat/static/tests/tours/website_livechat_request.js
@@ -1,8 +1,7 @@
-odoo.define('website_livechat.chat_request_tour', function(require) {
-'use strict';
+/** @odoo-module alias=website_livechat.chat_request_tour **/
-var commonSteps = require("website_livechat.tour_common");
-const { registry } = require("@web/core/registry");
+import commonSteps from "website_livechat.tour_common";
+import { registry } from "@web/core/registry";
var stepWithChatRequestStep = [{
@@ -42,5 +41,4 @@ registry.category("web_tour.tours").add('website_livechat_chat_request_part_2_en
url: '/',
steps: [].concat(commonSteps.endDiscussionStep, commonSteps.okRatingStep, commonSteps.feedbackStep, commonSteps.transcriptStep, commonSteps.closeStep)});
-return {};
-});
+export default {};
diff --git a/addons/website_mail/static/src/js/follow.js b/addons/website_mail/static/src/js/follow.js
index d4c96a3dc32..77ee1b7e7a7 100644
--- a/addons/website_mail/static/src/js/follow.js
+++ b/addons/website_mail/static/src/js/follow.js
@@ -1,7 +1,6 @@
-odoo.define('website_mail.follow', function (require) {
-'use strict';
+/** @odoo-module **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.follow = publicWidget.Widget.extend({
selector: '#wrapwrap:has(.js_follow)',
@@ -126,4 +125,3 @@ publicWidget.registry.follow = publicWidget.Widget.extend({
}
},
});
-});
diff --git a/addons/website_mail_group/static/src/snippets/s_group/000.js b/addons/website_mail_group/static/src/snippets/s_group/000.js
index 59645272895..ec97af604ab 100644
--- a/addons/website_mail_group/static/src/snippets/s_group/000.js
+++ b/addons/website_mail_group/static/src/snippets/s_group/000.js
@@ -1,9 +1,8 @@
-odoo.define('website_mail_group.mail_group', function (require) {
-'use strict';
+/** @odoo-module **/
-const core = require('web.core');
+import core from "web.core";
const _t = core._t;
-const MailGroup = require('mail_group.mail_group');
+import MailGroup from "mail_group.mail_group";
MailGroup.include({
start: async function () {
@@ -46,5 +45,3 @@ MailGroup.include({
this.$el.data('isMember', this.isMember);
},
});
-
-});
diff --git a/addons/website_mail_group/static/src/snippets/s_group/options.js b/addons/website_mail_group/static/src/snippets/s_group/options.js
index b6bd7b7d004..ddcf83f0caf 100644
--- a/addons/website_mail_group/static/src/snippets/s_group/options.js
+++ b/addons/website_mail_group/static/src/snippets/s_group/options.js
@@ -1,9 +1,8 @@
-odoo.define('website_mail_group.s_group_options', function (require) {
-'use strict';
+/** @odoo-module **/
-const core = require('web.core');
-const options = require('web_editor.snippets.options');
-const wUtils = require('website.utils');
+import core from "web.core";
+import options from "web_editor.snippets.options";
+import wUtils from "website.utils";
const _t = core._t;
options.registry.Group = options.Class.extend({
@@ -102,4 +101,3 @@ options.registry.Group = options.Class.extend({
});
},
});
-});
diff --git a/addons/website_mass_mailing/static/src/js/website_mass_mailing.editor.js b/addons/website_mass_mailing/static/src/js/website_mass_mailing.editor.js
index 72aca03316e..e85d04b3ca3 100644
--- a/addons/website_mass_mailing/static/src/js/website_mass_mailing.editor.js
+++ b/addons/website_mass_mailing/static/src/js/website_mass_mailing.editor.js
@@ -1,9 +1,8 @@
-odoo.define('website_mass_mailing.editor', function (require) {
-'use strict';
+/** @odoo-module **/
-var core = require('web.core');
-const Dialog = require('web.Dialog');
-var options = require('web_editor.snippets.options');
+import core from "web.core";
+import Dialog from "web.Dialog";
+import options from "web_editor.snippets.options";
const qweb = core.qweb;
var _t = core._t;
@@ -135,4 +134,3 @@ options.registry.recaptchaSubscribe = options.Class.extend({
return this._super(...arguments);
},
});
-});
diff --git a/addons/website_mass_mailing/static/src/js/website_mass_mailing.js b/addons/website_mass_mailing/static/src/js/website_mass_mailing.js
index f09476e1a5a..d48eede6d4f 100644
--- a/addons/website_mass_mailing/static/src/js/website_mass_mailing.js
+++ b/addons/website_mass_mailing/static/src/js/website_mass_mailing.js
@@ -1,9 +1,8 @@
-odoo.define('mass_mailing.website_integration', function (require) {
-"use strict";
+/** @odoo-module **/
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
-const {ReCaptcha} = require('google_recaptcha.ReCaptchaV3');
+import core from "web.core";
+import publicWidget from "web.public.widget";
+import {ReCaptcha} from "google_recaptcha.ReCaptchaV3";
var _t = core._t;
@@ -160,5 +159,3 @@ publicWidget.registry.fixNewsletterListClass = publicWidget.Widget.extend({
return this._super(...arguments);
},
});
-
-});
diff --git a/addons/website_mass_mailing/static/tests/tours/newsletter_popup.js b/addons/website_mass_mailing/static/tests/tours/newsletter_popup.js
index f17acc86025..414ea5f4ab3 100644
--- a/addons/website_mass_mailing/static/tests/tours/newsletter_popup.js
+++ b/addons/website_mass_mailing/static/tests/tours/newsletter_popup.js
@@ -1,38 +1,6 @@
-odoo.define("website_mass_mailing.tour.newsletter_popup_edition", function (require) {
-"use strict";
+/** @odoo-module alias=website_mass_mailing.tour.newsletter_popup_use **/
-const { registry } = require("@web/core/registry");
-const wTourUtils = require('website.tour_utils');
-const newsletterPopupUseTour = require('website_mass_mailing.tour.newsletter_popup_use');
-
-registry.category("web_tour.tours").add('newsletter_popup_edition', {
- test: true,
- url: '/?enable_editor=1',
- steps: [
- wTourUtils.dragNDrop({
- id: 's_newsletter_subscribe_popup',
- name: 'Newsletter Popup',
- }),
- {
- content: "Check the modal is opened for edition",
- trigger: 'iframe .o_newsletter_popup .modal:visible',
- in_modal: false,
- run: () => null,
- },
- ...wTourUtils.clickOnSave(),
- {
- content: "Check the modal has been saved, closed",
- trigger: 'iframe body:has(.o_newsletter_popup)',
- extra_trigger: 'iframe body:not(.editor_enable)',
- run: newsletterPopupUseTour.ensurePopupNotVisible,
- }
-]});
-});
-
-odoo.define("website_mass_mailing.tour.newsletter_popup_use", function (require) {
-"use strict";
-
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
function ensurePopupNotVisible() {
const $modal = this.$anchor.find('.o_newsletter_popup .modal');
@@ -75,7 +43,6 @@ registry.category("web_tour.tours").add('newsletter_popup_use', {
}
]});
-return {
+export default {
ensurePopupNotVisible: ensurePopupNotVisible,
};
-});
diff --git a/addons/website_mass_mailing/static/tests/tours/newsletter_popup_edition.js b/addons/website_mass_mailing/static/tests/tours/newsletter_popup_edition.js
new file mode 100644
index 00000000000..f898fead467
--- /dev/null
+++ b/addons/website_mass_mailing/static/tests/tours/newsletter_popup_edition.js
@@ -0,0 +1,28 @@
+/** @odoo-module **/
+
+import { registry } from "@web/core/registry";
+import wTourUtils from "website.tour_utils";
+import newsletterPopupUseTour from "website_mass_mailing.tour.newsletter_popup_use";
+
+registry.category("web_tour.tours").add('newsletter_popup_edition', {
+ test: true,
+ url: '/?enable_editor=1',
+ steps: [
+ wTourUtils.dragNDrop({
+ id: 's_newsletter_subscribe_popup',
+ name: 'Newsletter Popup',
+ }),
+ {
+ content: "Check the modal is opened for edition",
+ trigger: 'iframe .o_newsletter_popup .modal:visible',
+ in_modal: false,
+ run: () => null,
+ },
+ ...wTourUtils.clickOnSave(),
+ {
+ content: "Check the modal has been saved, closed",
+ trigger: 'iframe body:has(.o_newsletter_popup)',
+ extra_trigger: 'iframe body:not(.editor_enable)',
+ run: newsletterPopupUseTour.ensurePopupNotVisible,
+ }
+]});
diff --git a/addons/website_profile/static/src/js/website_profile.js b/addons/website_profile/static/src/js/website_profile.js
index 5bfbb61cc10..bfe097d9208 100644
--- a/addons/website_profile/static/src/js/website_profile.js
+++ b/addons/website_profile/static/src/js/website_profile.js
@@ -1,8 +1,7 @@
-odoo.define('website_profile.website_profile', function (require) {
-'use strict';
+/** @odoo-module alias=website_profile.website_profile **/
-var publicWidget = require('web.public.widget');
-var wysiwygLoader = require('web_editor.loader');
+import publicWidget from "web.public.widget";
+import wysiwygLoader from "web_editor.loader";
publicWidget.registry.websiteProfile = publicWidget.Widget.extend({
selector: '.o_wprofile_email_validation_container',
@@ -129,6 +128,4 @@ publicWidget.registry.websiteProfileNextRankCard = publicWidget.Widget.extend({
});
-return publicWidget.registry.websiteProfile;
-
-});
+export default publicWidget.registry.websiteProfile;
diff --git a/addons/website_sale/__manifest__.py b/addons/website_sale/__manifest__.py
index da406e3f722..69397219477 100644
--- a/addons/website_sale/__manifest__.py
+++ b/addons/website_sale/__manifest__.py
@@ -63,6 +63,9 @@
'website_sale/static/src/js/variant_mixin.js',
'website_sale/static/src/js/website_sale.js',
'website_sale/static/src/xml/website_sale.xml',
+ 'website_sale/static/src/js/website_sale_cart.js',
+ 'website_sale/static/src/js/website_sale_offcanvas.js',
+ 'website_sale/static/src/js/website_sale_price_range_option.js',
'website_sale/static/src/js/website_sale_utils.js',
'website_sale/static/src/xml/website_sale_utils.xml',
'website_sale/static/src/js/website_sale_payment.js',
diff --git a/addons/website_sale/static/src/js/tours/tour_utils.js b/addons/website_sale/static/src/js/tours/tour_utils.js
index 4c6bfceef20..661e76c79f2 100644
--- a/addons/website_sale/static/src/js/tours/tour_utils.js
+++ b/addons/website_sale/static/src/js/tours/tour_utils.js
@@ -1,9 +1,8 @@
-odoo.define("website_sale.tour_utils", function (require) {
- "use strict";
-
- const core = require("web.core");
+/** @odoo-module alias=website_sale.tour_utils **/
+
+ import core from "web.core";
const _t = core._t;
- const wTourUtils = require('website.tour_utils');
+ import wTourUtils from "website.tour_utils";
function addToCart({productName, search = true, productHasVariants = false}) {
const steps = [];
@@ -108,7 +107,7 @@ odoo.define("website_sale.tour_utils", function (require) {
];
}
- return {
+ export default {
addToCart,
assertCartContains,
assertProductPrice,
@@ -117,4 +116,3 @@ odoo.define("website_sale.tour_utils", function (require) {
selectPriceList,
searchProduct,
};
-});
diff --git a/addons/website_sale/static/src/js/tours/website_sale_shop.js b/addons/website_sale/static/src/js/tours/website_sale_shop.js
index 29755762c81..0c74ff2589c 100644
--- a/addons/website_sale/static/src/js/tours/website_sale_shop.js
+++ b/addons/website_sale/static/src/js/tours/website_sale_shop.js
@@ -1,9 +1,8 @@
-odoo.define("website_sale.tour_shop", function (require) {
- "use strict";
-
- const {_t} = require("web.core");
- const {Markup} = require('web.utils');
- const wTourUtils = require("website.tour_utils");
+/** @odoo-module **/
+
+ import {_t} from "web.core";
+ import {Markup} from "web.utils";
+ import wTourUtils from "website.tour_utils";
wTourUtils.registerWebsitePreviewTour("shop", {
url: '/shop',
@@ -78,4 +77,3 @@ odoo.define("website_sale.tour_shop", function (require) {
// Just check during test mode. Otherwise, clicking it will result to random error on loading the Chart.js script.
run: () => {},
}]);
-});
diff --git a/addons/website_sale/static/src/js/variant_mixin.js b/addons/website_sale/static/src/js/variant_mixin.js
index 712fedf1298..e60af866b4e 100644
--- a/addons/website_sale/static/src/js/variant_mixin.js
+++ b/addons/website_sale/static/src/js/variant_mixin.js
@@ -1,7 +1,6 @@
-odoo.define('website_sale.VariantMixin', function (require) {
-'use strict';
+/** @odoo-module alias=website_sale.VariantMixin **/
-var VariantMixin = require('sale.VariantMixin');
+import VariantMixin from "sale.VariantMixin";
/**
* Website behavior is slightly different from backend so we append
@@ -80,6 +79,4 @@ VariantMixin._toggleDisable = function ($parent, isCombinationPossible) {
originalToggleDisable.apply(this, [$parent, isCombinationPossible]);
};
-return VariantMixin;
-
-});
+export default VariantMixin;
diff --git a/addons/website_sale/static/src/js/website_sale.editor.js b/addons/website_sale/static/src/js/website_sale.editor.js
index 47b58a678da..d4e0e77db08 100644
--- a/addons/website_sale/static/src/js/website_sale.editor.js
+++ b/addons/website_sale/static/src/js/website_sale.editor.js
@@ -1,14 +1,13 @@
-odoo.define('website_sale.editor', function (require) {
-'use strict';
+/** @odoo-module **/
-var options = require('web_editor.snippets.options');
-const Wysiwyg = require('website.wysiwyg');
-const { ComponentWrapper } = require('web.OwlCompatibility');
-const { MediaDialog, MediaDialogWrapper } = require('@web_editor/components/media_dialog/media_dialog');
-const { useWowlService } = require('@web/legacy/utils');
-const {qweb, _t} = require('web.core');
-const {Markup} = require('web.utils');
-const Dialog = require('web.Dialog');
+import options from "web_editor.snippets.options";
+import Wysiwyg from "website.wysiwyg";
+import { ComponentWrapper } from "web.OwlCompatibility";
+import { MediaDialog, MediaDialogWrapper } from "@web_editor/components/media_dialog/media_dialog";
+import { useWowlService } from "@web/legacy/utils";
+import {qweb, _t} from "web.core";
+import {Markup} from "web.utils";
+import Dialog from "web.Dialog";
const { onRendered } = owl;
@@ -988,6 +987,3 @@ options.registry.ReplaceMedia.include({
return this._super(...arguments);
}
});
-
-});
-
diff --git a/addons/website_sale/static/src/js/website_sale.js b/addons/website_sale/static/src/js/website_sale.js
index e08ba8c73a1..eb5eae1b5fa 100644
--- a/addons/website_sale/static/src/js/website_sale.js
+++ b/addons/website_sale/static/src/js/website_sale.js
@@ -1,210 +1,17 @@
-odoo.define('website_sale.cart', function (require) {
-'use strict';
+/** @odoo-module alias=website_sale.website_sale **/
-var publicWidget = require('web.public.widget');
-var core = require('web.core');
-var _t = core._t;
-
-var timeout;
-
-publicWidget.registry.websiteSaleCartLink = publicWidget.Widget.extend({
- selector: '#top_menu a[href$="/shop/cart"]',
- events: {
- 'mouseenter': '_onMouseEnter',
- 'mouseleave': '_onMouseLeave',
- 'click': '_onClick',
- },
-
- /**
- * @constructor
- */
- init: function () {
- this._super.apply(this, arguments);
- this._popoverRPC = null;
- this._onVisibilityChange = this._onVisibilityChange.bind(this);
- },
- /**
- * @override
- */
- willStart() {
- return Promise.all([this._super.apply(this, arguments), this._updateCartQuantityValue()]);
- },
- /**
- * @override
- */
- start: function () {
- this.$el.popover({
- trigger: 'manual',
- animation: true,
- html: true,
- title: function () {
- return _t("My Cart");
- },
- container: 'body',
- placement: 'auto',
- template: ''
- });
- window.addEventListener('visibilitychange', this._onVisibilityChange);
- this._updateCartQuantityText();
- return this._super.apply(this, arguments);
- },
- /**
- * @override
- */
- destroy() {
- window.removeEventListener('visibilitychange', this._onVisibilityChange);
- this._super(...arguments);
- },
-
- //--------------------------------------------------------------------------
- // Handlers
- //--------------------------------------------------------------------------
-
- /**
- * @private
- * @param {Event} ev
- */
- _onMouseEnter: function (ev) {
- let self = this;
- self.hovered = true;
- clearTimeout(timeout);
- $(this.selector).not(ev.currentTarget).popover('hide');
- timeout = setTimeout(function () {
- if (!self.hovered || $('.mycart-popover:visible').length) {
- return;
- }
- self._popoverRPC = $.get("/shop/cart", {
- type: 'popover',
- }).then(function (data) {
- const popover = Popover.getInstance(self.$el[0]);
- popover._config.content = data;
- popover.setContent(popover.getTipElement());
- self.$el.popover("show");
- $('.popover').on('mouseleave', function () {
- self.$el.trigger('mouseleave');
- });
- self.cartQty = +$(data).find('.o_wsale_cart_quantity').text();
- sessionStorage.setItem('website_sale_cart_quantity', self.cartQty);
- self._updateCartQuantityText();
- });
- }, 300);
- },
- /**
- * @private
- * @param {Event} ev
- */
- _onMouseLeave: function (ev) {
- let self = this;
- self.hovered = false;
- setTimeout(function () {
- if ($('.popover:hover').length) {
- return;
- }
- if (!self.$el.is(':hover')) {
- self.$el.popover('hide');
- }
- }, 1000);
- },
- /**
- * @private
- * @param {Event} ev
- */
- _onClick: function (ev) {
- // When clicking on the cart link, prevent any popover to show up (by
- // clearing the related setTimeout) and, if a popover rpc is ongoing,
- // wait for it to be completed before going to the link's href. Indeed,
- // going to that page may perform the same computation the popover rpc
- // is already doing.
- clearTimeout(timeout);
- if (this._popoverRPC && this._popoverRPC.state() === 'pending') {
- ev.preventDefault();
- var href = ev.currentTarget.href;
- this._popoverRPC.then(function () {
- window.location.href = href;
- });
- }
- },
- /**
- * @private
- * @param {Event} ev
- */
- _onVisibilityChange(ev) {
- if (ev.target.visibilityState === 'visible'){
- this._updateCartQuantityValue().then(this._updateCartQuantityText.bind(this));
- }
- },
- /**
- * @private
- */
- async _updateCartQuantityValue() {
- if ('website_sale_cart_quantity' in sessionStorage) {
- this.cartQty = sessionStorage.getItem('website_sale_cart_quantity');
- }
- if (this.el.querySelector('.my_cart_quantity').innerText != this.cartQty) {
- return this._rpc({route: "/shop/cart/quantity"}).then((cartQty) => {
- this.cartQty = cartQty;
- sessionStorage.setItem('website_sale_cart_quantity', this.cartQty);
- });
- }
- },
- /**
- * @private
- */
- _updateCartQuantityText() {
- if (this.cartQty !== undefined) {
- this.el.querySelector('.my_cart_quantity').innerText = this.cartQty;
- }
- }
-});
-});
-
-odoo.define('website_sale.website_sale_offcanvas', function (require) {
-'use strict';
-
-var publicWidget = require('web.public.widget');
-
-publicWidget.registry.websiteSaleOffcanvas = publicWidget.Widget.extend({
- selector: '#o_wsale_offcanvas',
- events: {
- 'show.bs.offcanvas': '_toggleFilters',
- 'hidden.bs.offcanvas': '_toggleFilters',
- },
-
- //--------------------------------------------------------------------------
- // Handlers
- //--------------------------------------------------------------------------
-
- /**
- * Unfold active filters, fold inactive ones
- *
- * @private
- * @param {Event} ev
- */
- _toggleFilters: function (ev) {
- for (const btn of this.el.querySelectorAll('button[data-status]')) {
- if(btn.classList.contains('collapsed') && btn.dataset.status == "active" || ! btn.classList.contains('collapsed') && btn.dataset.status == "inactive" ) {
- btn.click();
- }
- }
- },
-});
-});
-
-odoo.define('website_sale.website_sale', function (require) {
-'use strict';
-
-var core = require('web.core');
-var config = require('web.config');
-var publicWidget = require('web.public.widget');
-var VariantMixin = require('website_sale.VariantMixin');
-var wSaleUtils = require('website_sale.utils');
+import core from "web.core";
+import config from "web.config";
+import publicWidget from "web.public.widget";
+import VariantMixin from "website_sale.VariantMixin";
+import wSaleUtils from "website_sale.utils";
const cartHandlerMixin = wSaleUtils.cartHandlerMixin;
-require("web.zoomodoo");
-const {extraMenuUpdateCallbacks} = require('website.content.menu');
-const dom = require('web.dom');
-const { cartesian } = require('@web/core/utils/arrays');
-const { ComponentWrapper } = require('web.OwlCompatibility');
-const { ProductImageViewerWrapper } = require("@website_sale/js/components/website_sale_image_viewer");
+import "web.zoomodoo";
+import {extraMenuUpdateCallbacks} from "website.content.menu";
+import dom from "web.dom";
+import { cartesian } from "@web/core/utils/arrays";
+import { ComponentWrapper } from "web.OwlCompatibility";
+import { ProductImageViewerWrapper } from "@website_sale/js/components/website_sale_image_viewer";
publicWidget.registry.WebsiteSale = publicWidget.Widget.extend(VariantMixin, cartHandlerMixin, {
selector: '.oe_website_sale',
@@ -1201,51 +1008,10 @@ publicWidget.registry.websiteSaleProductPageReviews = publicWidget.Widget.extend
},
});
-return {
+export default {
WebsiteSale: publicWidget.registry.WebsiteSale,
WebsiteSaleLayout: publicWidget.registry.WebsiteSaleLayout,
websiteSaleCart: publicWidget.registry.websiteSaleCart,
WebsiteSaleCarouselProduct: publicWidget.registry.websiteSaleCarouselProduct,
WebsiteSaleProductPageReviews: publicWidget.registry.websiteSaleProductPageReviews,
};
-
-});
-
-odoo.define('website_sale.price_range_option', function (require) {
-'use strict';
-
-const publicWidget = require('web.public.widget');
-
-publicWidget.registry.multirangePriceSelector = publicWidget.Widget.extend({
- selector: '.o_wsale_products_page',
- events: {
- 'newRangeValue #o_wsale_price_range_option input[type="range"]': '_onPriceRangeSelected',
- },
-
- //----------------------------------------------------------------------
- // Handlers
- //----------------------------------------------------------------------
-
- /**
- * @private
- * @param {Event} ev
- */
- _onPriceRangeSelected(ev) {
- const range = ev.currentTarget;
- const search = $.deparam(window.location.search.substring(1));
- delete search.min_price;
- delete search.max_price;
- if (parseFloat(range.min) !== range.valueLow) {
- search['min_price'] = range.valueLow;
- }
- if (parseFloat(range.max) !== range.valueHigh) {
- search['max_price'] = range.valueHigh;
- }
- let product_list_div = this.el.querySelector('.o_wsale_products_grid_table_wrapper');
- if (product_list_div) {
- product_list_div.classList.add('opacity-50');
- }
- window.location.search = $.param(search);
- },
-});
-});
diff --git a/addons/website_sale/static/src/js/website_sale_backend.js b/addons/website_sale/static/src/js/website_sale_backend.js
index 7f8d92d8131..0b46500b8fd 100644
--- a/addons/website_sale/static/src/js/website_sale_backend.js
+++ b/addons/website_sale/static/src/js/website_sale_backend.js
@@ -1,7 +1,6 @@
-odoo.define('website_sale.backend', function (require) {
-"use strict";
+/** @odoo-module alias=website_sale.backend **/
-var WebsiteBackend = require('website.backend.dashboard');
+import WebsiteBackend from "website.backend.dashboard";
var COLORS = ['#875a7b', '#21b799', '#E4A900', '#D5653E', '#5B899E', '#E46F78', '#8F8F8F'];
WebsiteBackend.include({
@@ -122,6 +121,4 @@ WebsiteBackend.include({
});
},
});
-return WebsiteBackend;
-
-});
+export default WebsiteBackend;
diff --git a/addons/website_sale/static/src/js/website_sale_cart.js b/addons/website_sale/static/src/js/website_sale_cart.js
new file mode 100644
index 00000000000..29fbee587e0
--- /dev/null
+++ b/addons/website_sale/static/src/js/website_sale_cart.js
@@ -0,0 +1,157 @@
+/** @odoo-module **/
+
+import publicWidget from "web.public.widget";
+import core from "web.core";
+var _t = core._t;
+
+var timeout;
+
+publicWidget.registry.websiteSaleCartLink = publicWidget.Widget.extend({
+ selector: '#top_menu a[href$="/shop/cart"]',
+ events: {
+ 'mouseenter': '_onMouseEnter',
+ 'mouseleave': '_onMouseLeave',
+ 'click': '_onClick',
+ },
+
+ /**
+ * @constructor
+ */
+ init: function () {
+ this._super.apply(this, arguments);
+ this._popoverRPC = null;
+ this._onVisibilityChange = this._onVisibilityChange.bind(this);
+ },
+ /**
+ * @override
+ */
+ willStart() {
+ return Promise.all([this._super.apply(this, arguments), this._updateCartQuantityValue()]);
+ },
+ /**
+ * @override
+ */
+ start: function () {
+ this.$el.popover({
+ trigger: 'manual',
+ animation: true,
+ html: true,
+ title: function () {
+ return _t("My Cart");
+ },
+ container: 'body',
+ placement: 'auto',
+ template: ''
+ });
+ window.addEventListener('visibilitychange', this._onVisibilityChange);
+ this._updateCartQuantityText();
+ return this._super.apply(this, arguments);
+ },
+ /**
+ * @override
+ */
+ destroy() {
+ window.removeEventListener('visibilitychange', this._onVisibilityChange);
+ this._super(...arguments);
+ },
+
+ //--------------------------------------------------------------------------
+ // Handlers
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * @param {Event} ev
+ */
+ _onMouseEnter: function (ev) {
+ let self = this;
+ self.hovered = true;
+ clearTimeout(timeout);
+ $(this.selector).not(ev.currentTarget).popover('hide');
+ timeout = setTimeout(function () {
+ if (!self.hovered || $('.mycart-popover:visible').length) {
+ return;
+ }
+ self._popoverRPC = $.get("/shop/cart", {
+ type: 'popover',
+ }).then(function (data) {
+ const popover = Popover.getInstance(self.$el[0]);
+ popover._config.content = data;
+ popover.setContent(popover.getTipElement());
+ self.$el.popover("show");
+ $('.popover').on('mouseleave', function () {
+ self.$el.trigger('mouseleave');
+ });
+ self.cartQty = +$(data).find('.o_wsale_cart_quantity').text();
+ sessionStorage.setItem('website_sale_cart_quantity', self.cartQty);
+ self._updateCartQuantityText();
+ });
+ }, 300);
+ },
+ /**
+ * @private
+ * @param {Event} ev
+ */
+ _onMouseLeave: function (ev) {
+ let self = this;
+ self.hovered = false;
+ setTimeout(function () {
+ if ($('.popover:hover').length) {
+ return;
+ }
+ if (!self.$el.is(':hover')) {
+ self.$el.popover('hide');
+ }
+ }, 1000);
+ },
+ /**
+ * @private
+ * @param {Event} ev
+ */
+ _onClick: function (ev) {
+ // When clicking on the cart link, prevent any popover to show up (by
+ // clearing the related setTimeout) and, if a popover rpc is ongoing,
+ // wait for it to be completed before going to the link's href. Indeed,
+ // going to that page may perform the same computation the popover rpc
+ // is already doing.
+ clearTimeout(timeout);
+ if (this._popoverRPC && this._popoverRPC.state() === 'pending') {
+ ev.preventDefault();
+ var href = ev.currentTarget.href;
+ this._popoverRPC.then(function () {
+ window.location.href = href;
+ });
+ }
+ },
+ /**
+ * @private
+ * @param {Event} ev
+ */
+ _onVisibilityChange(ev) {
+ if (ev.target.visibilityState === 'visible'){
+ this._updateCartQuantityValue().then(this._updateCartQuantityText.bind(this));
+ }
+ },
+ /**
+ * @private
+ */
+ async _updateCartQuantityValue() {
+ if ('website_sale_cart_quantity' in sessionStorage) {
+ this.cartQty = sessionStorage.getItem('website_sale_cart_quantity');
+ }
+ if (this.el.querySelector('.my_cart_quantity').innerText != this.cartQty) {
+ return this._rpc({route: "/shop/cart/quantity"}).then((cartQty) => {
+ this.cartQty = cartQty;
+ sessionStorage.setItem('website_sale_cart_quantity', this.cartQty);
+ });
+ }
+ },
+ /**
+ * @private
+ */
+ _updateCartQuantityText() {
+ if (this.cartQty !== undefined) {
+ this.el.querySelector('.my_cart_quantity').innerText = this.cartQty;
+ }
+ }
+});
diff --git a/addons/website_sale/static/src/js/website_sale_delivery.js b/addons/website_sale/static/src/js/website_sale_delivery.js
index 8371ae5bf31..556c92b4f97 100644
--- a/addons/website_sale/static/src/js/website_sale_delivery.js
+++ b/addons/website_sale/static/src/js/website_sale_delivery.js
@@ -1,12 +1,11 @@
-odoo.define('website_sale_delivery.checkout', function (require) {
-'use strict';
+/** @odoo-module alias=website_sale_delivery.checkout **/
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
+import core from "web.core";
+import publicWidget from "web.public.widget";
const _t = core._t;
const qweb = core.qweb;
-var concurrency = require('web.concurrency');
+import concurrency from "web.concurrency";
publicWidget.registry.websiteSaleDelivery = publicWidget.Widget.extend({
selector: '.oe_website_sale',
@@ -414,4 +413,3 @@ publicWidget.registry.websiteSaleDelivery = publicWidget.Widget.extend({
}
},
});
-});
diff --git a/addons/website_sale/static/src/js/website_sale_form_editor.js b/addons/website_sale/static/src/js/website_sale_form_editor.js
index eb9ecff9543..9cadffe6254 100644
--- a/addons/website_sale/static/src/js/website_sale_form_editor.js
+++ b/addons/website_sale/static/src/js/website_sale_form_editor.js
@@ -1,7 +1,6 @@
-odoo.define('website_sale.form', function (require) {
-'use strict';
+/** @odoo-module **/
-var FormEditorRegistry = require('website.form_editor_registry');
+import FormEditorRegistry from "website.form_editor_registry";
FormEditorRegistry.add('create_customer', {
formFields: [{
@@ -28,5 +27,3 @@ FormEditorRegistry.add('create_customer', {
string: 'Company Name',
}],
});
-
-});
diff --git a/addons/website_sale/static/src/js/website_sale_offcanvas.js b/addons/website_sale/static/src/js/website_sale_offcanvas.js
new file mode 100644
index 00000000000..656f6c92bac
--- /dev/null
+++ b/addons/website_sale/static/src/js/website_sale_offcanvas.js
@@ -0,0 +1,29 @@
+/** @odoo-module **/
+
+import publicWidget from "web.public.widget";
+
+publicWidget.registry.websiteSaleOffcanvas = publicWidget.Widget.extend({
+ selector: '#o_wsale_offcanvas',
+ events: {
+ 'show.bs.offcanvas': '_toggleFilters',
+ 'hidden.bs.offcanvas': '_toggleFilters',
+ },
+
+ //--------------------------------------------------------------------------
+ // Handlers
+ //--------------------------------------------------------------------------
+
+ /**
+ * Unfold active filters, fold inactive ones
+ *
+ * @private
+ * @param {Event} ev
+ */
+ _toggleFilters: function (ev) {
+ for (const btn of this.el.querySelectorAll('button[data-status]')) {
+ if(btn.classList.contains('collapsed') && btn.dataset.status == "active" || ! btn.classList.contains('collapsed') && btn.dataset.status == "inactive" ) {
+ btn.click();
+ }
+ }
+ },
+});
diff --git a/addons/website_sale/static/src/js/website_sale_payment.js b/addons/website_sale/static/src/js/website_sale_payment.js
index 3420d1b8a0f..74b52ef9bd4 100644
--- a/addons/website_sale/static/src/js/website_sale_payment.js
+++ b/addons/website_sale/static/src/js/website_sale_payment.js
@@ -1,8 +1,7 @@
-odoo.define('website_sale.payment', require => {
- 'use strict';
-
- const checkoutForm = require('payment.checkout_form');
- const publicWidget = require('web.public.widget');
+/** @odoo-module **/
+
+ import checkoutForm from "payment.checkout_form";
+ import publicWidget from "web.public.widget";
const websiteSalePaymentMixin = {
@@ -123,4 +122,3 @@ odoo.define('website_sale.payment', require => {
this.$submitButton.prop('disabled', disabledReasonFound);
},
}));
-});
diff --git a/addons/website_sale/static/src/js/website_sale_price_range_option.js b/addons/website_sale/static/src/js/website_sale_price_range_option.js
new file mode 100644
index 00000000000..c36ea3663e4
--- /dev/null
+++ b/addons/website_sale/static/src/js/website_sale_price_range_option.js
@@ -0,0 +1,36 @@
+/** @odoo-module **/
+
+import publicWidget from "web.public.widget";
+
+publicWidget.registry.multirangePriceSelector = publicWidget.Widget.extend({
+ selector: '.o_wsale_products_page',
+ events: {
+ 'newRangeValue #o_wsale_price_range_option input[type="range"]': '_onPriceRangeSelected',
+ },
+
+ //----------------------------------------------------------------------
+ // Handlers
+ //----------------------------------------------------------------------
+
+ /**
+ * @private
+ * @param {Event} ev
+ */
+ _onPriceRangeSelected(ev) {
+ const range = ev.currentTarget;
+ const search = $.deparam(window.location.search.substring(1));
+ delete search.min_price;
+ delete search.max_price;
+ if (parseFloat(range.min) !== range.valueLow) {
+ search['min_price'] = range.valueLow;
+ }
+ if (parseFloat(range.max) !== range.valueHigh) {
+ search['max_price'] = range.valueHigh;
+ }
+ let product_list_div = this.el.querySelector('.o_wsale_products_grid_table_wrapper');
+ if (product_list_div) {
+ product_list_div.classList.add('opacity-50');
+ }
+ window.location.search = $.param(search);
+ },
+});
diff --git a/addons/website_sale/static/src/js/website_sale_recently_viewed.js b/addons/website_sale/static/src/js/website_sale_recently_viewed.js
index 31d141d5b6d..e68507e0846 100644
--- a/addons/website_sale/static/src/js/website_sale_recently_viewed.js
+++ b/addons/website_sale/static/src/js/website_sale_recently_viewed.js
@@ -1,7 +1,7 @@
-odoo.define('website_sale.recently_viewed', function (require) {
+/** @odoo-module **/
-var publicWidget = require('web.public.widget');
-const {getCookie, setCookie} = require('web.utils.cookies');
+import publicWidget from "web.public.widget";
+import {getCookie, setCookie} from "web.utils.cookies";
publicWidget.registry.productsRecentlyViewedUpdate = publicWidget.Widget.extend({
selector: '#product_detail',
@@ -62,4 +62,3 @@ publicWidget.registry.productsRecentlyViewedUpdate = publicWidget.Widget.extend(
this._updateProductView($(ev.currentTarget));
},
});
-});
diff --git a/addons/website_sale/static/src/js/website_sale_tracking.js b/addons/website_sale/static/src/js/website_sale_tracking.js
index 8b64d6f33d1..beb11e48fe2 100644
--- a/addons/website_sale/static/src/js/website_sale_tracking.js
+++ b/addons/website_sale/static/src/js/website_sale_tracking.js
@@ -1,6 +1,6 @@
-odoo.define('website_sale.tracking', function (require) {
+/** @odoo-module alias=website_sale.tracking **/
-var publicWidget = require('web.public.widget');
+import publicWidget from "web.public.widget";
publicWidget.registry.websiteSaleTracking = publicWidget.Widget.extend({
selector: '.oe_website_sale',
@@ -117,6 +117,4 @@ publicWidget.registry.websiteSaleTracking = publicWidget.Widget.extend({
},
});
-return publicWidget.registry.websiteSaleTracking;
-
-});
+export default publicWidget.registry.websiteSaleTracking;
diff --git a/addons/website_sale/static/src/js/website_sale_utils.js b/addons/website_sale/static/src/js/website_sale_utils.js
index 612bb82dbfc..0d95f55734f 100644
--- a/addons/website_sale/static/src/js/website_sale_utils.js
+++ b/addons/website_sale/static/src/js/website_sale_utils.js
@@ -1,7 +1,6 @@
-odoo.define('website_sale.utils', function (require) {
-'use strict';
+/** @odoo-module alias=website_sale.utils **/
-const wUtils = require('website.utils');
+import wUtils from "website.utils";
const cartHandlerMixin = {
getRedirectOption() {
@@ -135,10 +134,9 @@ function showWarning(message) {
cart_alert.children('span:last-child').text(message);
}
-return {
+export default {
animateClone: animateClone,
updateCartNavBar: updateCartNavBar,
cartHandlerMixin: cartHandlerMixin,
showWarning: showWarning,
};
-});
diff --git a/addons/website_sale/static/src/js/website_sale_validate.js b/addons/website_sale/static/src/js/website_sale_validate.js
index aaf48a206c1..c7f37d89bf5 100644
--- a/addons/website_sale/static/src/js/website_sale_validate.js
+++ b/addons/website_sale/static/src/js/website_sale_validate.js
@@ -1,8 +1,7 @@
-odoo.define('website_sale.validate', function (require) {
-'use strict';
+/** @odoo-module **/
-var publicWidget = require('web.public.widget');
-var core = require('web.core');
+import publicWidget from "web.public.widget";
+import core from "web.core";
var _t = core._t;
publicWidget.registry.websiteSaleValidate = publicWidget.Widget.extend({
@@ -48,4 +47,3 @@ publicWidget.registry.websiteSaleValidate = publicWidget.Widget.extend({
});
},
});
-});
diff --git a/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/000.js b/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/000.js
index e85250e304d..a3943dc49c5 100644
--- a/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/000.js
+++ b/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/000.js
@@ -1,9 +1,8 @@
-odoo.define('website_sale.s_dynamic_snippet_products', function (require) {
-'use strict';
+/** @odoo-module alias=website_sale.s_dynamic_snippet_products **/
-const publicWidget = require('web.public.widget');
-const DynamicSnippetCarousel = require('website.s_dynamic_snippet_carousel');
-var wSaleUtils = require('website_sale.utils');
+import publicWidget from "web.public.widget";
+import DynamicSnippetCarousel from "website.s_dynamic_snippet_carousel";
+import wSaleUtils from "website_sale.utils";
const DynamicSnippetProducts = DynamicSnippetCarousel.extend({
selector: '.s_dynamic_snippet_products',
@@ -172,5 +171,4 @@ const DynamicSnippetProductsCard = publicWidget.Widget.extend({
publicWidget.registry.dynamic_snippet_products_cta = DynamicSnippetProductsCard;
publicWidget.registry.dynamic_snippet_products = DynamicSnippetProducts;
-return DynamicSnippetProducts;
-});
+export default DynamicSnippetProducts;
diff --git a/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/options.js b/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/options.js
index 1d203be31de..a8cec2ae4eb 100644
--- a/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/options.js
+++ b/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/options.js
@@ -1,10 +1,9 @@
-odoo.define('website_sale.s_dynamic_snippet_products_options', function (require) {
-'use strict';
+/** @odoo-module alias=website_sale.s_dynamic_snippet_products_options **/
-const options = require('web_editor.snippets.options');
-const s_dynamic_snippet_carousel_options = require('website.s_dynamic_snippet_carousel_options');
+import options from "web_editor.snippets.options";
+import s_dynamic_snippet_carousel_options from "website.s_dynamic_snippet_carousel_options";
-var wUtils = require('website.utils');
+import wUtils from "website.utils";
const alternativeSnippetRemovedOptions = [
'filter_opt', 'product_category_opt', 'product_tag_opt', 'product_names_opt',
@@ -92,5 +91,4 @@ const dynamicSnippetProductsOptions = s_dynamic_snippet_carousel_options.extend(
options.registry.dynamic_snippet_products = dynamicSnippetProductsOptions;
-return dynamicSnippetProductsOptions;
-});
+export default dynamicSnippetProductsOptions;
diff --git a/addons/website_sale/static/tests/tours/website_free_delivery.js b/addons/website_sale/static/tests/tours/website_free_delivery.js
index 57ee200b3e7..62373008b38 100644
--- a/addons/website_sale/static/tests/tours/website_free_delivery.js
+++ b/addons/website_sale/static/tests/tours/website_free_delivery.js
@@ -1,8 +1,7 @@
-odoo.define('website_sale_delivery.tour', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const tourUtils = require('website_sale.tour_utils');
+import { registry } from "@web/core/registry";
+import tourUtils from "website_sale.tour_utils";
registry.category("web_tour.tours").add('check_free_delivery', {
test: true,
@@ -50,4 +49,3 @@ registry.category("web_tour.tours").add('check_free_delivery', {
run: function () {}, // it's a check
}
]});
-});
diff --git a/addons/website_sale/static/tests/tours/website_sale_buy.js b/addons/website_sale/static/tests/tours/website_sale_buy.js
index 7de4385ba8a..be7a5f8298c 100644
--- a/addons/website_sale/static/tests/tours/website_sale_buy.js
+++ b/addons/website_sale/static/tests/tours/website_sale_buy.js
@@ -1,8 +1,7 @@
-odoo.define('website_sale.tour', function (require) {
-'use strict';
+/** @odoo-module alias=website_sale.tour **/
-const { registry } = require("@web/core/registry");
-const tourUtils = require('website_sale.tour_utils');
+import { registry } from "@web/core/registry";
+import tourUtils from "website_sale.tour_utils";
registry.category("web_tour.tours").add('shop_buy_product', {
test: true,
@@ -91,5 +90,3 @@ registry.category("web_tour.tours").add('shop_buy_product', {
},
]
});
-
-});
diff --git a/addons/website_sale/static/tests/tours/website_sale_complete_flow.js b/addons/website_sale/static/tests/tours/website_sale_complete_flow.js
index 0fc7dce0374..b46d8e3aba5 100644
--- a/addons/website_sale/static/tests/tours/website_sale_complete_flow.js
+++ b/addons/website_sale/static/tests/tours/website_sale_complete_flow.js
@@ -1,9 +1,8 @@
-odoo.define('website_sale_tour.tour', function (require) {
- 'use strict';
-
- const { registry } = require("@web/core/registry");
- var rpc = require("web.rpc");
- const tourUtils = require('website_sale.tour_utils');
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
+ import rpc from "web.rpc";
+ import tourUtils from "website_sale.tour_utils";
registry.category("web_tour.tours").add('website_sale_tour_1', {
test: true,
@@ -388,4 +387,3 @@ odoo.define('website_sale_tour.tour', function (require) {
extra_trigger: '#payment_method label:contains("Wire Transfer") input:checked,#payment_method:not(:has("input:radio:visible"))',
trigger: 'button[name="o_payment_submit_button"]:visible',
}]});
-});
diff --git a/addons/website_sale/static/tests/tours/website_sale_google_analytics.js b/addons/website_sale/static/tests/tours/website_sale_google_analytics.js
index 74b837b01ed..1bef46416c4 100644
--- a/addons/website_sale/static/tests/tours/website_sale_google_analytics.js
+++ b/addons/website_sale/static/tests/tours/website_sale_google_analytics.js
@@ -1,8 +1,7 @@
-odoo.define('website_sale.google_analytics', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const websiteSaleTracking = require('website_sale.tracking');
+import { registry } from "@web/core/registry";
+import websiteSaleTracking from "website_sale.tracking";
let itemId;
@@ -68,5 +67,3 @@ registry.category("web_tour.tours").add('google_analytics_add_to_cart', {
run: () => {}, // it's a check
},
]});
-
-});
diff --git a/addons/website_sale/static/tests/tours/website_sale_shop_cart_recovery.js b/addons/website_sale/static/tests/tours/website_sale_shop_cart_recovery.js
index ff3a13b07da..dd0d7cba263 100644
--- a/addons/website_sale/static/tests/tours/website_sale_shop_cart_recovery.js
+++ b/addons/website_sale/static/tests/tours/website_sale_shop_cart_recovery.js
@@ -1,9 +1,8 @@
-odoo.define('website_sale.tour_shop_cart_recovery', function (require) {
-'use strict';
+/** @odoo-module **/
-var localStorage = require('web.local_storage');
-const { registry } = require("@web/core/registry");
-const tourUtils = require('website_sale.tour_utils');
+import localStorage from "web.local_storage";
+import { registry } from "@web/core/registry";
+import tourUtils from "website_sale.tour_utils";
var orderIdKey = 'website_sale.tour_shop_cart_recovery.orderId';
var recoveryLinkKey = 'website_sale.tour_shop_cart_recovery.recoveryLink';
@@ -82,4 +81,3 @@ registry.category("web_tour.tours").add('shop_cart_recovery', {
run: function () {},
},
]});
-});
diff --git a/addons/website_sale/static/tests/tours/website_sale_shop_custom_attribute_value.js b/addons/website_sale/static/tests/tours/website_sale_shop_custom_attribute_value.js
index 05755a00c2a..9a27279c604 100644
--- a/addons/website_sale/static/tests/tours/website_sale_shop_custom_attribute_value.js
+++ b/addons/website_sale/static/tests/tours/website_sale_shop_custom_attribute_value.js
@@ -1,8 +1,7 @@
-odoo.define("website_sale.tour_shop_custom_attribute_value", function (require) {
- "use strict";
-
- const { registry } = require("@web/core/registry");
- const tourUtils = require('website_sale.tour_utils');
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
+ import tourUtils from "website_sale.tour_utils";
registry.category("web_tour.tours").add("shop_custom_attribute_value", {
url: "/shop?search=Customizable Desk",
@@ -28,4 +27,3 @@ odoo.define("website_sale.tour_shop_custom_attribute_value", function (require)
extra_trigger: '#cart_products',
run: function (){}, // check
}]});
-});
diff --git a/addons/website_sale/static/tests/tours/website_sale_shop_deleted_archived_variants.js b/addons/website_sale/static/tests/tours/website_sale_shop_deleted_archived_variants.js
index 1834e34ab27..e92f9dc7c04 100644
--- a/addons/website_sale/static/tests/tours/website_sale_shop_deleted_archived_variants.js
+++ b/addons/website_sale/static/tests/tours/website_sale_shop_deleted_archived_variants.js
@@ -1,7 +1,6 @@
-odoo.define('website_sale.tour_shop_deleted_archived_variants', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
// This tour relies on a data created from the python test.
registry.category("web_tour.tours").add('tour_shop_deleted_archived_variants', {
@@ -50,4 +49,3 @@ registry.category("web_tour.tours").add('tour_shop_deleted_archived_variants', {
run: function () {},
}
]});
-});
diff --git a/addons/website_sale/static/tests/tours/website_sale_shop_dynamic_variants.js b/addons/website_sale/static/tests/tours/website_sale_shop_dynamic_variants.js
index 429d9c768ae..c1bfb6f34c9 100644
--- a/addons/website_sale/static/tests/tours/website_sale_shop_dynamic_variants.js
+++ b/addons/website_sale/static/tests/tours/website_sale_shop_dynamic_variants.js
@@ -1,8 +1,7 @@
-odoo.define('website_sale.tour_shop_dynamic_variants', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const tourUtils = require('website_sale.tour_utils');
+import { registry } from "@web/core/registry";
+import tourUtils from "website_sale.tour_utils";
// This tour relies on a data created from the python test.
registry.category("web_tour.tours").add('tour_shop_dynamic_variants', {
@@ -33,4 +32,3 @@ registry.category("web_tour.tours").add('tour_shop_dynamic_variants', {
trigger: 'td.td-product_name:contains(Dynamic Product (Dynamic Value 2))',
},
]});
-});
diff --git a/addons/website_sale/static/tests/tours/website_sale_shop_mail.js b/addons/website_sale/static/tests/tours/website_sale_shop_mail.js
index bdda5915571..d1ecd83c839 100644
--- a/addons/website_sale/static/tests/tours/website_sale_shop_mail.js
+++ b/addons/website_sale/static/tests/tours/website_sale_shop_mail.js
@@ -1,9 +1,8 @@
-odoo.define('website_sale.tour_shop_mail', function (require) {
-'use strict';
+/** @odoo-module **/
-var rpc = require('web.rpc');
-const { registry } = require("@web/core/registry");
-const tourUtils = require('website_sale.tour_utils');
+import rpc from "web.rpc";
+import { registry } from "@web/core/registry";
+import tourUtils from "website_sale.tour_utils";
registry.category("web_tour.tours").add('shop_mail', {
test: true,
@@ -95,4 +94,3 @@ registry.category("web_tour.tours").add('shop_mail', {
extra_trigger: 'div.o_field_html[name="body_content"] a[href^="https://my-test-domain.com"]',
},
]});
-});
diff --git a/addons/website_sale/static/tests/tours/website_sale_shop_no_variant_attribute.js b/addons/website_sale/static/tests/tours/website_sale_shop_no_variant_attribute.js
index 0f023eef829..e2f2827feab 100644
--- a/addons/website_sale/static/tests/tours/website_sale_shop_no_variant_attribute.js
+++ b/addons/website_sale/static/tests/tours/website_sale_shop_no_variant_attribute.js
@@ -1,8 +1,7 @@
-odoo.define('website_sale.tour_shop_no_variant_attribute', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const tourUtils = require('website_sale.tour_utils');
+import { registry } from "@web/core/registry";
+import tourUtils from "website_sale.tour_utils";
// This tour relies on a data created from the python test.
registry.category("web_tour.tours").add('tour_shop_no_variant_attribute', {
@@ -35,4 +34,3 @@ registry.category("web_tour.tours").add('tour_shop_no_variant_attribute', {
run: function () {},
},
]});
-});
diff --git a/addons/website_sale/static/tests/tours/website_sale_shop_zoom.js b/addons/website_sale/static/tests/tours/website_sale_shop_zoom.js
index d27407873fc..1bce190c230 100644
--- a/addons/website_sale/static/tests/tours/website_sale_shop_zoom.js
+++ b/addons/website_sale/static/tests/tours/website_sale_shop_zoom.js
@@ -1,7 +1,6 @@
-odoo.define('website_sale.tour_shop_zoom', function (require) {
-'use strict';
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
var imageSelector = '#o-carousel-product .carousel-item.active img';
var imageName = "A Colorful Image";
@@ -50,4 +49,3 @@ registry.category("web_tour.tours").add('shop_zoom', {
run: () => {},
},
]});
-});
diff --git a/addons/website_sale_comparison/static/src/js/website_sale_comparison.js b/addons/website_sale_comparison/static/src/js/website_sale_comparison.js
index 87ec70d3c01..999d8297054 100644
--- a/addons/website_sale_comparison/static/src/js/website_sale_comparison.js
+++ b/addons/website_sale_comparison/static/src/js/website_sale_comparison.js
@@ -1,12 +1,11 @@
-odoo.define('website_sale_comparison.comparison', function (require) {
-'use strict';
+/** @odoo-module alias=website_sale_comparison.comparison **/
-var concurrency = require('web.concurrency');
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
-const {getCookie, setCookie} = require('web.utils.cookies');
-var VariantMixin = require('sale.VariantMixin');
-var website_sale_utils = require('website_sale.utils');
+import concurrency from "web.concurrency";
+import core from "web.core";
+import publicWidget from "web.public.widget";
+import {getCookie, setCookie} from "web.utils.cookies";
+import VariantMixin from "sale.VariantMixin";
+import website_sale_utils from "website_sale.utils";
const cartHandlerMixin = website_sale_utils.cartHandlerMixin;
var qweb = core.qweb;
@@ -332,5 +331,4 @@ publicWidget.registry.ProductComparison = publicWidget.Widget.extend(cartHandler
};
}
});
-return ProductComparison;
-});
+export default ProductComparison;
diff --git a/addons/website_sale_comparison/static/tests/tours/website_sale_comparison.js b/addons/website_sale_comparison/static/tests/tours/website_sale_comparison.js
index 9f1ffa213d4..73c1c2f2cb1 100644
--- a/addons/website_sale_comparison/static/tests/tours/website_sale_comparison.js
+++ b/addons/website_sale_comparison/static/tests/tours/website_sale_comparison.js
@@ -1,8 +1,7 @@
-odoo.define('website_sale_comparison.tour_comparison', function (require) {
- 'use strict';
-
- const { registry } = require("@web/core/registry");
- const tourUtils = require('website_sale.tour_utils');
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
+ import tourUtils from "website_sale.tour_utils";
registry.category("web_tour.tours").add('product_comparison', {
test: true,
@@ -166,4 +165,3 @@ odoo.define('website_sale_comparison.tour_comparison', function (require) {
run: function () {},
},
]});
-});
diff --git a/addons/website_sale_product_configurator/static/src/js/product_configurator_modal.js b/addons/website_sale_product_configurator/static/src/js/product_configurator_modal.js
index 274b07f83a3..70d0f6939b8 100644
--- a/addons/website_sale_product_configurator/static/src/js/product_configurator_modal.js
+++ b/addons/website_sale_product_configurator/static/src/js/product_configurator_modal.js
@@ -1,7 +1,6 @@
-odoo.define('website_sale_product_configurator.OptionalProductsModal', function (require) {
- "use strict";
-
-const { OptionalProductsModal } = require('@sale_product_configurator/js/product_configurator_modal');
+/** @odoo-module **/
+
+import { OptionalProductsModal } from "@sale_product_configurator/js/product_configurator_modal";
OptionalProductsModal.include({
/**
@@ -35,5 +34,3 @@ OptionalProductsModal.include({
return !this.isWebsite;
}
});
-
-});
diff --git a/addons/website_sale_product_configurator/static/src/js/website_sale_options.js b/addons/website_sale_product_configurator/static/src/js/website_sale_options.js
index b85b5dc4c34..890abd554cc 100644
--- a/addons/website_sale_product_configurator/static/src/js/website_sale_options.js
+++ b/addons/website_sale_product_configurator/static/src/js/website_sale_options.js
@@ -1,12 +1,11 @@
-odoo.define('website_sale_options.website_sale', function (require) {
-'use strict';
+/** @odoo-module alias=website_sale_options.website_sale **/
-var ajax = require('web.ajax');
-var core = require('web.core');
-var publicWidget = require('web.public.widget');
-var { OptionalProductsModal } = require('@sale_product_configurator/js/product_configurator_modal');
-require('website_sale.website_sale');
-const wsUtils = require('website_sale.utils');
+import ajax from "web.ajax";
+import core from "web.core";
+import publicWidget from "web.public.widget";
+import { OptionalProductsModal } from "@sale_product_configurator/js/product_configurator_modal";
+import "website_sale.website_sale";
+import wsUtils from "website_sale.utils";
var _t = core._t;
@@ -127,6 +126,4 @@ publicWidget.registry.WebsiteSale.include({
},
});
-return publicWidget.registry.WebsiteSaleOptions;
-
-});
+export default publicWidget.registry.WebsiteSaleOptions;
diff --git a/addons/website_sale_product_configurator/static/tests/tours/website_sale_buy.js b/addons/website_sale_product_configurator/static/tests/tours/website_sale_buy.js
index 0c24cebd858..a61704c069f 100644
--- a/addons/website_sale_product_configurator/static/tests/tours/website_sale_buy.js
+++ b/addons/website_sale_product_configurator/static/tests/tours/website_sale_buy.js
@@ -1,11 +1,10 @@
-odoo.define("website_sale_product_configurator.website_sale_tour", function (require) {
-"use strict";
+/** @odoo-module **/
/**
* Add custom steps to handle the optional products modal introduced
* by the product configurator module.
*/
-const { registry } = require("@web/core/registry");
-require('website_sale.tour');
+import { registry } from "@web/core/registry";
+import "website_sale.tour";
var addCartStepIndex = _.findIndex(registry.category("web_tour.tours").get("shop_buy_product").steps, function (step) {
return (step.id === 'add_cart_step');
@@ -15,5 +14,3 @@ registry.category("web_tour.tours").get("shop_buy_product").steps.splice(addCart
content: "click in modal on 'Proceed to checkout' button",
trigger: 'button:contains("Proceed to Checkout")',
});
-
-});
diff --git a/addons/website_sale_product_configurator/static/tests/tours/website_sale_shop_custom_attributes_value.js b/addons/website_sale_product_configurator/static/tests/tours/website_sale_shop_custom_attributes_value.js
index d0116c6f7de..aaf339d9a22 100644
--- a/addons/website_sale_product_configurator/static/tests/tours/website_sale_shop_custom_attributes_value.js
+++ b/addons/website_sale_product_configurator/static/tests/tours/website_sale_shop_custom_attributes_value.js
@@ -1,7 +1,6 @@
-odoo.define("website_sale_product_TESTurator.tour_shop_custom_attribute_value", function (require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
+import { registry } from "@web/core/registry";
var optionVariantImage;
registry.category("web_tour.tours").add("a_shop_custom_attribute_value", {
@@ -56,5 +55,3 @@ registry.category("web_tour.tours").add("a_shop_custom_attribute_value", {
trigger: 'button:has(span:contains(Proceed to Checkout))',
run: 'click',
}]});
-
-});
diff --git a/addons/website_sale_product_configurator/static/tests/tours/website_sale_variants_modal_window.js b/addons/website_sale_product_configurator/static/tests/tours/website_sale_variants_modal_window.js
index 0b932e76a3b..2822e292a83 100644
--- a/addons/website_sale_product_configurator/static/tests/tours/website_sale_variants_modal_window.js
+++ b/addons/website_sale_product_configurator/static/tests/tours/website_sale_variants_modal_window.js
@@ -1,7 +1,6 @@
-odoo.define('website_sale.tour_variants_modal_window', function (require) {
- 'use strict';
-
- const { registry } = require("@web/core/registry");
+/** @odoo-module **/
+
+ import { registry } from "@web/core/registry";
// This tour relies on a data created from the python test.
registry.category("web_tour.tours").add('tour_variants_modal_window', {
@@ -63,4 +62,3 @@ odoo.define('website_sale.tour_variants_modal_window', function (require) {
trigger: 'td.td-product_name:contains(Never attribute size custom: Yes never custom: TEST)',
}
]});
-});
diff --git a/addons/website_sale_slides/static/src/js/slides_course_join.js b/addons/website_sale_slides/static/src/js/slides_course_join.js
index 4f74baa1897..4c20e51da89 100644
--- a/addons/website_sale_slides/static/src/js/slides_course_join.js
+++ b/addons/website_sale_slides/static/src/js/slides_course_join.js
@@ -1,8 +1,9 @@
-odoo.define('website_sale_slides.course.join.widget', function (require) {
-"use strict";
+/** @odoo-module alias=website_sale_slides.course.join.widget **/
-var CourseJoinWidget = require('@website_slides/js/slides_course_join')[Symbol.for("default")].courseJoinWidget;
-const wUtils = require('website.utils');
+import CourseJoin from "@website_slides/js/slides_course_join";
+import wUtils from "website.utils";
+
+const CourseJoinWidget = CourseJoin.courseJoinWidget;
CourseJoinWidget.include({
init: function (parent, options) {
@@ -39,6 +40,4 @@ CourseJoinWidget.include({
},
});
-return CourseJoinWidget;
-
-});
+export default CourseJoinWidget;
diff --git a/addons/website_sale_slides/static/src/js/slides_course_quiz.js b/addons/website_sale_slides/static/src/js/slides_course_quiz.js
index c55b7481971..0ef9e58f000 100644
--- a/addons/website_sale_slides/static/src/js/slides_course_quiz.js
+++ b/addons/website_sale_slides/static/src/js/slides_course_quiz.js
@@ -1,7 +1,6 @@
-odoo.define('website_sale_slides.quiz', function (require) {
-"use strict";
+/** @odoo-module **/
-const {websiteSlidesQuizNoFullscreen} = require('@website_slides/js/slides_course_quiz');
+import {websiteSlidesQuizNoFullscreen} from "@website_slides/js/slides_course_quiz";
websiteSlidesQuizNoFullscreen.include({
_extractChannelData: function (slideData) {
@@ -15,4 +14,3 @@ websiteSlidesQuizNoFullscreen.include({
});
}
});
-});
diff --git a/addons/website_sale_stock/static/src/js/variant_mixin.js b/addons/website_sale_stock/static/src/js/variant_mixin.js
index 33e41d62dd4..e2eca69a5ce 100644
--- a/addons/website_sale_stock/static/src/js/variant_mixin.js
+++ b/addons/website_sale_stock/static/src/js/variant_mixin.js
@@ -1,13 +1,12 @@
-odoo.define('website_sale_stock.VariantMixin', function (require) {
-'use strict';
+/** @odoo-module alias=website_sale_stock.VariantMixin **/
-const {Markup} = require('web.utils');
-var VariantMixin = require('sale.VariantMixin');
-var publicWidget = require('web.public.widget');
-var core = require('web.core');
+import {Markup} from "web.utils";
+import VariantMixin from "sale.VariantMixin";
+import publicWidget from "web.public.widget";
+import core from "web.core";
var QWeb = core.qweb;
-require('website_sale.website_sale');
+import "website_sale.website_sale";
/**
* Addition to the variant_mixin._onChangeCombination
@@ -96,6 +95,4 @@ publicWidget.registry.WebsiteSale.include({
}
});
-return VariantMixin;
-
-});
+export default VariantMixin;
diff --git a/addons/website_sale_wishlist/static/src/js/website_sale_wishlist.js b/addons/website_sale_wishlist/static/src/js/website_sale_wishlist.js
index 2bf39d9ee30..51038e9b7d7 100644
--- a/addons/website_sale_wishlist/static/src/js/website_sale_wishlist.js
+++ b/addons/website_sale_wishlist/static/src/js/website_sale_wishlist.js
@@ -1,9 +1,8 @@
-odoo.define('website_sale_wishlist.wishlist', function (require) {
-"use strict";
+/** @odoo-module alias=website_sale_wishlist.wishlist **/
-var publicWidget = require('web.public.widget');
-var wSaleUtils = require('website_sale.utils');
-var VariantMixin = require('sale.VariantMixin');
+import publicWidget from "web.public.widget";
+import wSaleUtils from "website_sale.utils";
+import VariantMixin from "sale.VariantMixin";
// VariantMixin events are overridden on purpose here
// to avoid registering them more than once since they are already registered
@@ -296,4 +295,3 @@ publicWidget.registry.ProductWishlist = publicWidget.Widget.extend(VariantMixin,
});
},
});
-});
diff --git a/addons/website_sale_wishlist/static/tests/tours/website_sale_wishlist.js b/addons/website_sale_wishlist/static/tests/tours/website_sale_wishlist.js
index 5ac30d7c457..f0a23033fe5 100644
--- a/addons/website_sale_wishlist/static/tests/tours/website_sale_wishlist.js
+++ b/addons/website_sale_wishlist/static/tests/tours/website_sale_wishlist.js
@@ -1,8 +1,7 @@
-odoo.define('website_sale_wishlist.tour', function (require) {
-'use strict';
+/** @odoo-module **/
-var rpc = require('web.rpc');
-const { registry } = require("@web/core/registry");
+import rpc from "web.rpc";
+import { registry } from "@web/core/registry";
registry.category("web_tour.tours").add('shop_wishlist', {
test: true,
@@ -403,5 +402,3 @@ registry.category("web_tour.tours").add('shop_wishlist', {
},
]
});
-
-});
diff --git a/addons/website_sale_wishlist/static/tests/tours/website_sale_wishlist_admin.js b/addons/website_sale_wishlist/static/tests/tours/website_sale_wishlist_admin.js
index f47c704e71b..aaf5fd0ad8f 100644
--- a/addons/website_sale_wishlist/static/tests/tours/website_sale_wishlist_admin.js
+++ b/addons/website_sale_wishlist/static/tests/tours/website_sale_wishlist_admin.js
@@ -1,7 +1,6 @@
-odoo.define('website_sale_wishlist_admin.tour', function (require) {
-'use strict';
+/** @odoo-module **/
-const wTourUtils = require("website.tour_utils");
+import wTourUtils from "website.tour_utils";
wTourUtils.registerWebsitePreviewTour('shop_wishlist_admin', {
url: '/shop?search=Rock',
@@ -82,5 +81,3 @@ wTourUtils.registerWebsitePreviewTour('shop_wishlist_admin', {
},
]
);
-
-});
diff --git a/addons/website_slides/static/src/js/tours/slides_tour.js b/addons/website_slides/static/src/js/tours/slides_tour.js
index 7c5edef018e..69dc34907f5 100644
--- a/addons/website_slides/static/src/js/tours/slides_tour.js
+++ b/addons/website_slides/static/src/js/tours/slides_tour.js
@@ -1,9 +1,8 @@
-odoo.define('website_slides.slides_tour', function (require) {
-"use strict";
+/** @odoo-module **/
-const {_t} = require('web.core');
-const {Markup} = require('web.utils');
-const wTourUtils = require('website.tour_utils');
+import {_t} from "web.core";
+import {Markup} from "web.utils";
+import wTourUtils from "website.tour_utils";
wTourUtils.registerWebsitePreviewTour('slides_tour', {
url: '/slides',
@@ -112,4 +111,3 @@ wTourUtils.registerWebsitePreviewTour('slides_tour', {
content: Markup(_t("Finally you can click here to enjoy your content in fullscreen")),
position: 'bottom',
}]);
-});
diff --git a/addons/website_slides_survey/static/src/js/slides_course_fullscreen_player.js b/addons/website_slides_survey/static/src/js/slides_course_fullscreen_player.js
index 85640a2b574..86882f897ac 100644
--- a/addons/website_slides_survey/static/src/js/slides_course_fullscreen_player.js
+++ b/addons/website_slides_survey/static/src/js/slides_course_fullscreen_player.js
@@ -1,9 +1,8 @@
-odoo.define('website_slides_survey.fullscreen', function (require) {
-"use strict";
+/** @odoo-module **/
-var core = require('web.core');
+import core from "web.core";
var QWeb = core.qweb;
-var Fullscreen = require('@website_slides/js/slides_course_fullscreen_player')[Symbol.for("default")];
+import Fullscreen from "@website_slides/js/slides_course_fullscreen_player";
Fullscreen.include({
/**
@@ -22,6 +21,3 @@ Fullscreen.include({
return Promise.all([def]);
},
});
-});
-
-
diff --git a/addons/website_slides_survey/static/src/js/slides_upload.js b/addons/website_slides_survey/static/src/js/slides_upload.js
index ab5ca5479d4..797794f3765 100644
--- a/addons/website_slides_survey/static/src/js/slides_upload.js
+++ b/addons/website_slides_survey/static/src/js/slides_upload.js
@@ -1,9 +1,8 @@
-odoo.define('website_slides_survey.upload_modal', function (require) {
-"use strict";
+/** @odoo-module **/
-var core = require('web.core');
+import core from "web.core";
var _t = core._t;
-var SlidesUpload = require('@website_slides/js/slides_upload')[Symbol.for("default")];
+import SlidesUpload from "@website_slides/js/slides_upload";
/**
* Management of the new 'certification' slide_category
@@ -122,5 +121,3 @@ SlidesUpload.SlideUploadDialog.include({
return result;
},
});
-
-});
diff --git a/addons/website_twitter/static/src/js/website.twitter.animation.js b/addons/website_twitter/static/src/js/website.twitter.animation.js
index 6da5573f788..d54e69029ca 100644
--- a/addons/website_twitter/static/src/js/website.twitter.animation.js
+++ b/addons/website_twitter/static/src/js/website.twitter.animation.js
@@ -1,9 +1,8 @@
-odoo.define('website_twitter.animation', function (require) {
-'use strict';
+/** @odoo-module **/
-var core = require('web.core');
-const {Markup} = require('web.utils');
-var publicWidget = require('web.public.widget');
+import core from "web.core";
+import {Markup} from "web.utils";
+import publicWidget from "web.public.widget";
var qweb = core.qweb;
@@ -177,4 +176,3 @@ publicWidget.registry.twitter = publicWidget.Widget.extend({
}
},
});
-});
diff --git a/addons/website_twitter/static/src/js/website.twitter.editor.js b/addons/website_twitter/static/src/js/website.twitter.editor.js
index ec272798b37..8e54431ae2c 100644
--- a/addons/website_twitter/static/src/js/website.twitter.editor.js
+++ b/addons/website_twitter/static/src/js/website.twitter.editor.js
@@ -1,9 +1,8 @@
-odoo.define('website_twitter.editor', function (require) {
-'use strict';
+/** @odoo-module **/
-var core = require('web.core');
-var dom = require('web.dom');
-var sOptions = require('web_editor.snippets.options');
+import core from "web.core";
+import dom from "web.dom";
+import sOptions from "web_editor.snippets.options";
var _t = core._t;
@@ -70,4 +69,3 @@ sOptions.registry.twitter = sOptions.Class.extend({
this.$target.off('.website_twitter');
},
});
-});
diff --git a/odoo/addons/test_apikeys/static/tests/apikey_flow.js b/odoo/addons/test_apikeys/static/tests/apikey_flow.js
index b543c97d3f5..8853a9b830f 100644
--- a/odoo/addons/test_apikeys/static/tests/apikey_flow.js
+++ b/odoo/addons/test_apikeys/static/tests/apikey_flow.js
@@ -1,8 +1,7 @@
-odoo.define('test_apikeys.tour', function(require) {
-"use strict";
+/** @odoo-module **/
-const { registry } = require("@web/core/registry");
-const ajax = require('web.ajax');
+import { registry } from "@web/core/registry";
+import ajax from "web.ajax";
registry.category("web_tour.tours").add('apikeys_tour_setup', {
test: true,
@@ -104,4 +103,3 @@ registry.category("web_tour.tours").add('apikeys_tour_teardown', {
};
}
}]});
-});
diff --git a/odoo/addons/test_main_flows/static/tests/tours/main_flow.js b/odoo/addons/test_main_flows/static/tests/tours/main_flow.js
index ef6d35f8484..90259cd2dcb 100644
--- a/odoo/addons/test_main_flows/static/tests/tours/main_flow.js
+++ b/odoo/addons/test_main_flows/static/tests/tours/main_flow.js
@@ -1,10 +1,9 @@
-odoo.define('test_main_flows.tour', function (require) {
-"use strict";
+/** @odoo-module **/
-const {_t} = require('web.core');
-const {Markup} = require('web.utils');
-const { registry } = require("@web/core/registry");
-const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+import {_t} from "web.core";
+import {Markup} from "web.utils";
+import { registry } from "@web/core/registry";
+import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('main_flow_tour', {
test: true,
@@ -974,4 +973,3 @@ stepUtils.mobileModifier(stepUtils.autoExpandMoreButtons('.o_control_panel .brea
auto: true,
run() {}
}]});
-});
diff --git a/odoo/addons/test_new_api/static/tests/tours/constraint.js b/odoo/addons/test_new_api/static/tests/tours/constraint.js
index 50dc6b8f42a..eaba4b4bd52 100644
--- a/odoo/addons/test_new_api/static/tests/tours/constraint.js
+++ b/odoo/addons/test_new_api/static/tests/tours/constraint.js
@@ -1,8 +1,7 @@
-odoo.define('web.test.constraint', function (require) {
- 'use strict';
+/** @odoo-module **/
- const { registry } = require("@web/core/registry");
- const { stepUtils } = require('@web_tour/tour_service/tour_utils');
+ import { registry } from "@web/core/registry";
+ import { stepUtils } from "@web_tour/tour_service/tour_utils";
registry.category("web_tour.tours").add('sql_constaint', {
url: '/web?debug=1#action=test_new_api.action_categories',
@@ -35,4 +34,3 @@ odoo.define('web.test.constraint', function (require) {
},
...stepUtils.discardForm(),
]});
-});
diff --git a/odoo/addons/test_new_api/static/tests/tours/x2many.js b/odoo/addons/test_new_api/static/tests/tours/x2many.js
index 94568304014..568a04a0159 100644
--- a/odoo/addons/test_new_api/static/tests/tours/x2many.js
+++ b/odoo/addons/test_new_api/static/tests/tours/x2many.js
@@ -1,8 +1,7 @@
-odoo.define('web.test.x2many', function (require) {
- 'use strict';
+/** @odoo-module **/
- const { stepUtils } = require('@web_tour/tour_service/tour_utils');
- const { registry } = require("@web/core/registry");
+ import { stepUtils } from "@web_tour/tour_service/tour_utils";
+ import { registry } from "@web/core/registry";
var inc;
registry.category("web_tour.tours").add('widget_x2many', {
@@ -460,4 +459,3 @@ odoo.define('web.test.x2many', function (require) {
},
...stepUtils.discardForm(),
]});
-});