@addev-be/ui 3.2.9 → 3.3.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.
Files changed (265) hide show
  1. package/assets/icons/arrow-down-1-9.svg +1 -1
  2. package/assets/icons/arrow-down-a-z.svg +1 -1
  3. package/assets/icons/arrow-up-z-a.svg +1 -1
  4. package/assets/icons/check.svg +1 -1
  5. package/assets/icons/circle-check.svg +1 -1
  6. package/assets/icons/down.svg +1 -1
  7. package/assets/icons/filter-full.svg +1 -1
  8. package/assets/icons/filter.svg +1 -1
  9. package/assets/icons/hashtag.svg +1 -1
  10. package/assets/icons/image-slash.svg +1 -1
  11. package/assets/icons/left.svg +1 -1
  12. package/assets/icons/magnifier.svg +1 -1
  13. package/assets/icons/phone.svg +1 -1
  14. package/assets/icons/right.svg +1 -1
  15. package/assets/icons/sort-calendar-ascending.svg +5 -5
  16. package/assets/icons/spinner-third.svg +1 -1
  17. package/assets/icons/table-columns.svg +1 -1
  18. package/assets/icons/table-footer-slash.svg +4 -4
  19. package/assets/icons/table-footer.svg +3 -3
  20. package/assets/icons/table.svg +1 -1
  21. package/assets/icons/up.svg +1 -1
  22. package/assets/icons/user-tie.svg +1 -1
  23. package/assets/icons/x-bar.svg +3 -3
  24. package/dist/components/auth/PasswordResetForm.js +7 -2
  25. package/dist/components/common/Accordion/Accordion.d.ts +14 -0
  26. package/dist/components/common/Accordion/Accordion.js +81 -0
  27. package/dist/components/common/Accordion/index.d.ts +2 -0
  28. package/dist/components/common/PropertiesList/PropertyInput.d.ts +7 -0
  29. package/dist/components/common/PropertiesList/PropertyInput.js +142 -0
  30. package/dist/components/common/PropertiesList/index.d.ts +8 -0
  31. package/dist/components/common/PropertiesList/index.js +28 -0
  32. package/dist/components/common/PropertiesList/types.d.ts +44 -0
  33. package/dist/components/common/TabsView/styles.js +10 -8
  34. package/dist/components/common/TreeView/TreeContext.d.ts +55 -0
  35. package/dist/components/common/TreeView/TreeContext.js +172 -0
  36. package/dist/components/common/TreeView/TreeView.d.ts +19 -0
  37. package/dist/components/common/TreeView/TreeView.js +202 -0
  38. package/dist/components/common/TreeView/index.d.ts +3 -0
  39. package/dist/components/common/index.d.ts +3 -0
  40. package/dist/components/common/index.js +25 -16
  41. package/dist/components/grid/DataGrid/DataGridCell.js +30 -29
  42. package/dist/components/grid/DataGrid/DataGridEditableCell/index.d.ts +1 -1
  43. package/dist/components/grid/DataGrid/DataGridEditableCell/index.js +37 -27
  44. package/dist/components/grid/DataGrid/DataGridRowTemplate.js +71 -56
  45. package/dist/components/layout/ContextMenu/ContextMenu.d.ts +42 -0
  46. package/dist/components/layout/ContextMenu/ContextMenu.js +252 -0
  47. package/dist/components/layout/ContextMenu/index.d.ts +2 -0
  48. package/dist/components/layout/LeftMenu/LeftMenu.d.ts +22 -0
  49. package/dist/components/layout/LeftMenu/LeftMenu.js +43 -0
  50. package/dist/components/layout/LeftMenu/index.d.ts +2 -0
  51. package/dist/components/layout/PanelContainer/PanelContainer.d.ts +16 -0
  52. package/dist/components/layout/PanelContainer/PanelContainer.js +121 -0
  53. package/dist/components/layout/PanelContainer/index.d.ts +2 -0
  54. package/dist/components/layout/index.d.ts +3 -0
  55. package/dist/components/layout/index.js +30 -15
  56. package/dist/helpers/cn.d.ts +2 -0
  57. package/dist/helpers/cn.js +8 -0
  58. package/dist/helpers/index.d.ts +1 -0
  59. package/dist/helpers/index.js +33 -31
  60. package/eslint.config.js +3 -3
  61. package/package.json +5 -3
  62. package/src/components/auth/LoginForm.tsx +92 -92
  63. package/src/components/auth/LoginPage.tsx +32 -32
  64. package/src/components/auth/PasswordRecoveryForm.tsx +53 -53
  65. package/src/components/auth/PasswordResetForm.tsx +114 -114
  66. package/src/components/auth/index.ts +4 -4
  67. package/src/components/auth/styles.ts +14 -14
  68. package/src/components/common/Accordion/Accordion.tsx +140 -0
  69. package/src/components/common/Accordion/index.ts +2 -0
  70. package/src/components/common/Avatar/index.tsx +54 -54
  71. package/src/components/common/Avatar/styles.ts +61 -61
  72. package/src/components/common/Card/index.tsx +17 -17
  73. package/src/components/common/Card/styles.ts +38 -38
  74. package/src/components/common/ContextMenu/index.tsx +79 -79
  75. package/src/components/common/ContextMenu/styles.ts +119 -119
  76. package/src/components/common/Ellipsis.tsx +33 -33
  77. package/src/components/common/Label.tsx +93 -93
  78. package/src/components/common/Message/index.tsx +57 -57
  79. package/src/components/common/Message/styles.ts +44 -44
  80. package/src/components/common/PropertiesList/PropertyInput.tsx +173 -0
  81. package/src/components/common/PropertiesList/index.tsx +48 -0
  82. package/src/components/common/PropertiesList/types.ts +60 -0
  83. package/src/components/common/TabsView/TabsList.tsx +49 -49
  84. package/src/components/common/TabsView/TabsView.tsx +42 -42
  85. package/src/components/common/TabsView/index.ts +3 -3
  86. package/src/components/common/TabsView/styles.ts +83 -83
  87. package/src/components/common/TabsView/types.ts +12 -12
  88. package/src/components/common/TreeView/TreeContext.tsx +379 -0
  89. package/src/components/common/TreeView/TreeView.tsx +281 -0
  90. package/src/components/common/TreeView/index.ts +3 -0
  91. package/src/components/common/index.ts +10 -7
  92. package/src/components/forms/AutoTextArea.tsx +48 -48
  93. package/src/components/forms/BillitIdentifier/index.tsx +78 -78
  94. package/src/components/forms/BillitIdentifier/styles.tsx +43 -43
  95. package/src/components/forms/Button.tsx +130 -130
  96. package/src/components/forms/Form/Checkbox.tsx +12 -12
  97. package/src/components/forms/Form/CustomSelect.tsx +86 -86
  98. package/src/components/forms/Form/FormGroup.tsx +33 -33
  99. package/src/components/forms/Form/Input.tsx +16 -16
  100. package/src/components/forms/Form/Row.tsx +28 -28
  101. package/src/components/forms/Form/Select.tsx +99 -99
  102. package/src/components/forms/Form/TextArea.tsx +17 -17
  103. package/src/components/forms/Form/index.tsx +48 -48
  104. package/src/components/forms/Form/styles.ts +148 -148
  105. package/src/components/forms/IconButton.tsx +61 -61
  106. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  107. package/src/components/forms/NumberInput.tsx +53 -53
  108. package/src/components/forms/Select.tsx +34 -34
  109. package/src/components/forms/VerticalLabel.tsx +20 -20
  110. package/src/components/forms/index.ts +11 -11
  111. package/src/components/forms/styles.ts +42 -42
  112. package/src/components/grid/DataGrid/DataGridCell.tsx +82 -81
  113. package/src/components/grid/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  114. package/src/components/grid/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  115. package/src/components/grid/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  116. package/src/components/grid/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  117. package/src/components/grid/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +37 -37
  118. package/src/components/grid/DataGrid/DataGridEditableCell/DateEditableCell.tsx +38 -38
  119. package/src/components/grid/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +71 -71
  120. package/src/components/grid/DataGrid/DataGridEditableCell/TextEditableCell.tsx +37 -37
  121. package/src/components/grid/DataGrid/DataGridEditableCell/index.tsx +112 -106
  122. package/src/components/grid/DataGrid/DataGridEditableCell/styles.ts +35 -35
  123. package/src/components/grid/DataGrid/DataGridEditableCell/types.ts +18 -18
  124. package/src/components/grid/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +129 -129
  125. package/src/components/grid/DataGrid/DataGridFilterMenu/helpers.ts +23 -23
  126. package/src/components/grid/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  127. package/src/components/grid/DataGrid/DataGridFilterMenu/index.tsx +370 -370
  128. package/src/components/grid/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  129. package/src/components/grid/DataGrid/DataGridFooter.tsx +48 -48
  130. package/src/components/grid/DataGrid/DataGridHeader.tsx +74 -74
  131. package/src/components/grid/DataGrid/DataGridHeaderCell.tsx +112 -112
  132. package/src/components/grid/DataGrid/DataGridRowTemplate.tsx +90 -83
  133. package/src/components/grid/DataGrid/DataGridToolbar.tsx +134 -134
  134. package/src/components/grid/DataGrid/FilterModalContent/index.tsx +137 -137
  135. package/src/components/grid/DataGrid/FilterModalContent/styles.ts +22 -22
  136. package/src/components/grid/DataGrid/constants.ts +6 -6
  137. package/src/components/grid/DataGrid/helpers/columns.tsx +452 -452
  138. package/src/components/grid/DataGrid/helpers/filters.ts +287 -287
  139. package/src/components/grid/DataGrid/helpers/index.ts +2 -2
  140. package/src/components/grid/DataGrid/hooks/index.ts +29 -29
  141. package/src/components/grid/DataGrid/hooks/useDataGrid.tsx +383 -383
  142. package/src/components/grid/DataGrid/hooks/useDataGridChangedRows.ts +97 -97
  143. package/src/components/grid/DataGrid/hooks/useDataGridCopy.ts +174 -174
  144. package/src/components/grid/DataGrid/hooks/useDataGridSettings.ts +48 -48
  145. package/src/components/grid/DataGrid/hooks/useRefreshModal.tsx +48 -48
  146. package/src/components/grid/DataGrid/index.tsx +111 -111
  147. package/src/components/grid/DataGrid/styles.ts +446 -446
  148. package/src/components/grid/DataGrid/types.ts +380 -380
  149. package/src/components/grid/SqlRequestDataGrid/helpers/columns.tsx +526 -526
  150. package/src/components/grid/SqlRequestDataGrid/helpers/index.ts +2 -2
  151. package/src/components/grid/SqlRequestDataGrid/helpers/rows.ts +24 -24
  152. package/src/components/grid/SqlRequestDataGrid/helpers/sqlRequests.ts +17 -17
  153. package/src/components/grid/SqlRequestDataGrid/index.tsx +417 -417
  154. package/src/components/grid/SqlRequestDataGrid/styles.ts +15 -15
  155. package/src/components/grid/SqlRequestDataGrid/types.ts +74 -74
  156. package/src/components/grid/SqlRequestForeignList/index.tsx +254 -254
  157. package/src/components/grid/SqlRequestForeignList/styles.ts +43 -43
  158. package/src/components/grid/SqlRequestForeignList/types.ts +32 -32
  159. package/src/components/grid/SqlRequestGrid/filters/FiltersSidebar.tsx +108 -108
  160. package/src/components/grid/SqlRequestGrid/filters/styles.ts +88 -88
  161. package/src/components/grid/SqlRequestGrid/helpers/index.ts +1 -1
  162. package/src/components/grid/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  163. package/src/components/grid/SqlRequestGrid/index.tsx +304 -304
  164. package/src/components/grid/SqlRequestGrid/styles.ts +20 -20
  165. package/src/components/grid/SqlRequestGrid/types.ts +73 -73
  166. package/src/components/grid/VirtualScroller/hooks.ts +71 -71
  167. package/src/components/grid/VirtualScroller/index.tsx +89 -89
  168. package/src/components/grid/VirtualScroller/styles.ts +57 -57
  169. package/src/components/grid/VirtualScroller/types.ts +10 -10
  170. package/src/components/grid/index.ts +11 -11
  171. package/src/components/layout/Columns.ts +28 -28
  172. package/src/components/layout/ContextMenu/ContextMenu.tsx +471 -0
  173. package/src/components/layout/ContextMenu/index.ts +23 -0
  174. package/src/components/layout/Dropdown/index.tsx +113 -113
  175. package/src/components/layout/Dropdown/styles.ts +53 -53
  176. package/src/components/layout/Flexbox.ts +21 -21
  177. package/src/components/layout/Grid/index.tsx +8 -8
  178. package/src/components/layout/Grid/styles.ts +34 -34
  179. package/src/components/layout/LeftMenu/LeftMenu.tsx +89 -0
  180. package/src/components/layout/LeftMenu/index.ts +2 -0
  181. package/src/components/layout/Loading/index.tsx +29 -29
  182. package/src/components/layout/Loading/styles.ts +29 -29
  183. package/src/components/layout/Masonry/index.tsx +29 -29
  184. package/src/components/layout/Masonry/styles.ts +20 -20
  185. package/src/components/layout/Modal/index.tsx +51 -51
  186. package/src/components/layout/Modal/styles.ts +125 -125
  187. package/src/components/layout/PanelContainer/PanelContainer.tsx +198 -0
  188. package/src/components/layout/PanelContainer/index.ts +2 -0
  189. package/src/components/layout/index.ts +10 -7
  190. package/src/components/search/HighlightedText.tsx +41 -41
  191. package/src/components/search/QuickSearchBar.tsx +125 -125
  192. package/src/components/search/QuickSearchResults.tsx +90 -90
  193. package/src/components/search/index.ts +5 -5
  194. package/src/components/search/styles.ts +96 -96
  195. package/src/components/search/types.ts +29 -29
  196. package/src/config/index.ts +10 -10
  197. package/src/helpers/cn.ts +6 -0
  198. package/src/helpers/components.ts +9 -9
  199. package/src/helpers/dates.ts +17 -17
  200. package/src/helpers/getScrollbarSize.ts +14 -14
  201. package/src/helpers/index.ts +8 -7
  202. package/src/helpers/numbers.ts +63 -63
  203. package/src/helpers/responsive.ts +83 -83
  204. package/src/helpers/styled/size.ts +24 -24
  205. package/src/helpers/styled/space.ts +111 -111
  206. package/src/helpers/styled/typography.ts +25 -25
  207. package/src/helpers/text.ts +13 -13
  208. package/src/helpers/types.ts +9 -9
  209. package/src/hooks/index.ts +9 -9
  210. package/src/hooks/providers.ts +14 -14
  211. package/src/hooks/useContainerMediaQuery.ts +7 -7
  212. package/src/hooks/useElementSize.ts +24 -24
  213. package/src/hooks/useMediaQuery.ts +9 -9
  214. package/src/hooks/useMediaQueryForWidth.ts +35 -35
  215. package/src/hooks/useMutableState.test.ts +410 -410
  216. package/src/hooks/useMutableState.ts +39 -39
  217. package/src/hooks/useShowArchived.ts +28 -28
  218. package/src/hooks/useWindowSize.ts +20 -20
  219. package/src/icons/index.tsx +138 -138
  220. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  221. package/src/providers/AuthenticationProvider/index.tsx +303 -303
  222. package/src/providers/LoadingProvider/index.tsx +47 -47
  223. package/src/providers/PortalsProvider/index.tsx +54 -54
  224. package/src/providers/PortalsProvider/styles.ts +31 -31
  225. package/src/providers/SettingsProvider/index.tsx +70 -70
  226. package/src/providers/ToastProvider/index.tsx +93 -93
  227. package/src/providers/TrackingProvider/hooks.ts +14 -14
  228. package/src/providers/TrackingProvider/index.tsx +71 -71
  229. package/src/providers/UiProviders/index.tsx +74 -74
  230. package/src/providers/UiProviders/styles.ts +10 -10
  231. package/src/providers/index.ts +6 -6
  232. package/src/services/HttpService.ts +92 -92
  233. package/src/services/WebSocketService.ts +155 -155
  234. package/src/services/advancedRequests.ts +102 -102
  235. package/src/services/base.ts +23 -23
  236. package/src/services/globalSearch.ts +32 -32
  237. package/src/services/hooks.ts +92 -92
  238. package/src/services/index.ts +20 -20
  239. package/src/services/requests/auth.ts +44 -44
  240. package/src/services/requests/generic.ts +76 -76
  241. package/src/services/requests/printing.ts +12 -12
  242. package/src/services/requests/tracking.ts +12 -12
  243. package/src/services/requests/userProfiles.ts +35 -35
  244. package/src/services/requests/users.ts +28 -28
  245. package/src/services/smartQueries.ts +122 -122
  246. package/src/services/sqlRequests.ts +119 -119
  247. package/src/services/types/auth.ts +98 -98
  248. package/src/services/types/base.ts +10 -10
  249. package/src/services/types/generic.ts +102 -102
  250. package/src/services/types/printing.ts +10 -10
  251. package/src/services/types/tracking.ts +29 -29
  252. package/src/services/types/userProfiles.ts +79 -79
  253. package/src/services/types/users.ts +74 -74
  254. package/src/services/updateSqlRequests.ts +32 -32
  255. package/src/styles/animations.scss +30 -30
  256. package/src/styles/index.scss +42 -42
  257. package/src/theme/ThemeProvider.ts +73 -73
  258. package/src/theme/defaultTheme.ts +471 -471
  259. package/src/theme/helpers.ts +89 -89
  260. package/src/theme/index.ts +4 -4
  261. package/src/theme/types.ts +139 -139
  262. package/src/types/index.ts +8 -8
  263. package/src/typings.d.ts +2 -2
  264. package/tsconfig.json +41 -41
  265. package/tsconfig.tsbuildinfo +0 -1
