@centreon/ui-context 24.4.12 → 24.4.14

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@centreon/ui-context",
3
- "version": "24.4.12",
3
+ "version": "24.4.14",
4
4
  "description": "Centreon UI shared context",
5
5
  "main": "src/index.ts",
6
6
  "keywords": [],
@@ -0,0 +1,5 @@
1
+ import { atom } from 'jotai';
2
+
3
+ import { AdditionalResource } from './types';
4
+
5
+ export const additionalResourcesAtom = atom<Array<AdditionalResource>>([]);
package/src/defaults.ts CHANGED
@@ -4,6 +4,7 @@ const defaultUser: User = {
4
4
  alias: '',
5
5
  default_page: '/monitoring/resources',
6
6
  id: undefined,
7
+ isAdmin: undefined,
7
8
  isExportButtonEnabled: false,
8
9
  locale: navigator.language,
9
10
  name: '',
@@ -0,0 +1,7 @@
1
+ import { atom } from 'jotai';
2
+
3
+ import { FederatedModule } from './types';
4
+
5
+ export const federatedModulesAtom = atom<Array<FederatedModule> | null>(null);
6
+
7
+ export const federatedWidgetsAtom = atom<Array<FederatedModule> | null>(null);
package/src/index.ts CHANGED
@@ -11,6 +11,12 @@ export {
11
11
  platformFeaturesAtom,
12
12
  featureFlagsDerivedAtom
13
13
  } from './platformFeauresAtom';
14
+ export { isOnPublicPageAtom } from './isOnPublicPageAtom';
15
+ export { additionalResourcesAtom } from './additionalResources';
16
+ export {
17
+ federatedModulesAtom,
18
+ federatedWidgetsAtom
19
+ } from './federatedModulesAndWidgetsAtoms';
14
20
 
15
21
  export type {
16
22
  User,
@@ -23,5 +29,6 @@ export type {
23
29
  Acl,
24
30
  DashboardRolesAndPermissions,
25
31
  FeatureFlags,
26
- PlatformFeatures
32
+ PlatformFeatures,
33
+ AdditionalResource
27
34
  } from './types';
@@ -0,0 +1,3 @@
1
+ import { atom } from 'jotai';
2
+
3
+ export const isOnPublicPageAtom = atom(false);
package/src/types.ts CHANGED
@@ -23,6 +23,7 @@ export interface User {
23
23
  dashboard?: DashboardRolesAndPermissions | null;
24
24
  default_page?: string | null;
25
25
  id?: number;
26
+ isAdmin?: boolean;
26
27
  isExportButtonEnabled: boolean;
27
28
  locale: string;
28
29
  name: string;
@@ -96,3 +97,35 @@ export interface PlatformFeatures {
96
97
  featureFlags: FeatureFlags;
97
98
  isCloudPlatform: boolean;
98
99
  }
100
+
101
+ export interface AdditionalResource {
102
+ baseEndpoint: string;
103
+ defaultMonitoringParameter?: Record<string, boolean | number | string>;
104
+ label: string;
105
+ resourceType: string;
106
+ }
107
+
108
+ interface FederatedComponentsConfiguration {
109
+ federatedComponents: Array<string>;
110
+ panelMinHeight?: number;
111
+ panelMinWidth?: number;
112
+ path: string;
113
+ title?: string;
114
+ }
115
+
116
+ interface PageComponent {
117
+ children?: string;
118
+ component: string;
119
+ featureFlag?: string;
120
+ route: string;
121
+ }
122
+
123
+ export interface FederatedModule {
124
+ federatedComponentsConfiguration: Array<FederatedComponentsConfiguration>;
125
+ federatedPages: Array<PageComponent>;
126
+ moduleFederationName: string;
127
+ moduleName: string;
128
+ preloadScript?: string;
129
+ remoteEntry: string;
130
+ remoteUrl?: string;
131
+ }