@uxland/primary-shell 4.3.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/index.js +1183 -1237
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.umd.cjs +117 -125
  4. package/dist/index.umd.cjs.map +1 -1
  5. package/dist/primary/shell/src/UI/components/primaria-shell/primaria-shell.d.ts +3 -0
  6. package/dist/primary/shell/src/UI/components/quick-actions-menu/quick-actions-menu.d.ts +1 -0
  7. package/dist/primary/shell/src/UI/shared-components/index.d.ts +0 -1
  8. package/dist/primary/shell/src/api/api.d.ts +4 -2
  9. package/dist/primary/shell/src/api/http-client/http-client.d.ts +7 -1
  10. package/dist/primary/shell/src/api/interaction-service/confirmation-message.d.ts +3 -0
  11. package/dist/primary/shell/src/api/interaction-service/index.d.ts +1 -0
  12. package/dist/primary/shell/src/api/interaction-service/interaction-service-impl.d.ts +7 -0
  13. package/dist/primary/shell/src/api/interaction-service/interaction-service.d.ts +32 -0
  14. package/dist/primary/shell/src/api/notification-service/notification-service.d.ts +6 -0
  15. package/dist/primary/shell/src/api/notification-service/notification.service-impl.d.ts +9 -0
  16. package/dist/primary/shell/src/api/plugin-busy-manager/plugin-busy-list/component.d.ts +2 -4
  17. package/dist/primary/shell/src/api/region-manager/region-manager.d.ts +1 -0
  18. package/dist/primary/shell/src/events.d.ts +1 -0
  19. package/dist/primary/shell/src/features/bootstrapper.d.ts +1 -1
  20. package/dist/primary/shell/src/index.d.ts +1 -2
  21. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/export-to-pdf/export-pdf-modal/export-pdf-modal.d.ts +1 -5
  22. package/dist/primary/shell/src/internal-plugins/activity-history/localization.d.ts +0 -1
  23. package/dist/primary/shell/src/locales.d.ts +4 -0
  24. package/package.json +4 -1
  25. package/src/UI/components/primaria-shell/primaria-shell.ts +24 -7
  26. package/src/UI/components/quick-actions-menu/quick-actions-menu.ts +13 -3
  27. package/src/UI/shared-components/index.ts +0 -1
  28. package/src/api/api.ts +11 -8
  29. package/src/api/http-client/http-client.test.ts +188 -76
  30. package/src/api/http-client/http-client.ts +62 -11
  31. package/src/api/interaction-service/confirmation-message.tsx +5 -0
  32. package/src/api/interaction-service/index.ts +1 -0
  33. package/src/api/interaction-service/interaction-service-impl.tsx +225 -0
  34. package/src/api/interaction-service/interaction-service.ts +46 -0
  35. package/src/api/notification-service/notification-service.ts +6 -0
  36. package/src/api/notification-service/notification.service-impl.ts +45 -0
  37. package/src/api/plugin-busy-manager/plugin-busy-list/component.ts +3 -4
  38. package/src/api/plugin-busy-manager/plugin-busy-list/template.ts +1 -1
  39. package/src/api/region-manager/region-manager.ts +5 -0
  40. package/src/disposer.ts +1 -1
  41. package/src/events.ts +1 -0
  42. package/src/features/bootstrapper.ts +6 -3
  43. package/src/features/exit/handler.ts +8 -11
  44. package/src/features/get-user-info/handler.ts +3 -4
  45. package/src/index.ts +1 -2
  46. package/src/internal-plugins/activity-history/activity-history-item/export-to-pdf/export-pdf-modal/export-pdf-modal.ts +1 -10
  47. package/src/internal-plugins/activity-history/activity-history-item/export-to-pdf/export-pdf-modal/template.ts +0 -7
  48. package/src/internal-plugins/activity-history/activity-history-item/export-to-pdf/handler.ts +8 -8
  49. package/src/internal-plugins/activity-history/activity-history-item/list/UI/main-view/template.ts +1 -1
  50. package/src/internal-plugins/activity-history/activity-history-item/search/handler.ts +5 -3
  51. package/src/internal-plugins/activity-history/localization.ts +0 -1
  52. package/src/locales.ts +5 -0
  53. package/dist/primary/shell/src/UI/shared-components/primaria-interaction/components/dialog-component.d.ts +0 -19
  54. package/dist/primary/shell/src/UI/shared-components/primaria-interaction/components/notifier-component.d.ts +0 -12
  55. package/dist/primary/shell/src/UI/shared-components/primaria-interaction/confirm-mixin.d.ts +0 -11
  56. package/dist/primary/shell/src/UI/shared-components/primaria-interaction/confirm.d.ts +0 -3
  57. package/dist/primary/shell/src/UI/shared-components/primaria-interaction/index.d.ts +0 -5
  58. package/dist/primary/shell/src/UI/shared-components/primaria-interaction/notify.d.ts +0 -4
  59. package/dist/primary/shell/src/UI/shared-components/primaria-interaction/open-dialog.d.ts +0 -3
  60. package/dist/primary/shell/src/UI/shared-components/primaria-interaction/shared.d.ts +0 -3
  61. package/dist/primary/shell/src/UI/shared-components/primaria-interaction/typings.d.ts +0 -40
  62. package/dist/primary/shell/src/api/interaction-manager/interaction.d.ts +0 -9
  63. package/src/UI/shared-components/primaria-interaction/components/dialog-component-styles.css +0 -104
  64. package/src/UI/shared-components/primaria-interaction/components/dialog-component.ts +0 -138
  65. package/src/UI/shared-components/primaria-interaction/components/notifier-component-styles.css +0 -136
  66. package/src/UI/shared-components/primaria-interaction/components/notifier-component.ts +0 -69
  67. package/src/UI/shared-components/primaria-interaction/confirm-mixin.ts +0 -35
  68. package/src/UI/shared-components/primaria-interaction/confirm.ts +0 -9
  69. package/src/UI/shared-components/primaria-interaction/index.ts +0 -5
  70. package/src/UI/shared-components/primaria-interaction/notify.ts +0 -153
  71. package/src/UI/shared-components/primaria-interaction/open-dialog.ts +0 -8
  72. package/src/UI/shared-components/primaria-interaction/shared.ts +0 -29
  73. package/src/UI/shared-components/primaria-interaction/typings.ts +0 -46
  74. package/src/api/interaction-manager/interaction.ts +0 -26
