@trackunit/react-core-hooks 0.2.137 → 0.2.138

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/index.cjs.js CHANGED
@@ -292,14 +292,24 @@ const useURLSynchronization = () => {
292
292
  */
293
293
  const useAssetRuntime = () => {
294
294
  const [assetInfo, setAssetInfo] = React.useState();
295
+ const [loading, setLoading] = React.useState(true);
296
+ const [error, setError] = React.useState();
295
297
  React.useEffect(() => {
296
298
  const getAssetInfo = () => __awaiter(void 0, void 0, void 0, function* () {
297
- const updatedAssetInfo = yield irisAppRuntimeCore.AssetRuntime.getAssetInfo();
298
- setAssetInfo(updatedAssetInfo);
299
+ setLoading(true);
300
+ try {
301
+ const updatedAssetInfo = yield irisAppRuntimeCore.AssetRuntime.getAssetInfo();
302
+ setLoading(false);
303
+ setAssetInfo(updatedAssetInfo);
304
+ }
305
+ catch (e) {
306
+ setLoading(false);
307
+ setError(new Error("Failed to get asset info"));
308
+ }
299
309
  });
300
310
  getAssetInfo();
301
311
  }, []);
302
- return { assetInfo };
312
+ return { assetInfo, loading, error };
303
313
  };
304
314
 
305
315
  /**
@@ -358,12 +368,32 @@ const useCustomFieldRuntimeForEntity = (entity) => {
358
368
  };
359
369
 
360
370
  /**
361
- * A hook to expose rest runtime to be used in React components
371
+ * A hook to expose event runtime for React components
362
372
  *
363
- * @returns {UseRestRuntime} a RestRuntime
373
+ * @requires EventRuntime
374
+ * @returns {UseEventRuntime} eventRuntime
375
+ * @example
376
+ * import { useEventRuntime } from "@trackunit/react-core-hooks";
377
+ * const { eventInfo } = useEventRuntime();
378
+ * // use eventInfo to get events for instance.
379
+ * useEffect(() => {
380
+ * (async () => {
381
+ * if (eventInfo?.id) {
382
+ * getEventQuery({ variables: { eventId: eventInfo?.id } });
383
+ * }
384
+ * })();
385
+ * }, [getEventQuery, eventInfo]);
364
386
  */
365
- const useRestRuntime = () => {
366
- return irisAppRuntimeCore.RestRuntime;
387
+ const useEventRuntime = () => {
388
+ const [eventInfo, setEventInfo] = React.useState();
389
+ React.useEffect(() => {
390
+ const getEventInfo = () => __awaiter(void 0, void 0, void 0, function* () {
391
+ const updatedEventInfo = yield irisAppRuntimeCore.EventRuntime.getEventInfo();
392
+ setEventInfo(updatedEventInfo);
393
+ });
394
+ getEventInfo();
395
+ }, []);
396
+ return { eventInfo };
367
397
  };
368
398
 
369
399
  /**
@@ -395,35 +425,6 @@ const useSiteRuntime = () => {
395
425
  return { siteInfo };
396
426
  };
397
427
 
398
- /**
399
- * A hook to expose event runtime for React components
400
- *
401
- * @requires EventRuntime
402
- * @returns {UseEventRuntime} eventRuntime
403
- * @example
404
- * import { useEventRuntime } from "@trackunit/react-core-hooks";
405
- * const { eventInfo } = useEventRuntime();
406
- * // use eventInfo to get events for instance.
407
- * useEffect(() => {
408
- * (async () => {
409
- * if (eventInfo?.id) {
410
- * getEventQuery({ variables: { eventId: eventInfo?.id } });
411
- * }
412
- * })();
413
- * }, [getEventQuery, eventInfo]);
414
- */
415
- const useEventRuntime = () => {
416
- const [eventInfo, setEventInfo] = React.useState();
417
- React.useEffect(() => {
418
- const getEventInfo = () => __awaiter(void 0, void 0, void 0, function* () {
419
- const updatedEventInfo = yield irisAppRuntimeCore.EventRuntime.getEventInfo();
420
- setEventInfo(updatedEventInfo);
421
- });
422
- getEventInfo();
423
- }, []);
424
- return { eventInfo };
425
- };
426
-
427
428
  const UserSubscriptionContext = React__namespace.createContext(null);
428
429
  /**
429
430
  * This is a provider for the UserSubscriptionContext.
@@ -654,7 +655,6 @@ exports.useFilterBarContext = useFilterBarContext;
654
655
  exports.useHasAccessTo = useHasAccessTo;
655
656
  exports.useNavigateInHost = useNavigateInHost;
656
657
  exports.useOemBrandingContext = useOemBrandingContext;
657
- exports.useRestRuntime = useRestRuntime;
658
658
  exports.useSiteRuntime = useSiteRuntime;
659
659
  exports.useTextSearch = useTextSearch;
660
660
  exports.useToast = useToast;
package/index.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { createContext, useContext, useState, useEffect, useMemo } from 'react';
3
3
  import { jsx } from 'react/jsx-runtime';
4
- import { NavigationRuntime, AssetRuntime, CustomFieldRuntime, RestRuntime, SiteRuntime, EventRuntime } from '@trackunit/iris-app-runtime-core';
4
+ import { NavigationRuntime, AssetRuntime, CustomFieldRuntime, EventRuntime, SiteRuntime } from '@trackunit/iris-app-runtime-core';
5
5
  import { useLocation } from 'react-router-dom';
6
6
  import { filterByMultiple } from '@trackunit/shared-utils';
7
7
 
@@ -266,14 +266,24 @@ const useURLSynchronization = () => {
266
266
  */
267
267
  const useAssetRuntime = () => {
268
268
  const [assetInfo, setAssetInfo] = useState();
269
+ const [loading, setLoading] = useState(true);
270
+ const [error, setError] = useState();
269
271
  useEffect(() => {
270
272
  const getAssetInfo = () => __awaiter(void 0, void 0, void 0, function* () {
271
- const updatedAssetInfo = yield AssetRuntime.getAssetInfo();
272
- setAssetInfo(updatedAssetInfo);
273
+ setLoading(true);
274
+ try {
275
+ const updatedAssetInfo = yield AssetRuntime.getAssetInfo();
276
+ setLoading(false);
277
+ setAssetInfo(updatedAssetInfo);
278
+ }
279
+ catch (e) {
280
+ setLoading(false);
281
+ setError(new Error("Failed to get asset info"));
282
+ }
273
283
  });
274
284
  getAssetInfo();
275
285
  }, []);
276
- return { assetInfo };
286
+ return { assetInfo, loading, error };
277
287
  };
278
288
 
279
289
  /**
@@ -332,12 +342,32 @@ const useCustomFieldRuntimeForEntity = (entity) => {
332
342
  };
333
343
 
334
344
  /**
335
- * A hook to expose rest runtime to be used in React components
345
+ * A hook to expose event runtime for React components
336
346
  *
337
- * @returns {UseRestRuntime} a RestRuntime
347
+ * @requires EventRuntime
348
+ * @returns {UseEventRuntime} eventRuntime
349
+ * @example
350
+ * import { useEventRuntime } from "@trackunit/react-core-hooks";
351
+ * const { eventInfo } = useEventRuntime();
352
+ * // use eventInfo to get events for instance.
353
+ * useEffect(() => {
354
+ * (async () => {
355
+ * if (eventInfo?.id) {
356
+ * getEventQuery({ variables: { eventId: eventInfo?.id } });
357
+ * }
358
+ * })();
359
+ * }, [getEventQuery, eventInfo]);
338
360
  */
339
- const useRestRuntime = () => {
340
- return RestRuntime;
361
+ const useEventRuntime = () => {
362
+ const [eventInfo, setEventInfo] = useState();
363
+ useEffect(() => {
364
+ const getEventInfo = () => __awaiter(void 0, void 0, void 0, function* () {
365
+ const updatedEventInfo = yield EventRuntime.getEventInfo();
366
+ setEventInfo(updatedEventInfo);
367
+ });
368
+ getEventInfo();
369
+ }, []);
370
+ return { eventInfo };
341
371
  };
342
372
 
343
373
  /**
@@ -369,35 +399,6 @@ const useSiteRuntime = () => {
369
399
  return { siteInfo };
370
400
  };
371
401
 
372
- /**
373
- * A hook to expose event runtime for React components
374
- *
375
- * @requires EventRuntime
376
- * @returns {UseEventRuntime} eventRuntime
377
- * @example
378
- * import { useEventRuntime } from "@trackunit/react-core-hooks";
379
- * const { eventInfo } = useEventRuntime();
380
- * // use eventInfo to get events for instance.
381
- * useEffect(() => {
382
- * (async () => {
383
- * if (eventInfo?.id) {
384
- * getEventQuery({ variables: { eventId: eventInfo?.id } });
385
- * }
386
- * })();
387
- * }, [getEventQuery, eventInfo]);
388
- */
389
- const useEventRuntime = () => {
390
- const [eventInfo, setEventInfo] = useState();
391
- useEffect(() => {
392
- const getEventInfo = () => __awaiter(void 0, void 0, void 0, function* () {
393
- const updatedEventInfo = yield EventRuntime.getEventInfo();
394
- setEventInfo(updatedEventInfo);
395
- });
396
- getEventInfo();
397
- }, []);
398
- return { eventInfo };
399
- };
400
-
401
402
  const UserSubscriptionContext = React.createContext(null);
402
403
  /**
403
404
  * This is a provider for the UserSubscriptionContext.
@@ -601,4 +602,4 @@ const useCurrentUser = () => {
601
602
  return context;
602
603
  };
603
604
 
604
- export { AnalyticsContext, AnalyticsContextProvider, AssetSortingProvider, CurrentUserPreferenceProvider, CurrentUserProvider, EnvironmentContextProvider, FilterBarProvider, NavigationContextProvider, OemBrandingContextProvider, ToastProvider, TokenProvider, UserSubscriptionProvider, useAnalytics, useAssetRuntime, useAssetSorting, useCurrentUser, useCurrentUserLanguage, useCurrentUserSystemOfMeasurement, useCurrentUserTimeZonePreference, useCustomFieldRuntime, useCustomFieldRuntimeForEntity, useEnvironment, useEventRuntime, useFilterBarContext, useHasAccessTo, useNavigateInHost, useOemBrandingContext, useRestRuntime, useSiteRuntime, useTextSearch, useToast, useToken, useURLSynchronization, useUserSubscription };
605
+ export { AnalyticsContext, AnalyticsContextProvider, AssetSortingProvider, CurrentUserPreferenceProvider, CurrentUserProvider, EnvironmentContextProvider, FilterBarProvider, NavigationContextProvider, OemBrandingContextProvider, ToastProvider, TokenProvider, UserSubscriptionProvider, useAnalytics, useAssetRuntime, useAssetSorting, useCurrentUser, useCurrentUserLanguage, useCurrentUserSystemOfMeasurement, useCurrentUserTimeZonePreference, useCustomFieldRuntime, useCustomFieldRuntimeForEntity, useEnvironment, useEventRuntime, useFilterBarContext, useHasAccessTo, useNavigateInHost, useOemBrandingContext, useSiteRuntime, useTextSearch, useToast, useToken, useURLSynchronization, useUserSubscription };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/react-core-hooks",
3
- "version": "0.2.137",
3
+ "version": "0.2.138",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
package/src/index.d.ts CHANGED
@@ -8,9 +8,8 @@ export * from "./navigation/useURLSynchronization";
8
8
  export * from "./runtimes/useAssetRuntime";
9
9
  export * from "./runtimes/useCustomFieldRuntime";
10
10
  export * from "./runtimes/useCustomFieldRuntimeForEntity";
11
- export * from "./runtimes/useRestRuntime";
12
- export * from "./runtimes/useSiteRuntime";
13
11
  export * from "./runtimes/useEventRuntime";
12
+ export * from "./runtimes/useSiteRuntime";
14
13
  export * from "./subscription/UserSubscriptionProvider";
15
14
  export * from "./toast/ToastProvider";
16
15
  export * from "./token/TokenProvider";
@@ -1,6 +1,8 @@
1
1
  import { AssetInfo } from "@trackunit/iris-app-runtime-core";
2
2
  export interface UseAssetRuntime {
3
3
  assetInfo: AssetInfo | undefined;
4
+ loading: boolean;
5
+ error: Error | undefined;
4
6
  }
5
7
  /**
6
8
  * A hook to expose asset runtime for React components
@@ -1,10 +0,0 @@
1
- import { IRestRuntime } from "@trackunit/iris-app-runtime-core";
2
- interface UseRestRuntime extends IRestRuntime {
3
- }
4
- /**
5
- * A hook to expose rest runtime to be used in React components
6
- *
7
- * @returns {UseRestRuntime} a RestRuntime
8
- */
9
- export declare const useRestRuntime: () => UseRestRuntime;
10
- export {};