move Env definition to Widget

This commit is contained in:
Géry Debongnie
2019-02-05 14:39:45 +01:00
parent 3fd00f72af
commit 311141a9e3
7 changed files with 72 additions and 75 deletions
+5 -49
View File
@@ -1,52 +1,11 @@
import { Ajax, IAjax } from "./core/ajax";
import { WEnv } from "./core/component";
import {
INotificationManager,
NotificationManager
} from "./core/notifications";
import { Ajax } from "./core/ajax";
import { NotificationManager } from "./core/notifications";
import { QWeb } from "./core/qweb_vdom";
import { Registry } from "./core/registry";
import { IRouter, Router } from "./core/router";
import { Router } from "./core/router";
import { idGenerator, memoize } from "./core/utils";
import { actionRegistry } from "./registries";
import {
ActionManager,
ActionWidget,
IActionManager
} from "./services/action_manager";
import { CRM } from "./widgets/crm";
import { Discuss } from "./widgets/discuss";
//------------------------------------------------------------------------------
// Types
//------------------------------------------------------------------------------
export interface Menu {
title: string;
actionID: number;
}
export interface Env extends WEnv {
// services
actionManager: IActionManager;
ajax: IAjax;
notifications: INotificationManager;
router: IRouter;
// registries
actionRegistry: Registry<ActionWidget>;
// helpers
rpc: IAjax["rpc"];
// configuration
debug: boolean;
isMobile: boolean;
}
//------------------------------------------------------------------------------
// Code
//------------------------------------------------------------------------------
import { ActionManager } from "./services/action_manager";
import { Env } from "./widgets/widget";
/**
* makeEnvironment returns the main environment for the application.
@@ -59,9 +18,6 @@ export interface Env extends WEnv {
* this function will actually return the same environment.
*/
export const makeEnvironment = memoize(async function(): Promise<Env> {
// main application registry
actionRegistry.add("discuss", Discuss).add("crm", CRM);
// services
const qweb = new QWeb();
const router = new Router();