@addev-be/ui 0.7.0 → 0.7.2

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 (316) 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/up.svg +1 -1
  21. package/assets/icons/user-tie.svg +1 -1
  22. package/assets/icons/x-bar.svg +3 -3
  23. package/package.json +1 -1
  24. package/src/Icons.tsx +116 -116
  25. package/src/components/auth/LoginForm.tsx +83 -83
  26. package/src/components/auth/LoginPage.tsx +32 -32
  27. package/src/components/auth/PasswordRecoveryForm.tsx +52 -52
  28. package/src/components/auth/PasswordResetForm.tsx +112 -112
  29. package/src/components/auth/index.ts +4 -4
  30. package/src/components/auth/styles.ts +14 -14
  31. package/src/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.ts +93 -93
  32. package/src/components/data/AdvancedRequestDataGrid/helpers/columns.tsx +262 -262
  33. package/src/components/data/AdvancedRequestDataGrid/helpers/index.ts +2 -2
  34. package/src/components/data/AdvancedRequestDataGrid/index.tsx +267 -267
  35. package/src/components/data/AdvancedRequestDataGrid/types.ts +47 -47
  36. package/src/components/data/DataGrid/DataGridCell.tsx +73 -73
  37. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +14 -14
  38. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  39. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +181 -181
  40. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  41. package/src/components/data/DataGrid/DataGridEditableCell.tsx +43 -43
  42. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +120 -120
  43. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +75 -75
  44. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +360 -360
  45. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +96 -96
  46. package/src/components/data/DataGrid/DataGridFooter.tsx +42 -42
  47. package/src/components/data/DataGrid/DataGridHeader.tsx +126 -126
  48. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +132 -132
  49. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +70 -70
  50. package/src/components/data/DataGrid/FilterModalContent/index.tsx +136 -136
  51. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  52. package/src/components/data/DataGrid/helpers/columns.tsx +319 -319
  53. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  54. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  55. package/src/components/data/DataGrid/hooks/index.ts +30 -30
  56. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +287 -287
  57. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +175 -175
  58. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  59. package/src/components/data/DataGrid/index.tsx +82 -82
  60. package/src/components/data/DataGrid/styles.ts +285 -285
  61. package/src/components/data/DataGrid/types.ts +276 -276
  62. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +303 -303
  63. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  64. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  65. package/src/components/data/SqlRequestDataGrid/index.tsx +380 -380
  66. package/src/components/data/SqlRequestDataGrid/types.ts +47 -47
  67. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -2
  68. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  69. package/src/components/data/SqlRequestGrid/index.tsx +174 -174
  70. package/src/components/data/SqlRequestGrid/styles.ts +50 -50
  71. package/src/components/data/SqlRequestGrid/types.ts +50 -50
  72. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  73. package/src/components/data/VirtualScroller/index.tsx +75 -75
  74. package/src/components/data/VirtualScroller/styles.ts +51 -51
  75. package/src/components/data/VirtualScroller/types.ts +12 -12
  76. package/src/components/data/index.ts +17 -17
  77. package/src/components/forms/Button.tsx +99 -99
  78. package/src/components/forms/IconButton.tsx +56 -56
  79. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  80. package/src/components/forms/Select.tsx +40 -40
  81. package/src/components/forms/VerticalLabel.tsx +20 -20
  82. package/src/components/forms/index.ts +5 -5
  83. package/src/components/forms/styles.ts +31 -31
  84. package/src/components/index.ts +6 -6
  85. package/src/components/layout/Dropdown/index.tsx +80 -80
  86. package/src/components/layout/Dropdown/styles.ts +45 -45
  87. package/src/components/layout/Loading/index.tsx +29 -29
  88. package/src/components/layout/Loading/styles.ts +29 -29
  89. package/src/components/layout/Modal/index.tsx +51 -51
  90. package/src/components/layout/Modal/styles.ts +121 -121
  91. package/src/components/layout/index.ts +3 -3
  92. package/src/components/search/HighlightedText.tsx +37 -37
  93. package/src/components/search/QuickSearchBar.tsx +80 -80
  94. package/src/components/search/QuickSearchResults.tsx +86 -86
  95. package/src/components/search/index.ts +9 -9
  96. package/src/components/search/styles.ts +96 -96
  97. package/src/components/search/types.ts +26 -26
  98. package/src/components/ui/Card/index.tsx +14 -14
  99. package/src/components/ui/Card/styles.ts +37 -37
  100. package/src/components/ui/ContextMenu/index.tsx +79 -79
  101. package/src/components/ui/ContextMenu/styles.ts +119 -119
  102. package/src/components/ui/Message/index.tsx +57 -57
  103. package/src/components/ui/Message/styles.ts +40 -40
  104. package/src/components/ui/index.ts +3 -3
  105. package/src/config/index.ts +14 -14
  106. package/src/helpers/dates.ts +17 -17
  107. package/src/helpers/getScrollbarSize.ts +14 -14
  108. package/src/helpers/index.ts +3 -3
  109. package/src/helpers/numbers.ts +26 -26
  110. package/src/helpers/text.ts +13 -13
  111. package/src/hooks/index.ts +2 -2
  112. package/src/hooks/useElementSize.ts +24 -24
  113. package/src/hooks/useWindowSize.ts +20 -20
  114. package/src/index.ts +8 -8
  115. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  116. package/src/providers/AuthenticationProvider/index.tsx +235 -226
  117. package/src/providers/LoadingProvider/index.tsx +47 -47
  118. package/src/providers/PortalsProvider/index.tsx +54 -54
  119. package/src/providers/PortalsProvider/styles.ts +27 -27
  120. package/src/providers/SettingsProvider/index.tsx +70 -70
  121. package/src/providers/ThemeProvider/ThemeProvider.ts +63 -63
  122. package/src/providers/ThemeProvider/defaultTheme.ts +444 -444
  123. package/src/providers/ThemeProvider/index.ts +4 -4
  124. package/src/providers/ThemeProvider/types.ts +123 -123
  125. package/src/providers/UiProviders/index.tsx +65 -65
  126. package/src/providers/UiProviders/styles.ts +10 -10
  127. package/src/providers/hooks.ts +12 -12
  128. package/src/providers/index.ts +6 -6
  129. package/src/services/HttpService.ts +92 -92
  130. package/src/services/WebSocketService.ts +137 -137
  131. package/src/services/advancedRequests.ts +101 -101
  132. package/src/services/base.ts +23 -23
  133. package/src/services/globalSearch.ts +27 -27
  134. package/src/services/hooks.ts +44 -44
  135. package/src/services/index.ts +13 -13
  136. package/src/services/requests/auth.ts +44 -44
  137. package/src/services/requests/userProfiles.ts +35 -35
  138. package/src/services/requests/users.ts +28 -28
  139. package/src/services/sqlRequests.ts +110 -110
  140. package/src/services/types/auth.ts +131 -131
  141. package/src/services/types/base.ts +10 -10
  142. package/src/services/types/userProfiles.ts +107 -107
  143. package/src/services/types/users.ts +106 -104
  144. package/src/styles/animations.scss +30 -30
  145. package/src/styles/index.scss +42 -42
  146. package/src/typings.d.ts +13 -13
  147. package/dist/Icons.d.ts +0 -43
  148. package/dist/Icons.js +0 -116
  149. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +0 -14
  150. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +0 -76
  151. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +0 -22
  152. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +0 -156
  153. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +0 -2
  154. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +0 -18
  155. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +0 -2
  156. package/dist/components/data/AdvancedRequestDataGrid/index.js +0 -215
  157. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +0 -21
  158. package/dist/components/data/AdvancedRequestDataGrid/types.js +0 -2
  159. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +0 -10
  160. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +0 -173
  161. package/dist/components/data/DataGrid/DataGridCell.d.ts +0 -2
  162. package/dist/components/data/DataGrid/DataGridCell.js +0 -59
  163. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.d.ts +0 -2
  164. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.js +0 -24
  165. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.d.ts +0 -6
  166. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +0 -38
  167. package/dist/components/data/DataGrid/DataGridColumnsModal/index.d.ts +0 -15
  168. package/dist/components/data/DataGrid/DataGridColumnsModal/index.js +0 -111
  169. package/dist/components/data/DataGrid/DataGridColumnsModal/styles.d.ts +0 -22
  170. package/dist/components/data/DataGrid/DataGridColumnsModal/styles.js +0 -54
  171. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +0 -2
  172. package/dist/components/data/DataGrid/DataGridEditableCell.js +0 -27
  173. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.d.ts +0 -9
  174. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.js +0 -52
  175. package/dist/components/data/DataGrid/DataGridFilterMenu/index.d.ts +0 -9
  176. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +0 -220
  177. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.d.ts +0 -9
  178. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +0 -21
  179. package/dist/components/data/DataGrid/DataGridFooter.d.ts +0 -4
  180. package/dist/components/data/DataGrid/DataGridFooter.js +0 -44
  181. package/dist/components/data/DataGrid/DataGridHeader.d.ts +0 -4
  182. package/dist/components/data/DataGrid/DataGridHeader.js +0 -119
  183. package/dist/components/data/DataGrid/DataGridHeaderCell.d.ts +0 -2
  184. package/dist/components/data/DataGrid/DataGridHeaderCell.js +0 -84
  185. package/dist/components/data/DataGrid/FilterModalContent/index.d.ts +0 -7
  186. package/dist/components/data/DataGrid/FilterModalContent/index.js +0 -108
  187. package/dist/components/data/DataGrid/FilterModalContent/styles.d.ts +0 -3
  188. package/dist/components/data/DataGrid/FilterModalContent/styles.js +0 -15
  189. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +0 -13
  190. package/dist/components/data/DataGrid/FilterValuesScroller.js +0 -73
  191. package/dist/components/data/DataGrid/VirtualScroller.d.ts +0 -11
  192. package/dist/components/data/DataGrid/VirtualScroller.js +0 -41
  193. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +0 -12
  194. package/dist/components/data/DataGrid/helpers/advancedRequests.js +0 -53
  195. package/dist/components/data/DataGrid/helpers/columns.d.ts +0 -12
  196. package/dist/components/data/DataGrid/helpers/columns.js +0 -162
  197. package/dist/components/data/DataGrid/helpers/filters.d.ts +0 -17
  198. package/dist/components/data/DataGrid/helpers/filters.js +0 -254
  199. package/dist/components/data/DataGrid/helpers/index.d.ts +0 -2
  200. package/dist/components/data/DataGrid/helpers/index.js +0 -18
  201. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  202. package/dist/components/data/DataGrid/helpers.js +0 -436
  203. package/dist/components/data/DataGrid/hooks/index.d.ts +0 -7
  204. package/dist/components/data/DataGrid/hooks/index.js +0 -34
  205. package/dist/components/data/DataGrid/hooks/useDataGrid.d.ts +0 -2
  206. package/dist/components/data/DataGrid/hooks/useDataGrid.js +0 -246
  207. package/dist/components/data/DataGrid/hooks/useDataGridCopy.d.ts +0 -4
  208. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +0 -171
  209. package/dist/components/data/DataGrid/hooks/useDataGridSettings.d.ts +0 -16
  210. package/dist/components/data/DataGrid/hooks/useDataGridSettings.js +0 -43
  211. package/dist/components/data/DataGrid/index.d.ts +0 -4
  212. package/dist/components/data/DataGrid/index.js +0 -108
  213. package/dist/components/data/DataGrid/styles.d.ts +0 -64
  214. package/dist/components/data/DataGrid/styles.js +0 -134
  215. package/dist/components/data/DataGrid/types.d.ts +0 -162
  216. package/dist/components/data/DataGrid/types.js +0 -34
  217. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +0 -16
  218. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +0 -125
  219. package/dist/components/data/SqlRequestDataGrid/helpers/index.d.ts +0 -2
  220. package/dist/components/data/SqlRequestDataGrid/helpers/index.js +0 -18
  221. package/dist/components/data/SqlRequestDataGrid/helpers/sqlRequests.d.ts +0 -3
  222. package/dist/components/data/SqlRequestDataGrid/helpers/sqlRequests.js +0 -18
  223. package/dist/components/data/SqlRequestDataGrid/index.d.ts +0 -2
  224. package/dist/components/data/SqlRequestDataGrid/index.js +0 -296
  225. package/dist/components/data/SqlRequestDataGrid/types.d.ts +0 -21
  226. package/dist/components/data/SqlRequestDataGrid/types.js +0 -2
  227. package/dist/components/data/index.d.ts +0 -8
  228. package/dist/components/data/index.js +0 -24
  229. package/dist/components/forms/Button.d.ts +0 -10
  230. package/dist/components/forms/Button.js +0 -70
  231. package/dist/components/forms/IconButton.d.ts +0 -7
  232. package/dist/components/forms/IconButton.js +0 -64
  233. package/dist/components/forms/IndeterminateCheckbox.d.ts +0 -8
  234. package/dist/components/forms/IndeterminateCheckbox.js +0 -41
  235. package/dist/components/forms/Select.d.ts +0 -10
  236. package/dist/components/forms/Select.js +0 -49
  237. package/dist/components/forms/index.d.ts +0 -5
  238. package/dist/components/forms/index.js +0 -23
  239. package/dist/components/forms/styles.d.ts +0 -2
  240. package/dist/components/forms/styles.js +0 -34
  241. package/dist/components/index.d.ts +0 -3
  242. package/dist/components/index.js +0 -19
  243. package/dist/components/layout/Dropdown/index.d.ts +0 -11
  244. package/dist/components/layout/Dropdown/index.js +0 -85
  245. package/dist/components/layout/Dropdown/styles.d.ts +0 -11
  246. package/dist/components/layout/Dropdown/styles.js +0 -45
  247. package/dist/components/layout/Loading/index.d.ts +0 -6
  248. package/dist/components/layout/Loading/index.js +0 -42
  249. package/dist/components/layout/Loading/styles.d.ts +0 -6
  250. package/dist/components/layout/Loading/styles.js +0 -18
  251. package/dist/components/layout/Modal/index.d.ts +0 -16
  252. package/dist/components/layout/Modal/index.js +0 -67
  253. package/dist/components/layout/Modal/styles.d.ts +0 -32
  254. package/dist/components/layout/Modal/styles.js +0 -52
  255. package/dist/components/layout/index.d.ts +0 -3
  256. package/dist/components/layout/index.js +0 -19
  257. package/dist/components/ui/ContextMenu/index.d.ts +0 -11
  258. package/dist/components/ui/ContextMenu/index.js +0 -58
  259. package/dist/components/ui/ContextMenu/styles.d.ts +0 -18
  260. package/dist/components/ui/ContextMenu/styles.js +0 -56
  261. package/dist/config/index.d.ts +0 -10
  262. package/dist/config/index.js +0 -2
  263. package/dist/config/types.d.ts +0 -11
  264. package/dist/config/types.js +0 -2
  265. package/dist/helpers/dates.d.ts +0 -2
  266. package/dist/helpers/dates.js +0 -13
  267. package/dist/helpers/getScrollbarSize.d.ts +0 -1
  268. package/dist/helpers/getScrollbarSize.js +0 -17
  269. package/dist/helpers/numbers.d.ts +0 -3
  270. package/dist/helpers/numbers.js +0 -31
  271. package/dist/hooks/index.d.ts +0 -2
  272. package/dist/hooks/index.js +0 -18
  273. package/dist/hooks/useElementSize.d.ts +0 -4
  274. package/dist/hooks/useElementSize.js +0 -23
  275. package/dist/hooks/useWindowSize.d.ts +0 -4
  276. package/dist/hooks/useWindowSize.js +0 -19
  277. package/dist/index.d.ts +0 -5
  278. package/dist/index.js +0 -21
  279. package/dist/providers/PortalsProvider/index.d.ts +0 -10
  280. package/dist/providers/PortalsProvider/index.js +0 -46
  281. package/dist/providers/PortalsProvider/styles.d.ts +0 -9
  282. package/dist/providers/PortalsProvider/styles.js +0 -21
  283. package/dist/providers/SettingsProvider/index.d.ts +0 -8
  284. package/dist/providers/SettingsProvider/index.js +0 -54
  285. package/dist/providers/ThemeProvider/ThemeProvider.d.ts +0 -7
  286. package/dist/providers/ThemeProvider/ThemeProvider.js +0 -51
  287. package/dist/providers/ThemeProvider/defaultTheme.d.ts +0 -2
  288. package/dist/providers/ThemeProvider/defaultTheme.js +0 -417
  289. package/dist/providers/ThemeProvider/index.d.ts +0 -2
  290. package/dist/providers/ThemeProvider/index.js +0 -5
  291. package/dist/providers/ThemeProvider/types.d.ts +0 -24
  292. package/dist/providers/ThemeProvider/types.js +0 -2
  293. package/dist/providers/UiProviders/index.d.ts +0 -12
  294. package/dist/providers/UiProviders/index.js +0 -62
  295. package/dist/providers/UiProviders/styles.d.ts +0 -3
  296. package/dist/providers/UiProviders/styles.js +0 -13
  297. package/dist/providers/hooks.d.ts +0 -3
  298. package/dist/providers/hooks.js +0 -13
  299. package/dist/providers/index.d.ts +0 -4
  300. package/dist/providers/index.js +0 -20
  301. package/dist/services/HttpService.d.ts +0 -10
  302. package/dist/services/HttpService.js +0 -117
  303. package/dist/services/WebSocketService.d.ts +0 -24
  304. package/dist/services/WebSocketService.js +0 -136
  305. package/dist/services/advancedRequests.d.ts +0 -41
  306. package/dist/services/advancedRequests.js +0 -13
  307. package/dist/services/base.d.ts +0 -19
  308. package/dist/services/base.js +0 -10
  309. package/dist/services/hooks.d.ts +0 -2
  310. package/dist/services/hooks.js +0 -18
  311. package/dist/services/index.d.ts +0 -2
  312. package/dist/services/index.js +0 -18
  313. package/dist/services/sqlRequests.d.ts +0 -45
  314. package/dist/services/sqlRequests.js +0 -11
  315. package/src/services/requests/userPermissions.ts +0 -36
  316. package/tsconfig.tsbuildinfo +0 -1
