@evoke-platform/context 1.0.0-dev.11 → 1.0.0-dev.110

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 (43) hide show
  1. package/README.md +126 -4
  2. package/dist/api/ApiBaseUrlProvider.js +0 -1
  3. package/dist/api/apiServices.js +10 -9
  4. package/dist/api/callback.js +0 -1
  5. package/dist/api/index.js +0 -1
  6. package/dist/app/AppProvider.d.ts +12 -1
  7. package/dist/app/AppProvider.js +53 -5
  8. package/dist/app/index.js +0 -1
  9. package/dist/authentication/AuthenticationContextProvider.js +4 -2
  10. package/dist/authentication/index.js +0 -1
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.js +1 -1
  13. package/dist/notification/NotificationProvider.d.ts +33 -0
  14. package/dist/notification/NotificationProvider.js +134 -0
  15. package/dist/notification/index.d.ts +2 -0
  16. package/dist/notification/index.js +2 -0
  17. package/dist/objects/filters.js +0 -1
  18. package/dist/objects/index.js +0 -1
  19. package/dist/objects/objects.d.ts +248 -14
  20. package/dist/objects/objects.js +2 -3
  21. package/dist/router/index.js +0 -1
  22. package/dist/router/navigation.js +0 -1
  23. package/dist/router/routeParams.js +0 -1
  24. package/dist/signalr/SignalRConnectionProvider.js +0 -1
  25. package/dist/signalr/index.js +0 -1
  26. package/package.json +18 -16
  27. package/dist/api/ApiBaseUrlProvider.js.map +0 -1
  28. package/dist/api/apiServices.js.map +0 -1
  29. package/dist/api/callback.js.map +0 -1
  30. package/dist/api/index.js.map +0 -1
  31. package/dist/app/AppProvider.js.map +0 -1
  32. package/dist/app/index.js.map +0 -1
  33. package/dist/authentication/AuthenticationContextProvider.js.map +0 -1
  34. package/dist/authentication/index.js.map +0 -1
  35. package/dist/index.js.map +0 -1
  36. package/dist/objects/filters.js.map +0 -1
  37. package/dist/objects/index.js.map +0 -1
  38. package/dist/objects/objects.js.map +0 -1
  39. package/dist/router/index.js.map +0 -1
  40. package/dist/router/navigation.js.map +0 -1
  41. package/dist/router/routeParams.js.map +0 -1
  42. package/dist/signalr/SignalRConnectionProvider.js.map +0 -1
  43. package/dist/signalr/index.js.map +0 -1
package/README.md CHANGED
@@ -68,7 +68,8 @@ const results = await applications.findInstances();
68
68
 
69
69
  ##### `get(options)`
70
70
 
71
- Get the object definition for this store's object.
71
+ Get the object definition for this store's object. The returned object includes inherited properties and actions if
72
+ this object is derived from another object.
72
73
 
73
74
  - `options` _[object]_ - _optional_
74
75
  - `sanitized` _[boolean]_
@@ -159,7 +160,16 @@ Returns a function that can be used to navigate to another page. The returned fu
159
160
 
160
161
  #### `useApp()`
161
162
 
162
- Returns the currently loaded Evoke app.
163
+ Returns the currently loaded Evoke App as well as the following function.
164
+
165
+ - `findDefaultPageSlugFor`: An asynchronous function that takes an `objectId` as a parameter and returns the default page slug for that object, if no default page slug is found and the object is a subtype, the page slug of the first ancestor with a default page will be used. It returns `undefined` if no default page slug is found for any ancestor type.
166
+
167
+ Example usage:
168
+
169
+ ```javascript
170
+ const { id: appId, findDefaultPageSlugFor } = useApp();
171
+ const defaultPageSlug = await findDefaultPageSlugFor(objectId);
172
+ ```
163
173
 
164
174
  ### REST API calls
165
175
 
@@ -198,9 +208,11 @@ absolute URL.
198
208
 
199
209
  ### SignalR Connection
200
210
 