@@ -21,6 +21,9 @@ export declare class PrimariaShell extends PrimariaShell_base {
21
21
  _toggleSidebar(): void;
22
22
  private subscriptions;
23
23
  _subscribeEvents(): void;
24
+ _handleError(error: {
25
+ message: string;
26
+ }): void;
24
27
  _unsubscribeEvents(): void;
25
28
  }
26
29
  export {};
@@ -5,4 +5,5 @@ export declare class QuickActionsMenu extends LitElement {
5
5
  firstUpdated(p: any): void;
6
6
  handleSlotChange(event: any): void;
7
7
  _handleOpenMenu(e: any): void;
8
+ _addMenuCustomStyle(contentSlot: HTMLElement, actionMenu: HTMLElement): void;
8
9
  }
@@ -1,3 +1,2 @@
1
1
 
2
- export * from './primaria-interaction';
3
2
  export { PrimariaContentSwitcher } from './primaria-content-switcher/primaria-content-switcher';
@@ -3,14 +3,16 @@ import { PrimariaRegionManager } from './region-manager/region-manager';
3
3
  import { PrimariaBroker } from './broker/primaria-broker';
4
4
  import { PrimariaGlobalStateManager } from './global-state/global-state';
5
5
  import { HttpClient } from './http-client/http-client';
6
- import { PrimariaInteractionManager } from './interaction-manager/interaction';
7
6
  import { TokenManager } from './token-manager/token-manager';
8
7
  import { EcapEventManager } from './ecap-event-manager/ecap-event-manager';
9
8
  import { PluginBusyManager } from './plugin-busy-manager/plugin-busy-manager';
9
+ import { PrimariaInteractionService } from './interaction-service';
10
+ import { PrimariaNotificationService } from './notification-service/notification-service';
10
11
 