@@ -1,303 +1,303 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
- import { SqlRequestDataGridColumn, SqlRequestDataGridColumns } from '../types';
4
- import {
5
- buildExcelFormat,
6
- numberFilter,
7
- textFilter,
8
- } from '../../DataGrid/helpers';
9
- import { formatDate, formatDateTime } from '../../../../helpers/dates';
10
- import {
11
- formatMoney,
12
- formatNumber,
13
- formatNumberInvariant,
14
- formatPercentage,
15
- } from '../../../../helpers/numbers';
16
-
17
- export const sqlTextColumn = <R extends Record<string, any>>(
18
- key: string,
19
- title: string,
20
- options?: Partial<SqlRequestDataGridColumn<R>>
21
- ): SqlRequestDataGridColumns<R> => ({
22
- [key]: {
23
- name: title,
24
- render: (row) => row[key] ?? '',
25
- getter: (row) => row[key] ?? '',
26
- sortGetter: (row) => row[key] ?? '',
27
- filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
28
- ...options,
29
- footer: (rows) => `${rows[0][key]} éléments`,
30
- },
31
- });
32
-
33
- /**
34
- * Creates a column with a composed value from multiple fields,
35
- * and filtered by a text filter on the first field
36
- */
37
- export const sqlComposedColumn = <R extends Record<string, any>>(
38
- key: string,
39
- title: string,
40
- fields: string[],
41
- options?: Partial<SqlRequestDataGridColumn<R>>
42
- ): SqlRequestDataGridColumns<R> => ({
43
- [key]: {
44
- field: {
45
- fieldAlias: key,
46
- operator: 'jsonObject',
47
- operands: fields.flatMap((field) => [
48
- { constantValue: field },
49
- { fieldName: field },
50
- ]),
51
- },
52
- name: title,
53
- render: (row) => row[key] ?? '',
54
- getter: (row) => row[key] ?? '',
55
- sortGetter: (row) => row[key] ?? '',
56
- filter: {
57
- ...textFilter(fields[0]),
58
- getter: (value) => value[fields[0]] ?? 0,
59
- },
60
- filterField: fields[0],
61
- sortField: fields[0],
62
- footer: (rows) => `${rows[0][key]} éléments`,
63
- ...options,
64
- },
65
- });
66
-
67
- export const sqlMailColumn = <R extends Record<string, any>>(
68
- key: string,
69
- title: string,
70
- options?: Partial<SqlRequestDataGridColumn<R>>
71
- ): SqlRequestDataGridColumns<R> => ({
72
- [key]: {
73
- name: title,
74
- render: (row) => <a href={`mailto:${row[key]}`}>{row[key] ?? ''}</a>,
75
- getter: (row) => row[key] ?? '',
76
- sortGetter: (row) => row[key] ?? '',
77
- filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
78
- footer: (rows) => `${rows[0][key]} éléments`,
79
- ...options,
80
- },
81
- });
82
-
83
- export const sqlPhoneColumn = <R extends Record<string, any>>(
84
- key: string,
85
- title: string,
86
- options?: Partial<SqlRequestDataGridColumn<R>>
87
- ): SqlRequestDataGridColumns<R> => ({
88
- [key]: {
89
- name: title,
90
- render: (row) => <a href={`tel:${row[key]}`}>{row[key] ?? ''}</a>,
91
- getter: (row) => row[key] ?? '',
92
- sortGetter: (row) => row[key] ?? '',
93
- filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
94
- footer: (rows) => `${rows[0][key]} éléments`,
95
- ...options,
96
- },
97
- });
98
-
99
- export const sqlDateColumn = <R extends Record<string, any>>(
100
- key: string,
101
- title: string,
102
- options?: Partial<SqlRequestDataGridColumn<R>>
103
- ): SqlRequestDataGridColumns<R> => ({
104
- [key]: {
105
- name: title,
106
- type: 'date',
107
- render: (row) => formatDate(row[key]),
108
- getter: (row) => row[key] ?? '',
109
- sortGetter: (row) => row[key] ?? '',
110
- excelFormatter: () => 'dd/mm/yyyy',
111
- excelValue: (value) => formatDate(value, 'YYYY-MM-DD'),
112
- filter: {
113
- ...textFilter(key),
114
- getter: (value) => value[key] ?? '',
115
- formatter: (value) => formatDate(value),
116
- renderer: (value) => formatDate(value),
117
- },
118
- footer: (rows) => `${rows[0][key]} éléments`,
119
- ...options,
120
- },
121
- });
122
-
123
- export const sqlDateTimeColumn = <R extends Record<string, any>>(
124
- key: string,
125
- title: string,
126
- options?: Partial<SqlRequestDataGridColumn<R>>
127
- ): SqlRequestDataGridColumns<R> => ({
128
- [key]: {
129
- name: title,
130
- type: 'date',
131
- render: (row) => formatDateTime(row[key]),
132
- getter: (row) => row[key] ?? '',
133
- sortGetter: (row) => row[key] ?? '',
134
- excelFormatter: () => 'dd/mm/yyyy hh:mm:ss',
135
- excelValue: (value) => formatDateTime(value, 'YYYY-MM-DD HH:mm:ss'),
136
- filter: {
137
- ...textFilter(key),
138
- getter: (value) => value[key] ?? '',
139
- formatter: (value) => formatDateTime(value),
140
- renderer: (value) => formatDateTime(value),
141
- },
142
- footer: (rows) => `${rows[0][key]} éléments`,
143
- ...options,
144
- },
145
- });
146
-
147
- export const sqlMonthColumn = <R extends Record<string, any>>(
148
- key: string,
149
- title: string,
150
- options?: Partial<SqlRequestDataGridColumn<R>>
151
- ): SqlRequestDataGridColumns<R> => ({
152
- [key]: {
153
- name: title,
154
- render: (row) => (row[key] ? `${row[key]} mois ` : ''),
155
- getter: (row) => row[key] ?? '',
156
- sortGetter: (row) => row[key] ?? '',
157
- filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
158
- footer: (rows) => `${rows[0][key]} éléments`,
159
- ...options,
160
- },
161
- });
162
-
163
- export const sqlNumberColumn = <R extends Record<string, any>>(
164
- key: string,
165
- title: string,
166
- decimals = 2,
167
- options?: Partial<SqlRequestDataGridColumn<R>>
168
- ): SqlRequestDataGridColumns<R> => ({
169
- [key]: {
170
- name: title,
171
- render: (row) => formatNumber(row[key], decimals) ?? '',
172
- excelFormatter: () => buildExcelFormat(decimals),
173
- excelValue: (value) => formatNumberInvariant(value, decimals),
174
- getter: (row) => row[key] ?? '',
175
- sortGetter: (row) => row[key] ?? '',
176
- filter: {
177
- ...numberFilter(key),
178
- getter: (value) => value[key] ?? 0,
179
- renderer: (value) => formatNumber(value, decimals) ?? '',
180
- },
181
- footer: {
182
- sum: null,
183
- avg: null,
184
- count: null,
185
- max: null,
186
- min: null,
187
- },
188
- ...options,
189
- },
190
- });
191
-
192
- export const sqlMoneyColumn = <R extends Record<string, any>>(
193
- key: string,
194
- title: string,
195
- decimals = 2,
196
- options?: Partial<SqlRequestDataGridColumn<R>>
197
- ): SqlRequestDataGridColumns<R> => ({
198
- [key]: {
199
- name: title,
200
- type: 'number',
201
- render: (row) => formatMoney(row[key], decimals) ?? '',
202
- excelFormatter: () => buildExcelFormat(decimals, ' €'),
203
- excelValue: (value) => formatNumberInvariant(value, decimals),
204
- getter: (row) => row[key] ?? '',
205
- sortGetter: (row) => row[key] ?? '',
206
- filter: {
207
- ...numberFilter(key),
208
- getter: (value) => value[key] ?? 0,
209
- renderer: (value) => formatMoney(value, decimals) ?? '',
210
- },
211
- footer: {
212
- sum: null,
213
- avg: null,
214
- count: null,
215
- max: null,
216
- min: null,
217
- },
218
- ...options,
219
- },
220
- });
221
-
222
- export const sqlPercentageColumn = <R extends Record<string, any>>(
223
- key: string,
224
- title: string,
225
- decimals = 2,
226
- options?: Partial<SqlRequestDataGridColumn<R>>
227
- ): SqlRequestDataGridColumns<R> => ({
228
- [key]: {
229
- name: title,
230
- render: (row) => formatPercentage(row[key]) ?? '',
231
- excelFormatter: () => buildExcelFormat(decimals, '%'),
232
- excelValue: (value) => formatNumberInvariant(value, decimals),
233
- getter: (row) => row[key] ?? '',
234
- sortGetter: (row) => row[key] ?? '',
235
- filter: {
236
- ...numberFilter(key),
237
- getter: (value) => value[key] ?? 0,
238
- renderer: (value) => formatPercentage(value, decimals) ?? '',
239
- },
240
- ...options,
241
- },
242
- });
243
-
244
- export const sqlCheckboxColumn = <R extends Record<string, any>>(
245
- key: string,
246
- title: string,
247
- options?: Partial<SqlRequestDataGridColumn<R>>
248
- ): SqlRequestDataGridColumns<R> => ({
249
- [key]: {
250
- name: title,
251
- render: (row) => {
252
- const value = !!+(row[key] ?? 0);
253
- return (
254
- <>
255
- <input type="checkbox" checked={value} readOnly />
256
- <span>{value ? ' Oui' : ' Non'}</span>
257
- </>
258
- );
259
- },
260
- getter: (row) => row[key] ?? '',
261
- sortGetter: (row) => row[key] ?? '',
262
- filter: { ...numberFilter(key), getter: (value) => +(value[key] ?? 0) },
263
- footer: (rows) => `${rows[0][key]} éléments`,
264
- ...options,
265
- },
266
- });
267
-
268
- export const sqlColorColumn = <R extends Record<string, any>>(
269
- key: string,
270
- title: string,
271
- options?: Partial<SqlRequestDataGridColumn<R>>
272
- ): SqlRequestDataGridColumns<R> => ({
273
- [key]: {
274
- name: title,
275
- render: (row) => (
276
- <div
277
- style={{ position: 'absolute', inset: 0, backgroundColor: row[key] }}
278
- >
279
- &nbsp;
280
- </div>
281
- ),
282
- excelValue: () => '',
283
- excelBackgroundColor: (value) => value,
284
- getter: (row) => row[key] ?? '',
285
- sortGetter: (row) => row[key] ?? '',
286
- filter: {
287
- ...textFilter(key),
288
- getter: (value) => value[key] ?? '',
289
- renderer: (value) => (
290
- <div
291
- style={{
292
- backgroundColor: value,
293
- width: 'var(--space-16)',
294
- height: '1em',
295
- }}
296
- >
297
- &nbsp;
298
- </div>
299
- ),
300
- },
301
- ...options,
302
- },
303
- });
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+
3
+ import { SqlRequestDataGridColumn, SqlRequestDataGridColumns } from '../types';
4
+ import {
5
+ buildExcelFormat,
6
+ numberFilter,
7
+ textFilter,
8
+ } from '../../DataGrid/helpers';
9
+ import { formatDate, formatDateTime } from '../../../../helpers/dates';
10
+ import {
11
+ formatMoney,
12
+ formatNumber,
13
+ formatNumberInvariant,
14
+ formatPercentage,
15
+ } from '../../../../helpers/numbers';
16
+
17
+ export const sqlTextColumn = <R extends Record<string, any>>(
18
+ key: string,
19
+ title: string,
20
+ options?: Partial<SqlRequestDataGridColumn<R>>
21
+ ): SqlRequestDataGridColumns<R> => ({
22
+ [key]: {
23
+ name: title,
24
+ render: (row) => row[key] ?? '',
25
+ getter: (row) => row[key] ?? '',
26
+ sortGetter: (row) => row[key] ?? '',
27
+ filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
28
+ ...options,
29
+ footer: (rows) => `${rows[0][key]} éléments`,
30
+ },
31
+ });
32
+
33
+ /**
34
+ * Creates a column with a composed value from multiple fields,
35
+ * and filtered by a text filter on the first field
36
+ */
37
+ export const sqlComposedColumn = <R extends Record<string, any>>(
38
+ key: string,
39
+ title: string,
40
+ fields: string[],
41
+ options?: Partial<SqlRequestDataGridColumn<R>>
42
+ ): SqlRequestDataGridColumns<R> => ({
43
+ [key]: {
44
+ field: {
45
+ fieldAlias: key,
46
+ operator: 'jsonObject',
47
+ operands: fields.flatMap((field) => [
48
+ { constantValue: field },
49
+ { fieldName: field },
50
+ ]),
51
+ },
52
+ name: title,
53
+ render: (row) => row[key] ?? '',
54
+ getter: (row) => row[key] ?? '',
55
+ sortGetter: (row) => row[key] ?? '',
56
+ filter: {
57
+ ...textFilter(fields[0]),
58
+ getter: (value) => value[fields[0]] ?? 0,
59
+ },
60
+ filterField: fields[0],
61
+ sortField: fields[0],
62
+ footer: (rows) => `${rows[0][key]} éléments`,
63
+ ...options,
64
+ },
65
+ });
66
+
67
+ export const sqlMailColumn = <R extends Record<string, any>>(
68
+ key: string,
69
+ title: string,
70
+ options?: Partial<SqlRequestDataGridColumn<R>>
71
+ ): SqlRequestDataGridColumns<R> => ({
72
+ [key]: {
73
+ name: title,
74
+ render: (row) => <a href={`mailto:${row[key]}`}>{row[key] ?? ''}</a>,
75
+ getter: (row) => row[key] ?? '',
76
+ sortGetter: (row) => row[key] ?? '',
77
+ filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
78
+ footer: (rows) => `${rows[0][key]} éléments`,
79
+ ...options,
80
+ },
81
+ });
82
+
83
+ export const sqlPhoneColumn = <R extends Record<string, any>>(
84
+ key: string,
85
+ title: string,
86
+ options?: Partial<SqlRequestDataGridColumn<R>>
87
+ ): SqlRequestDataGridColumns<R> => ({
88
+ [key]: {
89
+ name: title,
90
+ render: (row) => <a href={`tel:${row[key]}`}>{row[key] ?? ''}</a>,
91
+ getter: (row) => row[key] ?? '',
92
+ sortGetter: (row) => row[key] ?? '',
93
+ filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
94
+ footer: (rows) => `${rows[0][key]} éléments`,
95
+ ...options,
96
+ },
97
+ });
98
+
99
+ export const sqlDateColumn = <R extends Record<string, any>>(
100
+ key: string,
101
+ title: string,
102
+ options?: Partial<SqlRequestDataGridColumn<R>>
103
+ ): SqlRequestDataGridColumns<R> => ({
104
+ [key]: {
105
+ name: title,
106
+ type: 'date',
107
+ render: (row) => formatDate(row[key]),
108
+ getter: (row) => row[key] ?? '',
109
+ sortGetter: (row) => row[key] ?? '',
110
+ excelFormatter: () => 'dd/mm/yyyy',
111
+ excelValue: (value) => formatDate(value, 'YYYY-MM-DD'),
112
+ filter: {
113
+ ...textFilter(key),
114
+ getter: (value) => value[key] ?? '',
115
+ formatter: (value) => formatDate(value),
116
+ renderer: (value) => formatDate(value),
117
+ },
118
+ footer: (rows) => `${rows[0][key]} éléments`,
119
+ ...options,
120
+ },
121
+ });
122
+
123
+ export const sqlDateTimeColumn = <R extends Record<string, any>>(
124
+ key: string,
125
+ title: string,
126
+ options?: Partial<SqlRequestDataGridColumn<R>>
127
+ ): SqlRequestDataGridColumns<R> => ({
128
+ [key]: {
129
+ name: title,
130
+ type: 'date',
131
+ render: (row) => formatDateTime(row[key]),
132
+ getter: (row) => row[key] ?? '',
133
+ sortGetter: (row) => row[key] ?? '',
134
+ excelFormatter: () => 'dd/mm/yyyy hh:mm:ss',
135
+ excelValue: (value) => formatDateTime(value, 'YYYY-MM-DD HH:mm:ss'),
136
+ filter: {
137
+ ...textFilter(key),
138
+ getter: (value) => value[key] ?? '',
139
+ formatter: (value) => formatDateTime(value),
140
+ renderer: (value) => formatDateTime(value),
141
+ },
142
+ footer: (rows) => `${rows[0][key]} éléments`,
143
+ ...options,
144
+ },
145
+ });
146
+
147
+ export const sqlMonthColumn = <R extends Record<string, any>>(
148
+ key: string,
149
+ title: string,
150
+ options?: Partial<SqlRequestDataGridColumn<R>>
151
+ ): SqlRequestDataGridColumns<R> => ({
152
+ [key]: {
153
+ name: title,
154
+ render: (row) => (row[key] ? `${row[key]} mois ` : ''),
155
+ getter: (row) => row[key] ?? '',
156
+ sortGetter: (row) => row[key] ?? '',
157
+ filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
158
+ footer: (rows) => `${rows[0][key]} éléments`,
159
+ ...options,
160
+ },
161
+ });
162
+
163
+ export const sqlNumberColumn = <R extends Record<string, any>>(
164
+ key: string,
165
+ title: string,
166
+ decimals = 2,
167
+ options?: Partial<SqlRequestDataGridColumn<R>>
168
+ ): SqlRequestDataGridColumns<R> => ({
169
+ [key]: {
170
+ name: title,
171
+ render: (row) => formatNumber(row[key], decimals) ?? '',
172
+ excelFormatter: () => buildExcelFormat(decimals),
173
+ excelValue: (value) => formatNumberInvariant(value, decimals),
174
+ getter: (row) => row[key] ?? '',
175
+ sortGetter: (row) => row[key] ?? '',
176
+ filter: {
177
+ ...numberFilter(key),
178
+ getter: (value) => value[key] ?? 0,
179
+ renderer: (value) => formatNumber(value, decimals) ?? '',
180
+ },
181
+ footer: {
182
+ sum: null,
183
+ avg: null,
184
+ count: null,
185
+ max: null,
186
+ min: null,
187
+ },
188
+ ...options,
189
+ },
190
+ });
191
+
192
+ export const sqlMoneyColumn = <R extends Record<string, any>>(
193
+ key: string,
194
+ title: string,
195
+ decimals = 2,
196
+ options?: Partial<SqlRequestDataGridColumn<R>>
197
+ ): SqlRequestDataGridColumns<R> => ({
198
+ [key]: {
199
+ name: title,
200
+ type: 'number',
201
+ render: (row) => formatMoney(row[key], decimals) ?? '',
202
+ excelFormatter: () => buildExcelFormat(decimals, ' €'),
203
+ excelValue: (value) => formatNumberInvariant(value, decimals),
204
+ getter: (row) => row[key] ?? '',
205
+ sortGetter: (row) => row[key] ?? '',
206
+ filter: {
207
+ ...numberFilter(key),
208
+ getter: (value) => value[key] ?? 0,
209
+ renderer: (value) => formatMoney(value, decimals) ?? '',
210
+ },
211
+ footer: {
212
+ sum: null,
213
+ avg: null,
214
+ count: null,
215
+ max: null,
216
+ min: null,
217
+ },
218
+ ...options,
219
+ },
220
+ });
221
+
222
+ export const sqlPercentageColumn = <R extends Record<string, any>>(
223
+ key: string,
224
+ title: string,
225
+ decimals = 2,
226
+ options?: Partial<SqlRequestDataGridColumn<R>>
227
+ ): SqlRequestDataGridColumns<R> => ({
228
+ [key]: {
229
+ name: title,
230
+ render: (row) => formatPercentage(row[key]) ?? '',
231
+ excelFormatter: () => buildExcelFormat(decimals, '%'),
232
+ excelValue: (value) => formatNumberInvariant(value, decimals),
233
+ getter: (row) => row[key] ?? '',
234
+ sortGetter: (row) => row[key] ?? '',
235
+ filter: {
236
+ ...numberFilter(key),
237
+ getter: (value) => value[key] ?? 0,
238
+ renderer: (value) => formatPercentage(value, decimals) ?? '',
239
+ },
240
+ ...options,
241
+ },
242
+ });
243
+
244
+ export const sqlCheckboxColumn = <R extends Record<string, any>>(
245
+ key: string,
246
+ title: string,
247
+ options?: Partial<SqlRequestDataGridColumn<R>>
248
+ ): SqlRequestDataGridColumns<R> => ({
249
+ [key]: {
250
+ name: title,
251
+ render: (row) => {
252
+ const value = !!+(row[key] ?? 0);
253
+ return (
254
+ <>
255
+ <input type="checkbox" checked={value} readOnly />
256
+ <span>{value ? ' Oui' : ' Non'}</span>
257
+ </>
258
+ );
259
+ },
260
+ getter: (row) => row[key] ?? '',
261
+ sortGetter: (row) => row[key] ?? '',
262
+ filter: { ...numberFilter(key), getter: (value) => +(value[key] ?? 0) },
263
+ footer: (rows) => `${rows[0][key]} éléments`,
264
+ ...options,
265
+ },
266
+ });
267
+
268
+ export const sqlColorColumn = <R extends Record<string, any>>(
269
+ key: string,
270
+ title: string,
271
+ options?: Partial<SqlRequestDataGridColumn<R>>
272
+ ): SqlRequestDataGridColumns<R> => ({
273
+ [key]: {
274
+ name: title,
275
+ render: (row) => (
276
+ <div
277
+ style={{ position: 'absolute', inset: 0, backgroundColor: row[key] }}
278
+ >
279
+ &nbsp;
280
+ </div>
281
+ ),
282
+ excelValue: () => '',
283
+ excelBackgroundColor: (value) => value,
284
+ getter: (row) => row[key] ?? '',
285
+ sortGetter: (row) => row[key] ?? '',
286
+ filter: {
287
+ ...textFilter(key),
288
+ getter: (value) => value[key] ?? '',
289
+ renderer: (value) => (
290
+ <div
291
+ style={{
292
+ backgroundColor: value,
293
+ width: 'var(--space-16)',
294
+ height: '1em',
295
+ }}
296
+ >
297
+ &nbsp;
298
+ </div>
299
+ ),
300
+ },
301
+ ...options,
302
+ },
303
+ });
@@ -1,2 +1,2 @@
1
- export * from './sqlRequests';
2
- export * from './columns';
1
+ export * from './sqlRequests';
2
+ export * from './columns';
@@ -1,16 +1,16 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
- import { ConditionDTO } from '../../../../services/sqlRequests';
4
- import { SqlRequestDataGridFilters } from '../types';
5
- import _ from 'lodash';
6
-
7
- export const convertSqlFiltersToConditions = (
8
- filters: SqlRequestDataGridFilters
9
- ): Record<string, ConditionDTO> =>
10
- _.mapValues(filters, (filter, columnKey) => ({
11
- field: columnKey,
12
- operator: filter.operator as any,
13
- value: ['inArray', 'inRange'].includes(filter.operator)
14
- ? filter.values
15
- : _.castArray<string | number | null>(filter.values)[0],
16
- }));
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+
3
+ import { ConditionDTO } from '../../../../services/sqlRequests';
4
+ import { SqlRequestDataGridFilters } from '../types';
5
+ import _ from 'lodash';
6
+
7
+ export const convertSqlFiltersToConditions = (
8
+ filters: SqlRequestDataGridFilters
9
+ ): Record<string, ConditionDTO> =>
10
+ _.mapValues(filters, (filter, columnKey) => ({
11
+ field: columnKey,
12
+ operator: filter.operator as any,
13
+ value: ['inArray', 'inRange'].includes(filter.operator)
14
+ ? filter.values
15
+ : _.castArray<string | number | null>(filter.values)[0],
16
+ }));