@addev-be/ui 0.8.2 → 0.8.3
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": "@addev-be/ui",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"watch": "tsc -b --watch",
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"react": "^18.3.1",
|
|
44
44
|
"react-dom": "^18.3.1",
|
|
45
|
+
"react-router-dom": "^6.27.0",
|
|
45
46
|
"styled-components": "^6.1.13",
|
|
46
47
|
"vite-plugin-svgr": "^4.2.0"
|
|
47
48
|
},
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useCallback, useState } from 'react';
|
|
2
|
+
|
|
3
|
+
import { ConditionDTO } from '../services/sqlRequests';
|
|
4
|
+
|
|
5
|
+
export const useShowArchived = (initialValue?: boolean) => {
|
|
6
|
+
const [showArchived, setShowArchived] = useState(initialValue ?? false);
|
|
7
|
+
|
|
8
|
+
const toggleShowArchived = useCallback((value?: boolean) => {
|
|
9
|
+
setShowArchived((prev) => (value === undefined ? !prev : value));
|
|
10
|
+
}, []);
|
|
11
|
+
|
|
12
|
+
const archivedConditions: ConditionDTO[] = showArchived
|
|
13
|
+
? []
|
|
14
|
+
: [{ field: 'Archived', operator: 'notEquals', value: 1 }];
|
|
15
|
+
|
|
16
|
+
return {
|
|
17
|
+
archivedConditions,
|
|
18
|
+
showArchived,
|
|
19
|
+
toggleShowArchived,
|
|
20
|
+
};
|
|
21
|
+
};
|
package/src/services/index.ts
CHANGED
|
@@ -4,12 +4,14 @@ export * from './hooks';
|
|
|
4
4
|
export * from './globalSearch';
|
|
5
5
|
|
|
6
6
|
export * from './requests/auth';
|
|
7
|
+
export * from './requests/generic';
|
|
7
8
|
export * from './requests/tracking';
|
|
8
9
|
export * from './requests/users';
|
|
9
10
|
export * from './requests/userProfiles';
|
|
10
11
|
|
|
11
12
|
export * from './types/auth';
|
|
12
13
|
export * from './types/base';
|
|
14
|
+
export * from './types/generic';
|
|
13
15
|
export * from './types/tracking';
|
|
14
16
|
export * from './types/users';
|
|
15
17
|
export * from './types/userProfiles';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
import * as t from 'io-ts';
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
GenericArchiveRequestDTO,
|
|
6
|
+
GenericArchiveResponseDTO,
|
|
7
|
+
GenericDeleteRequestDTO,
|
|
8
|
+
GenericDeleteResponseDTO,
|
|
9
|
+
GenericGetAllRequestDTO,
|
|
10
|
+
GenericGetRequestDTO,
|
|
11
|
+
getGenericGetAllResponseDtoCodec,
|
|
12
|
+
getGenericGetResponseDtoCodec,
|
|
13
|
+
getGenericSaveRequestDtoCodec,
|
|
14
|
+
getGenericSaveResponseDtoCodec,
|
|
15
|
+
} from '../types/generic';
|
|
16
|
+
|
|
17
|
+
import { useLoadingRequestHandler } from '../hooks';
|
|
18
|
+
import { userDtoCodec } from '../types/users';
|
|
19
|
+
|
|
20
|
+
export const useGenericGetRequestHandler = <C extends t.Mixed>(
|
|
21
|
+
name: string,
|
|
22
|
+
codec: C
|
|
23
|
+
) => {
|
|
24
|
+
const responseCodec = getGenericGetResponseDtoCodec(codec);
|
|
25
|
+
return useLoadingRequestHandler<
|
|
26
|
+
GenericGetRequestDTO,
|
|
27
|
+
t.TypeOf<typeof responseCodec>
|
|
28
|
+
>(name);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export const useGenericGetAllRequestHandler = <C extends t.Mixed>(
|
|
32
|
+
name: string,
|
|
33
|
+
codec: C
|
|
34
|
+
) => {
|
|
35
|
+
const responseCodec = getGenericGetAllResponseDtoCodec(codec);
|
|
36
|
+
return useLoadingRequestHandler<
|
|
37
|
+
GenericGetAllRequestDTO,
|
|
38
|
+
t.TypeOf<typeof responseCodec>
|
|
39
|
+
>(name);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const useGenericSaveRequestHandler = <C extends t.Mixed>(
|
|
43
|
+
name: string,
|
|
44
|
+
codec: C
|
|
45
|
+
) => {
|
|
46
|
+
const requestCodec = getGenericSaveRequestDtoCodec(codec);
|
|
47
|
+
const responseCodec = getGenericSaveResponseDtoCodec(codec);
|
|
48
|
+
return useLoadingRequestHandler<
|
|
49
|
+
t.TypeOf<typeof requestCodec>,
|
|
50
|
+
t.TypeOf<typeof responseCodec>
|
|
51
|
+
>(name);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export const useGenericDeleteRequestHandler = (name: string) =>
|
|
55
|
+
useLoadingRequestHandler<GenericDeleteRequestDTO, GenericDeleteResponseDTO>(
|
|
56
|
+
name
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
export const useGenericArchiveRequestHandler = (name: string) =>
|
|
60
|
+
useLoadingRequestHandler<GenericArchiveRequestDTO, GenericArchiveResponseDTO>(
|
|
61
|
+
name
|
|
62
|
+
);
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import * as t from 'io-ts';
|
|
2
|
+
|
|
3
|
+
export const genericGetRequestDtoCodec = t.type(
|
|
4
|
+
{
|
|
5
|
+
id: t.string,
|
|
6
|
+
},
|
|
7
|
+
'GenericGetRequestDTO'
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
export const getGenericGetResponseDtoCodec = <C extends t.Mixed>(codec: C) =>
|
|
11
|
+
t.type({
|
|
12
|
+
status: t.number,
|
|
13
|
+
data: codec,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export type GenericGetRequestDTO = t.TypeOf<typeof genericGetRequestDtoCodec>;
|
|
17
|
+
|
|
18
|
+
/*****/
|
|
19
|
+
|
|
20
|
+
export const genericGetAllRequestDtoCodec = t.type(
|
|
21
|
+
{},
|
|
22
|
+
'GenericGetAllRequestDTO'
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
export const getGenericGetAllResponseDtoCodec = <C extends t.Mixed>(codec: C) =>
|
|
26
|
+
t.type({
|
|
27
|
+
status: t.number,
|
|
28
|
+
data: t.array(codec),
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
export type GenericGetAllRequestDTO = t.TypeOf<
|
|
32
|
+
typeof genericGetAllRequestDtoCodec
|
|
33
|
+
>;
|
|
34
|
+
|
|
35
|
+
/*****/
|
|
36
|
+
|
|
37
|
+
export const getGenericSaveRequestDtoCodec = <C extends t.Mixed>(codec: C) =>
|
|
38
|
+
t.type({
|
|
39
|
+
data: codec,
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
export const getGenericSaveResponseDtoCodec = <C extends t.Mixed>(codec: C) =>
|
|
43
|
+
t.type({
|
|
44
|
+
status: t.number,
|
|
45
|
+
data: codec,
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
/*****/
|
|
49
|
+
|
|
50
|
+
export const genericArchiveRequestDtoCodec = t.type(
|
|
51
|
+
{
|
|
52
|
+
id: t.string,
|
|
53
|
+
},
|
|
54
|
+
'GenericArchiveRequestDTO'
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
export const genericArchiveResponseDtoCodec = t.type(
|
|
58
|
+
{
|
|
59
|
+
status: t.number,
|
|
60
|
+
},
|
|
61
|
+
'GenericArchiveResponseDTO'
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
export type GenericArchiveRequestDTO = t.TypeOf<
|
|
65
|
+
typeof genericArchiveRequestDtoCodec
|
|
66
|
+
>;
|
|
67
|
+
export type GenericArchiveResponseDTO = t.TypeOf<
|
|
68
|
+
typeof genericArchiveResponseDtoCodec
|
|
69
|
+
>;
|
|
70
|
+
|
|
71
|
+
/*****/
|
|
72
|
+
|
|
73
|
+
export const genericDeleteRequestDtoCodec = t.type(
|
|
74
|
+
{
|
|
75
|
+
id: t.string,
|
|
76
|
+
},
|
|
77
|
+
'GenericDeleteRequestDTO'
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
export const genericDeleteResponseDtoCodec = t.type(
|
|
81
|
+
{
|
|
82
|
+
status: t.number,
|
|
83
|
+
},
|
|
84
|
+
'GenericDeleteResponseDTO'
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
export type GenericDeleteRequestDTO = t.TypeOf<
|
|
88
|
+
typeof genericDeleteRequestDtoCodec
|
|
89
|
+
>;
|
|
90
|
+
export type GenericDeleteResponseDTO = t.TypeOf<
|
|
91
|
+
typeof genericDeleteResponseDtoCodec
|
|
92
|
+
>;
|