mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-20 05:32:00 +02:00
vanilla 17.0
This commit is contained in:
parent
d72e748793
commit
a9bcec8e91
1986 changed files with 1613876 additions and 568976 deletions
|
|
@ -1,31 +1,25 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { Dialog } from "@web/core/dialog/dialog";
|
||||
import { registry } from "@web/core/registry";
|
||||
import { makeTestEnv } from "@web/../tests/helpers/mock_env";
|
||||
import { getFixture, mount, nextTick } from "@web/../tests/helpers/utils";
|
||||
import { getDefaultConfig, View } from "@web/views/view";
|
||||
import { createDebugContext } from "@web/core/debug/debug_context";
|
||||
import { Dialog } from "@web/core/dialog/dialog";
|
||||
import { MainComponentsContainer } from "@web/core/main_components_container";
|
||||
import {
|
||||
setupControlPanelFavoriteMenuRegistry,
|
||||
setupControlPanelServiceRegistry,
|
||||
} from "../search/helpers";
|
||||
import { addLegacyMockEnvironment } from "../webclient/helpers";
|
||||
import { registry } from "@web/core/registry";
|
||||
import { View, getDefaultConfig } from "@web/views/view";
|
||||
import {
|
||||
fakeCompanyService,
|
||||
makeFakeLocalizationService,
|
||||
makeFakeRouterService,
|
||||
makeFakeUserService,
|
||||
} from "../helpers/mock_services";
|
||||
import { commandService } from "@web/core/commands/command_service";
|
||||
import { popoverService } from "@web/core/popover/popover_service";
|
||||
import { createDebugContext } from "@web/core/debug/debug_context";
|
||||
import {
|
||||
setupControlPanelFavoriteMenuRegistry,
|
||||
setupControlPanelServiceRegistry,
|
||||
} from "../search/helpers";
|
||||
|
||||
import { Component, useSubEnv, xml } from "@odoo/owl";
|
||||
|
||||
import { mapLegacyEnvToWowlEnv } from "@web/legacy/utils";
|
||||
import makeTestEnvironment from "web.test_env";
|
||||
|
||||
const serviceRegistry = registry.category("services");
|
||||
|
||||
const rootDialogTemplate = xml`<Dialog><View t-props="props.viewProps"/></Dialog>`;
|
||||
|
|
@ -41,9 +35,10 @@ const rootDialogTemplate = xml`<Dialog><View t-props="props.viewProps"/></Dialog
|
|||
*/
|
||||
|
||||
/**
|
||||
* @template {Component} T
|
||||
* @param {MakeViewParams} params
|
||||
* @param {boolean} [inDialog=false]
|
||||
* @returns {Component}
|
||||
* @returns {Promise<T>}
|
||||
*/
|
||||
async function _makeView(params, inDialog = false) {
|
||||
const props = { ...params };
|
||||
|
|
@ -53,11 +48,9 @@ async function _makeView(params, inDialog = false) {
|
|||
...getDefaultConfig(),
|
||||
...props.config,
|
||||
};
|
||||
const legacyParams = props.legacyParams || {};
|
||||
|
||||
delete props.serverData;
|
||||
delete props.mockRPC;
|
||||
delete props.legacyParams;
|
||||
delete props.config;
|
||||
|
||||
if (props.arch) {
|
||||
|
|
@ -74,22 +67,6 @@ async function _makeView(params, inDialog = false) {
|
|||
const env = await makeTestEnv({ serverData, mockRPC });
|
||||
Object.assign(env, createDebugContext(env)); // This is needed if the views are in debug mode
|
||||
|
||||
/** Legacy Environment, for compatibility sakes
|
||||
* Remove this as soon as we drop the legacy support
|
||||
*/
|
||||
const models = params.serverData.models;
|
||||
if (legacyParams && legacyParams.withLegacyMockServer && models) {
|
||||
legacyParams.models = Object.assign({}, 0);
|
||||
// In lagacy, data may not be sole models, but can contain some other variables
|
||||
// So we filter them out for our WOWL mockServer
|
||||
Object.entries(legacyParams.models).forEach(([k, v]) => {
|
||||
if (!(v instanceof Object) || !("fields" in v)) {
|
||||
delete models[k];
|
||||
}
|
||||
});
|
||||
}
|
||||
await addLegacyMockEnvironment(env, legacyParams);
|
||||
|
||||
const target = getFixture();
|
||||
const viewEnv = Object.assign(Object.create(env), { config });
|
||||
|
||||
|
|
@ -124,7 +101,6 @@ async function _makeView(params, inDialog = false) {
|
|||
|
||||
/**
|
||||
* @param {MakeViewParams} params
|
||||
* @returns {Component}
|
||||
*/
|
||||
export function makeView(params) {
|
||||
return _makeView(params);
|
||||
|
|
@ -132,7 +108,6 @@ export function makeView(params) {
|
|||
|
||||
/**
|
||||
* @param {MakeViewParams} params
|
||||
* @returns {Component}
|
||||
*/
|
||||
export function makeViewInDialog(params) {
|
||||
return _makeView(params, true);
|
||||
|
|
@ -147,27 +122,6 @@ export function setupViewRegistries() {
|
|||
{ force: true }
|
||||
);
|
||||
serviceRegistry.add("router", makeFakeRouterService(), { force: true });
|
||||
serviceRegistry.add("localization", makeFakeLocalizationService()), { force: true };
|
||||
serviceRegistry.add("popover", popoverService), { force: true };
|
||||
serviceRegistry.add("localization", makeFakeLocalizationService());
|
||||
serviceRegistry.add("company", fakeCompanyService);
|
||||
serviceRegistry.add("command", commandService);
|
||||
}
|
||||
|
||||
/**
|
||||
* This helper sets the legacy env and mounts a MainComponentsContainer
|
||||
* to allow legacy code to use wowl FormViewDialogs.
|
||||
*
|
||||
* TODO: remove this when there's no legacy code using the wowl FormViewDialog.
|
||||
*
|
||||
* @param {Object} serverData
|
||||
* @param {Function} [mockRPC]
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export async function prepareWowlFormViewDialogs(serverData, mockRPC) {
|
||||
setupViewRegistries();
|
||||
const wowlEnv = await makeTestEnv({ serverData, mockRPC });
|
||||
const legacyEnv = makeTestEnvironment();
|
||||
mapLegacyEnvToWowlEnv(legacyEnv, wowlEnv);
|
||||
owl.Component.env = legacyEnv;
|
||||
await mount(MainComponentsContainer, getFixture(), { env: wowlEnv });
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue