@uxland/primary-shell 7.9.0 → 7.9.1

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.
@@ -1,4 +1,4 @@
1
- import { PluginDefinition, Plugin as PluginType, BootstrappedPlugin } from '@uxland/harmonix';
1
+ import { BootstrappedPlugin, PluginDefinition, Plugin as PluginType } from '@uxland/harmonix';
2
2
  import { PrimariaApi } from './api/api';
3
3
  export type { PluginDefinition, PluginInfo } from '@uxland/harmonix';
4
4
  export interface PrimariaPlugin extends Plugin {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxland/primary-shell",
3
- "version": "7.9.0",
3
+ "version": "7.9.1",
4
4
  "description": "Primaria Shell",
5
5
  "author": "UXLand <dev@uxland.es>",
6
6
  "homepage": "https://github.com/uxland/harmonix/tree/app#readme",
@@ -1,36 +1,28 @@
1
+ import type { BootstrappedPlugin, PluginDefinition, Plugin as PluginType } from "@uxland/harmonix";
1
2
  import { bootstrapPlugins as pluginBootstrapper } from "@uxland/harmonix";
2
- import type { PluginDefinition, Plugin as PluginType, BootstrappedPlugin } from "@uxland/harmonix";
3
- export type { PluginDefinition, PluginInfo } from "@uxland/harmonix";
4
3
  import {
5
- initialize as activityHistoryInitialize,
6
4
  dispose as activityHistoryDispose,
5
+ initialize as activityHistoryInitialize,
7
6
  } from "../../../plugins/activity-history/src/plugin";
8
- import {
9
- initialize as clinicalMonitoringInitialize,
10
- dispose as clinicalMonitoringDispose,
11
- } from "../../../plugins/clinical-monitoring/src/plugin";
12
- import {
13
- initialize as adminClinicalMonitoringInitialize,
14
- dispose as adminClinicalMonitoringDispose,
15
- } from "../../../plugins/admin-clinical-monitoring/src/plugin";
16
- import { PrimariaApi, primariaApiFactory, shellApi } from "./api/api";
7
+ import { PrimariaApi, primariaApiFactory } from "./api/api";
8
+ export type { PluginDefinition, PluginInfo } from "@uxland/harmonix";
17
9
 
18
10
  let bootstrappedPlugins = [] as BootstrappedPlugin<PrimariaApi>[];
19
11
 
20
- export interface PrimariaPlugin extends Plugin{
12
+ export interface PrimariaPlugin extends Plugin {
21
13
  startup: (api: PrimariaApi, startupParams: any) => Promise<void>;
22
14
  }
23
15
 
24
- export interface PrimariaStartupPlugin{
16
+ export interface PrimariaStartupPlugin {
25
17
  pluginId: string;
26
18
  params: any;
27
19
  }
28
20
 
29
- interface PrimariaBootstrappedPlugin extends BootstrappedPlugin<PrimariaApi>{
21
+ interface PrimariaBootstrappedPlugin extends BootstrappedPlugin<PrimariaApi> {
30
22
  importedPlugin: PrimariaPlugin;
31
23
  }
32
24
 
33
- const commonPlugins: PluginDefinition[] = [
25
+ const internalPlugins: PluginDefinition[] = [
34
26
  {
35
27
  pluginId: "activity-history",
36
28
  importer: () =>
@@ -41,48 +33,20 @@ const commonPlugins: PluginDefinition[] = [
41
33
  },
42
34
  ];
43
35
 
44
- const doctorInternalPlugins: PluginDefinition[] = [
45
- {
46
- pluginId: "clinical-monitoring",
47
- importer: () =>
48
- Promise.resolve({
49
- initialize: clinicalMonitoringInitialize,
50
- dispose: clinicalMonitoringDispose,
51
- }),
52
- },
53
- ];
54
-
55
- const administrativeInternalPlugins: PluginDefinition[] = [
56
- {
57
- pluginId: "admin-clinical-monitoring",
58
- importer: () =>
59
- Promise.resolve({
60
- initialize: adminClinicalMonitoringInitialize,
61
- dispose: adminClinicalMonitoringDispose,
62
- }),
63
- },
64
- ];
65
-
66
- const getPluginsByUserRole = (isUserRoleAdministrative: boolean) => {
67
- if (isUserRoleAdministrative) {
68
- return commonPlugins.concat(administrativeInternalPlugins);
69
- }
70
- return commonPlugins.concat(doctorInternalPlugins);
71
- };
72
-
73
36
  export const bootstrapPlugins = async (plugins: PluginDefinition[], startup?: PrimariaStartupPlugin) => {
74
- const isUserRoleAdministrative = shellApi.userManager.isUserRoleAdministrative();
75
- const internalPlugins = getPluginsByUserRole(isUserRoleAdministrative);
76
37
  const finalPlugins = internalPlugins.concat(plugins || []);
77
- bootstrappedPlugins = await pluginBootstrapper(finalPlugins, primariaApiFactory) as BootstrappedPlugin<PrimariaApi>[] ;
78
- handleStartupPlugin(bootstrappedPlugins as PrimariaBootstrappedPlugin[], startup);
38
+ bootstrappedPlugins = (await pluginBootstrapper(finalPlugins, primariaApiFactory)) as BootstrappedPlugin<PrimariaApi>[];
39
+ setTimeout(() => {
40
+ handleStartupPlugin(bootstrappedPlugins as PrimariaBootstrappedPlugin[], startup);
41
+ }, 500);
79
42
  };
80
43
 
81
44
  export const handleStartupPlugin = (plugins: PrimariaBootstrappedPlugin[], startupPlugin?: PrimariaStartupPlugin) => {
82
45
  if (plugins && plugins.length > 0 && startupPlugin?.pluginId) {
83
- const plugin = plugins.find((plugin: PrimariaBootstrappedPlugin) => plugin?.apiInstance.pluginInfo.pluginId === startupPlugin.pluginId);
84
- if(plugin?.importedPlugin?.startup)
85
- plugin?.importedPlugin?.startup?.(plugin.apiInstance, startupPlugin.params);
46
+ const plugin = plugins.find(
47
+ (plugin: PrimariaBootstrappedPlugin) => plugin?.apiInstance.pluginInfo.pluginId === startupPlugin.pluginId,
48
+ );
49
+ if (plugin?.importedPlugin?.startup) plugin?.importedPlugin?.startup?.(plugin.apiInstance, startupPlugin.params);
86
50
  }
87
51
  };
88
52