@centreon/ui-context 24.7.5 → 24.7.6

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.7.5",
3
+ "version": "24.7.6",
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
@@ -2,7 +2,10 @@ import { User, ThemeMode, ListingVariant } from './types';
2
2
 
3
3
  const defaultUser: User = {
4
4
  alias: '',
5
+ canManageApiTokens: false,
5
6
  default_page: '/monitoring/resources',
7
+ id: undefined,
8
+ isAdmin: undefined,
6
9
  isExportButtonEnabled: false,
7
10
  locale: navigator.language,
8
11
  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
@@ -6,11 +6,17 @@ export { default as cloudServicesAtom } from './cloudServicesAtom';
6
6
  export { default as acknowledgementAtom } from './acknowledgementAtom';
7
7
  export { default as resourceStorageOptimizationModeAtom } from './resourceStorageOptimizationMode';
8
8
  export { default as platformNameAtom } from './platformNameAtom';
9
- export { ThemeMode, ListingVariant } from './types';
9
+ export { ThemeMode, ListingVariant, DashboardGlobalRole } from './types';
10
10
  export {
11
11
  platformFeaturesAtom,
12
12
  featureFlagsDerivedAtom
13
- } from './platformFeaturesAtom';
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,
@@ -21,6 +27,8 @@ export type {
21
27
  CloudServices,
22
28
  Acknowledgement,
23
29
  Acl,
30
+ DashboardRolesAndPermissions,
24
31
  FeatureFlags,
25
- PlatformFeatures
32
+ PlatformFeatures,
33
+ AdditionalResource
26
34
  } from './types';
@@ -0,0 +1,3 @@
1
+ import { atom } from 'jotai';
2
+
3
+ export const isOnPublicPageAtom = atom(false);
@@ -3,7 +3,6 @@ import { atom } from 'jotai';
3
3
  import { FeatureFlags, PlatformFeatures } from './types';
4
4
 
5
5
  export const platformFeaturesAtom = atom<PlatformFeatures | null>(null);
6
-
7
6
  export const featureFlagsDerivedAtom = atom<FeatureFlags | null>(
8
7
  (get): FeatureFlags => {
9
8
  const platformFeatures = get(platformFeaturesAtom);
package/src/types.ts CHANGED
@@ -5,9 +5,26 @@ export enum ListingVariant {
5
5
  extended = 'extended'
6
6
  }
7
7
 
8
+ export enum DashboardGlobalRole {
9
+ administrator = 'administrator',
10
+ creator = 'creator',
11
+ viewer = 'viewer'
12
+ }
13
+
14
+ export interface DashboardRolesAndPermissions {
15
+ createDashboards: boolean;
16
+ globalUserRole: DashboardGlobalRole;
17
+ manageAllDashboards: boolean;
18
+ viewDashboards: boolean;
19
+ }
20
+
8
21
  export interface User {
9
22
  alias: string;
23
+ canManageApiTokens: boolean;
24
+ dashboard?: DashboardRolesAndPermissions | null;
10
25
  default_page?: string | null;
26
+ id?: number;
27
+ isAdmin?: boolean;
11
28
  isExportButtonEnabled: boolean;
12
29
  locale: string;
13
30
  name: string;
@@ -70,7 +87,9 @@ export interface Downtime {
70
87
  export interface FeatureFlags {
71
88
  adExclusionPeriods?: boolean;
72
89
  dashboard?: boolean;
90
+ dashboardPlayList?: boolean;
73
91
  notification?: boolean;
92
+ resourceStatusFilterRevamp?: boolean;
74
93
  resourceStatusTreeView?: boolean;
75
94
  vault?: boolean;
76
95
  }
@@ -79,3 +98,35 @@ export interface PlatformFeatures {
79
98
  featureFlags: FeatureFlags;
80
99
  isCloudPlatform: boolean;
81
100
  }
101
+
102
+ export interface AdditionalResource {
103
+ baseEndpoint: string;
104
+ defaultMonitoringParameter?: Record<string, boolean | number | string>;
105
+ label: string;
106
+ resourceType: string;
107
+ }
108
+
109
+ interface FederatedComponentsConfiguration {
110
+ federatedComponents: Array<string>;
111
+ panelMinHeight?: number;
112
+ panelMinWidth?: number;
113
+ path: string;
114
+ title?: string;
115
+ }
116
+
117
+ interface PageComponent {
118
+ children?: string;
119
+ component: string;
120
+ featureFlag?: string;
121
+ route: string;
122
+ }
123
+
124
+ export interface FederatedModule {
125
+ federatedComponentsConfiguration: Array<FederatedComponentsConfiguration>;
126
+ federatedPages: Array<PageComponent>;
127
+ moduleFederationName: string;
128
+ moduleName: string;
129
+ preloadScript?: string;
130
+ remoteEntry: string;
131
+ remoteUrl?: string;
132
+ }