@tracktor/shared-module 2.6.4 → 2.8.0

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/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
1
  # [Versions](https://github.com/Tracktor/shared-module/releases)
2
2
 
3
- ## v2.6.4
4
- - **[fix]** - sentry error : null is not an object (evaluating 'window.localStorage.getItem')
3
+ ## v2.8.0
4
+ - **[feat]** - use `localStorageKeys.user` in `RequireAuth`
@@ -33,10 +33,9 @@ interface InitializeAxiosConfigProps {
33
33
  * This component initialize Axios instance with custom default config options
34
34
  * @param axios
35
35
  * @param tokenTypeKey
36
- * @param userLocalStorageKey
37
36
  * @param tokenKey
38
37
  * @param postContentType
39
38
  * @constructor
40
39
  */
41
- declare const InitializeAxiosConfig: ({ tokenTypeKey, userLocalStorageKey, tokenKey, postContentType, ...props }: InitializeAxiosConfigProps) => null;
40
+ declare const InitializeAxiosConfig: ({ tokenTypeKey, tokenKey, postContentType, ...props }: InitializeAxiosConfigProps) => null;
42
41
  export default InitializeAxiosConfig;
@@ -40,10 +40,9 @@ export interface RequireAuthProps {
40
40
  * @param Fallback
41
41
  * @param isLogged
42
42
  * @param loginPath
43
- * @param localStorageKey
44
43
  * @param redirect401Path
45
44
  * @param props
46
45
  * @constructor
47
46
  */
48
- declare const RequireAuth: ({ Fallback, isLogged, loginPath, localStorageKey, redirect401Path, ...props }: RequireAuthProps) => import("react/jsx-runtime").JSX.Element;
47
+ declare const RequireAuth: ({ Fallback, isLogged, loginPath, redirect401Path, ...props }: RequireAuthProps) => import("react/jsx-runtime").JSX.Element;
49
48
  export default RequireAuth;
@@ -8,6 +8,19 @@ export interface InjectDependenciesContextProps {
8
8
  * API URL dependency for useAdapter hook
9
9
  */
10
10
  apiURL?: string;
11
+ /**
12
+ * Local storage keys
13
+ */
14
+ localStorageKeys?: {
15
+ /**
16
+ * Local storage key for filters, used in useFilters hook
17
+ */
18
+ filter?: string;
19
+ /**
20
+ * Local storage key for user, used in useUser hook
21
+ */
22
+ user?: string;
23
+ };
11
24
  /**
12
25
  * List of dependencies for libraries
13
26
  */
@@ -39,5 +52,5 @@ export declare const InjectDependenciesContext: import("react").Context<InjectDe
39
52
  * @param apiURL
40
53
  * @constructor
41
54
  */
42
- declare const InjectDependenciesProvider: ({ children, apiURL, libraries }: InjectDependenciesContextProps) => import("react/jsx-runtime").JSX.Element;
55
+ declare const InjectDependenciesProvider: ({ children, apiURL, libraries, localStorageKeys }: InjectDependenciesContextProps) => import("react/jsx-runtime").JSX.Element;
43
56
  export default InjectDependenciesProvider;
@@ -1,4 +1,4 @@
1
- import { InjectDependenciesContextProps } from '../../context/InjectDependenciesProvider';
1
+ import { InjectDependenciesContextProps } from '../context/InjectDependenciesProvider';
2
2
  export interface useAdapterParams {
3
3
  /**
4
4
  * Dayjs library
@@ -1,4 +1,4 @@
1
- import { InjectDependenciesContextProps } from '../../context/InjectDependenciesProvider';
1
+ import { InjectDependenciesContextProps } from '../context/InjectDependenciesProvider';
2
2
  interface useAuthParams {
3
3
  /**
4
4
  * Axios library
@@ -0,0 +1,29 @@
1
+ import { SyntheticEvent } from "react";
2
+ import { InjectDependenciesContextProps } from '../context/InjectDependenciesProvider';
3
+ interface useFiltersOptions {
4
+ /**
5
+ * Pathname to store filters
6
+ * Defined to set filters for different pages to store in local storage
7
+ * @example If you want same filter for "/deals", "/deals/planning" and "/deals/list"
8
+ * Then you can define pathname "useFilters({ pathname: "/deals" })" and filter will be shared between these pages
9
+ * @default pathname from useLocation
10
+ */
11
+ pathname?: string;
12
+ /**
13
+ * React Router library
14
+ */
15
+ reactRouter?: NonNullable<InjectDependenciesContextProps["libraries"]>["reactRouter"];
16
+ }
17
+ /**
18
+ * Hook to handle filter
19
+ * @param options
20
+ */
21
+ declare const useFilters: (options?: useFiltersOptions) => {
22
+ getFilter: <T = string, DefaultValue = undefined>(name: string, defaultValue?: T | undefined) => DefaultValue extends undefined ? T | undefined : T;
23
+ getFilters: () => {
24
+ [x: string]: any;
25
+ };
26
+ handleFilter: <T_1>(name: string, key?: string) => (_: SyntheticEvent, value?: T_1 | undefined) => void;
27
+ setFilter: (name: string, value: unknown, persist?: boolean) => void;
28
+ };
29
+ export default useFilters;
package/dist/main.d.ts CHANGED
@@ -20,16 +20,18 @@ export { default as InjectDependenciesProvider } from './context/InjectDependenc
20
20
  export * from './context/InjectDependenciesProvider';
21
21
  export { default as QueryClientProviderWithConfig } from './context/QueryClientProviderWithConfig';
22
22
  export * from './context/QueryClientProviderWithConfig';
23
- export { default as useResponseError } from './hooks/useResponseError';
24
- export * from './hooks/useResponseError';
23
+ export { default as useResponseError } from './hooks/useResponseError/useResponseError';
24
+ export * from './hooks/useResponseError/useResponseError';
25
25
  export { default as useInfiniteDataGrid } from './hooks/useInfiniteDataGrid';
26
26
  export * from './hooks/useInfiniteDataGrid';
27
27
  export { default as useAuth } from './hooks/useAuth';
28
28
  export * from './hooks/useAuth';
29
29
  export { default as useAdapter } from './hooks/useAdapter';
30
30
  export * from './hooks/useAdapter';
31
- export { default as useCurrentLanguage } from './hooks/useCurrentLanguage';
32
- export * from './hooks/useCurrentLanguage';
31
+ export { default as useCurrentLanguage } from './hooks/useCurrentLanguage/useCurrentLanguage';
32
+ export * from './hooks/useCurrentLanguage/useCurrentLanguage';
33
+ export { default as useFilters } from './hooks/useFilters';
34
+ export * from './hooks/useFilters';
33
35
  export { default as getOrvalConfig } from './config/orval';
34
36
  export * from './config/orval';
35
37
  export { default as dateAdapter } from './utils/adapter/dateAdapter';