@trackunit/react-core-hooks 0.2.95 → 0.2.97
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 +78 -0
- package/index.esm.js +75 -1
- package/package.json +4 -4
- package/src/index.d.ts +1 -0
- package/src/user/CurrentUserPreferenceProvider.d.ts +59 -0
package/index.cjs.js
CHANGED
|
@@ -482,6 +482,80 @@ function useTextSearch(items, props) {
|
|
|
482
482
|
return [result, searchText, setSearchText];
|
|
483
483
|
}
|
|
484
484
|
|
|
485
|
+
const CurrentUserPreferenceContext = React.createContext(null);
|
|
486
|
+
/**
|
|
487
|
+
*
|
|
488
|
+
*/
|
|
489
|
+
const CurrentUserPreferenceProvider = (props) => {
|
|
490
|
+
return jsxRuntime.jsx(CurrentUserPreferenceContext.Provider, Object.assign({}, props));
|
|
491
|
+
};
|
|
492
|
+
/**
|
|
493
|
+
* This is a hook providing the Current User language.
|
|
494
|
+
*
|
|
495
|
+
* @requires CurrentUserPreferenceProvider
|
|
496
|
+
* @example
|
|
497
|
+
* import { useCurrentUserLanguage } from "@trackunit/react-core-hooks";
|
|
498
|
+
* const { language, setLanguage } = useCurrentUserLanguage();
|
|
499
|
+
*
|
|
500
|
+
* language: Gets the language setting of the current user.
|
|
501
|
+
* setLanguage: Sets the language setting of the current user.
|
|
502
|
+
* @see {@link IUserPreferencesContext}
|
|
503
|
+
*/
|
|
504
|
+
const useCurrentUserLanguage = () => {
|
|
505
|
+
const context = React.useContext(CurrentUserPreferenceContext);
|
|
506
|
+
if (!context) {
|
|
507
|
+
throw new Error("useCurrentUserLanguage must be used within the CurrentUserPreferenceProvider");
|
|
508
|
+
}
|
|
509
|
+
return {
|
|
510
|
+
language: context.language,
|
|
511
|
+
setLanguage: context.setLanguage,
|
|
512
|
+
};
|
|
513
|
+
};
|
|
514
|
+
/**
|
|
515
|
+
* This is a hook providing the Current User TimeZone Preference.
|
|
516
|
+
*
|
|
517
|
+
* @requires CurrentUserPreferenceProvider
|
|
518
|
+
* @example
|
|
519
|
+
* import { useCurrentUserTimeZonePreference } from "@trackunit/react-core-hooks";
|
|
520
|
+
* const { timeZonePreference, setTimeZonePreference } = useCurrentUserTimeZonePreference();
|
|
521
|
+
*
|
|
522
|
+
* timeZonePreference: Determines if the user has a timezone preference of "CUSTOM_TIME_ZONE" | "LOCAL_TIME_ZONE" | "MACHINE_TIME_ZONE"
|
|
523
|
+
* setTimeZonePreference: Sets the timezone preference of the current user.
|
|
524
|
+
* @see {@link IUserPreferencesContext}
|
|
525
|
+
*/
|
|
526
|
+
const useCurrentUserTimeZonePreference = () => {
|
|
527
|
+
const context = React.useContext(CurrentUserPreferenceContext);
|
|
528
|
+
if (!context) {
|
|
529
|
+
throw new Error("useCurrentUserTimeZone must be used within the CurrentUserPreferenceProvider");
|
|
530
|
+
}
|
|
531
|
+
return {
|
|
532
|
+
timeZonePreference: context.timeZonePreference,
|
|
533
|
+
setTimeZonePreference: context.setTimeZonePreference,
|
|
534
|
+
};
|
|
535
|
+
};
|
|
536
|
+
/**
|
|
537
|
+
* This is a hook providing the Current User language.
|
|
538
|
+
*
|
|
539
|
+
* @requires CurrentUserPreferenceProvider
|
|
540
|
+
* @example
|
|
541
|
+
* import { useCurrentUserSystemOfMeasurement } from "@trackunit/react-core-hooks";
|
|
542
|
+
* const { systemOfMeasurement, setSystemOfMeasurement } = useCurrentUserSystemOfMeasurement();
|
|
543
|
+
*
|
|
544
|
+
* systemOfMeasurement: Gets the system of measurement setting of the current user. "SI" | "US_CUSTOMARY"
|
|
545
|
+
* setSystemOfMeasurement: Sets the system of measurement setting of the current user.
|
|
546
|
+
* @see {@link IUserPreferencesContext}
|
|
547
|
+
*/
|
|
548
|
+
const useCurrentUserSystemOfMeasurement = () => {
|
|
549
|
+
const context = React.useContext(CurrentUserPreferenceContext);
|
|
550
|
+
if (!context) {
|
|
551
|
+
throw new Error("useCurrentUserSystemOfMeasurement must be used within the CurrentUserPreferenceProvider");
|
|
552
|
+
}
|
|
553
|
+
return {
|
|
554
|
+
systemOfMeasurement: context.systemOfMeasurement,
|
|
555
|
+
setSystemOfMeasurement: context.setSystemOfMeasurement,
|
|
556
|
+
};
|
|
557
|
+
};
|
|
558
|
+
|
|
485
559
|
const CurrentUserContext = React__namespace.createContext(null);
|
|
486
560
|
/**
|
|
487
561
|
* This is a provider for the CurrentUserContext.
|
|
@@ -514,6 +588,7 @@ const useCurrentUser = () => {
|
|
|
514
588
|
exports.AnalyticsContext = AnalyticsContext;
|
|
515
589
|
exports.AnalyticsContextProvider = AnalyticsContextProvider;
|
|
516
590
|
exports.AssetSortingProvider = AssetSortingProvider;
|
|
591
|
+
exports.CurrentUserPreferenceProvider = CurrentUserPreferenceProvider;
|
|
517
592
|
exports.CurrentUserProvider = CurrentUserProvider;
|
|
518
593
|
exports.EnvironmentContextProvider = EnvironmentContextProvider;
|
|
519
594
|
exports.FilterBarProvider = FilterBarProvider;
|
|
@@ -526,6 +601,9 @@ exports.useAnalytics = useAnalytics;
|
|
|
526
601
|
exports.useAssetRuntime = useAssetRuntime;
|
|
527
602
|
exports.useAssetSorting = useAssetSorting;
|
|
528
603
|
exports.useCurrentUser = useCurrentUser;
|
|
604
|
+
exports.useCurrentUserLanguage = useCurrentUserLanguage;
|
|
605
|
+
exports.useCurrentUserSystemOfMeasurement = useCurrentUserSystemOfMeasurement;
|
|
606
|
+
exports.useCurrentUserTimeZonePreference = useCurrentUserTimeZonePreference;
|
|
529
607
|
exports.useCustomFieldRuntime = useCustomFieldRuntime;
|
|
530
608
|
exports.useCustomFieldRuntimeForEntity = useCustomFieldRuntimeForEntity;
|
|
531
609
|
exports.useEnvironment = useEnvironment;
|
package/index.esm.js
CHANGED
|
@@ -456,6 +456,80 @@ function useTextSearch(items, props) {
|
|
|
456
456
|
return [result, searchText, setSearchText];
|
|
457
457
|
}
|
|
458
458
|
|
|
459
|
+
const CurrentUserPreferenceContext = createContext(null);
|
|
460
|
+
/**
|
|
461
|
+
*
|
|
462
|
+
*/
|
|
463
|
+
const CurrentUserPreferenceProvider = (props) => {
|
|
464
|
+
return jsx(CurrentUserPreferenceContext.Provider, Object.assign({}, props));
|
|
465
|
+
};
|
|
466
|
+
/**
|
|
467
|
+
* This is a hook providing the Current User language.
|
|
468
|
+
*
|
|
469
|
+
* @requires CurrentUserPreferenceProvider
|
|
470
|
+
* @example
|
|
471
|
+
* import { useCurrentUserLanguage } from "@trackunit/react-core-hooks";
|
|
472
|
+
* const { language, setLanguage } = useCurrentUserLanguage();
|
|
473
|
+
*
|
|
474
|
+
* language: Gets the language setting of the current user.
|
|
475
|
+
* setLanguage: Sets the language setting of the current user.
|
|
476
|
+
* @see {@link IUserPreferencesContext}
|
|
477
|
+
*/
|
|
478
|
+
const useCurrentUserLanguage = () => {
|
|
479
|
+
const context = useContext(CurrentUserPreferenceContext);
|
|
480
|
+
if (!context) {
|
|
481
|
+
throw new Error("useCurrentUserLanguage must be used within the CurrentUserPreferenceProvider");
|
|
482
|
+
}
|
|
483
|
+
return {
|
|
484
|
+
language: context.language,
|
|
485
|
+
setLanguage: context.setLanguage,
|
|
486
|
+
};
|
|
487
|
+
};
|
|
488
|
+
/**
|
|
489
|
+
* This is a hook providing the Current User TimeZone Preference.
|
|
490
|
+
*
|
|
491
|
+
* @requires CurrentUserPreferenceProvider
|
|
492
|
+
* @example
|
|
493
|
+
* import { useCurrentUserTimeZonePreference } from "@trackunit/react-core-hooks";
|
|
494
|
+
* const { timeZonePreference, setTimeZonePreference } = useCurrentUserTimeZonePreference();
|
|
495
|
+
*
|
|
496
|
+
* timeZonePreference: Determines if the user has a timezone preference of "CUSTOM_TIME_ZONE" | "LOCAL_TIME_ZONE" | "MACHINE_TIME_ZONE"
|
|
497
|
+
* setTimeZonePreference: Sets the timezone preference of the current user.
|
|
498
|
+
* @see {@link IUserPreferencesContext}
|
|
499
|
+
*/
|
|
500
|
+
const useCurrentUserTimeZonePreference = () => {
|
|
501
|
+
const context = useContext(CurrentUserPreferenceContext);
|
|
502
|
+
if (!context) {
|
|
503
|
+
throw new Error("useCurrentUserTimeZone must be used within the CurrentUserPreferenceProvider");
|
|
504
|
+
}
|
|
505
|
+
return {
|
|
506
|
+
timeZonePreference: context.timeZonePreference,
|
|
507
|
+
setTimeZonePreference: context.setTimeZonePreference,
|
|
508
|
+
};
|
|
509
|
+
};
|
|
510
|
+
/**
|
|
511
|
+
* This is a hook providing the Current User language.
|
|
512
|
+
*
|
|
513
|
+
* @requires CurrentUserPreferenceProvider
|
|
514
|
+
* @example
|
|
515
|
+
* import { useCurrentUserSystemOfMeasurement } from "@trackunit/react-core-hooks";
|
|
516
|
+
* const { systemOfMeasurement, setSystemOfMeasurement } = useCurrentUserSystemOfMeasurement();
|
|
517
|
+
*
|
|
518
|
+
* systemOfMeasurement: Gets the system of measurement setting of the current user. "SI" | "US_CUSTOMARY"
|
|
519
|
+
* setSystemOfMeasurement: Sets the system of measurement setting of the current user.
|
|
520
|
+
* @see {@link IUserPreferencesContext}
|
|
521
|
+
*/
|
|
522
|
+
const useCurrentUserSystemOfMeasurement = () => {
|
|
523
|
+
const context = useContext(CurrentUserPreferenceContext);
|
|
524
|
+
if (!context) {
|
|
525
|
+
throw new Error("useCurrentUserSystemOfMeasurement must be used within the CurrentUserPreferenceProvider");
|
|
526
|
+
}
|
|
527
|
+
return {
|
|
528
|
+
systemOfMeasurement: context.systemOfMeasurement,
|
|
529
|
+
setSystemOfMeasurement: context.setSystemOfMeasurement,
|
|
530
|
+
};
|
|
531
|
+
};
|
|
532
|
+
|
|
459
533
|
const CurrentUserContext = React.createContext(null);
|
|
460
534
|
/**
|
|
461
535
|
* This is a provider for the CurrentUserContext.
|
|
@@ -485,4 +559,4 @@ const useCurrentUser = () => {
|
|
|
485
559
|
return context;
|
|
486
560
|
};
|
|
487
561
|
|
|
488
|
-
export { AnalyticsContext, AnalyticsContextProvider, AssetSortingProvider, CurrentUserProvider, EnvironmentContextProvider, FilterBarProvider, GlobalSelectionProvider, OemBrandingContextProvider, ToastProvider, TokenProvider, UserSubscriptionProvider, useAnalytics, useAssetRuntime, useAssetSorting, useCurrentUser, useCustomFieldRuntime, useCustomFieldRuntimeForEntity, useEnvironment, useFilterBarContext, useGlobalSelection, useNavigationRuntime, useOemBrandingContext, useRestRuntime, useSiteRuntime, useTextSearch, useToast, useToken, useURLSynchronization, useUserSubscription };
|
|
562
|
+
export { AnalyticsContext, AnalyticsContextProvider, AssetSortingProvider, CurrentUserPreferenceProvider, CurrentUserProvider, EnvironmentContextProvider, FilterBarProvider, GlobalSelectionProvider, OemBrandingContextProvider, ToastProvider, TokenProvider, UserSubscriptionProvider, useAnalytics, useAssetRuntime, useAssetSorting, useCurrentUser, useCurrentUserLanguage, useCurrentUserSystemOfMeasurement, useCurrentUserTimeZonePreference, useCustomFieldRuntime, useCustomFieldRuntimeForEntity, useEnvironment, useFilterBarContext, useGlobalSelection, useNavigationRuntime, useOemBrandingContext, useRestRuntime, 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.
|
|
3
|
+
"version": "0.2.97",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
"module": "./index.esm.js",
|
|
10
10
|
"main": "./index.cjs.js",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@trackunit/iris-app-runtime-core": "0.3.
|
|
13
|
-
"@trackunit/iris-app-runtime-core-api": "0.3.
|
|
14
|
-
"@trackunit/react-core-contexts-api": "0.2.
|
|
12
|
+
"@trackunit/iris-app-runtime-core": "0.3.79",
|
|
13
|
+
"@trackunit/iris-app-runtime-core-api": "0.3.71",
|
|
14
|
+
"@trackunit/react-core-contexts-api": "0.2.59",
|
|
15
15
|
"@trackunit/shared-utils": "0.0.8",
|
|
16
16
|
"react": "18.2.0",
|
|
17
17
|
"react-router-dom": "6.11.2"
|
package/src/index.d.ts
CHANGED
|
@@ -15,4 +15,5 @@ export * from "./subscription/UserSubscriptionProvider";
|
|
|
15
15
|
export * from "./toast/ToastProvider";
|
|
16
16
|
export * from "./token/TokenProvider";
|
|
17
17
|
export * from "./useTextSearch";
|
|
18
|
+
export * from "./user/CurrentUserPreferenceProvider";
|
|
18
19
|
export * from "./user/CurrentUserProvider";
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { IUserPreferencesContext } from "@trackunit/react-core-contexts-api";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
interface Props {
|
|
4
|
+
value: IUserPreferencesContext;
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
export declare const CurrentUserPreferenceProvider: (props: Props) => JSX.Element;
|
|
11
|
+
/**
|
|
12
|
+
* This is a hook providing the Current User language.
|
|
13
|
+
*
|
|
14
|
+
* @requires CurrentUserPreferenceProvider
|
|
15
|
+
* @example
|
|
16
|
+
* import { useCurrentUserLanguage } from "@trackunit/react-core-hooks";
|
|
17
|
+
* const { language, setLanguage } = useCurrentUserLanguage();
|
|
18
|
+
*
|
|
19
|
+
* language: Gets the language setting of the current user.
|
|
20
|
+
* setLanguage: Sets the language setting of the current user.
|
|
21
|
+
* @see {@link IUserPreferencesContext}
|
|
22
|
+
*/
|
|
23
|
+
export declare const useCurrentUserLanguage: () => {
|
|
24
|
+
language: string | undefined;
|
|
25
|
+
setLanguage: ((language: string) => void) | undefined;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* This is a hook providing the Current User TimeZone Preference.
|
|
29
|
+
*
|
|
30
|
+
* @requires CurrentUserPreferenceProvider
|
|
31
|
+
* @example
|
|
32
|
+
* import { useCurrentUserTimeZonePreference } from "@trackunit/react-core-hooks";
|
|
33
|
+
* const { timeZonePreference, setTimeZonePreference } = useCurrentUserTimeZonePreference();
|
|
34
|
+
*
|
|
35
|
+
* timeZonePreference: Determines if the user has a timezone preference of "CUSTOM_TIME_ZONE" | "LOCAL_TIME_ZONE" | "MACHINE_TIME_ZONE"
|
|
36
|
+
* setTimeZonePreference: Sets the timezone preference of the current user.
|
|
37
|
+
* @see {@link IUserPreferencesContext}
|
|
38
|
+
*/
|
|
39
|
+
export declare const useCurrentUserTimeZonePreference: () => {
|
|
40
|
+
timeZonePreference: import("@trackunit/react-core-contexts-api").TimeZonePreferenceType | undefined;
|
|
41
|
+
setTimeZonePreference: ((timeZonePreference: import("@trackunit/react-core-contexts-api").TimeZonePreferenceType) => void) | undefined;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* This is a hook providing the Current User language.
|
|
45
|
+
*
|
|
46
|
+
* @requires CurrentUserPreferenceProvider
|
|
47
|
+
* @example
|
|
48
|
+
* import { useCurrentUserSystemOfMeasurement } from "@trackunit/react-core-hooks";
|
|
49
|
+
* const { systemOfMeasurement, setSystemOfMeasurement } = useCurrentUserSystemOfMeasurement();
|
|
50
|
+
*
|
|
51
|
+
* systemOfMeasurement: Gets the system of measurement setting of the current user. "SI" | "US_CUSTOMARY"
|
|
52
|
+
* setSystemOfMeasurement: Sets the system of measurement setting of the current user.
|
|
53
|
+
* @see {@link IUserPreferencesContext}
|
|
54
|
+
*/
|
|
55
|
+
export declare const useCurrentUserSystemOfMeasurement: () => {
|
|
56
|
+
systemOfMeasurement: import("@trackunit/react-core-contexts-api").SystemOfMeasurementType | undefined;
|
|
57
|
+
setSystemOfMeasurement: ((systemOfMeasurement: import("@trackunit/react-core-contexts-api").SystemOfMeasurementType) => void) | undefined;
|
|
58
|
+
};
|
|
59
|
+
export {};
|