@@ -1,122 +1,122 @@
1
- import { useWebSocketRequestHandler } from './hooks';
2
-
3
- export type FieldDTO<T extends string = string> = {
4
- fieldName?: T;
5
- fieldAlias?: string;
6
- operator?:
7
- | 'add'
8
- | 'avg'
9
- | 'concat'
10
- | 'count'
11
- | 'divide'
12
- | 'groupConcat'
13
- | 'if'
14
- | 'ifNull'
15
- | 'jsonObject'
16
- | 'length'
17
- | 'max'
18
- | 'min'
19
- | 'modulo'
20
- | 'multiply'
21
- | 'subtract'
22
- | 'sum'
23
- | 'trim';
24
- operands?: FieldDTO[];
25
- constantValue?: string | number | boolean | null;
26
- groupBy?: boolean;
27
- };
28
-
29
- export type ConditionOperator =
30
- | 'lessThan'
31
- | 'lessThanOrEqual'
32
- | 'lessThanOrEquals'
33
- | 'equals'
34
- | 'notEquals'
35
- | 'greaterThanOrEqual'
36
- | 'greaterThanOrEquals'
37
- | 'greaterThan'
38
- | 'like'
39
- | 'contains'
40
- | 'notContains'
41
- | 'startsWith'
42
- | 'endsWith'
43
- | 'notLike'
44
- | 'inRange'
45
- | 'between'
46
- | 'isNull'
47
- | 'isNotNull'
48
- | 'inArray'
49
- | 'in'
50
- | 'not'
51
- | 'and'
52
- | 'or';
53
-
54
- export type HavingDTO = {
55
- operator: ConditionOperator;
56
- value?:
57
- | string
58
- | number
59
- | boolean
60
- | null
61
- | (string | number | boolean | null)[];
62
- };
63
-
64
- export type ConditionDTO = HavingDTO & {
65
- field: string | FieldDTO;
66
- children?: boolean;
67
- };
68
-
69
- export type OrderByDirection = 'ascending' | 'descending';
70
-
71
- export type FooterFunction = 'sum' | 'avg' | 'count' | 'max' | 'min';
72
-
73
- export type ColumnDTO = {
74
- key: string;
75
- field: FieldDTO;
76
- having?: HavingDTO;
77
- orderBy?: OrderByDirection;
78
- groupBy?: boolean;
79
- footer?: FooterFunction;
80
- };
81
-
82
- export type ColumnWithHavingDTO = ColumnDTO &
83
- Required<Pick<ColumnDTO, 'having'>>;
84
- export type ColumnWithFooterDTO = ColumnDTO &
85
- Required<Pick<ColumnDTO, 'footer'>>;
86
-
87
- export type QueryDTO = {
88
- type: string;
89
- columns?: ColumnDTO[];
90
- filterColumn?: ColumnDTO;
91
- where?: ConditionDTO[];
92
- offset?: number;
93
- limit?: number;
94
- getCount?: boolean;
95
- unique?: boolean;
96
- };
97
-
98
- export type RequestRow<R> = {
99
- [K in keyof R]: R[K] extends string | number | null | undefined
100
- ? R[K]
101
- : string | number | null | undefined;
102
- };
103
-
104
- export type ResponseDTO<T = unknown> = {
105
- data: RequestRow<T>[];
106
- count?: number;
107
- totals?: Record<string, string | number | null | undefined>;
108
- };
109
-
110
- export type RequestHandler<T> = (request: QueryDTO) => Promise<ResponseDTO<T>>;
111
-
112
- export const useSmartQueryHandler = <T = unknown>(
113
- name: string
114
- ): [
115
- RequestHandler<T>,
116
- RequestHandler<{ id: string }>,
117
- RequestHandler<Partial<T>>
118
- ] => [
119
- useWebSocketRequestHandler<QueryDTO, ResponseDTO<T>>(name),
120
- useWebSocketRequestHandler<QueryDTO, ResponseDTO<{ id: string }>>(name),
121
- useWebSocketRequestHandler<QueryDTO, ResponseDTO<Partial<T>>>(name),
122
- ];
1
+ import { useWebSocketRequestHandler } from './hooks';
2
+
3
+ export type FieldDTO<T extends string = string> = {
4
+ fieldName?: T;
5
+ fieldAlias?: string;
6
+ operator?:
7
+ | 'add'
8
+ | 'avg'
9
+ | 'concat'
10
+ | 'count'
11
+ | 'divide'
12
+ | 'groupConcat'
13
+ | 'if'
14
+ | 'ifNull'
15
+ | 'jsonObject'
16
+ | 'length'
17
+ | 'max'
18
+ | 'min'
19
+ | 'modulo'
20
+ | 'multiply'
21
+ | 'subtract'
22
+ | 'sum'
23
+ | 'trim';
24
+ operands?: FieldDTO[];
25
+ constantValue?: string | number | boolean | null;
26
+ groupBy?: boolean;
27
+ };
28
+
29
+ export type ConditionOperator =
30
+ | 'lessThan'
31
+ | 'lessThanOrEqual'
32
+ | 'lessThanOrEquals'
33
+ | 'equals'
34
+ | 'notEquals'
35
+ | 'greaterThanOrEqual'
36
+ | 'greaterThanOrEquals'
37
+ | 'greaterThan'
38
+ | 'like'
39
+ | 'contains'
40
+ | 'notContains'
41
+ | 'startsWith'
42
+ | 'endsWith'
43
+ | 'notLike'
44
+ | 'inRange'
45
+ | 'between'
46
+ | 'isNull'
47
+ | 'isNotNull'
48
+ | 'inArray'
49
+ | 'in'
50
+ | 'not'
51
+ | 'and'
52
+ | 'or';
53
+
54
+ export type HavingDTO = {
55
+ operator: ConditionOperator;
56
+ value?:
57
+ | string
58
+ | number
59
+ | boolean
60
+ | null
61
+ | (string | number | boolean | null)[];
62
+ };
63
+
64
+ export type ConditionDTO = HavingDTO & {
65
+ field: string | FieldDTO;
66
+ children?: boolean;
67
+ };
68
+
69
+ export type OrderByDirection = 'ascending' | 'descending';
70
+
71
+ export type FooterFunction = 'sum' | 'avg' | 'count' | 'max' | 'min';
72
+
73
+ export type ColumnDTO = {
74
+ key: string;
75
+ field: FieldDTO;
76
+ having?: HavingDTO;
77
+ orderBy?: OrderByDirection;
78
+ groupBy?: boolean;
79
+ footer?: FooterFunction;
80
+ };
81
+
82
+ export type ColumnWithHavingDTO = ColumnDTO &
83
+ Required<Pick<ColumnDTO, 'having'>>;
84
+ export type ColumnWithFooterDTO = ColumnDTO &
85
+ Required<Pick<ColumnDTO, 'footer'>>;
86
+
87
+ export type QueryDTO = {
88
+ type: string;
89
+ columns?: ColumnDTO[];
90
+ filterColumn?: ColumnDTO;
91
+ where?: ConditionDTO[];
92
+ offset?: number;
93
+ limit?: number;
94
+ getCount?: boolean;
95
+ unique?: boolean;
96
+ };
97
+
98
+ export type RequestRow<R> = {
99
+ [K in keyof R]: R[K] extends string | number | null | undefined
100
+ ? R[K]
101
+ : string | number | null | undefined;
102
+ };
103
+
104
+ export type ResponseDTO<T = unknown> = {
105
+ data: RequestRow<T>[];
106
+ count?: number;
107
+ totals?: Record<string, string | number | null | undefined>;
108
+ };
109
+
110
+ export type RequestHandler<T> = (request: QueryDTO) => Promise<ResponseDTO<T>>;
111
+
112
+ export const useSmartQueryHandler = <T = unknown>(
113
+ name: string
114
+ ): [
115
+ RequestHandler<T>,
116
+ RequestHandler<{ id: string }>,
117
+ RequestHandler<Partial<T>>
118
+ ] => [
119
+ useWebSocketRequestHandler<QueryDTO, ResponseDTO<T>>(name),
120
+ useWebSocketRequestHandler<QueryDTO, ResponseDTO<{ id: string }>>(name),
121
+ useWebSocketRequestHandler<QueryDTO, ResponseDTO<Partial<T>>>(name),
122
+ ];
@@ -1,119 +1,119 @@
1
- import { SqlRequestGridColumn } from '../components/grid/SqlRequestGrid/types';
2
- import { useWebSocketRequestHandler } from './hooks';
3
-
4
- export type FieldDTO<T extends string = string> = {
5
- fieldName?: T;
6
- fieldAlias?: string;
7
- operator?:
8
- | 'add'
9
- | 'concat'
10
- | 'divide'
11
- | 'groupConcat'
12
- | 'if'
13
- | 'ifNull'
14
- | 'jsonObject'
15
- | 'length'
16
- | 'modulo'
17
- | 'multiply'
18
- | 'subtract'
19
- | 'sum'
20
- | 'trim';
21
- operands?: FieldDTO[];
22
- constantValue?: string | number | boolean | null;
23
- groupBy?: boolean;
24
- };
25
-
26
- export type ConditionDTO = {
27
- field: string;
28
- operator:
29
- | 'isLessThan'
30
- | 'isLessThanOrEqual'
31
- | 'isLessThanOrEquals'
32
- | 'lessThan'
33
- | 'lessThanOrEqual'
34
- | 'lessThanOrEquals'
35
- | 'equals'
36
- | 'notEquals'
37
- | 'isGreaterThanOrEqual'
38
- | 'isGreaterThanOrEquals'
39
- | 'isGreaterThan'
40
- | 'greaterThanOrEqual'
41
- | 'greaterThanOrEquals'
42
- | 'greaterThan'
43
- | 'like'
44
- | 'contains'
45
- | 'notContains'
46
- | 'startsWith'
47
- | 'endsWith'
48
- | 'notLike'
49
- | 'inRange'
50
- | 'between'
51
- | 'isNull'
52
- | 'isNotNull'
53
- | 'inArray'
54
- | 'in'
55
- | 'not'
56
- | 'and'
57
- | 'or';
58
- value?:
59
- | string
60
- | number
61
- | boolean
62
- | null
63
- | (string | number | boolean | null)[];
64
- children?: ConditionDTO[];
65
- type?: SqlRequestGridColumn<unknown>['type'];
66
- };
67
-
68
- export type OrderByDTO = {
69
- field: string;
70
- type: string;
71
- direction?: 'ASC' | 'DESC';
72
- };
73
-
74
- export type SqlRequestFooterFunction = 'sum' | 'avg' | 'count' | 'max' | 'min';
75
-
76
- export type SqlRequestDTO = {
77
- columns?: string[];
78
- returnColumns?: string[];
79
- columnTypes?: string[];
80
- totalColumns?: Record<string, SqlRequestFooterFunction>;
81
- conditions?: ConditionDTO[];
82
- orderBy?: OrderByDTO[];
83
- start?: number;
84
- length?: number;
85
- getCount?: boolean;
86
- unique?: boolean;
87
- };
88
-
89
- export type SqlRequestRow<R> = {
90
- [K in keyof R]: R[K] extends string | number | null | undefined
91
- ? R[K]
92
- : string | number | null | undefined;
93
- };
94
-
95
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
96
- export type SqlResponseDTO<T = any> = {
97
- data: SqlRequestRow<T>[];
98
- count?: number;
99
- totals?: Record<string, string | number | null | undefined>;
100
- };
101
-
102
- type SqlRequestHandler<T> = (
103
- request: SqlRequestDTO
104
- ) => Promise<SqlResponseDTO<T>>;
105
-
106
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
107
- export const useSqlRequestHandler = <T = any>(
108
- name: string
109
- ): [
110
- SqlRequestHandler<T>,
111
- SqlRequestHandler<{ Id: string }>,
112
- SqlRequestHandler<Partial<T>>,
113
- ] => [
114
- useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<T>>(name),
115
- useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<{ Id: string }>>(
116
- name
117
- ),
118
- useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<Partial<T>>>(name),
119
- ];
1
+ import { SqlRequestGridColumn } from '../components/grid/SqlRequestGrid/types';
2
+ import { useWebSocketRequestHandler } from './hooks';
3
+
4
+ export type FieldDTO<T extends string = string> = {
5
+ fieldName?: T;
6
+ fieldAlias?: string;
7
+ operator?:
8
+ | 'add'
9
+ | 'concat'
10
+ | 'divide'
11
+ | 'groupConcat'
12
+ | 'if'
13
+ | 'ifNull'
14
+ | 'jsonObject'
15
+ | 'length'
16
+ | 'modulo'
17
+ | 'multiply'
18
+ | 'subtract'
19
+ | 'sum'
20
+ | 'trim';
21
+ operands?: FieldDTO[];
22
+ constantValue?: string | number | boolean | null;
23
+ groupBy?: boolean;
24
+ };
25
+
26
+ export type ConditionDTO = {
27
+ field: string;
28
+ operator:
29
+ | 'isLessThan'
30
+ | 'isLessThanOrEqual'
31
+ | 'isLessThanOrEquals'
32
+ | 'lessThan'
33
+ | 'lessThanOrEqual'
34
+ | 'lessThanOrEquals'
35
+ | 'equals'
36
+ | 'notEquals'
37
+ | 'isGreaterThanOrEqual'
38
+ | 'isGreaterThanOrEquals'
39
+ | 'isGreaterThan'
40
+ | 'greaterThanOrEqual'
41
+ | 'greaterThanOrEquals'
42
+ | 'greaterThan'
43
+ | 'like'
44
+ | 'contains'
45
+ | 'notContains'
46
+ | 'startsWith'
47
+ | 'endsWith'
48
+ | 'notLike'
49
+ | 'inRange'
50
+ | 'between'
51
+ | 'isNull'
52
+ | 'isNotNull'
53
+ | 'inArray'
54
+ | 'in'
55
+ | 'not'
56
+ | 'and'
57
+ | 'or';
58
+ value?:
59
+ | string
60
+ | number
61
+ | boolean
62
+ | null
63
+ | (string | number | boolean | null)[];
64
+ children?: ConditionDTO[];
65
+ type?: SqlRequestGridColumn<unknown>['type'];
66
+ };
67
+
68
+ export type OrderByDTO = {
69
+ field: string;
70
+ type: string;
71
+ direction?: 'ASC' | 'DESC';
72
+ };
73
+
74
+ export type SqlRequestFooterFunction = 'sum' | 'avg' | 'count' | 'max' | 'min';
75
+
76
+ export type SqlRequestDTO = {
77
+ columns?: string[];
78
+ returnColumns?: string[];
79
+ columnTypes?: string[];
80
+ totalColumns?: Record<string, SqlRequestFooterFunction>;
81
+ conditions?: ConditionDTO[];
82
+ orderBy?: OrderByDTO[];
83
+ start?: number;
84
+ length?: number;
85
+ getCount?: boolean;
86
+ unique?: boolean;
87
+ };
88
+
89
+ export type SqlRequestRow<R> = {
90
+ [K in keyof R]: R[K] extends string | number | null | undefined
91
+ ? R[K]
92
+ : string | number | null | undefined;
93
+ };
94
+
95
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
96
+ export type SqlResponseDTO<T = any> = {
97
+ data: SqlRequestRow<T>[];
98
+ count?: number;
99
+ totals?: Record<string, string | number | null | undefined>;
100
+ };
101
+
102
+ type SqlRequestHandler<T> = (
103
+ request: SqlRequestDTO
104
+ ) => Promise<SqlResponseDTO<T>>;
105
+
106
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
107
+ export const useSqlRequestHandler = <T = any>(
108
+ name: string
109
+ ): [
110
+ SqlRequestHandler<T>,
111
+ SqlRequestHandler<{ Id: string }>,
112
+ SqlRequestHandler<Partial<T>>,
113
+ ] => [
114
+ useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<T>>(name),
115
+ useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<{ Id: string }>>(
116
+ name
117
+ ),
118
+ useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<Partial<T>>>(name),
119
+ ];
@@ -1,98 +1,98 @@
1
- import * as z from 'zod';
2
-
3
- import { userDtoSchema } from './users';
4
-
5
- export const loginRequestDtoSchema = z.object({
6
- username: z.string(),
7
- password: z.string(),
8
- });
9
-
10
- export const loginResponseDtoSchema = z.object({
11
- status: z.number(),
12
- token: z.string(),
13
- user: userDtoSchema.nullable(),
14
- });
15
-
16
- export type LoginRequestDTO = z.infer<typeof loginRequestDtoSchema>;
17
- export type LoginResponseDTO = z.infer<typeof loginResponseDtoSchema>;
18
-
19
- /*****/
20
-
21
- export const logoutRequestDtoSchema = z.object({});
22
-
23
- export const logoutResponseDtoSchema = z.object({
24
- status: z.number(),
25
- });
26
-
27
- export type LogoutRequestDTO = z.infer<typeof logoutRequestDtoSchema>;
28
- export type LogoutResponseDTO = z.infer<typeof logoutResponseDtoSchema>;
29
-
30
- /*****/
31
-
32
- export const authenticateRequestDtoSchema = z.object({
33
- token: z.string(),
34
- });
35
-
36
- export const authenticateResponseDtoSchema = z.object({
37
- status: z.number(),
38
- user: userDtoSchema.nullable(),
39
- });
40
-
41
- export type AuthenticateRequestDTO = z.infer<
42
- typeof authenticateRequestDtoSchema
43
- >;
44
- export type AuthenticateResponseDTO = z.infer<
45
- typeof authenticateResponseDtoSchema
46
- >;
47
-
48
- /*****/
49
-
50
- export const sendRecoveryKeyRequestDtoSchema = z.object({
51
- email: z.string(),
52
- });
53
-
54
- export const sendRecoveryKeyResponseDtoSchema = z.object({
55
- status: z.number(),
56
- });
57
-
58
- export type SendRecoveryKeyRequestDTO = z.infer<
59
- typeof sendRecoveryKeyRequestDtoSchema
60
- >;
61
- export type SendRecoveryKeyResponseDTO = z.infer<
62
- typeof sendRecoveryKeyResponseDtoSchema
63
- >;
64
-
65
- /*****/
66
-
67
- export const checkRecoveryKeyRequestDtoSchema = z.object({
68
- key: z.string(),
69
- });
70
-
71
- export const checkRecoveryKeyResponseDtoSchema = z.object({
72
- status: z.number(),
73
- });
74
-
75
- export type CheckRecoveryKeyRequestDTO = z.infer<
76
- typeof checkRecoveryKeyRequestDtoSchema
77
- >;
78
- export type CheckRecoveryKeyResponseDTO = z.infer<
79
- typeof checkRecoveryKeyResponseDtoSchema
80
- >;
81
-
82
- /*****/
83
-
84
- export const resetPasswordRequestDtoSchema = z.object({
85
- key: z.string(),
86
- password: z.string(),
87
- });
88
-
89
- export const resetPasswordResponseDtoSchema = z.object({
90
- status: z.number(),
91
- });
92
-
93
- export type ResetPasswordRequestDTO = z.infer<
94
- typeof resetPasswordRequestDtoSchema
95
- >;
96
- export type ResetPasswordResponseDTO = z.infer<
97
- typeof resetPasswordResponseDtoSchema
98
- >;
1
+ import * as z from 'zod';
2
+
3
+ import { userDtoSchema } from './users';
4
+
5
+ export const loginRequestDtoSchema = z.object({
6
+ username: z.string(),
7
+ password: z.string(),
8
+ });
9
+
10
+ export const loginResponseDtoSchema = z.object({
11
+ status: z.number(),
12
+ token: z.string(),
13
+ user: userDtoSchema.nullable(),
14
+ });
15
+
16
+ export type LoginRequestDTO = z.infer<typeof loginRequestDtoSchema>;
17
+ export type LoginResponseDTO = z.infer<typeof loginResponseDtoSchema>;
18
+
19
+ /*****/
20
+
21
+ export const logoutRequestDtoSchema = z.object({});
22
+
23
+ export const logoutResponseDtoSchema = z.object({
24
+ status: z.number(),
25
+ });
26
+
27
+ export type LogoutRequestDTO = z.infer<typeof logoutRequestDtoSchema>;
28
+ export type LogoutResponseDTO = z.infer<typeof logoutResponseDtoSchema>;
29
+
30
+ /*****/
31
+
32
+ export const authenticateRequestDtoSchema = z.object({
33
+ token: z.string(),
34
+ });
35
+
36
+ export const authenticateResponseDtoSchema = z.object({
37
+ status: z.number(),
38
+ user: userDtoSchema.nullable(),
39
+ });
40
+
41
+ export type AuthenticateRequestDTO = z.infer<
42
+ typeof authenticateRequestDtoSchema
43
+ >;
44
+ export type AuthenticateResponseDTO = z.infer<
45
+ typeof authenticateResponseDtoSchema
46
+ >;
47
+
48
+ /*****/
49
+
50
+ export const sendRecoveryKeyRequestDtoSchema = z.object({
51
+ email: z.string(),
52
+ });
53
+
54
+ export const sendRecoveryKeyResponseDtoSchema = z.object({
55
+ status: z.number(),
56
+ });
57
+
58
+ export type SendRecoveryKeyRequestDTO = z.infer<
59
+ typeof sendRecoveryKeyRequestDtoSchema
60
+ >;
61
+ export type SendRecoveryKeyResponseDTO = z.infer<
62
+ typeof sendRecoveryKeyResponseDtoSchema
63
+ >;
64
+
65
+ /*****/
66
+
67
+ export const checkRecoveryKeyRequestDtoSchema = z.object({
68
+ key: z.string(),
69
+ });
70
+
71
+ export const checkRecoveryKeyResponseDtoSchema = z.object({
72
+ status: z.number(),
73
+ });
74
+
75
+ export type CheckRecoveryKeyRequestDTO = z.infer<
76
+ typeof checkRecoveryKeyRequestDtoSchema
77
+ >;
78
+ export type CheckRecoveryKeyResponseDTO = z.infer<
79
+ typeof checkRecoveryKeyResponseDtoSchema
80
+ >;
81
+
82
+ /*****/
83
+
84
+ export const resetPasswordRequestDtoSchema = z.object({
85
+ key: z.string(),
86
+ password: z.string(),
87
+ });
88
+
89
+ export const resetPasswordResponseDtoSchema = z.object({
90
+ status: z.number(),
91
+ });
92
+
93
+ export type ResetPasswordRequestDTO = z.infer<
94
+ typeof resetPasswordRequestDtoSchema
95
+ >;
96
+ export type ResetPasswordResponseDTO = z.infer<
97
+ typeof resetPasswordResponseDtoSchema
98
+ >;