211
+ Deprecated
212
+
201
213
  - [useSignalRConnection](#usesignalrconnection)
202
- - [documentChanges](#documentchanges)
203
- - [instanceChanges](#instancechanges)
214
+ - [documentChanges](#documentchangessubscribeobjectidinstanceid-data-documentchange)
215
+ - [instanceChanges](#instancechangessubscribeobjectid-instanceids-instancechange)
204
216
 
205
217
  #### `useSignalRConnection()`
206
218
 
@@ -218,6 +230,18 @@ documentChanges.subscribe('myObjectId/myInstanceId', (data) => {
218
230
  });
219
231
  ```
220
232
 
233
+ The data provided to the callback will be an array of `DocumentChange` which contains the
234
+ following data:
235
+
236
+ - `objectId`
237
+ - Object describing the instance associated with the updated document.
238
+ - `instanceId`
239
+ - Instance that the updated document is associated with.
240
+ - `documentId`
241
+ - Document that was updated.
242
+ - `type`
243
+ - The type of update. Possible values are `BlobCreated`, `BlobDeleted`, and `BlobMetadataUpdated`.
244
+
221
245
  ##### `documentChanges.unsubscribe('{objectId}/{instanceId}', (data: DocumentChange[]) => {})`
222
246
 
223
247
  Unsubscribe to the specified object instance document changes.
@@ -250,6 +274,8 @@ instanceChanges.subscribe('myObjectId', (instanceIds) => {
250
274
  });
251
275
  ```
252
276
 
277
+ The data provided to the callback will be an array of instance IDs that were updated.
278
+
253
279
  ##### `instanceChanges.unsubscribe('{objectId}', (instanceIds: InstanceChange[]) => {})`
254
280
 
255
281
  Unsubscribe to the specified object instance changes.
@@ -270,6 +296,102 @@ instanceChanges.subscribe('myObjectId', callback);
270
296
  instanceChanges.unsubscribe('myObjectId', callback);
271
297
  ```
272
298
 
299
+ ### Notification
300
+
301
+ - [useNofitication](#usenotification)
302
+ - [documentChanges](#documentchangessubscribeobjectidinstanceid-data-documentchange)
303
+ - [instanceChanges](#instancechangessubscribeobjectid-instanceids-instancechange)
304
+
305
+ #### `useNofitication()`
306
+
307
+ Hook used to obtain an instanceChanges instance and a documentChanges instance.
308
+
309
+ ##### `documentChanges.subscribe(objectId, instanceId, (data: DocumentChange[]]) => {})`
310
+
311
+ Subscribe to the specified object instance changes.
312
+
313
+ ```javascript
314
+ const { documentChanges } = useNotification();
315
+
316
+ documentChanges.subscribe('myObjectId', 'myInstanceId', (data) => {
317
+ console.log(data);
318
+ });
319
+ ```
320
+
321
+ The data provided to the callback will be an array of `DocumentChange` which contains the
322
+ following data:
323
+
324
+ - `objectId`
325
+ - Object describing the instance associated with the updated document.
326
+ - `instanceId`
327
+ - Instance that the updated document is associated with.
328
+ - `documentId`
329
+ - Document that was updated.
330
+ - `type`
331
+ - The type of update. Possible values are `BlobCreated`, `BlobDeleted`, and `BlobMetadataUpdated`.
332
+
333
+ ##### `documentChanges.unsubscribe(objectId, instanceId, (changes: DocumentChange[]) => {})`
334
+
335
+ Unsubscribe to the specified object instance changes.
336
+
337
+ Callback function is optional.
338
+ If callback function is not defined, all subscriptions will be removed.
339
+ If callback function is defined, you must pass the exact same Function instance as was previously passed to `documentChanges.subscribe`.
340
+ Passing a different instance (even if the function body is the same) will not remove the subscription.
341
+
342
+ ```javascript
343
+ const { documentChanges } = useNotification();
344
+
345
+ const callback = (changes: DocumentChange[]) => {
346
+ console.log(changes);
347
+ };
348
+
349
+ documentChanges.subscribe('myObjectId', 'myInstanceId', callback);
350
+
351
+ documentChanges.unsubscribe('myObjectId', 'myInstanceId', callback);
352
+ ```
353
+
354
+ ##### `instanceChanges.subscribe(objectId, (changes: InstanceChange[]) => {})`
355
+
356
+ Subscribe to the specified object changes.
357
+
358
+ ```javascript
359
+ const { instanceChanges } = useNotification();
360
+
361
+ instanceChanges.subscribe('myObjectId', (changes) => {
362
+ console.log(changes);
363
+ });
364
+ ```
365
+
366
+ The data provided to the callback will be an array of `InstanceChange` which contains the
367
+ following data:
368
+
369
+ - `objectId`
370
+ - Object describing the instance associated with the updated document.
371
+ - `instanceId`
372
+ - Instance that the updated document is associated with.
373
+
374
+ ##### `instanceChanges.unsubscribe(objectId, (changes: InstanceChange[]) => {})`
375
+
376
+ Unsubscribe to the specified object changes.
377
+
378
+ Callback function is optional.
379
+ If callback function is not defined, all subscriptions will be removed.
380
+ If callback function is defined, you must pass the exact same Function instance as was previously passed to `instanceChanges.subscribe`.
381
+ Passing a different instance (even if the function body is the same) will not remove the subscription.
382
+
383
+ ```javascript
384
+ const { instanceChanges } = useNotification();
385
+
386
+ const callback = (changes: InstanceChange[]) => {
387
+ console.log(changes);
388
+ };
389
+
390
+ instanceChanges.subscribe('myObjectId', callback);
391
+
392
+ instanceChanges.unsubscribe('myObjectId', callback);
393
+ ```
394
+
273
395
  ## License
274
396
 
275
397
  [MIT](https://github.com/Evoke-Platform/evoke-sdk/blob/main/LICENSE)
@@ -13,4 +13,3 @@ export function useApiBaseUrl() {
13
13
  return useContext(ApiBaseUrlContext);
14
14
  }
15
15
  export default ApiBaseUrlProvider;
16
- //# sourceMappingURL=ApiBaseUrlProvider.js.map
@@ -13,18 +13,20 @@ import axios from 'axios';
13
13
  import { useMemo } from 'react';
14
14
  import { useAuthenticationContext } from '../authentication/AuthenticationContextProvider.js';
15
15
  import { useApiBaseUrl } from './ApiBaseUrlProvider.js';
16
+ import { v4 as uuidv4 } from 'uuid';
17
+ const sessionId = uuidv4();
16
18
  export class ApiServices {
17
19
  constructor(api, authContext) {
18
20
  this.api = api;
19
- if (authContext) {
20
- this.api.interceptors.request.use((config) => __awaiter(this, void 0, void 0, function* () {
21
+ this.api.interceptors.request.use((config) => __awaiter(this, void 0, void 0, function* () {
22
+ const headers = { 'X-Session-Id': sessionId };
23
+ if (authContext) {
21
24
  const token = yield authContext.getAccessToken();
22
- config.headers = Object.assign({}, config.headers, {
23
- Authorization: `Bearer ${token}`,
24
- });
25
- return config;
26
- }));
27
- }
25
+ headers['Authorization'] = `Bearer ${token}`;
26
+ }
27
+ config.headers = Object.assign({}, config.headers, headers);
28
+ return config;
29
+ }));
28
30
  }
29
31
  promiseOrCallback(promise, cb) {
30
32
  return __awaiter(this, void 0, void 0, function* () {
@@ -144,4 +146,3 @@ export function useApiServices() {
144
146
  const apiServices = useMemo(() => new ApiServices(axios.create({ baseURL }), authContext), [authContext, baseURL]);
145
147
  return apiServices;
146
148
  }
147
- //# sourceMappingURL=apiServices.js.map
@@ -10,4 +10,3 @@ export function callback(onSuccess, onError) {
10
10
  }
11
11
  };
12
12
  }
13
- //# sourceMappingURL=callback.js.map
package/dist/api/index.js CHANGED
@@ -4,4 +4,3 @@ export * from './ApiBaseUrlProvider.js';
4
4
  export { default as ApiBaseUrlProvider } from './ApiBaseUrlProvider.js';
5
5
  export * from './apiServices.js';
6
6
  export * from './callback.js';
7
- //# sourceMappingURL=index.js.map
@@ -10,10 +10,12 @@ export type App = {
10
10
  iconColor?: string;
11
11
  pages?: Page[];
12
12
  navigation?: NavigationMenu;
13
+ defaultPages?: Record<string, string>;
13
14
  };
14
15
  export type Page = {
15
16
  id: string;
16
17
  name: string;
18
+ slug?: string;
17
19
  children?: PageElement[];
18
20
  };
19
21
  export type PageElement = Container | Widget;
@@ -36,10 +38,19 @@ export type NavigationItem = {
36
38
  pageId: string;
37
39
  pageName: string;
38
40
  };
41
+ export type AppExtended = App & {
42
+ /**
43
+ * Looks up the default page slug for a given object or its nearest type ancestor.
44
+ *
45
+ * @param {string} objectId - The ID of the object to start the search from.
46
+ * @returns {Promise<string | undefined>} The default page slug, or `undefined` if no default page is found.
47
+ */
48
+ findDefaultPageSlugFor: (objectId: string) => Promise<string | undefined>;
49
+ };
39
50
  export type AppProviderProps = {
40
51
  app: App;
41
52
  children?: ReactNode;
42
53
  };
43
54
  declare function AppProvider(props: AppProviderProps): import("react/jsx-runtime").JSX.Element;
44
- export declare function useApp(): App;
55
+ export declare function useApp(): AppExtended;
45
56
  export default AppProvider;
@@ -1,16 +1,64 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import { jsx as _jsx } from "react/jsx-runtime";
2
11
  // Copyright (c) 2023 System Automation Corporation.
3
12
  // This file is licensed under the MIT License.
4
- import { createContext, useContext } from 'react';
5
- const defaultApp = { id: '_evoke', name: 'Evoke Platform', type: 'public' };
6
- const AppContext = createContext(defaultApp);
13
+ import { createContext, useCallback, useContext } from 'react';
14
+ import { useApiServices } from '../api';
15
+ const defaultApp = {
16
+ id: '_evoke',
17
+ name: 'Evoke Platform',
18
+ type: 'public',
19
+ };
20
+ const defaultAppExtended = Object.assign(Object.assign({}, defaultApp), { findDefaultPageSlugFor: (objectId) => Promise.resolve(undefined) });
21
+ const AppContext = createContext(defaultAppExtended);
7
22
  AppContext.displayName = 'AppContext';
8
23
  function AppProvider(props) {
9
24
  const { app, children } = props;
10
- return _jsx(AppContext.Provider, { value: app, children: children });
25
+ const apiServices = useApiServices();
26
+ const appExtended = Object.assign(Object.assign({}, app), { findDefaultPageSlugFor: useCallback((objectId) => __awaiter(this, void 0, void 0, function* () {
27
+ var _a, _b, _c, _d;
28
+ let defaultPageId;
29
+ let currentObjectId = objectId;
30
+ while (currentObjectId !== undefined) {
31
+ if ((_a = app.defaultPages) === null || _a === void 0 ? void 0 : _a[currentObjectId]) {
32
+ defaultPageId = app.defaultPages[currentObjectId];
33
+ break;
34
+ }
35
+ const effectiveObject = yield apiServices.get(`data/objects/${currentObjectId}/effective`, {
36
+ params: { filter: { fields: ['baseObject'] } },
37
+ });
38
+ currentObjectId = (_c = (_b = effectiveObject === null || effectiveObject === void 0 ? void 0 : effectiveObject.baseObject) === null || _b === void 0 ? void 0 : _b.objectId) !== null && _c !== void 0 ? _c : undefined;
39
+ }
40
+ let defaultPage;
41
+ if (defaultPageId) {
42
+ const pageId = defaultPageId.includes('/')
43
+ ? defaultPageId.split('/').slice(2).join('/')
44
+ : defaultPageId;
45
+ try {
46
+ defaultPage = yield apiServices.get(`/webContent/apps/${app.id}/pages/${encodeURIComponent(encodeURIComponent(pageId))}`);
47
+ }
48
+ catch (error) {
49
+ const err = error;
50
+ if (((_d = err.response) === null || _d === void 0 ? void 0 : _d.status) === 404) {
51
+ defaultPage = undefined;
52
+ }
53
+ }
54
+ }
55
+ if (defaultPage === null || defaultPage === void 0 ? void 0 : defaultPage.slug) {
56
+ return `/${app.id}/${defaultPage.slug}`;
57
+ }
58
+ }), [app]) });
59
+ return _jsx(AppContext.Provider, { value: appExtended, children: children });
11
60
  }
12
61
  export function useApp() {
13
62
  return useContext(AppContext);
14
63
  }
15
64
  export default AppProvider;
16
- //# sourceMappingURL=AppProvider.js.map
package/dist/app/index.js CHANGED
@@ -2,4 +2,3 @@
2
2
  // This file is licensed under the MIT License.
3
3
  export * from './AppProvider.js';
4
4
  export { default as AppProvider } from './AppProvider.js';
5
- //# sourceMappingURL=index.js.map
@@ -31,7 +31,10 @@ function AuthenticationContextProvider(props) {
31
31
  ? {
32
32
  account: { id: account.localAccountId, name: account.name },
33
33
  logout: () => {
34
- msal.instance.logoutRedirect({ account });
34
+ msal.instance.logoutRedirect({
35
+ account,
36
+ postLogoutRedirectUri: `/logout?p=${encodeURIComponent(window.location.pathname + window.location.search)}`,
37
+ });
35
38
  },
36
39
  getAccessToken,
37
40
  }
@@ -42,4 +45,3 @@ export function useAuthenticationContext() {
42
45
  return useContext(Context);
43
46
  }
44
47
  export default AuthenticationContextProvider;
45
- //# sourceMappingURL=AuthenticationContextProvider.js.map
@@ -2,4 +2,3 @@
2
2
  // This file is licensed under the MIT License.
3
3
  export * from './AuthenticationContextProvider.js';
4
4
  export { default as AuthenticationContextProvider } from './AuthenticationContextProvider.js';
5
- //# sourceMappingURL=index.js.map
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './api/index.js';
2
2
  export * from './app/index.js';
3
3
  export * from './authentication/index.js';
4
+ export * from './notification/index.js';
4
5
  export * from './objects/index.js';
5
6
  export * from './router/index.js';
6
7
  export * from './signalr/index.js';
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  export * from './api/index.js';
4
4
  export * from './app/index.js';
5
5
  export * from './authentication/index.js';
6
+ export * from './notification/index.js';
6
7
  export * from './objects/index.js';
7
8
  export * from './router/index.js';
8
9
  export * from './signalr/index.js';
9
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ export type NotificationConnectionInfo = {
3
+ url: string;
4
+ accessToken: string;
5
+ };
6
+ export type InstanceSubscription = {
7
+ subscribe: (objectId: string, callback: (...args: NotificationInstanceChange[]) => void) => void;
8
+ unsubscribe: (objectId: string, callback?: (...args: NotificationInstanceChange[]) => void) => void;
9
+ };
10
+ export type DocumentSubscription = {
11
+ subscribe: (objectId: string, instanceId: string | undefined, callback: (...args: NotificationDocumentChange[]) => void) => void;
12
+ unsubscribe: (objectId: string, instanceId: string | undefined, callback?: (...args: NotificationDocumentChange[]) => void) => void;
13
+ };
14
+ export type NotificationDocumentChange = {
15
+ objectId: string;
16
+ instanceId: string;
17
+ documentId: string;
18
+ type: string;
19
+ };
20
+ export type NotificationInstanceChange = {
21
+ objectId: string;
22
+ instanceId: string;
23
+ };
24
+ export type NotificationContextType = {
25
+ documentChanges?: DocumentSubscription;
26
+ instanceChanges?: InstanceSubscription;
27
+ };
28
+ export declare const NotificationContext: React.Context<NotificationContextType>;
29
+ declare function NotificationProvider({ children }: {
30
+ children: React.ReactNode;
31
+ }): import("react/jsx-runtime").JSX.Element;
32
+ export declare function useNotification(): NotificationContextType;
33
+ export default NotificationProvider;
@@ -0,0 +1,134 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { HubConnectionBuilder, LogLevel, } from '@microsoft/signalr/dist/esm/index.js';
12
+ import { createContext, useContext, useEffect, useState } from 'react';
13
+ import { useApiServices } from '../api/index.js';
14
+ export const NotificationContext = createContext({});
15
+ NotificationContext.displayName = 'NotificationContext';
16
+ function NotificationProvider({ children }) {
17
+ const [instancesNotification, setInstancesNotification] = useState();
18
+ const [documentsNotification, setDocumentsNotification] = useState();
19
+ const api = useApiServices();
20
+ useEffect(() => {
21
+ const getConnectionInfo = (hubName) => {
22
+ return api.post(`/notification/hubs/${hubName}/negotiate`);
23
+ };
24
+ const getConnection = () => __awaiter(this, void 0, void 0, function* () {
25
+ try {
26
+ const instancesConnectionInfo = yield getConnectionInfo('instanceChanges');
27
+ const documentsConnectionInfo = yield getConnectionInfo('documentChanges');
28
+ if (instancesConnectionInfo) {
29
+ const options = {
30
+ accessTokenFactory: () => {
31
+ var _a;
32
+ return (_a = instancesConnectionInfo.accessToken) !== null && _a !== void 0 ? _a : '';
33
+ },
34
+ };
35
+ const connection = new HubConnectionBuilder()
36
+ .withUrl(instancesConnectionInfo.url, options)
37
+ .configureLogging(LogLevel.Error)
38
+ .withAutomaticReconnect()
39
+ .build();
40
+ setInstancesNotification(connection);
41
+ }
42
+ if (documentsConnectionInfo) {
43
+ const options = {
44
+ accessTokenFactory: () => {
45
+ var _a;
46
+ return (_a = documentsConnectionInfo.accessToken) !== null && _a !== void 0 ? _a : '';
47
+ },
48
+ };
49
+ const connection = new HubConnectionBuilder()
50
+ .withUrl(documentsConnectionInfo.url, options)
51
+ .configureLogging(LogLevel.Error)
52
+ .withAutomaticReconnect()
53
+ .build();
54
+ setDocumentsNotification(connection);
55
+ }
56
+ // eslint-disable-next-line no-empty
57
+ }
58
+ catch (err) {
59
+ console.log(err);
60
+ }
61
+ });
62
+ getConnection();
63
+ }, []);
64
+ useEffect(() => {
65
+ let documentsConnectionStopped = false;
66
+ const startConnection = (connection, numOfAttempts) => __awaiter(this, void 0, void 0, function* () {
67
+ yield connection.start().catch((error) => {
68
+ if (numOfAttempts < 4 && !documentsConnectionStopped) {
69
+ setTimeout(() => {
70
+ if (!documentsConnectionStopped) {
71
+ startConnection(connection, numOfAttempts + 1);
72
+ }
73
+ }, 2000);
74
+ }
75
+ else {
76
+ console.warn(`Cannot start connection to Notification Service due to error "${error}"`);
77
+ }
78
+ });
79
+ });
80
+ if (documentsNotification) {
81
+ startConnection(documentsNotification, 0);
82
+ }
83
+ return () => {
84
+ documentsNotification === null || documentsNotification === void 0 ? void 0 : documentsNotification.stop();
85
+ documentsConnectionStopped = true;
86
+ };
87
+ }, [documentsNotification]);
88
+ useEffect(() => {
89
+ let instancesConnectionStopped = false;
90
+ const startConnection = (connection, numOfAttempts) => __awaiter(this, void 0, void 0, function* () {
91
+ yield connection.start().catch((error) => {
92
+ if (numOfAttempts < 4 && !instancesConnectionStopped) {
93
+ setTimeout(() => {
94
+ if (!instancesConnectionStopped) {
95
+ startConnection(connection, numOfAttempts + 1);
96
+ }
97
+ }, 2000);
98
+ }
99
+ else {
100
+ console.warn(`Cannot start connection to Notification Service due to error "${error}"`);
101
+ }
102
+ });
103
+ });
104
+ if (instancesNotification) {
105
+ startConnection(instancesNotification, 0);
106
+ }
107
+ return () => {
108
+ instancesNotification === null || instancesNotification === void 0 ? void 0 : instancesNotification.stop();
109
+ instancesConnectionStopped = true;
110
+ };
111
+ }, [instancesNotification]);
112
+ return (_jsx(NotificationContext.Provider, { value: {
113
+ documentChanges: documentsNotification
114
+ ? {
115
+ subscribe: (objectId, instanceId, callback) => documentsNotification.on(`${objectId}/${instanceId}`, callback),
116
+ unsubscribe: (objectId, instanceId, callback) => callback
117
+ ? documentsNotification.off(`${objectId}/${instanceId}`, callback)
118
+ : documentsNotification.off(`${objectId}/${instanceId}`),
119
+ }
120
+ : undefined,
121
+ instanceChanges: instancesNotification
122
+ ? {
123
+ subscribe: (objectId, callback) => instancesNotification.on(objectId, callback),
124
+ unsubscribe: (objectId, callback) => callback
125
+ ? instancesNotification.off(objectId, callback)
126
+ : instancesNotification.off(objectId),
127
+ }
128
+ : undefined,
129
+ }, children: children }));
130
+ }
131
+ export function useNotification() {
132
+ return useContext(NotificationContext);
133
+ }
134
+ export default NotificationProvider;
@@ -0,0 +1,2 @@
1
+ export * from './NotificationProvider.js';
2
+ export { default as NotificationProvider } from './NotificationProvider.js';
@@ -0,0 +1,2 @@
1
+ export * from './NotificationProvider.js';
2
+ export { default as NotificationProvider } from './NotificationProvider.js';
@@ -1,4 +1,3 @@
1
1
  // Copyright (c) 2023 System Automation Corporation.
2
2
  // This file is licensed under the MIT License.
3
3
  export {};
4
- //# sourceMappingURL=filters.js.map
@@ -2,4 +2,3 @@
2
2
  // This file is licensed under the MIT License.
3
3
  export * from './filters.js';
4
4
  export * from './objects.js';
5
- //# sourceMappingURL=index.js.map
@@ -1,29 +1,110 @@
1
1
  import { ApiServices, Callback } from '../api/index.js';
2
2
  import { Filter } from './filters.js';
3
+ export type BaseObjReference = {
4
+ objectId: string;
5
+ discriminatorValue: unknown;
6
+ };
7
+ export type ViewLayout = {
8
+ table?: TableViewLayout;
9
+ dropdown?: DropdownViewLayout;
10
+ };
11
+ export type DropdownViewLayout = {
12
+ secondaryTextExpression: string;
13
+ };
14
+ export type TableViewLayout = {
15
+ properties: PropertyReference[];
16
+ sort?: Sort;
17
+ };
18
+ export type PropertyReference = {
19
+ id: string;
20
+ format?: string;
21
+ };
22
+ export type Sort = {
23
+ colId: string;
24
+ sort?: 'asc' | 'desc';
25
+ };
3
26
  export type Obj = {
4
27
  id: string;
5
28
  name: string;
29
+ typeDiscriminatorProperty?: string;
30
+ viewLayout?: ViewLayout;
31
+ baseObject?: BaseObjReference;
6
32
  properties?: Property[];
7
33
  actions?: Action[];
8
34
  };
9
- export type PropertyType = 'array' | 'boolean' | 'date' | 'date-time' | 'integer' | 'number' | 'object' | 'string';
35
+ export type ObjWithRoot = Obj & {
36
+ rootObjectId: string;
37
+ };
38
+ export type PropertyType = 'address' | 'array' | 'boolean' | 'collection' | 'date' | 'date-time' | 'document' | 'image' | 'integer' | 'number' | 'object' | 'richText' | 'string' | 'time' | 'user';
39
+ export type NumericValidation = {
40
+ errorMessage?: string;
41
+ minimum?: number;
42
+ maximum?: number;
43
+ };
44
+ export type DateValidation = {
45
+ errorMessage?: string;
46
+ to?: string;
47
+ from?: string;
48
+ };
49
+ export type CriteriaValidation = {
50
+ criteria?: Record<string, unknown>;
51
+ };
52
+ export type StringValidation = {
53
+ operator: 'any' | 'all';
54
+ rules?: {
55
+ regex: string;
56
+ errorMessage?: string;
57
+ }[];
58
+ };
59
+ export type DocumentValidation = {
60
+ errorMessage?: string;
61
+ maxDocuments?: number;
62
+ minDocuments?: number;
63
+ };
64
+ export type PropertyValidation = StringValidation | NumericValidation | DateValidation | CriteriaValidation | DocumentValidation;
10
65
  export type Property = {
11
66
  id: string;
12
67
  name: string;
13
68
  type: PropertyType;
14
69
  enum?: string[];
15
70
  objectId?: string;
71
+ relatedPropertyId?: string;
16
72
  required?: boolean;
17
73
  searchable?: boolean;
18
74
  formula?: string;
75
+ formulaType?: 'aggregate' | 'custom' | 'arithmetic';
76
+ mask?: string;
77
+ validation?: PropertyValidation;
78
+ manyToManyPropertyId?: string;
79
+ textTransform?: 'titleCase' | 'upperCase' | 'lowerCase' | 'sentenceCase';
19
80
  };
20
81
  export type ActionType = 'create' | 'update' | 'delete';
82
+ export type InputStringValidation = StringValidation & {
83
+ minLength?: number;
84
+ maxLength?: number;
85
+ mask?: string;
86
+ };
87
+ export type InputParameter = {
88
+ id: string;
89
+ name?: string;
90
+ type: PropertyType;
91
+ required?: boolean;
92
+ enum?: string[];
93
+ validation?: PropertyValidation | InputStringValidation;
94
+ objectId?: string;
95
+ relatedPropertyId?: string;
96
+ manyToManyPropertyId?: string;
97
+ };
21
98
  export type Action = {
22
99
  id: string;
23
100
  name: string;
24
101
  type: ActionType;
25
102
  outputEvent: string;
26
- inputProperties?: Property[];
103
+ inputProperties?: ActionInput[];
104
+ parameters?: InputParameter[];
105
+ form?: Form;
106
+ customCode?: string;
107
+ preconditions?: object;
27
108
  };
28
109
  export type ObjectInstance = {
29
110
  id: string;
@@ -31,6 +112,159 @@ export type ObjectInstance = {
31
112
  name: string;
32
113
  [key: string]: unknown;
33
114
  };
115
+ export type RegexValidation = {
116
+ regex: string;
117
+ errorMessage: string;
118
+ };
119
+ export type SelectOption = {
120
+ label: string;
121
+ value: string;
122
+ };
123
+ export type VisibilityConfiguration = {
124
+ operator?: 'any' | 'all';
125
+ conditions?: {
126
+ property: string;
127
+ operator: 'eq' | 'neq';
128
+ value: string | number | boolean;
129
+ }[];
130
+ };
131
+ export type RelatedObjectDefaultValue = {
132
+ criteria: Record<string, unknown>;
133
+ sortBy?: string;
134
+ orderBy?: 'asc' | 'desc' | 'ASC' | 'DESC';
135
+ };
136
+ export type DisplayConfiguration = {
137
+ label?: string;
138
+ placeholder?: string;
139
+ required?: boolean;
140
+ description?: string;
141
+ defaultValue?: string | number | string[] | RelatedObjectDefaultValue;
142
+ readOnly?: boolean;
143
+ tooltip?: string;
144
+ prefix?: string;
145
+ suffix?: string;
146
+ placeholderChar?: string;
147
+ rowCount?: number;
148
+ charCount?: boolean;
149
+ mode?: 'default' | 'existingOnly';
150
+ relatedObjectDisplay?: 'dropdown' | 'dialogBox';
151
+ visibility?: VisibilityConfiguration | string;
152
+ };
153
+ export type InputParameterReference = {
154
+ type: 'input';
155
+ parameterId: string;
156
+ display?: DisplayConfiguration;
157
+ enumWithLabels?: SelectOption[];
158
+ documentMetadata?: Record<string, string>;
159
+ };
160
+ export type Content = {
161
+ type: 'content';
162
+ html: string;
163
+ visibility?: VisibilityConfiguration | string;
164
+ };
165
+ export type Column = {
166
+ width: number;
167
+ entries?: FormEntry[];
168
+ };
169
+ export type Columns = {
170
+ type: 'columns';
171
+ columns: Column[];
172
+ visibility?: VisibilityConfiguration | string;
173
+ };
174
+ export type Section = {
175
+ label: string;
176
+ entries?: FormEntry[];
177
+ };
178
+ export type Sections = {
179
+ type: 'sections';
180
+ sections: Section[];
181
+ visibility?: VisibilityConfiguration | string;
182
+ };
183
+ export type FormEntry = InputParameterReference | Columns | Sections | Content;
184
+ export type Form = {
185
+ entries?: FormEntry[];
186
+ };
187
+ export type ActionInputType = 'button' | 'Section' | 'Columns' | 'Content' | 'Select' | 'TextField' | 'DateTime' | 'RepeatableField' | 'ManyToManyRepeatableField' | 'MultiSelect' | 'Decimal' | 'RichText' | 'Date' | 'Integer' | 'Image' | 'Object' | 'Time' | 'User';
188
+ /**
189
+ * Represents an object action inputProperty object.
190
+ */
191
+ export type ActionInput = {
192
+ id?: string;
193
+ label?: string;
194
+ type?: ActionInputType;
195
+ key?: string;
196
+ initialValue?: string | number | SelectOption[] | SelectOption;
197
+ defaultToCurrentDate?: boolean;
198
+ defaultToCurrentTime?: boolean;
199
+ defaultValueCriteria?: object;
200
+ sortBy?: string;
201
+ orderBy?: 'asc' | 'desc' | 'ASC' | 'DESC';
202
+ html?: string;
203
+ labelPosition?: string;
204
+ placeholder?: string;
205
+ description?: string;
206
+ tooltip?: string;
207
+ prefix?: string;
208
+ suffix?: string;
209
+ data?: {
210
+ /**
211
+ * An array of values required for select options.
212
+ */
213
+ values?: SelectOption[];
214
+ };
215
+ inputMask?: string;
216
+ inputMaskPlaceholderChar?: string;
217
+ tableView?: boolean;
218
+ mode?: 'default' | 'existingOnly';
219
+ displayOption?: 'dropdown' | 'dialogBox';
220
+ rows?: number;
221
+ showCharCount?: boolean;
222
+ readOnly?: boolean;
223
+ isMultiLineText?: boolean;
224
+ verticalLayout?: boolean;
225
+ input?: boolean;
226
+ widget?: string;
227
+ conditional?: {
228
+ json?: string;
229
+ show?: boolean;
230
+ when?: string;
231
+ eq?: string | number | boolean;
232
+ };
233
+ property?: {
234
+ id: string;
235
+ };
236
+ validate?: {
237
+ required?: boolean;
238
+ criteria?: object;
239
+ operator?: 'any' | 'all';
240
+ regexes?: RegexValidation[];
241
+ minLength?: number;
242
+ maxLength?: number;
243
+ minDate?: string;
244
+ maxDate?: string;
245
+ minTime?: string;
246
+ maxTime?: string;
247
+ min?: number;
248
+ max?: number;
249
+ customMessage?: string;
250
+ };
251
+ /**
252
+ * An array of sub-components to be rendered inside sections.
253
+ */
254
+ components?: {
255
+ key: string;
256
+ label?: string;
257
+ components: ActionInput[];
258
+ }[];
259
+ /**
260
+ * An array of sub-components to be rendered inside columns.
261
+ */
262
+ columns?: {
263
+ width: number;
264
+ currentWidth?: number;
265
+ components: ActionInput[];
266
+ }[];
267
+ };
34
268
  export type ActionRequest = {
35
269
  actionId: string;
36
270
  input?: Record<string, unknown>;
@@ -62,19 +296,19 @@ export declare class ObjectStore {
62
296
  private services;
63
297
  private objectId;
64
298
  constructor(services: ApiServices, objectId: string);
65
- get(options?: ObjectOptions): Promise<Obj>;
66
- get(cb?: Callback<Obj>): void;
67
- get(options: ObjectOptions, cb?: Callback<Obj>): void;
68
- findInstances(filter?: Filter): Promise<ObjectInstance[]>;
69
- findInstances(cb: Callback<ObjectInstance[]>): void;
70
- findInstances(filter: Filter, cb: Callback<ObjectInstance[]>): void;
71
- getInstance(id: string): Promise<ObjectInstance>;
72
- getInstance(id: string, cb: Callback<ObjectInstance>): void;
299
+ get(options?: ObjectOptions): Promise<ObjWithRoot>;
300
+ get(cb?: Callback<ObjWithRoot>): void;
301
+ get(options: ObjectOptions, cb?: Callback<ObjWithRoot>): void;
302
+ findInstances<T extends ObjectInstance = ObjectInstance>(filter?: Filter): Promise<T[]>;
303
+ findInstances<T extends ObjectInstance = ObjectInstance>(cb: Callback<T[]>): void;
304
+ findInstances<T extends ObjectInstance = ObjectInstance>(filter: Filter, cb: Callback<T[]>): void;
305
+ getInstance<T extends ObjectInstance = ObjectInstance>(id: string): Promise<T>;
306
+ getInstance<T extends ObjectInstance = ObjectInstance>(id: string, cb: Callback<T>): void;
73
307
  getInstanceHistory(id: string): Promise<History[]>;
74
308
  getInstanceHistory(id: string, cb: Callback<History[]>): void;
75
- newInstance(input: ActionRequest): Promise<ObjectInstance>;
76
- newInstance(input: ActionRequest, cb: Callback<ObjectInstance>): void;
77
- instanceAction(id: string, input: ActionRequest): Promise<ObjectInstance>;
78
- instanceAction(id: string, input: ActionRequest, cb: Callback<ObjectInstance>): void;
309
+ newInstance<T extends ObjectInstance = ObjectInstance>(input: ActionRequest): Promise<T>;
310
+ newInstance<T extends ObjectInstance = ObjectInstance>(input: ActionRequest, cb: Callback<T>): void;
311
+ instanceAction<T extends ObjectInstance = ObjectInstance>(id: string, input: ActionRequest): Promise<T>;
312
+ instanceAction<T extends ObjectInstance = ObjectInstance>(id: string, input: ActionRequest, cb: Callback<T>): void;
79
313
  }
80
314
  export declare function useObject(objectId: string): ObjectStore;
@@ -24,9 +24,9 @@ export class ObjectStore {
24
24
  },
25
25
  };
26
26
  if (!cb) {
27
- return this.services.get(`data/objects/${this.objectId}`, config);
27
+ return this.services.get(`data/objects/${this.objectId}/effective`, config);
28
28
  }
29
- this.services.get(`data/objects/${this.objectId}`, config, cb);
29
+ this.services.get(`data/objects/${this.objectId}/effective`, config, cb);
30
30
  }
31
31
  findInstances(filterOrCallback, cb) {
32
32
  let filter;
@@ -78,4 +78,3 @@ export function useObject(objectId) {
78
78
  const services = useApiServices();
79
79
  return useMemo(() => new ObjectStore(services, objectId), [services, objectId]);
80
80
  }
81
- //# sourceMappingURL=objects.js.map
@@ -2,4 +2,3 @@
2
2
  // This file is licensed under the MIT License.
3
3
  export * from './navigation.js';
4
4
  export * from './routeParams.js';
5
- //# sourceMappingURL=index.js.map
@@ -8,4 +8,3 @@ export function useNavigate() {
8
8
  navigate(generatePath(page, params));
9
9
  }, [navigate]);
10
10
  }
11
- //# sourceMappingURL=navigation.js.map
@@ -7,4 +7,3 @@ export function usePageParams() {
7
7
  export function usePageParam(param) {
8
8
  return useParams()[param];
9
9
  }
10
- //# sourceMappingURL=routeParams.js.map
@@ -140,4 +140,3 @@ export function useSignalRConnection() {
140
140
  return useContext(SignalRConnectionContext);
141
141
  }
142
142
  export default SignalRConnectionProvider;
143
- //# sourceMappingURL=SignalRConnectionProvider.js.map
@@ -2,4 +2,3 @@
2
2
  // This file is licensed under the MIT License.
3
3
  export * from './SignalRConnectionProvider.js';
4
4
  export { default as SignalRConnectionProvider } from './SignalRConnectionProvider.js';
5
- //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evoke-platform/context",
3
- "version": "1.0.0-dev.11",
3
+ "version": "1.0.0-dev.110",
4
4
  "description": "Utilities that provide context to Evoke platform widgets",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -35,24 +35,25 @@
35
35
  "!dist/tests"
36
36
  ],
37
37
  "devDependencies": {
38
- "@azure/msal-browser": "^2.38.0",
38
+ "@azure/msal-browser": "^2.38.4",
39
39
  "@azure/msal-react": "^1.5.9",
40
- "@types/chai": "^4.3.4",
41
- "@types/dirty-chai": "^2.0.2",
42
- "@types/mocha": "^10.0.1",
40
+ "@types/chai": "^4.3.11",
41
+ "@types/dirty-chai": "^2.0.4",
42
+ "@types/mocha": "^10.0.6",
43
43
  "@types/node": "^18.15.7",
44
- "@types/react": "^18.0.28",
45
- "@types/sinon": "^10.0.13",
46
- "chai": "^4.3.7",
47
- "commit-and-tag-version": "^11.2.2",
44
+ "@types/react": "^18.2.28",
45
+ "@types/uuid": "^9.0.8",
46
+ "@types/sinon": "^17.0.3",
47
+ "chai": "^4.4.1",
48
+ "commit-and-tag-version": "^12.1.0",
48
49
  "dirty-chai": "^2.0.1",
49
- "eslint-plugin-react": "^7.32.2",
50
+ "eslint-plugin-react": "^7.33.2",
50
51
  "mocha": "^10.2.0",
51
- "msw": "^1.2.1",
52
+ "msw": "^1.3.1",
52
53
  "react": "^18.2.0",
53
- "react-router-dom": "^6.14.0",
54
- "sinon": "^15.0.3",
55
- "typescript": "^5.1.6"
54
+ "react-router-dom": "^6.16.0",
55
+ "sinon": "^18.0.0",
56
+ "typescript": "^5.3.3"
56
57
  },
57
58
  "peerDependencies": {
58
59
  "@azure/msal-browser": ">=2",
@@ -61,7 +62,8 @@
61
62
  "react-router-dom": ">=6"
62
63
  },
63
64
  "dependencies": {
64
- "@microsoft/signalr": "^7.0.5",
65
- "axios": "^1.4.0"
65
+ "@microsoft/signalr": "^7.0.12",
66
+ "axios": "^1.6.7",
67
+ "uuid": "^9.0.1"
66
68
  }
67
69
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ApiBaseUrlProvider.js","sourceRoot":"","sources":["../../src/api/ApiBaseUrlProvider.tsx"],"names":[],"mappings":";;AAAA,oDAAoD;AACpD,+CAA+C;AAE/C,OAAO,EAAE,aAAa,EAAa,UAAU,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,MAAA,UAAU,CAAC,QAAQ,0CAAE,MAAM,MAAM,CAAC,CAAC;AAE9E,iBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAC;AAOpD,SAAS,kBAAkB,CAAC,KAA8B;IACtD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEhC,OAAO,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YAAG,QAAQ,GAA8B,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,aAAa;IACzB,OAAO,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACzC,CAAC;AAED,eAAe,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiServices.js","sourceRoot":"","sources":["../../src/api/apiServices.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"callback.js","sourceRoot":"","sources":["../../src/api/callback.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+CAA+C;AAI/C,MAAM,UAAU,QAAQ,CAAI,SAA+B,EAAE,OAA8B;IACvF,OAAO,CAAC,GAAkB,EAAE,MAAU,EAAE,EAAE;QACtC,IAAI,GAAG,EAAE;YACL,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,GAAG,CAAC,CAAC;SAClB;aAAM;YACH,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,MAAW,CAAC,CAAC;SAC5B;IACL,CAAC,CAAC;AACN,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+CAA+C;AAE/C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxE,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppProvider.js","sourceRoot":"","sources":["../../src/app/AppProvider.tsx"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,+CAA+C;AAE/C,OAAO,EAAE,aAAa,EAAa,UAAU,EAAE,MAAM,OAAO,CAAC;AA+C7D,MAAM,UAAU,GAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACjF,MAAM,UAAU,GAAG,aAAa,CAAM,UAAU,CAAC,CAAC;AAElD,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAOtC,SAAS,WAAW,CAAC,KAAuB;IACxC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEhC,OAAO,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YAAG,QAAQ,GAAuB,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,MAAM;IAClB,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,eAAe,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+CAA+C;AAE/C,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthenticationContextProvider.js","sourceRoot":"","sources":["../../src/authentication/AuthenticationContextProvider.tsx"],"names":[],"mappings":";;;;;;;;;;AAKA,OAAO,EAAa,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAanF,MAAM,OAAO,GAAG,aAAa,CAAoC,SAAS,CAAC,CAAC;AAE5E,OAAO,CAAC,WAAW,GAAG,uBAAuB,CAAC;AAU9C,SAAS,6BAA6B,CAAC,KAAyC;;IAC5E,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE9C,MAAM,OAAO,GAA4B,MAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,mCAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/G,MAAM,cAAc,GAAG,WAAW,CAC9B;;YACI,IAAI;gBACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,iCAAM,WAAW,KAAE,OAAO,IAAG,CAAC;gBAErF,OAAO,QAAQ,CAAC,WAAW,CAAC;aAC/B;YAAC,OAAO,GAAY,EAAE;gBACnB,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,iCAAM,WAAW,KAAE,OAAO,IAAG,CAAC;gBAEtE,OAAO,EAAE,CAAC;aACb;QACL,CAAC;KAAA,EACD,CAAC,IAAI,EAAE,WAAW,CAAC,CACtB,CAAC;IAEF,MAAM,OAAO,GAAsC,OAAO,CACtD,GAAG,EAAE,CACD,OAAO;QACH,CAAC,CAAC;YACI,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;YAC3D,MAAM,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,cAAc;SACjB;QACH,CAAC,CAAC,SAAS,EACnB,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAClC,CAAC;IAEF,OAAO,KAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAAG,QAAQ,GAAoB,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,wBAAwB;IACpC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,eAAe,6BAA6B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authentication/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+CAA+C;AAE/C,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,oCAAoC,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+CAA+C;AAE/C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/objects/filters.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+CAA+C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/objects/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+CAA+C;AAE/C,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/objects/objects.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+CAA+C;AAE/C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/router/navigation.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+CAA+C;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIlF,MAAM,UAAU,WAAW;IACvB,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IAErC,OAAO,WAAW,CACd,CAAC,IAAY,EAAE,MAA+B,EAAE,EAAE;QAC9C,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC,EACD,CAAC,QAAQ,CAAC,CACb,CAAC;AACN,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"routeParams.js","sourceRoot":"","sources":["../../src/router/routeParams.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+CAA+C;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,UAAU,aAAa;IACzB,OAAO,SAAS,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACtC,OAAO,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignalRConnectionProvider.js","sourceRoot":"","sources":["../../src/signalr/SignalRConnectionProvider.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signalr/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+CAA+C;AAE/C,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}