11
12
  export interface PrimariaApi extends HarmonixApi {
12
13
  httpClient: HttpClient;
13
- interactionManager: PrimariaInteractionManager;
14
+ interactionService: PrimariaInteractionService;
15
+ notificationService: PrimariaNotificationService;
14
16
  broker: PrimariaBroker;
15
17
  regionManager: PrimariaRegionManager;
16
18
  globalStateManager: PrimariaGlobalStateManager;
@@ -2,7 +2,13 @@ import { AxiosRequestConfig, AxiosResponse } from 'axios';
2
2
  import { TokenManager } from '../token-manager/token-manager';
3
3
  import { PrimariaBroker } from '../broker/primaria-broker';
4
4
 
5
- export declare const createAxiosInstance: (tokenManager: TokenManager, broker: PrimariaBroker) => import('axios').AxiosInstance;
5
+ export declare class MissingMpidHeaderError extends Error {
6
+ constructor(message: string);
7
+ }
8
+ export declare class InvalidMpidHeaderError extends Error {
9
+ constructor(message: string);
10
+ }
11
+ export declare const createAxiosInstance: (tokenManager: TokenManager, broker: PrimariaBroker, validateMpid?: boolean) => import('axios').AxiosInstance;
6
12
  export interface HttpClient {
7
13
  request<T = any, R = AxiosResponse<T>, D = any>(config: AxiosRequestConfig<D>): Promise<R>;
8
14
  }
@@ -0,0 +1,3 @@
1
+ import { ConfirmationContentProps } from './interaction-service.ts';
2
+
3
+ export declare const ConfirmationMessage: ({ data }: ConfirmationContentProps<string>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './interaction-service';
@@ -0,0 +1,7 @@
1
+ import { ConfirmationContentProps, ConfirmationOptions, ConfirmationResult, ConfirmationWithResultContentProps, PrimariaInteractionService } from './interaction-service';
2
+
3
+ import * as React from "react";
4
+ export declare class ParimariaInteractionServiceImpl extends PrimariaInteractionService {
5
+ confirm<TData = undefined, TResult = undefined>(data: TData | undefined, DialogComponent: React.ComponentType<ConfirmationContentProps<TData, TResult> | ConfirmationWithResultContentProps<TData, TResult>> | (new () => HTMLElement), options?: ConfirmationOptions | undefined): Promise<ConfirmationResult<TResult | undefined>>;
6
+ confirmMessage(message: string, options?: ConfirmationOptions | undefined): Promise<ConfirmationResult>;
7
+ }
@@ -0,0 +1,32 @@
1
+ import * as React from "react";
2
+ export interface ConfirmationResult<T = undefined> {
3
+ confirmed: boolean;
4
+ result: T | undefined;
5
+ }
6
+ export interface ConfirmationContentProps<TData, TResult = undefined> {
7
+ data: TData | undefined;
8
+ setResult: (result: TResult) => void;
9
+ setIsValid: (isValid: boolean) => void;
10
+ confirm: () => void;
11
+ cancel: () => void;
12
+ }
13
+ export interface ConfirmationWithResultContentProps<TData, TResult = undefined> {
14
+ data: TData | undefined;
15
+ confirmResult: (result: TResult) => void;
16
+ cancel: () => void;
17
+ }
18
+ export interface ConfirmationOptions {
19
+ title?: string | undefined;
20
+ showConfirmButton?: boolean | undefined;
21
+ showCancelButton?: boolean | undefined;
22
+ confirmButtonText?: string | undefined;
23
+ cancelButtonText?: string | undefined;
24
+ showCloseButton?: boolean | undefined;
25
+ fullWidth?: boolean | undefined;
26
+ fullCustomization?: boolean | undefined;
27
+ state?: "success" | "info" | "alert" | "error";
28
+ }
29
+ export declare abstract class PrimariaInteractionService {
30
+ abstract confirm<TData = undefined, TResult = undefined>(data: TData | undefined, dialogComponent: React.ComponentType<ConfirmationContentProps<TData, TResult> | ConfirmationWithResultContentProps<TData, TResult>> | (new () => HTMLElement), options?: ConfirmationOptions | undefined): Promise<ConfirmationResult<TResult | undefined>>;
31
+ abstract confirmMessage(message: string, options?: ConfirmationOptions | undefined): Promise<ConfirmationResult>;
32
+ }
@@ -0,0 +1,6 @@
1
+ export declare abstract class PrimariaNotificationService {
2
+ abstract info(message: string): void;
3
+ abstract warning(message: string): void;
4
+ abstract error(message: string): void;
5
+ abstract success(message: string): void;
6
+ }
@@ -0,0 +1,9 @@
1
+ import { PrimariaNotificationService } from './notification-service';
2
+
3
+ export declare class PrimariaNotificationServiceImpl extends PrimariaNotificationService {
4
+ private notify;
5
+ info(message: string, duration?: number): void;
6
+ warning(message: string, duration?: number): void;
7
+ error(message: string, duration?: number): void;
8
+ success(message: string, duration?: number): void;
9
+ }
@@ -1,12 +1,10 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { PluginBusyTask } from '../plugin-busy-manager';
3
3
 
4
- declare const PluginBusyList_base: import('../../..').Constructor<import('../../..').ConfirmMixinBase> & typeof LitElement;
5
- export declare class PluginBusyList extends PluginBusyList_base {
4
+ export declare class PluginBusyList extends LitElement {
6
5
  static styles: import('lit').CSSResult;
7
6
  render(): import('lit').TemplateResult<1>;
8
- model: {
7
+ data: {
9
8
  busyTasks: PluginBusyTask[];
10
9
  };
11
10
  }
12
- export {};
@@ -8,6 +8,7 @@ export interface PrimariaRegionManager extends HarmonixRegionManager {
8
8
  registerMainView(view: HarmonixViewDefinition): Promise<void>;
9
9
  activateMainView(viewId: string): Promise<void>;
10
10
  getCurrentMainViewActive(): string | undefined;
11
+ _destroy(): void;
11
12
  }
12
13
  /**
13
14
  * Creates a proxy for the region manager with the given plugin info and region manager instance.
@@ -3,4 +3,5 @@ export declare const shellEvents: {
3
3
  appCrashed: string;
4
4
  mainViewChanged: string;
5
5
  refreshTokenFailed: string;
6
+ mpidHeaderInvalid: string;
6
7
  };
@@ -1,4 +1,4 @@
1
1
  import { PrimariaApi } from '../api/api';
2
2
 
3
3
  export declare const bootstrapFeatures: (api: PrimariaApi) => void;
4
- export declare const teardownFeatures: () => void;
4
+ export declare const teardownFeatures: (api: PrimariaApi) => void;
@@ -7,10 +7,9 @@ export * from './api/api';
7
7
  export * from './api/broker/primaria-broker';
8
8
  export * from './UI/index';
9
9
  export { PrimariaNavItem } from './UI/shared-components/primaria-nav-item/primaria-nav-item';
10
- export { confirmMixin } from './UI/shared-components/primaria-interaction';
11
- export type { CustomConfirmOptions } from './UI/shared-components/primaria-interaction';
12
10
  export { EcapEventManager, createEcapEventManager, } from './api/ecap-event-manager/ecap-event-manager';
13
11
  export type { IEcapEvent } from './api/ecap-event-manager/typings';
14
12
  export * from './internal-plugins';
15
13
  export * from '@uxland/harmonix-adapters';
16
14
  export * from './events';
15
+ export * from './api/interaction-service';
@@ -1,7 +1,6 @@
1
1
  import { LitElement } from 'lit';
2
2
 
3
- declare const ExportPdfModal_base: import('../../../../..').Constructor<import('../../../../..').ConfirmMixinBase> & typeof LitElement;
4
- export declare class ExportPdfModal extends ExportPdfModal_base {
3
+ export declare class ExportPdfModal extends LitElement {
5
4
  render(): import('lit').TemplateResult<1>;
6
5
  static get styles(): import('lit').CSSResult;
7
6
  selectedRadioOption: string;
@@ -12,8 +11,5 @@ export declare class ExportPdfModal extends ExportPdfModal_base {
12
11
  label: string;
13
12
  value: string;
14
13
  }[];
15
- _accept(): void;
16
- _cancel(): void;
17
14
  handleTest(): void;
18
15
  }
19
- export {};
@@ -22,7 +22,6 @@ export declare const locales: {
22
22
  actions: {
23
23
  cronogram: string;
24
24
  exportPdf: string;
25
- noteLegend: string;
26
25
  moreOptions: string;
27
26
  entryLegend: string;
28
27
  maximizeButton: string;
@@ -22,6 +22,10 @@ export declare const locales: {
22
22
  clinicalMonitoring: {
23
23
  title: string;
24
24
  };
25
+ errors: {
26
+ session: string;
27
+ invalidPatient: string;
28
+ };
25
29
  header: {
26
30
  workCenter: string;
27
31
  role: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxland/primary-shell",
3
- "version": "4.3.1",
3
+ "version": "5.0.0",
4
4
  "description": "Primaria Shell",
5
5
  "author": "UXLand <dev@uxland.es>",
6
6
  "homepage": "https://github.com/uxland/harmonix/tree/app#readme",
@@ -40,6 +40,9 @@
40
40
  "@uxland/utilities": "^1.0.5",
41
41
  "axios-mock-adapter": "^2.0.0",
42
42
  "inversify": "^6.0.2",
43
+ "react": "^19.0.0",
44
+ "react-dom": "^19.0.0",
45
+ "@types/react": "^19.0.12",
43
46
  "inversify-inject-decorators": "^3.1.0",
44
47
  "@salut/design-system-salut": "../../design-system-salut-2.2.1.tgz",
45
48
  "jwt-decode": "^4.0.0",
@@ -9,6 +9,8 @@ import { shellViews } from "./constants";
9
9
  import { shellEvents } from "../../../events";
10
10
  import { activateDefaultView } from "../../../handle-views";
11
11
  import { BrokerDisposableHandler } from "harmonix/core/dist";
12
+ import { translate } from "../../../locales";
13
+ import { disposeShell } from "../../../disposer";
12
14
 
13
15
  //@ts-ignore
14
16
  @customElement("primaria-shell")
@@ -72,14 +74,29 @@ export class PrimariaShell extends PrimariaRegionHost(LitElement) {
72
74
  private subscriptions: BrokerDisposableHandler[] = [];
73
75
 
74
76
  _subscribeEvents() {
75
- const subscription = shellApi.broker.subscribe(
76
- shellEvents.appCrashed,
77
- (error: { message: string }) => {
78
- this.viewSelected = shellViews.error;
79
- this.error = error;
80
- },
77
+ this.subscriptions.push(
78
+ shellApi.broker.subscribe(shellEvents.appCrashed, (error: { message: string }) => {
79
+ this._handleError(error);
80
+ }),
81
81
  );
82
- this.subscriptions.push(subscription);
82
+
83
+ this.subscriptions.push(
84
+ shellApi.broker.subscribe(shellEvents.refreshTokenFailed, (detail: any) => {
85
+ this._handleError({ message: translate("errors.session") });
86
+ }),
87
+ );
88
+
89
+ this.subscriptions.push(
90
+ shellApi.broker.subscribe(shellEvents.mpidHeaderInvalid, (detail: any) => {
91
+ this._handleError({ message: translate("errors.invalidPatient") });
92
+ }),
93
+ );
94
+ }
95
+
96
+ _handleError(error: { message: string }) {
97
+ this.viewSelected = shellViews.error;
98
+ this.error = error;
99
+ disposeShell();
83
100
  }
84
101
 
85
102
  _unsubscribeEvents() {
@@ -31,10 +31,14 @@ export class QuickActionsMenu extends LitElement {
31
31
 
32
32
  _handleOpenMenu(e) {
33
33
  // Obtener el otro slot (target-slot)
34
- const targetSlot = this.shadowRoot?.querySelector('slot[name="content"]');
34
+ const contentSlot = this.shadowRoot?.querySelector('slot[name="content"]') as HTMLSlotElement;
35
+
36
+ const actionMenu = this.querySelector("dss-action-menu");
35
37
 
36
38
  // Obtener los elementos asignados al otro slot
37
- const assignedElements = targetSlot?.assignedElements();
39
+ const assignedElements = contentSlot?.assignedElements();
40
+ if (assignedElements[0])
41
+ this._addMenuCustomStyle(contentSlot as HTMLElement, actionMenu as HTMLElement);
38
42
 
39
43
  // Hacer target al elemento que deseas (por ejemplo, un <p>)
40
44
  const targetElement = assignedElements.find((el) => el.id === "content");
@@ -43,4 +47,10 @@ export class QuickActionsMenu extends LitElement {
43
47
  targetElement.show();
44
48
  }
45
49
  }
46
- }
50
+
51
+ _addMenuCustomStyle(contentSlot: HTMLElement, actionMenu: HTMLElement) {
52
+ contentSlot.style.borderRadius = "var(--dss-radius-sm)";
53
+ const list = actionMenu.shadowRoot?.querySelector("ul");
54
+ if (list) list.style.overflow = "hidden";
55
+ }
56
+ }
@@ -1,5 +1,4 @@
1
1
  import "./primaria-content-switcher/primaria-content-switcher";
2
2
  import "./primaria-nav-item/primaria-nav-item";
3
3
  import "./primaria-text-editor/primaria-rich-text-editor";
4
- export * from "./primaria-interaction";
5
4
  export { PrimariaContentSwitcher } from "./primaria-content-switcher/primaria-content-switcher";
package/src/api/api.ts CHANGED
@@ -7,14 +7,10 @@ import {
7
7
  createRegionManager,
8
8
  } from "@uxland/harmonix";
9
9
  import { PrimariaRegionManager, createRegionManagerProxy } from "./region-manager/region-manager";
10
- import { createBroker } from "./broker/factory";
10
+ import { createBroker } from "./broker/factory";
11
11
  import { PrimariaBroker } from "./broker/primaria-broker";
12
12
  import { PrimariaGlobalStateManager, createGlobalStateManager } from "./global-state/global-state";
13
13
  import { HttpClient, createHttpClient } from "./http-client/http-client";
14
- import {
15
- PrimariaInteractionManager,
16
- createInteractionManager,
17
- } from "./interaction-manager/interaction";
18
14
  import { createLocaleManager } from "./localization/localization";
19
15
  import { TokenManager, createTokenManager } from "./token-manager/token-manager";
20
16
  import { EcapEventManager, createEcapEventManager } from "./ecap-event-manager/ecap-event-manager";
@@ -22,12 +18,16 @@ import {
22
18
  PluginBusyManager,
23
19
  PluginBusyManagerImpl,
24
20
  } from "./plugin-busy-manager/plugin-busy-manager";
25
-
21
+ import { PrimariaInteractionService } from "./interaction-service";
22
+ import { ParimariaInteractionServiceImpl } from "./interaction-service/interaction-service-impl";
23
+ import { PrimariaNotificationService } from "./notification-service/notification-service";
24
+ import { PrimariaNotificationServiceImpl } from "./notification-service/notification.service-impl";
26
25
 
27
26
  const broker = createBroker();
28
27
  export interface PrimariaApi extends HarmonixApi {
29
28
  httpClient: HttpClient;
30
- interactionManager: PrimariaInteractionManager;
29
+ interactionService: PrimariaInteractionService;
30
+ notificationService: PrimariaNotificationService;
31
31
  broker: PrimariaBroker;
32
32
  regionManager: PrimariaRegionManager;
33
33
  globalStateManager: PrimariaGlobalStateManager;
@@ -41,6 +41,8 @@ export const PrimariaRegionHost: any = createRegionHost(regionManager as any);
41
41
  const tokenManager = createTokenManager();
42
42
  const globalStateManager: PrimariaGlobalStateManager = createGlobalStateManager(broker);
43
43
  const pluginBusyManager = new PluginBusyManagerImpl();
44
+ const interactionService = new ParimariaInteractionServiceImpl();
45
+ const notificationService = new PrimariaNotificationServiceImpl();
44
46
 
45
47
  /**
46
48
  * Factory function that creates a Primaria API instance.
@@ -55,13 +57,14 @@ export const primariaApiFactory: ApiFactory<PrimariaApi> = (
55
57
  pluginInfo: pluginInfo,
56
58
  regionManager: createRegionManagerProxy(pluginInfo, regionManager, broker),
57
59
  httpClient: createHttpClient(tokenManager, broker),
58
- interactionManager: { ...createInteractionManager() },
59
60
  broker: broker,
60
61
  createLocaleManager: createLocaleManager(pluginInfo.pluginId) as any,
61
62
  globalStateManager,
62
63
  tokenManager,
63
64
  ecapEventManager: createEcapEventManager(),
64
65
  pluginBusyManager,
66
+ interactionService,
67
+ notificationService,
65
68
  };
66
69
  };
67
70