[REF] web: replace odoo module by native one

This commit converts almost all odoo module by native module.
The goal is to deprecate odoo.define in favor of native module and then
simplify boot.js by removing the regexp that finds module dependencies.

task id: 3162300

closes odoo/odoo#117456

Signed-off-by: Géry Debongnie <ged@odoo.com>
This commit is contained in:
Michael (mcm)
2023-04-04 16:01:57 +02:00
parent ad063d60b9
commit 77e825cab2
139 changed files with 813 additions and 1231 deletions
+1
View File
@@ -171,6 +171,7 @@ Help your customers with this chat, and analyse their feedback.
'web/static/src/legacy/js/core/cookie_utils.js',
'web/static/src/legacy/js/core/utils.js',
'web/static/src/legacy/js/core/dom.js',
'web/static/src/legacy/js/core/dom_ready.js',
'web/static/src/legacy/js/core/qweb.js',
'web/static/src/legacy/js/core/bus.js',
'web/static/src/legacy/js/services/core.js',
+2
View File
@@ -154,6 +154,7 @@
'web/static/src/legacy/root_widget.js',
'web/static/src/legacy/backend_utils.js',
'web/static/src/legacy/utils.js',
'web/static/src/legacy/pseudo_web_client.js',
'web/static/src/legacy/web_client.js',
'web/static/src/legacy/js/chrome/*',
'web/static/src/legacy/js/components/*',
@@ -168,6 +169,7 @@
'web/static/src/legacy/js/fields/field_utils.js',
'web/static/src/legacy/js/fields/relational_fields.js',
'web/static/src/legacy/js/fields/field_registry.js',
'web/static/src/legacy/js/fields/field_registration.js',
'web/static/src/legacy/js/fields/field_utils.js',
'web/static/src/legacy/js/views/abstract_model.js',
'web/static/src/legacy/js/views/basic/basic_model.js',
+3
View File
@@ -146,6 +146,7 @@ This module provides the core of the Odoo Web Client.
'web/static/src/legacy/js/core/owl_dialog.js',
'web/static/src/legacy/js/core/popover.js',
'web/static/src/legacy/js/core/dom.js',
'web/static/src/legacy/js/core/dom_ready.js',
'web/static/src/legacy/js/core/local_storage.js',
'web/static/src/legacy/js/core/mixins.js',
'web/static/src/legacy/js/core/qweb.js',
@@ -232,6 +233,7 @@ This module provides the core of the Odoo Web Client.
'web/static/src/legacy/root_widget.js',
'web/static/src/legacy/backend_utils.js',
'web/static/src/legacy/utils.js',
'web/static/src/legacy/pseudo_web_client.js',
'web/static/src/legacy/web_client.js',
'web/static/src/legacy/js/_deprecated/*',
'web/static/src/legacy/js/chrome/*',
@@ -378,6 +380,7 @@ This module provides the core of the Odoo Web Client.
'web/static/src/legacy/js/core/owl_dialog.js',
'web/static/src/legacy/js/core/popover.js',
'web/static/src/legacy/js/core/dom.js',
'web/static/src/legacy/js/core/dom_ready.js',
'web/static/src/legacy/js/core/local_storage.js',
'web/static/src/legacy/js/core/menu.js',
'web/static/src/legacy/js/core/mixins.js',
@@ -1,7 +1,6 @@
odoo.define('web.KeyboardNavigationMixin', function (require) {
"use strict";
var BrowserDetection = require('web.BrowserDetection');
const core = require('web.core');
/** @odoo-module alias=web.KeyboardNavigationMixin **/
import BrowserDetection from "web.BrowserDetection";
import core from "web.core";
/**
* list of the key that should not be used as accesskeys. Either because we want to reserve them for a specific behavior in Odoo or
@@ -265,6 +264,4 @@ odoo.define('web.KeyboardNavigationMixin', function (require) {
},
};
return KeyboardNavigationMixin;
});
export default KeyboardNavigationMixin;
+2 -5
View File
@@ -1,7 +1,6 @@
odoo.define('web.assets.qweb', function (require) {
"use strict";
/** @odoo-module **/
const {assets} = require('@web/core/assets');
import {assets} from "@web/core/assets";
const loadXML = assets.loadXML;
assets.loadXML = function (xml, app) {
@@ -19,5 +18,3 @@ assets.loadXML = function (xml, app) {
core.qweb.add_template(qwebTemplates);
});
}
});
@@ -1,6 +1,5 @@
odoo.define('web.ActionMixin', function (require) {
"use strict";
/** @odoo-module alias=web.ActionMixin **/
/**
* We define here the ActionMixin, the generic notion of action (from the point
* of view of the web client). In short, an action is a widget which controls
@@ -21,8 +20,8 @@ odoo.define('web.ActionMixin', function (require) {
* @extends WidgetAdapterMixin
*/
const core = require('web.core');
const { WidgetAdapterMixin } = require('web.OwlCompatibility');
import core from "web.core";
import { WidgetAdapterMixin } from "web.OwlCompatibility";
const ActionMixin = Object.assign({}, WidgetAdapterMixin, {
template: 'Action',
@@ -231,5 +230,4 @@ odoo.define('web.ActionMixin', function (require) {
},
});
return ActionMixin;
});
export default ActionMixin;
+10 -12
View File
@@ -1,6 +1,5 @@
odoo.define("web.commonEnv", function (require) {
"use strict";
/** @odoo-module alias=web.commonEnv **/
/**
* This file defines the common environment, which contains everything that
* is needed in the env for both the backend and the frontend (Odoo
@@ -17,13 +16,13 @@ odoo.define("web.commonEnv", function (require) {
* [1] https://github.com/odoo/owl/blob/master/doc/reference/environment.md#content-of-an-environment
*/
const { jsonRpc } = require("web.ajax");
const { device, isDebug } = require("web.config");
const { bus } = require("web.core");
const rpc = require("web.rpc");
const session = require("web.session");
const { _t } = require("web.translation");
const {getCookie, setCookie} = require('web.utils.cookies');
import { jsonRpc } from "web.ajax";
import { device, isDebug } from "web.config";
import { bus } from "web.core";
import rpc from "web.rpc";
import session from "web.session";
import { _t } from "web.translation";
import {getCookie, setCookie} from "web.utils.cookies";
const browser = {
clearInterval: window.clearInterval.bind(window),
@@ -96,5 +95,4 @@ odoo.define("web.commonEnv", function (require) {
session,
};
return env;
});
export default env;
@@ -1,10 +1,9 @@
odoo.define('web.ActionMenus', function (require) {
"use strict";
const Context = require('web.Context');
const DropdownMenu = require('web.DropdownMenu');
const Registry = require('web.Registry');
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.ActionMenus **/
import Context from "web.Context";
import DropdownMenu from "web.DropdownMenu";
import Registry from "web.Registry";
import { LegacyComponent } from "@web/legacy/legacy_component";
const {
onMounted,
@@ -204,5 +203,4 @@ odoo.define('web.ActionMenus', function (require) {
};
ActionMenus.template = 'web.Legacy.ActionMenus';
return ActionMenus;
});
export default ActionMenus;
@@ -1,7 +1,6 @@
odoo.define('web.CustomFileInput', function (require) {
"use strict";
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.CustomFileInput **/
import { LegacyComponent } from "@web/legacy/legacy_component";
const { useRef } = owl;
/**
@@ -85,5 +84,4 @@ odoo.define('web.CustomFileInput', function (require) {
};
CustomFileInput.template = 'web.CustomFileInput';
return CustomFileInput;
});
export default CustomFileInput;
@@ -1,11 +1,10 @@
odoo.define('web.DatePickerOwl', function (require) {
"use strict";
const config = require('web.config');
const field_utils = require('web.field_utils');
const time = require('web.time');
const { useAutofocus } = require("@web/core/utils/hooks");
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.DatePickerOwl **/
import config from "web.config";
import field_utils from "web.field_utils";
import time from "web.time";
import { useAutofocus } from "@web/core/utils/hooks";
import { LegacyComponent } from "@web/legacy/legacy_component";
const {
onMounted,
@@ -284,8 +283,7 @@ odoo.define('web.DatePickerOwl', function (require) {
},
});
return {
export default {
DatePicker,
DateTimePicker,
};
});
@@ -1,9 +1,8 @@
odoo.define('web.DropdownMenu', function (require) {
"use strict";
const { _t } = require('web.core');
const DropdownMenuItem = require('web.DropdownMenuItem');
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.DropdownMenu **/
import { _t } from "web.core";
import DropdownMenuItem from "web.DropdownMenuItem";
import { LegacyComponent } from "@web/legacy/legacy_component";
const { useExternalListener, useRef, useState } = owl;
@@ -187,5 +186,4 @@ odoo.define('web.DropdownMenu', function (require) {
};
DropdownMenu.template = 'web.DropdownMenu';
return DropdownMenu;
});
export default DropdownMenu;
@@ -1,8 +1,7 @@
odoo.define('web.DropdownMenuItem', function (require) {
"use strict";
const { useListener } = require("@web/core/utils/hooks");
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.DropdownMenuItem **/
import { useListener } from "@web/core/utils/hooks";
import { LegacyComponent } from "@web/legacy/legacy_component";
const { useExternalListener, useRef, useState } = owl;
@@ -125,5 +124,4 @@ odoo.define('web.DropdownMenuItem', function (require) {
DropdownMenuItem.template = 'web.DropdownMenuItem';
return DropdownMenuItem;
});
export default DropdownMenuItem;
@@ -1,8 +1,7 @@
odoo.define('web.Pager', function (require) {
"use strict";
const { useAutofocus } = require("@web/core/utils/hooks");
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.Pager **/
import { useAutofocus } from "@web/core/utils/hooks";
import { LegacyComponent } from "@web/legacy/legacy_component";
const { onWillUpdateProps, useState } = owl;
@@ -222,5 +221,4 @@ odoo.define('web.Pager', function (require) {
};
Pager.template = 'web.legacy.Pager';
return Pager;
});
export default Pager;
@@ -1,11 +1,10 @@
odoo.define("web.ComparisonMenu", function (require) {
"use strict";
const { Dropdown } = require("@web/core/dropdown/dropdown");
const { SearchDropdownItem } = require("@web/search/search_dropdown_item/search_dropdown_item");
const { FACET_ICONS } = require("web.searchUtils");
const { useModel } = require("web.Model");
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.ComparisonMenu **/
import { Dropdown } from "@web/core/dropdown/dropdown";
import { SearchDropdownItem } from "@web/search/search_dropdown_item/search_dropdown_item";
import { FACET_ICONS } from "web.searchUtils";
import { useModel } from "web.Model";
import { LegacyComponent } from "@web/legacy/legacy_component";
class ComparisonMenu extends LegacyComponent {
setup() {
@@ -31,5 +30,4 @@ odoo.define("web.ComparisonMenu", function (require) {
ComparisonMenu.template = "web.ComparisonMenu";
ComparisonMenu.components = { Dropdown, SearchDropdownItem };
return ComparisonMenu;
});
export default ComparisonMenu;
@@ -1,16 +1,15 @@
odoo.define('web.ControlPanel', function (require) {
"use strict";
const ActionMenus = require('web.ActionMenus');
const ComparisonMenu = require('web.ComparisonMenu');
const ActionModel = require('web.ActionModel');
const FavoriteMenu = require('web.FavoriteMenu');
const FilterMenu = require('web.FilterMenu');
const GroupByMenu = require('web.GroupByMenu');
const Pager = require('web.Pager');
const SearchBar = require('web.SearchBar');
const { useModel } = require('web.Model');
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.ControlPanel **/
import ActionMenus from "web.ActionMenus";
import ComparisonMenu from "web.ComparisonMenu";
import ActionModel from "web.ActionModel";
import FavoriteMenu from "web.FavoriteMenu";
import FilterMenu from "web.FilterMenu";
import GroupByMenu from "web.GroupByMenu";
import Pager from "web.Pager";
import SearchBar from "web.SearchBar";
import { useModel } from "web.Model";
import { LegacyComponent } from "@web/legacy/legacy_component";
const {
onMounted,
@@ -240,5 +239,4 @@ odoo.define('web.ControlPanel', function (require) {
};
ControlPanel.template = 'web.Legacy.ControlPanel';
return ControlPanel;
});
export default ControlPanel;
@@ -1,13 +1,12 @@
odoo.define("web/static/src/js/control_panel/control_panel_model_extension.js", function (require) {
"use strict";
/** @odoo-module alias=web/static/src/js/control_panel/control_panel_model_extension.js **/
import ActionModel from "web.ActionModel";
import Domain from "web.Domain";
import pyUtils from "web.py_utils";
const ActionModel = require("web.ActionModel");
const Domain = require('web.Domain');
const pyUtils = require('web.py_utils');
const { DEFAULT_INTERVAL, DEFAULT_PERIOD,
import { DEFAULT_INTERVAL, DEFAULT_PERIOD,
getComparisonOptions, getIntervalOptions, getPeriodOptions,
constructDateDomain, rankInterval, yearSelected } = require('web.searchUtils');
constructDateDomain, rankInterval, yearSelected } from "web.searchUtils";
const FAVORITE_PRIVATE_GROUP = 1;
const FAVORITE_SHARED_GROUP = 2;
@@ -1671,5 +1670,4 @@ odoo.define("web/static/src/js/control_panel/control_panel_model_extension.js",
ActionModel.registry.add("ControlPanel", ControlPanelModelExtension, 10);
return ControlPanelModelExtension;
});
export default ControlPanelModelExtension;
@@ -1,11 +1,10 @@
odoo.define('web.CustomFavoriteItem', function (require) {
"use strict";
const { CheckBox } = require("@web/core/checkbox/checkbox");
const { Dropdown } = require("@web/core/dropdown/dropdown");
const FavoriteMenu = require('web.FavoriteMenu');
const { useModel } = require('web.Model');
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.CustomFavoriteItem **/
import { CheckBox } from "@web/core/checkbox/checkbox";
import { Dropdown } from "@web/core/dropdown/dropdown";
import FavoriteMenu from "web.FavoriteMenu";
import { useModel } from "web.Model";
import { LegacyComponent } from "@web/legacy/legacy_component";
const { useState, useRef } = owl;
@@ -147,5 +146,4 @@ odoo.define('web.CustomFavoriteItem', function (require) {
FavoriteMenu.registry.add('favorite-generator-menu', CustomFavoriteItem, 0);
return CustomFavoriteItem;
});
export default CustomFavoriteItem;
@@ -1,13 +1,12 @@
odoo.define('web.CustomFilterItem', function (require) {
"use strict";
const { Dropdown } = require("@web/core/dropdown/dropdown");
const { DatePicker, DateTimePicker } = require('web.DatePickerOwl');
const Domain = require('web.Domain');
const { FIELD_OPERATORS, FIELD_TYPES } = require('web.searchUtils');
const field_utils = require('web.field_utils');
const { useModel } = require('web.Model');
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.CustomFilterItem **/
import { Dropdown } from "@web/core/dropdown/dropdown";
import { DatePicker, DateTimePicker } from "web.DatePickerOwl";
import Domain from "web.Domain";
import { FIELD_OPERATORS, FIELD_TYPES } from "web.searchUtils";
import field_utils from "web.field_utils";
import { useModel } from "web.Model";
import { LegacyComponent } from "@web/legacy/legacy_component";
const { useState } = owl;
@@ -279,5 +278,4 @@ odoo.define('web.CustomFilterItem', function (require) {
CustomFilterItem.props = { fields: Object };
CustomFilterItem.template = "web.CustomFilterItem";
return CustomFilterItem;
});
export default CustomFilterItem;
@@ -1,13 +1,12 @@
odoo.define('web.FavoriteMenu', function (require) {
"use strict";
const { Dropdown } = require("@web/core/dropdown/dropdown");
const { SearchDropdownItem } = require("@web/search/search_dropdown_item/search_dropdown_item");
const Dialog = require('web.OwlDialog');
const { FACET_ICONS } = require("web.searchUtils");
const Registry = require('web.Registry');
const { useModel } = require('web.Model');
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.FavoriteMenu **/
import { Dropdown } from "@web/core/dropdown/dropdown";
import { SearchDropdownItem } from "@web/search/search_dropdown_item/search_dropdown_item";
import Dialog from "web.OwlDialog";
import { FACET_ICONS } from "web.searchUtils";
import Registry from "web.Registry";
import { useModel } from "web.Model";
import { LegacyComponent } from "@web/legacy/legacy_component";
const { useState } = owl;
@@ -86,5 +85,4 @@ odoo.define('web.FavoriteMenu', function (require) {
FavoriteMenu.components = { Dialog, Dropdown, SearchDropdownItem };
FavoriteMenu.template = 'web.Legacy.FavoriteMenu';
return FavoriteMenu;
});
export default FavoriteMenu;
@@ -1,12 +1,11 @@
odoo.define('web.FilterMenu', function (require) {
"use strict";
const { Dropdown } = require("@web/core/dropdown/dropdown");
const { SearchDropdownItem } = require("@web/search/search_dropdown_item/search_dropdown_item");
const CustomFilterItem = require('web.CustomFilterItem');
const { FACET_ICONS } = require("web.searchUtils");
const { useModel } = require('web.Model');
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.FilterMenu **/
import { Dropdown } from "@web/core/dropdown/dropdown";
import { SearchDropdownItem } from "@web/search/search_dropdown_item/search_dropdown_item";
import CustomFilterItem from "web.CustomFilterItem";
import { FACET_ICONS } from "web.searchUtils";
import { useModel } from "web.Model";
import { LegacyComponent } from "@web/legacy/legacy_component";
/**
* 'Filters' menu
@@ -62,5 +61,4 @@ odoo.define('web.FilterMenu', function (require) {
FilterMenu.template = "web.legacy.FilterMenu";
FilterMenu.components = { CustomFilterItem, Dropdown, SearchDropdownItem };
return FilterMenu;
});
export default FilterMenu;
@@ -1,12 +1,11 @@
odoo.define('web.GroupByMenu', function (require) {
"use strict";
const { Dropdown } = require("@web/core/dropdown/dropdown");
const { SearchDropdownItem } = require("@web/search/search_dropdown_item/search_dropdown_item");
const { CustomGroupByItem } = require('@web/search/group_by_menu/custom_group_by_item');
const { FACET_ICONS, GROUPABLE_TYPES } = require('web.searchUtils');
const { useModel } = require('web.Model');
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.GroupByMenu **/
import { Dropdown } from "@web/core/dropdown/dropdown";
import { SearchDropdownItem } from "@web/search/search_dropdown_item/search_dropdown_item";
import { CustomGroupByItem } from "@web/search/group_by_menu/custom_group_by_item";
import { FACET_ICONS, GROUPABLE_TYPES } from "web.searchUtils";
import { useModel } from "web.Model";
import { LegacyComponent } from "@web/legacy/legacy_component";
class GroupByMenu extends LegacyComponent {
@@ -74,5 +73,4 @@ odoo.define('web.GroupByMenu', function (require) {
GroupByMenu.props = { fields: Object };
GroupByMenu.template = "web.GroupByMenu";
return GroupByMenu;
});
export default GroupByMenu;
@@ -1,12 +1,11 @@
odoo.define('web.SearchBar', function (require) {
"use strict";
const Domain = require('web.Domain');
const field_utils = require('web.field_utils');
const { useAutofocus } = require("@web/core/utils/hooks");
const { useModel } = require('web.Model');
const { fuzzyTest } = require('@web/core/utils/search');
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.SearchBar **/
import Domain from "web.Domain";
import field_utils from "web.field_utils";
import { useAutofocus } from "@web/core/utils/hooks";
import { useModel } from "web.Model";
import { fuzzyTest } from "@web/core/utils/search";
import { LegacyComponent } from "@web/legacy/legacy_component";
const { onMounted, onWillUnmount, toRaw, useExternalListener, useState } = owl;
const CHAR_FIELDS = ['char', 'html', 'many2many', 'many2one', 'one2many', 'text'];
@@ -489,5 +488,4 @@ odoo.define('web.SearchBar', function (require) {
};
SearchBar.template = 'web.Legacy.SearchBar';
return SearchBar;
});
export default SearchBar;
@@ -1,9 +1,8 @@
odoo.define('web.searchUtils', function (require) {
"use strict";
const { _lt, _t } = require('web.core');
const Domain = require('web.Domain');
const pyUtils = require('web.py_utils');
/** @odoo-module alias=web.searchUtils **/
import { _lt, _t } from "web.core";
import Domain from "web.Domain";
import pyUtils from "web.py_utils";
//-------------------------------------------------------------------------
// Constants
@@ -527,7 +526,7 @@ odoo.define('web.searchUtils', function (require) {
return selectedOptionIds.some(optionId => !!YEAR_OPTIONS[optionId]);
}
return {
export default {
COMPARISON_OPTIONS,
DEFAULT_INTERVAL,
DEFAULT_PERIOD,
@@ -546,4 +545,3 @@ odoo.define('web.searchUtils', function (require) {
rankInterval,
yearSelected,
};
});
@@ -1,10 +1,9 @@
odoo.define('web.AbstractService', function (require) {
"use strict";
/** @odoo-module alias=web.AbstractService **/
var Class = require('web.Class');
const { serviceRegistry } = require("web.core");
var Mixins = require('web.mixins');
var ServicesMixin = require('web.ServicesMixin');
import Class from "web.Class";
import { serviceRegistry } from "web.core";
import Mixins from "web.mixins";
import ServicesMixin from "web.ServicesMixin";
var AbstractService = Class.extend(Mixins.EventDispatcherMixin, ServicesMixin, {
dependencies: [],
@@ -87,5 +86,4 @@ var AbstractService = Class.extend(Mixins.EventDispatcherMixin, ServicesMixin, {
}
});
return AbstractService;
});
export default AbstractService;
@@ -1,12 +1,11 @@
odoo.define('web.AbstractStorageService', function (require) {
'use strict';
/** @odoo-module alias=web.AbstractStorageService **/
/**
* This module defines an abstraction for services that write into Storage
* objects (e.g. localStorage or sessionStorage).
*/
var AbstractService = require('web.AbstractService');
import AbstractService from "web.AbstractService";
var AbstractStorageService = AbstractService.extend({
// the 'storage' attribute must be set by actual StorageServices extending
@@ -83,6 +82,4 @@ var AbstractStorageService = AbstractService.extend({
},
});
return AbstractStorageService;
});
export default AbstractStorageService;
+9 -12
View File
@@ -1,13 +1,12 @@
odoo.define('web.ajax', function (require) {
"use strict";
/** @odoo-module alias=web.ajax **/
var config = require('web.config');
var core = require('web.core');
const {Markup} = require('web.utils');
var time = require('web.time');
var download = require('web.download');
var contentdisposition = require('web.contentdisposition');
const { session } = require('@web/session');
import config from "web.config";
import core from "web.core";
import {Markup} from "web.utils";
import time from "web.time";
import download from "web.download";
import contentdisposition from "web.contentdisposition";
import { session } from "@web/session";
var _t = core._t;
@@ -325,6 +324,4 @@ _.extend(ajax, {
post: post,
});
return ajax;
});
export default ajax;
@@ -1,7 +1,6 @@
odoo.define('web.BrowserDetection', function (require) {
"use strict";
var Class = require('web.Class');
const { isMacOS, isBrowserChrome } = require('@web/core/browser/feature_detection');
/** @odoo-module alias=web.BrowserDetection **/
import Class from "web.Class";
import { isMacOS, isBrowserChrome } from "@web/core/browser/feature_detection";
var BrowserDetection = Class.extend({
init: function () {
@@ -10,6 +9,4 @@ odoo.define('web.BrowserDetection', function (require) {
isOsMac: isMacOS,
isBrowserChrome,
});
return BrowserDetection;
});
export default BrowserDetection;
+4 -7
View File
@@ -1,19 +1,16 @@
odoo.define('web.Bus', function (require) {
"use strict";
/** @odoo-module alias=web.Bus **/
var Class = require('web.Class');
var mixins = require('web.mixins');
import Class from "web.Class";
import mixins from "web.mixins";
/**
* Event Bus used to bind events scoped in the current instance
*
* @class Bus
*/
return Class.extend(mixins.EventDispatcherMixin, {
export default Class.extend(mixins.EventDispatcherMixin, {
init: function (parent) {
mixins.EventDispatcherMixin.init.call(this);
this.setParent(parent);
},
});
});
@@ -1,5 +1,4 @@
odoo.define('web.Class', function () {
"use strict";
/** @odoo-module alias=web.Class **/
/**
* Improved John Resig's inheritance, based on:
*
@@ -152,5 +151,4 @@ OdooClass.extend = function() {
return Class;
};
return OdooClass;
});
export default OdooClass;
@@ -1,7 +1,6 @@
odoo.define("web.collections", function (require) {
"use strict";
var Class = require("web.Class");
/** @odoo-module alias=web.collections **/
import Class from "web.Class";
/**
* Allows to build a tree representation of a data.
@@ -38,7 +37,6 @@ odoo.define("web.collections", function (require) {
},
});
return {
export default {
Tree: Tree,
};
});
@@ -1,5 +1,4 @@
odoo.define('web.concurrency', function (require) {
"use strict";
/** @odoo-module alias=web.concurrency **/
/**
* Concurrency Utils
@@ -15,9 +14,9 @@ odoo.define('web.concurrency', function (require) {
* we solved some concurrency issues, when we noticed that a pattern emerged.
*/
var Class = require('web.Class');
import Class from "web.Class";
return {
export default {
/**
* Returns a promise resolved after 'wait' milliseconds
*
@@ -319,5 +318,3 @@ return {
});
}
};
});
@@ -1,8 +1,7 @@
odoo.define('web.Context', function (require) {
"use strict";
/** @odoo-module alias=web.Context **/
var Class = require('web.Class');
var pyUtils = require('web.py_utils');
import Class from "web.Class";
import pyUtils from "web.py_utils";
var Context = Class.extend({
init: function () {
@@ -48,6 +47,4 @@ var Context = Class.extend({
},
});
return Context;
});
export default Context;
@@ -1,5 +1,4 @@
odoo.define('web.utils.cookies', function (require) {
"use strict";
/** @odoo-module alias=web.utils.cookies **/
const utils = {
/**
@@ -70,5 +69,4 @@ const utils = {
].join(';');
},
};
return utils;
});
export default utils;
@@ -1,10 +1,9 @@
odoo.define('web.Dialog', function (require) {
"use strict";
/** @odoo-module alias=web.Dialog **/
var core = require('web.core');
var dom = require('web.dom');
var Widget = require('web.Widget');
const OwlDialog = require('web.OwlDialog');
import core from "web.core";
import dom from "web.dom";
import Widget from "web.Widget";
import OwlDialog from "web.OwlDialog";
var QWeb = core.qweb;
var _t = core._t;
@@ -535,6 +534,4 @@ Dialog.safeConfirm = function (owner, message, options) {
return dialog.open();
};
return Dialog;
});
export default Dialog;
+4 -15
View File
@@ -1,14 +1,4 @@
odoo.define('web.dom_ready', function (require) {
'use strict';
return new Promise(function (resolve, reject) {
$(resolve);
});
});
//==============================================================================
odoo.define('web.dom', function (require) {
"use strict";
/** @odoo-module alias=web.dom **/
/**
* DOM Utility helpers
@@ -19,8 +9,8 @@ odoo.define('web.dom', function (require) {
* something happens in the DOM.
*/
var concurrency = require('web.concurrency');
var core = require('web.core');
import concurrency from "web.concurrency";
import core from "web.core";
var _t = core._t;
/**
@@ -634,5 +624,4 @@ var dom = {
});
},
};
return dom;
});
export default dom;
@@ -0,0 +1,5 @@
/** @odoo-module alias=web.dom_ready **/
export default new Promise(function (resolve, reject) {
$(resolve);
});
@@ -1,8 +1,7 @@
odoo.define("web.Domain", function (require) {
"use strict";
/** @odoo-module alias=web.Domain **/
var collections = require("web.collections");
var pyUtils = require("web.py_utils");
import collections from "web.collections";
import pyUtils from "web.py_utils";
var py = window.py; // look py.js
const TRUE_LEAF = [1, '=', 1];
@@ -429,5 +428,4 @@ Domain.FALSE_LEAF = FALSE_LEAF;
Domain.TRUE_DOMAIN = TRUE_DOMAIN;
Domain.FALSE_DOMAIN = FALSE_DOMAIN;
return Domain;
});
export default Domain;
@@ -1,8 +1,7 @@
odoo.define('web.local_storage', function (require) {
'use strict';
/** @odoo-module alias=web.local_storage **/
var RamStorage = require('web.RamStorage');
var mixins = require('web.mixins');
import RamStorage from "web.RamStorage";
import mixins from "web.mixins";
// use a fake localStorage in RAM if the native localStorage is unavailable
// (e.g. private browsing in Safari)
@@ -49,6 +48,4 @@ try {
storage = new RamStorage();
}
return storage;
});
export default storage;
+5 -8
View File
@@ -1,9 +1,8 @@
odoo.define('web.framework', function (require) {
"use strict";
/** @odoo-module alias=web.framework **/
var core = require('web.core');
var ajax = require('web.ajax');
var Widget = require('web.Widget');
import core from "web.core";
import ajax from "web.ajax";
import Widget from "web.Widget";
var _t = core._t;
@@ -141,10 +140,8 @@ if (!document.contains) {
};
}
return {
export default {
blockUI: blockUI,
unblockUI: unblockUI,
redirect: redirect,
};
});
@@ -1,8 +1,7 @@
odoo.define('web.mixins', function (require) {
"use strict";
/** @odoo-module alias=web.mixins **/
var Class = require('web.Class');
var utils = require('web.utils');
import Class from "web.Class";
import utils from "web.utils";
/**
* Mixin to structure objects' life-cycles folowing a parent-children
@@ -409,10 +408,8 @@ var PropertiesMixin = _.extend({}, EventDispatcherMixin, {
}
});
return {
export default {
ParentedMixin: ParentedMixin,
EventDispatcherMixin: EventDispatcherMixin,
PropertiesMixin: PropertiesMixin,
};
});
+7 -10
View File
@@ -1,5 +1,4 @@
odoo.define('web.mvc', function (require) {
"use strict";
/** @odoo-module alias=web.mvc **/
/**
* This file contains a 'formalization' of a MVC pattern, applied to Odoo
@@ -29,11 +28,11 @@ odoo.define('web.mvc', function (require) {
* simple as possible.
*/
var Class = require('web.Class');
var mixins = require('web.mixins');
var ServicesMixin = require('web.ServicesMixin');
var Widget = require('web.Widget');
const { loadBundle } = require('@web/core/assets');
import Class from "web.Class";
import mixins from "web.mixins";
import ServicesMixin from "web.ServicesMixin";
import Widget from "web.Widget";
import { loadBundle } from "@web/core/assets";
/**
@@ -240,11 +239,9 @@ var Factory = Class.extend({
});
return {
export default {
Factory: Factory,
Model: Model,
Renderer: Renderer,
Controller: Controller,
};
});
@@ -1,14 +1,13 @@
odoo.define('web.OwlDialog', function (require) {
"use strict";
/** @odoo-module alias=web.OwlDialog **/
const { useRef, onMounted, onWillUnmount } = owl;
const SIZE_CLASSES = {
'extra-large': 'modal-xl',
'large': 'modal-lg',
'small': 'modal-sm',
};
const { renderToString } = require('@web/core/utils/render');
const { LegacyComponent } = require("@web/legacy/legacy_component");
import { renderToString } from "@web/core/utils/render";
import { LegacyComponent } from "@web/legacy/legacy_component";
/**
* Dialog (owl version)
@@ -286,5 +285,4 @@ odoo.define('web.OwlDialog', function (require) {
};
Dialog.template = 'web.OwlDialog';
return Dialog;
});
export default Dialog;
@@ -1,7 +1,6 @@
odoo.define('web.Popover', function (require) {
'use strict';
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module alias=web.Popover **/
import { LegacyComponent } from "@web/legacy/legacy_component";
const { status, onWillUnmount, useEffect, useRef, useState } = owl;
/**
@@ -356,5 +355,4 @@ odoo.define('web.Popover', function (require) {
},
};
return Popover;
});
export default Popover;
@@ -1,7 +1,6 @@
odoo.define('web.py_utils', function (require) {
"use strict";
/** @odoo-module alias=web.py_utils **/
var core = require('web.core');
import core from "web.core";
var _t = core._t;
var py = window.py; // to silence linters
@@ -547,7 +546,7 @@ function _normalizeDomainAST(domain) {
return domain;
}
return {
export default {
context: pycontext,
ensure_evaluated: ensure_evaluated,
eval: pyeval,
@@ -559,4 +558,3 @@ return {
_formatAST: _formatAST,
_normalizeDomainAST: _normalizeDomainAST,
};
});
+3 -6
View File
@@ -1,7 +1,6 @@
odoo.define('web.QWeb', function (require) {
"use strict";
/** @odoo-module alias=web.QWeb **/
var translation = require('web.translation');
import translation from "web.translation";
var _t = translation._t;
@@ -57,6 +56,4 @@ function preprocess_node() {
}
}
return QWeb;
});
export default QWeb;
@@ -1,5 +1,4 @@
odoo.define('web.RamStorage', function (require) {
'use strict';
/** @odoo-module alias=web.RamStorage **/
/**
* This module defines an alternative of the Storage objects (localStorage,
@@ -7,8 +6,8 @@ odoo.define('web.RamStorage', function (require) {
* are unavailable (e.g. in private browsing on Safari).
*/
var Class = require('web.Class');
var mixins = require('web.mixins');
import Class from "web.Class";
import mixins from "web.mixins";
var RamStorage = Class.extend(mixins.EventDispatcherMixin, {
@@ -77,6 +76,4 @@ var RamStorage = Class.extend(mixins.EventDispatcherMixin, {
},
});
return RamStorage;
});
export default RamStorage;
@@ -1,7 +1,6 @@
odoo.define("web.Registry", function (require) {
"use strict";
const { sortBy } = require("web.utils");
/** @odoo-module alias=web.Registry **/
import { sortBy } from "web.utils";
/**
* The registry is really pretty much only a mapping from some keys to some
@@ -150,5 +149,4 @@ odoo.define("web.Registry", function (require) {
}
}
return Registry;
});
export default Registry;
+3 -6
View File
@@ -1,7 +1,6 @@
odoo.define('web.rpc', function (require) {
"use strict";
/** @odoo-module alias=web.rpc **/
var ajax = require('web.ajax');
import ajax from "web.ajax";
const rpc = {
/**
@@ -123,6 +122,4 @@ const rpc = {
},
};
return rpc;
});
export default rpc;
@@ -1,106 +1,6 @@
odoo.define('web.ServiceProviderMixin', function (require) {
"use strict";
/** @odoo-module alias=web.ServicesMixin **/
var core = require('web.core');
// ServiceProviderMixin is deprecated. It is only used by the ProjectTimesheet
// app. As soon as it no longer uses it, we can remove it.
var ServiceProviderMixin = {
services: {}, // dict containing deployed service instances
UndeployedServices: {}, // dict containing classes of undeployed services
/**
* @override
*/
init: function (parent) {
var self = this;
// to properly instantiate services with this as parent, this mixin
// assumes that it is used along the EventDispatcherMixin, and that
// EventDispatchedMixin's init is called first
// as EventDispatcherMixin's init is already called, this handler has
// to be bound manually
this.on('call_service', this, this._call_service.bind(this));
// add already registered services from the service registry
_.each(core.serviceRegistry.map, function (Service, serviceName) {
if (serviceName in self.UndeployedServices) {
throw new Error('Service "' + serviceName + '" is already loaded.');
}
self.UndeployedServices[serviceName] = Service;
});
this._deployServices();
// listen on newly added services
core.serviceRegistry.onAdd(function (serviceName, Service) {
if (serviceName in self.services || serviceName in self.UndeployedServices) {
throw new Error('Service "' + serviceName + '" is already loaded.');
}
self.UndeployedServices[serviceName] = Service;
self._deployServices();
});
},
//--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------
/**
* @private
*/
_deployServices: function () {
var self = this;
var done = false;
while (!done) {
var serviceName = _.findKey(this.UndeployedServices, function (Service) {
// no missing dependency
return !_.some(Service.prototype.dependencies, function (depName) {
return !self.services[depName];
});
});
if (serviceName) {
var service = new this.UndeployedServices[serviceName](this);
this.services[serviceName] = service;
delete this.UndeployedServices[serviceName];
service.start();
} else {
done = true;
}
}
},
//--------------------------------------------------------------------------
// Handlers
//--------------------------------------------------------------------------
/**
* Call the 'service', using data from the 'event' that
* has triggered the service call.
*
* For the ajax service, the arguments are extended with
* the target so that it can call back the caller.
*
* @private
* @param {OdooEvent} event
*/
_call_service: function (event) {
var args = event.data.args || [];
if (event.data.service === 'ajax' && event.data.method === 'rpc') {
// ajax service uses an extra 'target' argument for rpc
args = args.concat(event.target);
}
var service = this.services[event.data.service];
var result = service[event.data.method].apply(service, args);
event.data.callback(result);
},
};
return ServiceProviderMixin;
});
odoo.define('web.ServicesMixin', function (require) {
"use strict";
var rpc = require('web.rpc');
import rpc from "web.rpc";
/**
* @mixin
@@ -242,6 +142,4 @@ var ServicesMixin = {
},
};
return ServicesMixin;
});
export default ServicesMixin;
@@ -1,12 +1,11 @@
odoo.define('web.Session', function (require) {
"use strict";
/** @odoo-module alias=web.Session **/
var ajax = require('web.ajax');
var core = require('web.core');
var mixins = require('web.mixins');
const {setCookie} = require('web.utils.cookies');
const { session } = require('@web/session');
const { loadJS } = require('@web/core/assets');
import ajax from "web.ajax";
import core from "web.core";
import mixins from "web.mixins";
import {setCookie} from "web.utils.cookies";
import { session } from "@web/session";
import { loadJS } from "@web/core/assets";
var _t = core._t;
@@ -349,6 +348,4 @@ var Session = core.Class.extend(mixins.EventDispatcherMixin, {
},
});
return Session;
});
export default Session;
@@ -1,8 +1,7 @@
odoo.define('web.sessionStorage', function (require) {
'use strict';
/** @odoo-module alias=web.sessionStorage **/
var RamStorage = require('web.RamStorage');
var mixins = require('web.mixins');
import RamStorage from "web.RamStorage";
import mixins from "web.mixins";
// use a fake sessionStorage in RAM if the native sessionStorage is unavailable
// (e.g. private browsing in Safari)
@@ -51,6 +50,4 @@ try {
storage = new RamStorage();
}
return storage;
});
export default storage;
@@ -1,8 +1,7 @@
odoo.define('web.smooth_scroll_on_drag', function (require) {
"use strict";
/** @odoo-module alias=web.smooth_scroll_on_drag **/
const Class = require('web.Class');
const mixins = require('web.mixins');
import Class from "web.Class";
import mixins from "web.mixins";
/**
* Provides a helper for SmoothScrollOnDrag options.offsetElements
@@ -427,5 +426,4 @@ const SmoothScrollOnDrag = Class.extend(mixins.ParentedMixin, {
},
});
return SmoothScrollOnDrag;
});
export default SmoothScrollOnDrag;
+4 -8
View File
@@ -1,8 +1,7 @@
odoo.define('web.time', function (require) {
"use strict";
/** @odoo-module alias=web.time **/
var translation = require('web.translation');
var utils = require('web.utils');
import translation from "web.translation";
import utils from "web.utils";
var lpad = utils.lpad;
var rpad = utils.rpad;
@@ -329,7 +328,7 @@ function getLangTimeFormatWoZero() {
return timeFormatWoZeroCache[timeFormat];
}
return {
export default {
date_to_utc: date_to_utc,
str_to_datetime: str_to_datetime,
str_to_date: str_to_date,
@@ -347,6 +346,3 @@ return {
getLangTimeFormatWoZero: getLangTimeFormatWoZero,
getLangDatetimeFormat: getLangDatetimeFormat,
};
});
@@ -1,9 +1,8 @@
odoo.define('web.translation', function (require) {
"use strict";
/** @odoo-module alias=web.translation **/
var Class = require('web.Class');
const { _lt } = require("@web/core/l10n/translation");
import Class from "web.Class";
import { _lt } from "@web/core/l10n/translation";
var TranslationDataBase = Class.extend(/** @lends instance.TranslationDataBase# */{
init: function() {
@@ -114,10 +113,8 @@ var _t = new TranslationDataBase().build_translation_function();
}
return {
export default {
_t: _t,
_lt: _lt,
TranslationDataBase: TranslationDataBase,
};
});
@@ -1,5 +1,4 @@
odoo.define('web.utils', function (require) {
"use strict";
/** @odoo-module alias=web.utils **/
/**
* Utils
@@ -7,9 +6,9 @@ odoo.define('web.utils', function (require) {
* Various generic utility functions
*/
var translation = require('web.translation');
import translation from "web.translation";
const { Component } = require("@odoo/owl");
import { Component } from "@odoo/owl";
var _t = translation._t;
var id = -1;
@@ -1130,6 +1129,4 @@ const utils = {
},
};
return utils;
});
export default utils;
@@ -1,10 +1,9 @@
odoo.define('web.Widget', function (require) {
"use strict";
/** @odoo-module alias=web.Widget **/
var core = require('web.core');
var mixins = require('web.mixins');
var ServicesMixin = require('web.ServicesMixin');
const { loadBundle } = require("@web/core/assets");
import core from "web.core";
import mixins from "web.mixins";
import ServicesMixin from "web.ServicesMixin";
import { loadBundle } from "@web/core/assets";
/**
@@ -430,6 +429,4 @@ var Widget = core.Class.extend(mixins.PropertiesMixin, ServicesMixin, {
},
});
return Widget;
});
export default Widget;
@@ -1,5 +1,4 @@
odoo.define('web.AbstractField', function (require) {
"use strict";
/** @odoo-module alias=web.AbstractField **/
/**
* This is the basic field widget used by all the views to render a field in a view.
@@ -30,8 +29,8 @@ odoo.define('web.AbstractField', function (require) {
* @module web.AbstractField
*/
var field_utils = require('web.field_utils');
var Widget = require('web.Widget');
import field_utils from "web.field_utils";
import Widget from "web.Widget";
var AbstractField = Widget.extend({
events: {
@@ -686,6 +685,4 @@ var AbstractField = Widget.extend({
},
});
return AbstractField;
});
export default AbstractField;
@@ -1,5 +1,4 @@
odoo.define('web.basic_fields', function (require) {
"use strict";
/** @odoo-module alias=web.basic_fields **/
/**
* This module contains most of the basic (meaning: non relational) field
@@ -7,15 +6,15 @@ odoo.define('web.basic_fields', function (require) {
* BasicView, so, they can work with the records obtained from a BasicModel.
*/
var AbstractField = require('web.AbstractField');
var core = require('web.core');
var datepicker = require('web.datepicker');
var dom = require('web.dom');
var framework = require('web.framework');
var py_utils = require('web.py_utils');
var session = require('web.session');
var field_utils = require('web.field_utils');
var utils = require('web.utils');
import AbstractField from "web.AbstractField";
import core from "web.core";
import datepicker from "web.datepicker";
import dom from "web.dom";
import framework from "web.framework";
import py_utils from "web.py_utils";
import session from "web.session";
import field_utils from "web.field_utils";
import utils from "web.utils";
var _t = core._t;
var _lt = core._lt;
@@ -1760,7 +1759,7 @@ var FieldToggleBoolean = AbstractField.extend({
},
});
return {
export default {
TranslatableFieldMixin: TranslatableFieldMixin,
DebouncedField: DebouncedField,
FieldBinaryFile: FieldBinaryFile,
@@ -1782,5 +1781,3 @@ return {
NumericField: NumericField,
UrlWidget: UrlWidget,
};
});
@@ -0,0 +1,38 @@
/** @odoo-module **/
import AbstractField from "web.AbstractField";
import basic_fields from "web.basic_fields";
import relational_fields from "web.relational_fields";
import registry from "web.field_registry";
// Basic fields
registry
.add('abstract', AbstractField)
.add('input', basic_fields.InputField)
.add('integer', basic_fields.FieldInteger)
.add('boolean', basic_fields.FieldBoolean)
.add('date', basic_fields.FieldDate)
.add('datetime', basic_fields.FieldDateTime)
.add('float', basic_fields.FieldFloat)
.add('char', basic_fields.FieldChar)
.add('text', basic_fields.FieldText)
.add('url', basic_fields.UrlWidget)
.add('binary', basic_fields.FieldBinaryFile)
.add('monetary', basic_fields.FieldMonetary)
.add('percentage', basic_fields.FieldPercentage)
.add('float_time', basic_fields.FieldFloatTime)
.add('float_factor', basic_fields.FieldFloatFactor)
.add('float_toggle', basic_fields.FieldFloatToggle)
.add('many2one_reference', basic_fields.FieldInteger)
// Relational fields
registry
.add('many2one', relational_fields.FieldMany2One)
.add('many2one_avatar', relational_fields.Many2OneAvatar)
.add('many2many_tags', relational_fields.FieldMany2ManyTags)
.add('many2many_tags_avatar', relational_fields.FieldMany2ManyTagsAvatar)
.add('kanban.many2many_tags_avatar', relational_fields.KanbanMany2ManyTagsAvatar)
.add('list.many2many_tags_avatar', relational_fields.ListMany2ManyTagsAvatar)
.add('form.many2many_tags', relational_fields.FormFieldMany2ManyTags)
.add('radio', relational_fields.FieldRadio)
.add('selection', relational_fields.FieldSelection);
@@ -1,53 +1,10 @@
odoo.define('web.field_registry', function (require) {
"use strict";
const Registry = require('web.Registry');
/** @odoo-module alias=web.field_registry **/
import Registry from "web.Registry";
const { Component } = owl;
return new Registry(
export default new Registry(
null,
(value) => !(value.prototype instanceof Component)
);
});
odoo.define('web._field_registry', function (require) {
"use strict";
var AbstractField = require('web.AbstractField');
var basic_fields = require('web.basic_fields');
var relational_fields = require('web.relational_fields');
var registry = require('web.field_registry');
// Basic fields
registry
.add('abstract', AbstractField)
.add('input', basic_fields.InputField)
.add('integer', basic_fields.FieldInteger)
.add('boolean', basic_fields.FieldBoolean)
.add('date', basic_fields.FieldDate)
.add('datetime', basic_fields.FieldDateTime)
.add('float', basic_fields.FieldFloat)
.add('char', basic_fields.FieldChar)
.add('text', basic_fields.FieldText)
.add('url', basic_fields.UrlWidget)
.add('binary', basic_fields.FieldBinaryFile)
.add('monetary', basic_fields.FieldMonetary)
.add('percentage', basic_fields.FieldPercentage)
.add('float_time', basic_fields.FieldFloatTime)
.add('float_factor', basic_fields.FieldFloatFactor)
.add('float_toggle', basic_fields.FieldFloatToggle)
.add('many2one_reference', basic_fields.FieldInteger)
// Relational fields
registry
.add('many2one', relational_fields.FieldMany2One)
.add('many2one_avatar', relational_fields.Many2OneAvatar)
.add('many2many_tags', relational_fields.FieldMany2ManyTags)
.add('many2many_tags_avatar', relational_fields.FieldMany2ManyTagsAvatar)
.add('kanban.many2many_tags_avatar', relational_fields.KanbanMany2ManyTagsAvatar)
.add('list.many2many_tags_avatar', relational_fields.ListMany2ManyTagsAvatar)
.add('form.many2many_tags', relational_fields.FormFieldMany2ManyTags)
.add('radio', relational_fields.FieldRadio)
.add('selection', relational_fields.FieldSelection);
});
@@ -1,5 +1,4 @@
odoo.define('web.field_utils', function (require) {
"use strict";
/** @odoo-module alias=web.field_utils **/
/**
* Field Utils
@@ -15,11 +14,11 @@ odoo.define('web.field_utils', function (require) {
* conversions.
*/
var core = require('web.core');
var dom = require('web.dom');
var session = require('web.session');
var time = require('web.time');
var utils = require('web.utils');
import core from "web.core";
import dom from "web.dom";
import session from "web.session";
import time from "web.time";
import utils from "web.utils";
var _t = core._t;
@@ -745,7 +744,7 @@ function parseMany2one(value) {
return value;
}
return {
export default {
format: {
binary: formatBinary,
boolean: formatBoolean,
@@ -791,5 +790,3 @@ return {
json: _.identity, // todo
},
};
});
@@ -1,5 +1,4 @@
odoo.define('web.relational_fields', function (require) {
"use strict";
/** @odoo-module alias=web.relational_fields **/
/**
* Relational Fields
@@ -13,16 +12,16 @@ odoo.define('web.relational_fields', function (require) {
* the corresponding record(s), or alter some of their fields.
*/
var AbstractField = require('web.AbstractField');
var concurrency = require('web.concurrency');
var core = require('web.core');
var Dialog = require('web.Dialog');
var dom = require('web.dom');
const { FormViewDialog } = require("@web/views/view_dialogs/form_view_dialog");
const { SelectCreateDialog } = require("@web/views/view_dialogs/select_create_dialog");
const Domain = require('web.Domain');
const { sprintf } = require("web.utils");
const { escape } = require("@web/core/utils/strings");
import AbstractField from "web.AbstractField";
import concurrency from "web.concurrency";
import core from "web.core";
import Dialog from "web.Dialog";
import dom from "web.dom";
import { FormViewDialog } from "@web/views/view_dialogs/form_view_dialog";
import { SelectCreateDialog } from "@web/views/view_dialogs/select_create_dialog";
import Domain from "web.Domain";
import { sprintf } from "web.utils";
import { escape } from "@web/core/utils/strings";
var _t = core._t;
var _lt = core._lt;
@@ -1703,7 +1702,7 @@ var FieldRadio = FieldSelection.extend({
},
});
return {
export default {
FieldMany2One: FieldMany2One,
Many2OneAvatar: Many2OneAvatar,
FieldMany2ManyTags: FieldMany2ManyTags,
@@ -1714,5 +1713,3 @@ return {
FieldRadio: FieldRadio,
FieldSelection: FieldSelection,
};
});
+6 -8
View File
@@ -1,9 +1,8 @@
odoo.define("web.Model", function (require) {
"use strict";
const { groupBy } = require("web.utils");
const Registry = require("web.Registry");
const { useBus } = require("@web/core/utils/hooks");
/** @odoo-module alias=web.Model **/
import { groupBy } from "web.utils";
import Registry from "web.Registry";
import { useBus } from "@web/core/utils/hooks";
const { EventBus, onWillRender, useComponent } = owl;
const isNotNull = (val) => val !== null && val !== undefined;
@@ -473,8 +472,7 @@ odoo.define("web.Model", function (require) {
return model;
}
return {
export default {
Model,
useModel,
};
});
@@ -1,8 +1,7 @@
odoo.define('web.OwlCompatibility', function (require) {
"use strict";
const { LegacyComponent } = require("@web/legacy/legacy_component");
const { templates } = require("@web/core/assets");
/** @odoo-module alias=web.OwlCompatibility **/
import { LegacyComponent } from "@web/legacy/legacy_component";
import { templates } from "@web/core/assets";
/**
* This file defines the necessary tools for the transition phase where Odoo
@@ -753,10 +752,9 @@ odoo.define('web.OwlCompatibility', function (require) {
}
}
return {
export default {
ComponentAdapter,
ComponentWrapper,
WidgetAdapterMixin,
standaloneAdapter,
};
});
@@ -1,5 +1,4 @@
odoo.define('web.public.lazyloader', function (require) {
'use strict';
/** @odoo-module alias=web.public.lazyloader **/
var blockEvents = ['submit', 'click'];
var blockFunction = function (ev) {
@@ -108,8 +107,7 @@ function _loadScripts(scripts, index) {
script.removeAttribute('data-src');
}
return {
export default {
loadScripts: _loadScripts,
allScriptsLoaded: _allScriptsLoaded,
};
});
@@ -1,11 +1,9 @@
odoo.define("web.public_env", function (require) {
"use strict";
/** @odoo-module alias=web.public_env **/
/**
* This file defines the env to use in the public side.
*/
const commonEnv = require("web.commonEnv");
import commonEnv from "web.commonEnv";
return commonEnv;
});
export default commonEnv;
@@ -1,9 +1,8 @@
odoo.define('web.AjaxService', function (require) {
"use strict";
/** @odoo-module alias=web.AjaxService **/
var AbstractService = require('web.AbstractService');
var core = require('web.core');
var session = require('web.session');
import AbstractService from "web.AbstractService";
import core from "web.core";
import session from "web.session";
var AjaxService = AbstractService.extend({
rpc: function (route, args, options, target) {
@@ -27,6 +26,4 @@ var AjaxService = AbstractService.extend({
core.serviceRegistry.add('ajax', AjaxService);
return AjaxService;
});
export default AjaxService;
@@ -1,9 +1,8 @@
odoo.define('web.config', function (require) {
"use strict";
/** @odoo-module alias=web.config **/
const Bus = require('web.Bus');
const { hasTouch, isAndroid, isIOS, isMobileOS } = require('@web/core/browser/feature_detection');
const { getMediaQueryLists } = require('@web/core/ui/ui_service');
import Bus from "web.Bus";
import { hasTouch, isAndroid, isIOS, isMobileOS } from "@web/core/browser/feature_detection";
import { getMediaQueryLists } from "@web/core/ui/ui_service";
const bus = new Bus();
@@ -118,6 +117,4 @@ function _updateSizeProps() {
_.invoke(medias, 'addListener', _updateSizeProps);
_updateSizeProps();
return config;
});
export default config;
@@ -1,12 +1,11 @@
odoo.define('web.core', function (require) {
"use strict";
/** @odoo-module alias=web.core **/
var Bus = require('web.Bus');
var config = require('web.config');
var Class = require('web.Class');
var QWeb = require('web.QWeb');
var Registry = require('web.Registry');
var translation = require('web.translation');
import Bus from "web.Bus";
import config from "web.config";
import Class from "web.Class";
import QWeb from "web.QWeb";
import Registry from "web.Registry";
import translation from "web.translation";
/**
* Whether the client is currently in "debug" mode
@@ -26,7 +25,7 @@ _.each('resize,scroll'.split(','), function (evtype) {
});
});
return {
export default {
qweb: new QWeb(config.isDebug()),
// core classes and functions
@@ -45,5 +44,3 @@ return {
*/
csrf_token: odoo.csrf_token,
};
});
@@ -1,13 +1,12 @@
odoo.define('web.DataManager', function (require) {
"use strict";
/** @odoo-module alias=web.data_manager **/
var config = require('web.config');
var core = require('web.core');
var rpc = require('web.rpc');
var session = require('web.session');
const { generateLegacyLoadViewsResult } = require("@web/legacy/legacy_load_views");
import config from "web.config";
import core from "web.core";
import rpc from "web.rpc";
import session from "web.session";
import { generateLegacyLoadViewsResult } from "@web/legacy/legacy_load_views";
return core.Class.extend({
const DataManager = core.Class.extend({
init: function () {
this._init_cache();
core.bus.on('clear_cache', this, this.invalidate.bind(this));
@@ -222,15 +221,6 @@ return core.Class.extend({
},
});
});
odoo.define('web.data_manager', function (require) {
"use strict";
var DataManager = require('web.DataManager');
var data_manager = new DataManager();
return data_manager;
});
export default data_manager;
@@ -1,13 +1,12 @@
odoo.define('web.LocalStorageService', function (require) {
'use strict';
/** @odoo-module alias=web.LocalStorageService **/
/**
* This module defines a service to access the localStorage object.
*/
var AbstractStorageService = require('web.AbstractStorageService');
var core = require('web.core');
var localStorage = require('web.local_storage');
import AbstractStorageService from "web.AbstractStorageService";
import core from "web.core";
import localStorage from "web.local_storage";
var LocalStorageService = AbstractStorageService.extend({
storage: localStorage,
@@ -15,6 +14,4 @@ var LocalStorageService = AbstractStorageService.extend({
core.serviceRegistry.add('local_storage', LocalStorageService);
return LocalStorageService;
});
export default LocalStorageService;
@@ -1,11 +1,8 @@
odoo.define('web.session', function (require) {
"use strict";
/** @odoo-module alias=web.session **/
var Session = require('web.Session');
import Session from "web.Session";
var session = new Session(undefined, undefined, {use_cors: false});
session.is_bound = session.session_bind();
return session;
});
export default session;
@@ -1,13 +1,12 @@
odoo.define('web.SessionStorageService', function (require) {
'use strict';
/** @odoo-module alias=web.SessionStorageService **/
/**
* This module defines a service to access the sessionStorage object.
*/
var AbstractStorageService = require('web.AbstractStorageService');
var core = require('web.core');
var sessionStorage = require('web.sessionStorage');
import AbstractStorageService from "web.AbstractStorageService";
import core from "web.core";
import sessionStorage from "web.sessionStorage";
var SessionStorageService = AbstractStorageService.extend({
storage: sessionStorage,
@@ -15,6 +14,4 @@ var SessionStorageService = AbstractStorageService.extend({
core.serviceRegistry.add('session_storage', SessionStorageService);
return SessionStorageService;
});
export default SessionStorageService;
@@ -1,5 +1,4 @@
odoo.define('web.tools', function (require) {
"use strict";
/** @odoo-module alias=web.tools **/
/**
* Wrapper for deprecated functions that display a warning message.
@@ -15,8 +14,6 @@ function deprecated(fn, message) {
};
}
return {
export default {
deprecated: deprecated,
};
});
@@ -1,5 +1,4 @@
odoo.define('web.BasicModel', function (require) {
"use strict";
/** @odoo-module alias=web.BasicModel **/
/**
* Basic Model
@@ -83,14 +82,14 @@ odoo.define('web.BasicModel', function (require) {
* element, so it can be edited later.
*/
var AbstractModel = require('web.AbstractModel');
var concurrency = require('web.concurrency');
var Context = require('web.Context');
var core = require('web.core');
var Domain = require('web.Domain');
var session = require('web.session');
var utils = require('web.utils');
var viewUtils = require('web.viewUtils');
import AbstractModel from "web.AbstractModel";
import concurrency from "web.concurrency";
import Context from "web.Context";
import core from "web.core";
import Domain from "web.Domain";
import session from "web.session";
import utils from "web.utils";
import viewUtils from "web.viewUtils";
var _t = core._t;
@@ -5428,5 +5427,4 @@ var BasicModel = AbstractModel.extend({
},
});
return BasicModel;
});
export default BasicModel;
@@ -1,10 +1,9 @@
odoo.define('web.Colorpicker', function (require) {
'use strict';
/** @odoo-module alias=web.Colorpicker **/
var core = require('web.core');
var utils = require('web.utils');
var Dialog = require('web.Dialog');
var Widget = require('web.Widget');
import core from "web.core";
import utils from "web.utils";
import Dialog from "web.Dialog";
import Widget from "web.Widget";
var _t = core._t;
@@ -736,8 +735,7 @@ const ColorpickerDialog = Dialog.extend({
},
});
return {
export default {
ColorpickerDialog: ColorpickerDialog,
ColorpickerWidget: ColorpickerWidget,
};
});
@@ -1,10 +1,9 @@
odoo.define('web.datepicker', function (require) {
"use strict";
/** @odoo-module alias=web.datepicker **/
var core = require('web.core');
var field_utils = require('web.field_utils');
var time = require('web.time');
var Widget = require('web.Widget');
import core from "web.core";
import field_utils from "web.field_utils";
import time from "web.time";
import Widget from "web.Widget";
var _t = core._t;
@@ -350,9 +349,7 @@ var DateTimeWidget = DateWidget.extend({
},
});
return {
export default {
DateWidget: DateWidget,
DateTimeWidget: DateTimeWidget,
};
});
@@ -1,13 +1,12 @@
odoo.define("web.DomainSelector", function (require) {
"use strict";
/** @odoo-module alias=web.DomainSelector **/
var core = require("web.core");
var datepicker = require("web.datepicker");
var dom = require('web.dom');
var Domain = require("web.Domain");
var field_utils = require("web.field_utils");
var ModelFieldSelector = require("web.ModelFieldSelector");
var Widget = require("web.Widget");
import core from "web.core";
import datepicker from "web.datepicker";
import dom from "web.dom";
import Domain from "web.Domain";
import field_utils from "web.field_utils";
import ModelFieldSelector from "web.ModelFieldSelector";
import Widget from "web.Widget";
var _t = core._t;
var _lt = core._lt;
@@ -1013,5 +1012,4 @@ function instantiateNode(parent, model, domain, options) {
return null;
}
return DomainSelector;
});
export default DomainSelector;
@@ -1,17 +1,16 @@
odoo.define("web.DomainSelectorDialog", function (require) {
"use strict";
/** @odoo-module alias=web.DomainSelectorDialog **/
var core = require("web.core");
var Dialog = require("web.Dialog");
var Domain = require("web.Domain");
var DomainSelector = require("web.DomainSelector");
import core from "web.core";
import Dialog from "web.Dialog";
import Domain from "web.Domain";
import DomainSelector from "web.DomainSelector";
var _t = core._t;
/**
* @class DomainSelectorDialog
*/
return Dialog.extend({
export default Dialog.extend({
custom_events: _.extend({}, Dialog.prototype.custom_events, {
domain_changed: "_onDomainChange",
}),
@@ -66,4 +65,3 @@ return Dialog.extend({
this.newDomain = ev.data.domain;
},
});
});
@@ -1,9 +1,8 @@
odoo.define("web.ModelFieldSelector", function (require) {
"use strict";
/** @odoo-module alias=web.ModelFieldSelector **/
var core = require("web.core");
var Widget = require("web.Widget");
var ModelFieldSelectorPopover = require("web.ModelFieldSelectorPopover");
import core from "web.core";
import Widget from "web.Widget";
import ModelFieldSelectorPopover from "web.ModelFieldSelectorPopover";
/**
* The ModelFieldSelector widget can be used to display/select a particular
@@ -175,5 +174,4 @@ var ModelFieldSelector = Widget.extend({
},
});
return ModelFieldSelector;
});
export default ModelFieldSelector;
@@ -1,9 +1,8 @@
odoo.define("web.ModelFieldSelectorPopover", function (require) {
"use strict";
/** @odoo-module alias=web.ModelFieldSelectorPopover **/
var core = require("web.core");
var Widget = require("web.Widget");
const { fuzzyLookup } = require('@web/core/utils/search');
import core from "web.core";
import Widget from "web.Widget";
import { fuzzyLookup } from "@web/core/utils/search";
var _t = core._t;
@@ -702,7 +701,7 @@ var ModelFieldSelectorPopover = Widget.extend({
}
});
return ModelFieldSelectorPopover;
export default ModelFieldSelectorPopover;
/**
* Allows to transform a mapping field name -> field info in an array of the
@@ -729,4 +728,3 @@ function sortFields(fields, model, order) {
}, p[1]);
}).value();
}
});
@@ -1,10 +1,9 @@
odoo.define('web.name_and_signature', function (require) {
'use strict';
/** @odoo-module alias=web.name_and_signature **/
var core = require('web.core');
var config = require('web.config');
var utils = require('web.utils');
var Widget = require('web.Widget');
import core from "web.core";
import config from "web.config";
import utils from "web.utils";
import Widget from "web.Widget";
/**
@@ -681,7 +680,6 @@ var NameAndSignature = Widget.extend({
},
});
return {
export default {
NameAndSignature: NameAndSignature,
};
});
+1 -1
View File
@@ -13,7 +13,7 @@ import { makeLegacyActionManagerService } from "./backend_utils";
import * as AbstractService from "web.AbstractService";
import legacyEnv from "web.env";
import * as session from "web.session";
import * as makeLegacyWebClientService from "web.pseudo_web_client";
import makeLegacyWebClientService from "web.pseudo_web_client";
import { templates } from "@web/core/assets";
import { Component, whenReady } from "@odoo/owl";
@@ -0,0 +1,32 @@
/** @odoo-module alias=web.pseudo_web_client **/
import FakeWebClient from "web.web_client";
function makeLegacyWebClientService(legacyEnv) {
const legacyPseudoWebClient = {
dependencies: ["title", "router"],
start(env) {
function setTitlePart(part, title = null) {
env.services.title.setParts({ [part]: title });
}
legacyEnv.bus.on("set_title_part", null, (params) => {
const { part, title } = params;
setTitlePart(part, title || null);
});
Object.assign(FakeWebClient, {
do_push_state(state) {
if ("title" in state) {
setTitlePart("action", state.title);
delete state.title;
}
env.services.router.pushState(state);
},
set_title(title) {
setTitlePart("action", title);
},
});
},
};
return legacyPseudoWebClient;
}
export default makeLegacyWebClientService;
+8 -9
View File
@@ -1,13 +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 web.legacySetup
require("web.legacySetup");
const { ComponentAdapter } = require("web.OwlCompatibility");
// for its method _trigger_up. We can't use a standalone adapter because it
// attempt to call env.isDebug which is not defined in the tests when this
// module is loaded.
return new ComponentAdapter({ Component: owl.Component }, owl.Component.env);
});
// need to wait for owl.Component.env to be set by web.legacySetup
import "web.legacySetup";
import { ComponentAdapter } from "web.OwlCompatibility";
// for its method _trigger_up. We can't use a standalone adapter because it
// attempt to call env.isDebug which is not defined in the tests when this
// module is loaded.
export default new ComponentAdapter({ Component: owl.Component }, owl.Component.env);
+2 -37
View File
@@ -1,37 +1,2 @@
odoo.define("web.web_client", function () {
return {};
});
odoo.define("web.pseudo_web_client", function (require) {
const FakeWebClient = require("web.web_client");
function makeLegacyWebClientService(legacyEnv) {
const legacyPseudoWebClient = {
dependencies: ["title", "router"],
start(env) {
function setTitlePart(part, title = null) {
env.services.title.setParts({ [part]: title });
}
legacyEnv.bus.on("set_title_part", null, (params) => {
const { part, title } = params;
setTitlePart(part, title || null);
});
Object.assign(FakeWebClient, {
do_push_state(state) {
if ("title" in state) {
setTitlePart("action", state.title);
delete state.title;
}
env.services.router.pushState(state);
},
set_title(title) {
setTitlePart("action", title);
},
});
},
};
return legacyPseudoWebClient;
}
return makeLegacyWebClientService;
});
/** @odoo-module alias=web.web_client **/
export default {};
-24
View File
@@ -1,27 +1,3 @@
odoo.define("web.SessionOverrideForTests", (require) => {
// Override the Session.session_reload function
// The wowl test infrastructure does set a correct odoo global value before each test
// while the session is built only once for all tests.
// So if a test does a session_reload, it will merge the odoo global of that test
// into the session, and will alter every subsequent test of the suite.
// Obviously, we don't want that, ever.
const { session: sessionInfo } = require("@web/session");
const initialSessionInfo = Object.assign({}, sessionInfo);
const Session = require("web.Session");
const { patch } = require("@web/core/utils/patch");
patch(Session.prototype, "web.SessionTestPatch", {
async session_reload() {
for (const key in sessionInfo) {
delete sessionInfo[key];
}
for (const key in initialSessionInfo) {
sessionInfo[key] = initialSessionInfo[key];
}
return await this._super(...arguments);
},
});
});
odoo.define("web.test_legacy", async (require) => {
require("web.SessionOverrideForTests");
require("web.test_utils");
@@ -0,0 +1,24 @@
/** @odoo-module alias=web.SessionOverrideForTests **/
// Override the Session.session_reload function
// The wowl test infrastructure does set a correct odoo global value before each test
// while the session is built only once for all tests.
// So if a test does a session_reload, it will merge the odoo global of that test
// into the session, and will alter every subsequent test of the suite.
// Obviously, we don't want that, ever.
import { session as sessionInfo } from "@web/session";
const initialSessionInfo = Object.assign({}, sessionInfo);
import Session from "web.Session";
import { patch } from "@web/core/utils/patch";
patch(Session.prototype, "web.SessionTestPatch", {
async session_reload() {
for (const key in sessionInfo) {
delete sessionInfo[key];
}
for (const key in initialSessionInfo) {
sessionInfo[key] = initialSessionInfo[key];
}
return await this._super(...arguments);
},
});
@@ -1,13 +1,12 @@
odoo.define('web.component_extension_tests', function (require) {
"use strict";
const makeTestEnvironment = require("web.test_env");
const testUtils = require("web.test_utils");
const { destroy, getFixture, mount } = require("@web/../tests/helpers/utils");
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module **/
import makeTestEnvironment from "web.test_env";
import testUtils from "web.test_utils";
import { destroy, getFixture, mount } from "@web/../tests/helpers/utils";
import { LegacyComponent } from "@web/legacy/legacy_component";
const { xml } = owl;
const { useListener } = require("@web/core/utils/hooks");
import { useListener } from "@web/core/utils/hooks";
let target;
QUnit.module("web", { beforeEach() { target = getFixture(); }}, function () {
@@ -237,4 +236,3 @@ odoo.define('web.component_extension_tests', function (require) {
assert.verifySteps(['Root custom1', 'Leaf custom1']);
});
});
});
@@ -1,9 +1,8 @@
odoo.define('web.action_menus_tests', function (require) {
"use strict";
const ActionMenus = require('web.ActionMenus');
const Registry = require('web.Registry');
const testUtils = require('web.test_utils');
/** @odoo-module **/
import ActionMenus from "web.ActionMenus";
import Registry from "web.Registry";
import testUtils from "web.test_utils";
const { Component } = owl;
const { createComponent } = testUtils;
@@ -261,4 +260,3 @@ odoo.define('web.action_menus_tests', function (require) {
await testUtils.controlPanel.toggleMenuItem(actionMenus, "What's taters, precious ?");
});
});
});
@@ -1,8 +1,7 @@
odoo.define('web.custom_file_input_tests', function (require) {
"use strict";
const CustomFileInput = require('web.CustomFileInput');
const testUtils = require('web.test_utils');
/** @odoo-module **/
import CustomFileInput from "web.CustomFileInput";
import testUtils from "web.test_utils";
const { createComponent } = testUtils;
@@ -83,4 +82,3 @@ odoo.define('web.custom_file_input_tests', function (require) {
assert.verifySteps(['/web/binary/upload_attachment']);
});
});
});
@@ -1,9 +1,8 @@
odoo.define('web.datepicker_tests', function (require) {
"use strict";
const { DatePicker, DateTimePicker } = require('web.DatePickerOwl');
const testUtils = require('web.test_utils');
const time = require('web.time');
/** @odoo-module **/
import { DatePicker, DateTimePicker } from "web.DatePickerOwl";
import testUtils from "web.test_utils";
import time from "web.time";
const { createComponent } = testUtils;
@@ -330,4 +329,3 @@ odoo.define('web.datepicker_tests', function (require) {
testUtils.mock.unpatch(time);
});
});
});
@@ -1,8 +1,7 @@
odoo.define('web.dropdown_menu_mobile_tests', function (require) {
"use strict";
const DropdownMenu = require('web.DropdownMenu');
const testUtils = require('web.test_utils');
/** @odoo-module **/
import DropdownMenu from "web.DropdownMenu";
import testUtils from "web.test_utils";
const { createComponent } = testUtils;
@@ -65,4 +64,3 @@ odoo.define('web.dropdown_menu_mobile_tests', function (require) {
});
});
});
@@ -1,11 +1,10 @@
odoo.define('web.dropdown_menu_tests', function (require) {
"use strict";
const DropdownMenu = require('web.DropdownMenu');
const testUtils = require('web.test_utils');
const makeTestEnvironment = require("web.test_env");
const { mount } = require("@web/../tests/helpers/utils");
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module **/
import DropdownMenu from "web.DropdownMenu";
import testUtils from "web.test_utils";
import makeTestEnvironment from "web.test_env";
import { mount } from "@web/../tests/helpers/utils";
import { LegacyComponent } from "@web/legacy/legacy_component";
const { useState, xml } = owl;
const { createComponent } = testUtils;
@@ -427,4 +426,3 @@ odoo.define('web.dropdown_menu_tests', function (require) {
assert.hasClass(firstItemEl.querySelector("i"), "o_icon_right fa fa-caret-down");
});
});
});
@@ -1,9 +1,8 @@
odoo.define('web.pager_tests', function (require) {
"use strict";
const Pager = require('web.Pager');
const testUtils = require('web.test_utils');
const { LegacyComponent } = require("@web/legacy/legacy_component");
/** @odoo-module **/
import Pager from "web.Pager";
import testUtils from "web.test_utils";
import { LegacyComponent } from "@web/legacy/legacy_component";
const { createComponent } = testUtils;
@@ -185,4 +184,3 @@ odoo.define('web.pager_tests', function (require) {
"pager edition is re-enabled");
});
});
});
@@ -1,13 +1,12 @@
odoo.define('web.comparison_menu_tests', function (require) {
"use strict";
const { browser } = require('@web/core/browser/browser');
const { patchWithCleanup } = require('@web/../tests/helpers/utils');
const cpHelpers = require('@web/../tests/search/helpers');
const {
/** @odoo-module **/
import { browser } from "@web/core/browser/browser";
import { patchWithCleanup } from "@web/../tests/helpers/utils";
import * as cpHelpers from "@web/../tests/search/helpers";
import {
createControlPanel,
mock,
} = require('web.test_utils');
} from "web.test_utils";
const { patchDate } = mock;
const searchMenuTypes = ['filter', 'comparison'];
@@ -166,4 +165,3 @@ odoo.define('web.comparison_menu_tests', function (require) {
assert.notOk("timeRanges" in controlPanel.getQuery());
});
});
});
@@ -1,8 +1,7 @@
odoo.define("web/static/tests/control_panel/control_panel_model_extension_tests.js", function (require) {
"use strict";
const ActionModel = require("web.ActionModel");
const makeTestEnvironment = require('web.test_env');
/** @odoo-module **/
import ActionModel from "web.ActionModel";
import makeTestEnvironment from "web.test_env";
function createModel(params = {}) {
const archs = (params.arch && { search: params.arch, }) || {};
@@ -455,4 +454,3 @@ odoo.define("web/static/tests/control_panel/control_panel_model_extension_tests.
});
});
});
@@ -1,9 +1,8 @@
odoo.define('web.control_panel_tests', function (require) {
"use strict";
/** @odoo-module **/
import testUtils from "web.test_utils";
const testUtils = require('web.test_utils');
const cpHelpers = require('@web/../tests/search/helpers');
import * as cpHelpers from "@web/../tests/search/helpers";
const { createControlPanel } = testUtils;
QUnit.module('ControlPanel', {
@@ -304,4 +303,3 @@ odoo.define('web.control_panel_tests', function (require) {
});
});
});
@@ -1,14 +1,13 @@
odoo.define('web.filter_menu_generator_tests', function (require) {
"use strict";
/** @odoo-module **/
import Domain from "web.Domain";
import CustomFilterItem from "web.CustomFilterItem";
import ActionModel from "web.ActionModel";
import pyUtils from "web.py_utils";
import testUtils from "web.test_utils";
const Domain = require('web.Domain');
const CustomFilterItem = require('web.CustomFilterItem');
const ActionModel = require('web.ActionModel');
const pyUtils = require('web.py_utils');
const testUtils = require('web.test_utils');
const { getFixture } = require('@web/../tests/helpers/utils');
const cpHelpers = require('@web/../tests/search/helpers');
import { getFixture } from "@web/../tests/helpers/utils";
import * as cpHelpers from "@web/../tests/search/helpers";
const { createComponent } = testUtils;
const toggleAddCustomFilterStandalone = async (el) => {
@@ -621,4 +620,3 @@ odoo.define('web.filter_menu_generator_tests', function (require) {
await cpHelpers.applyFilter(target);
});
});
});
@@ -1,11 +1,10 @@
odoo.define('web.filter_menu_tests', function (require) {
"use strict";
/** @odoo-module **/
import { browser } from "@web/core/browser/browser";
import { patchWithCleanup } from "@web/../tests/helpers/utils";
import testUtils from "web.test_utils";
const { browser } = require('@web/core/browser/browser');
const { patchWithCleanup } = require('@web/../tests/helpers/utils');
const testUtils = require('web.test_utils');
const cpHelpers = require('@web/../tests/search/helpers');
import * as cpHelpers from "@web/../tests/search/helpers";
const { createControlPanel, mock } = testUtils;
const { patchDate } = mock;
@@ -484,4 +483,3 @@ odoo.define('web.filter_menu_tests', function (require) {
});
});
});
});

Some files were not shown because too many files have changed in this diff Show More