@addev-be/ui 0.2.2 → 0.2.6

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 (168) hide show
  1. package/assets/icons/arrow-down-a-z.svg +1 -1
  2. package/assets/icons/arrow-up-z-a.svg +1 -1
  3. package/assets/icons/check.svg +1 -1
  4. package/assets/icons/down.svg +1 -1
  5. package/assets/icons/filter-full.svg +1 -1
  6. package/assets/icons/filter.svg +1 -1
  7. package/assets/icons/hashtag.svg +1 -1
  8. package/assets/icons/image-slash.svg +1 -1
  9. package/assets/icons/left.svg +1 -1
  10. package/assets/icons/magnifier.svg +1 -1
  11. package/assets/icons/phone.svg +1 -1
  12. package/assets/icons/right.svg +1 -1
  13. package/assets/icons/spinner-third.svg +1 -1
  14. package/assets/icons/table-columns.svg +1 -1
  15. package/assets/icons/up.svg +1 -1
  16. package/assets/icons/user-tie.svg +1 -1
  17. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +14 -0
  18. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +76 -0
  19. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +22 -0
  20. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +156 -0
  21. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +2 -0
  22. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +18 -0
  23. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +2 -0
  24. package/dist/components/data/AdvancedRequestDataGrid/index.js +215 -0
  25. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +21 -0
  26. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +1 -2
  27. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +3 -5
  28. package/dist/components/data/DataGrid/DataGridCell.d.ts +1 -1
  29. package/dist/components/data/DataGrid/DataGridCell.js +6 -6
  30. package/dist/components/data/DataGrid/DataGridEditableCell.js +2 -7
  31. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +10 -8
  32. package/dist/components/data/DataGrid/DataGridFooter.js +4 -14
  33. package/dist/components/data/DataGrid/DataGridHeader.js +60 -12
  34. package/dist/components/data/DataGrid/DataGridHeaderCell.js +6 -5
  35. package/dist/components/data/DataGrid/FilterModalContent/index.d.ts +5 -5
  36. package/dist/components/data/DataGrid/FilterModalContent/index.js +11 -9
  37. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +8 -7
  38. package/dist/components/data/DataGrid/FilterValuesScroller.js +5 -6
  39. package/dist/components/data/DataGrid/VirtualScroller.js +1 -6
  40. package/dist/components/data/DataGrid/helpers/columns.d.ts +12 -13
  41. package/dist/components/data/DataGrid/helpers/columns.js +17 -71
  42. package/dist/components/data/DataGrid/helpers/filters.d.ts +8 -7
  43. package/dist/components/data/DataGrid/helpers/filters.js +26 -21
  44. package/dist/components/data/DataGrid/helpers/index.d.ts +1 -2
  45. package/dist/components/data/DataGrid/helpers/index.js +1 -2
  46. package/dist/components/data/DataGrid/hooks/index.d.ts +2 -2
  47. package/dist/components/data/DataGrid/hooks/index.js +4 -4
  48. package/dist/components/data/DataGrid/hooks/useDataGrid.js +27 -5
  49. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +0 -1
  50. package/dist/components/data/DataGrid/hooks/useDataGridSettings.js +0 -1
  51. package/dist/components/data/DataGrid/index.js +27 -20
  52. package/dist/components/data/DataGrid/styles.d.ts +7 -2
  53. package/dist/components/data/DataGrid/styles.js +13 -10
  54. package/dist/components/data/DataGrid/types.d.ts +47 -54
  55. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +16 -0
  56. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +112 -0
  57. package/dist/components/data/SqlRequestDataGrid/helpers/index.d.ts +2 -0
  58. package/dist/components/data/SqlRequestDataGrid/helpers/index.js +18 -0
  59. package/dist/components/data/SqlRequestDataGrid/helpers/sqlRequests.d.ts +3 -0
  60. package/dist/components/data/SqlRequestDataGrid/helpers/sqlRequests.js +18 -0
  61. package/dist/components/data/SqlRequestDataGrid/index.d.ts +2 -0
  62. package/dist/components/data/SqlRequestDataGrid/index.js +224 -0
  63. package/dist/components/data/SqlRequestDataGrid/types.d.ts +21 -0
  64. package/dist/components/data/SqlRequestDataGrid/types.js +2 -0
  65. package/dist/components/data/index.d.ts +7 -2
  66. package/dist/components/data/index.js +7 -2
  67. package/dist/components/forms/IconButton.js +1 -1
  68. package/dist/components/forms/IndeterminateCheckbox.js +1 -1
  69. package/dist/components/layout/Modal/index.js +1 -1
  70. package/dist/helpers/dates.d.ts +2 -0
  71. package/dist/helpers/dates.js +13 -0
  72. package/dist/providers/PortalsProvider/index.d.ts +1 -1
  73. package/dist/providers/PortalsProvider/index.js +1 -1
  74. package/dist/services/HttpService.d.ts +10 -0
  75. package/dist/services/HttpService.js +117 -0
  76. package/dist/services/advancedRequests.d.ts +3 -3
  77. package/dist/services/advancedRequests.js +2 -2
  78. package/dist/services/hooks.d.ts +2 -1
  79. package/dist/services/hooks.js +10 -3
  80. package/dist/services/sqlRequests.d.ts +40 -0
  81. package/dist/services/sqlRequests.js +10 -0
  82. package/package.json +1 -1
  83. package/src/Icons.tsx +80 -80
  84. package/src/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.ts +93 -93
  85. package/src/components/data/AdvancedRequestDataGrid/helpers/columns.tsx +262 -262
  86. package/src/components/data/AdvancedRequestDataGrid/helpers/index.ts +2 -2
  87. package/src/components/data/AdvancedRequestDataGrid/index.tsx +269 -269
  88. package/src/components/data/AdvancedRequestDataGrid/types.ts +47 -47
  89. package/src/components/data/DataGrid/DataGridCell.tsx +73 -75
  90. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +14 -14
  91. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +58 -58
  92. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +181 -181
  93. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  94. package/src/components/data/DataGrid/DataGridEditableCell.tsx +43 -54
  95. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +75 -75
  96. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +200 -190
  97. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +100 -100
  98. package/src/components/data/DataGrid/DataGridFooter.tsx +44 -64
  99. package/src/components/data/DataGrid/DataGridHeader.tsx +126 -128
  100. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +167 -166
  101. package/src/components/data/DataGrid/FilterModalContent/index.tsx +124 -125
  102. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  103. package/src/components/data/DataGrid/FilterValuesScroller.tsx +133 -131
  104. package/src/components/data/DataGrid/VirtualScroller.tsx +46 -46
  105. package/src/components/data/DataGrid/helpers/columns.tsx +196 -199
  106. package/src/components/data/DataGrid/helpers/filters.ts +220 -207
  107. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  108. package/src/components/data/DataGrid/hooks/index.ts +30 -30
  109. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +264 -261
  110. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +165 -166
  111. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -49
  112. package/src/components/data/DataGrid/index.tsx +132 -133
  113. package/src/components/data/DataGrid/styles.ts +326 -299
  114. package/src/components/data/DataGrid/types.ts +241 -233
  115. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +224 -206
  116. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  117. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  118. package/src/components/data/SqlRequestDataGrid/index.tsx +252 -221
  119. package/src/components/data/SqlRequestDataGrid/types.ts +47 -46
  120. package/src/components/data/index.ts +8 -6
  121. package/src/components/forms/Button.tsx +99 -99
  122. package/src/components/forms/IconButton.tsx +56 -56
  123. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  124. package/src/components/forms/Select.tsx +40 -40
  125. package/src/components/forms/index.ts +5 -5
  126. package/src/components/forms/styles.ts +20 -20
  127. package/src/components/index.ts +3 -3
  128. package/src/components/layout/Dropdown/index.tsx +79 -79
  129. package/src/components/layout/Dropdown/styles.ts +44 -44
  130. package/src/components/layout/Loading/index.tsx +29 -29
  131. package/src/components/layout/Loading/styles.ts +29 -29
  132. package/src/components/layout/Modal/index.tsx +51 -51
  133. package/src/components/layout/Modal/styles.ts +110 -110
  134. package/src/components/layout/index.ts +3 -3
  135. package/src/config/index.ts +14 -14
  136. package/src/helpers/dates.ts +9 -0
  137. package/src/helpers/getScrollbarSize.ts +14 -14
  138. package/src/helpers/numbers.ts +20 -20
  139. package/src/hooks/index.ts +2 -2
  140. package/src/hooks/useElementSize.ts +24 -24
  141. package/src/hooks/useWindowSize.ts +20 -20
  142. package/src/index.ts +7 -7
  143. package/src/providers/PortalsProvider/index.tsx +54 -54
  144. package/src/providers/PortalsProvider/styles.ts +27 -27
  145. package/src/providers/SettingsProvider/index.tsx +70 -70
  146. package/src/providers/ThemeProvider/ThemeProvider.ts +55 -55
  147. package/src/providers/ThemeProvider/defaultTheme.ts +444 -444
  148. package/src/providers/ThemeProvider/index.ts +3 -3
  149. package/src/providers/ThemeProvider/types.ts +123 -123
  150. package/src/providers/UiProviders/index.tsx +65 -65
  151. package/src/providers/UiProviders/styles.ts +10 -10
  152. package/src/providers/hooks.ts +8 -8
  153. package/src/providers/index.ts +5 -5
  154. package/src/services/HttpService.ts +80 -80
  155. package/src/services/WebSocketService.ts +147 -147
  156. package/src/services/advancedRequests.ts +101 -101
  157. package/src/services/base.ts +31 -31
  158. package/src/services/hooks.ts +23 -23
  159. package/src/services/index.ts +2 -2
  160. package/src/services/sqlRequests.ts +99 -98
  161. package/src/styles/animations.scss +30 -30
  162. package/src/styles/index.scss +42 -42
  163. package/src/typings.d.ts +6 -6
  164. package/tsconfig.tsbuildinfo +1 -1
  165. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  166. package/dist/components/data/DataGrid/helpers.js +0 -436
  167. package/dist/config/types.d.ts +0 -11
  168. /package/dist/{config → components/data/AdvancedRequestDataGrid}/types.js +0 -0
@@ -1,206 +1,224 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
- import { SqlRequestDataGridColumn, SqlRequestDataGridColumns } from '../types';
4
- import {
5
- formatMoney,
6
- formatNumber,
7
- formatPercentage,
8
- } from '../../../../helpers/numbers';
9
- import { numberFilter, textFilter } from '../../DataGrid/helpers';
10
-
11
- import moment from 'moment';
12
-
13
- export const sqlTextColumn = <R extends Record<string, any>>(
14
- key: string,
15
- title: string,
16
- options?: Partial<SqlRequestDataGridColumn<R>>
17
- ): SqlRequestDataGridColumns<R> => ({
18
- [key]: {
19
- name: title,
20
- render: (row) => row[key] ?? '',
21
- getter: (row) => row[key] ?? '',
22
- sortGetter: (row) => row[key] ?? '',
23
- filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
24
- ...options,
25
- },
26
- });
27
-
28
- /**
29
- * Creates a column with a composed value from multiple fields,
30
- * and filtered by a text filter on the first field
31
- */
32
- export const sqlComposedColumn = <R extends Record<string, any>>(
33
- key: string,
34
- title: string,
35
- fields: string[],
36
- options?: Partial<SqlRequestDataGridColumn<R>>
37
- ): SqlRequestDataGridColumns<R> => ({
38
- [key]: {
39
- field: {
40
- fieldAlias: key,
41
- operator: 'jsonObject',
42
- operands: fields.flatMap((field) => [
43
- { constantValue: field },
44
- { fieldName: field },
45
- ]),
46
- },
47
- name: title,
48
- render: (row) => row[key] ?? '',
49
- getter: (row) => row[key] ?? '',
50
- sortGetter: (row) => row[key] ?? '',
51
- filter: {
52
- ...textFilter(fields[0]),
53
- getter: (value) => value[fields[0]] ?? 0,
54
- },
55
- filterField: fields[0],
56
- sortField: fields[0],
57
- ...options,
58
- },
59
- });
60
-
61
- export const sqlMailColumn = <R extends Record<string, any>>(
62
- key: string,
63
- title: string,
64
- options?: Partial<SqlRequestDataGridColumn<R>>
65
- ): SqlRequestDataGridColumns<R> => ({
66
- [key]: {
67
- name: title,
68
- render: (row) => <a href={`mailto:${row[key]}`}>{row[key] ?? ''}</a>,
69
- getter: (row) => row[key] ?? '',
70
- sortGetter: (row) => row[key] ?? '',
71
- filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
72
- ...options,
73
- },
74
- });
75
-
76
- export const sqlPhoneColumn = <R extends Record<string, any>>(
77
- key: string,
78
- title: string,
79
- options?: Partial<SqlRequestDataGridColumn<R>>
80
- ): SqlRequestDataGridColumns<R> => ({
81
- [key]: {
82
- name: title,
83
- render: (row) => <a href={`tel:${row[key]}`}>{row[key] ?? ''}</a>,
84
- getter: (row) => row[key] ?? '',
85
- sortGetter: (row) => row[key] ?? '',
86
- filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
87
- ...options,
88
- },
89
- });
90
-
91
- export const sqlDateColumn = <R extends Record<string, any>>(
92
- key: string,
93
- title: string,
94
- options?: Partial<SqlRequestDataGridColumn<R>>
95
- ): SqlRequestDataGridColumns<R> => ({
96
- [key]: {
97
- name: title,
98
- render: (row) => moment(row[key]).format('DD/MM/YYYY') ?? '',
99
- getter: (row) => row[key] ?? '',
100
- sortGetter: (row) => row[key] ?? '',
101
- filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
102
- ...options,
103
- },
104
- });
105
-
106
- export const sqlMonthColumn = <R extends Record<string, any>>(
107
- key: string,
108
- title: string,
109
- options?: Partial<SqlRequestDataGridColumn<R>>
110
- ): SqlRequestDataGridColumns<R> => ({
111
- [key]: {
112
- name: title,
113
- render: (row) => (row[key] ? `${row[key]} mois ` : ''),
114
- getter: (row) => row[key] ?? '',
115
- sortGetter: (row) => row[key] ?? '',
116
- filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
117
- ...options,
118
- },
119
- });
120
-
121
- export const sqlNumberColumn = <R extends Record<string, any>>(
122
- key: string,
123
- title: string,
124
- decimals = 2,
125
- options?: Partial<SqlRequestDataGridColumn<R>>
126
- ): SqlRequestDataGridColumns<R> => ({
127
- [key]: {
128
- name: title,
129
- render: (row) => formatNumber(row[key], decimals) ?? '',
130
- excelFormatter: () => '#',
131
- getter: (row) => row[key] ?? '',
132
- sortGetter: (row) => row[key] ?? '',
133
- filter: { ...numberFilter(key), getter: (value) => value[key] ?? 0 },
134
- ...options,
135
- },
136
- });
137
-
138
- export const sqlMoneyColumn = <R extends Record<string, any>>(
139
- key: string,
140
- title: string,
141
- decimals = 2,
142
- options?: Partial<SqlRequestDataGridColumn<R>>
143
- ): SqlRequestDataGridColumns<R> => ({
144
- [key]: {
145
- name: title,
146
- render: (row) => formatMoney(row[key], decimals) ?? '',
147
- excelFormatter: () => '#0.00',
148
- getter: (row) => row[key] ?? '',
149
- sortGetter: (row) => row[key] ?? '',
150
- filter: { ...numberFilter(key), getter: (value) => value[key] ?? 0 },
151
- ...options,
152
- },
153
- });
154
-
155
- export const sqlPercentageColumn = <R extends Record<string, any>>(
156
- key: string,
157
- title: string,
158
- options?: Partial<SqlRequestDataGridColumn<R>>
159
- ): SqlRequestDataGridColumns<R> => ({
160
- [key]: {
161
- name: title,
162
- render: (row) => formatPercentage(row[key]) ?? '',
163
- excelFormatter: () => '#0.00',
164
- getter: (row) => row[key] ?? '',
165
- sortGetter: (row) => row[key] ?? '',
166
- filter: { ...numberFilter(key), getter: (value) => value[key] ?? 0 },
167
- ...options,
168
- },
169
- });
170
-
171
- export const sqlCheckboxColumn = <R extends Record<string, any>>(
172
- key: string,
173
- title: string,
174
- options?: Partial<SqlRequestDataGridColumn<R>>
175
- ): SqlRequestDataGridColumns<R> => ({
176
- [key]: {
177
- name: title,
178
- render: (row) => (
179
- <>
180
- <input type="checkbox" checked={row[key]} />
181
- <span>{row[key] ? ' Oui' : ' Non'}</span>
182
- </>
183
- ),
184
- getter: (row) => row[key] ?? '',
185
- sortGetter: (row) => row[key] ?? '',
186
- filter: { ...numberFilter(key), getter: (value) => value[key] ?? 0 },
187
- ...options,
188
- },
189
- });
190
-
191
- export const sqlColorColumn = <R extends Record<string, any>>(
192
- key: string,
193
- title: string,
194
- options?: Partial<SqlRequestDataGridColumn<R>>
195
- ): SqlRequestDataGridColumns<R> => ({
196
- [key]: {
197
- name: title,
198
- render: (row) => (
199
- <div style={{ backgroundColor: row[key] }}>{row[key] ?? ''}</div>
200
- ),
201
- getter: (row) => row[key] ?? '',
202
- sortGetter: (row) => row[key] ?? '',
203
- filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
204
- ...options,
205
- },
206
- });
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+
3
+ import { SqlRequestDataGridColumn, SqlRequestDataGridColumns } from '../types';
4
+ import {
5
+ formatMoney,
6
+ formatNumber,
7
+ formatPercentage,
8
+ } from '../../../../helpers/numbers';
9
+ import { numberFilter, textFilter } from '../../DataGrid/helpers';
10
+
11
+ import { formatDate } from '../../../../helpers/dates';
12
+
13
+ export const sqlTextColumn = <R extends Record<string, any>>(
14
+ key: string,
15
+ title: string,
16
+ options?: Partial<SqlRequestDataGridColumn<R>>
17
+ ): SqlRequestDataGridColumns<R> => ({
18
+ [key]: {
19
+ name: title,
20
+ render: (row) => row[key] ?? '',
21
+ getter: (row) => row[key] ?? '',
22
+ sortGetter: (row) => row[key] ?? '',
23
+ filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
24
+ ...options,
25
+ },
26
+ });
27
+
28
+ /**
29
+ * Creates a column with a composed value from multiple fields,
30
+ * and filtered by a text filter on the first field
31
+ */
32
+ export const sqlComposedColumn = <R extends Record<string, any>>(
33
+ key: string,
34
+ title: string,
35
+ fields: string[],
36
+ options?: Partial<SqlRequestDataGridColumn<R>>
37
+ ): SqlRequestDataGridColumns<R> => ({
38
+ [key]: {
39
+ field: {
40
+ fieldAlias: key,
41
+ operator: 'jsonObject',
42
+ operands: fields.flatMap((field) => [
43
+ { constantValue: field },
44
+ { fieldName: field },
45
+ ]),
46
+ },
47
+ name: title,
48
+ render: (row) => row[key] ?? '',
49
+ getter: (row) => row[key] ?? '',
50
+ sortGetter: (row) => row[key] ?? '',
51
+ filter: {
52
+ ...textFilter(fields[0]),
53
+ getter: (value) => value[fields[0]] ?? 0,
54
+ },
55
+ filterField: fields[0],
56
+ sortField: fields[0],
57
+ ...options,
58
+ },
59
+ });
60
+
61
+ export const sqlMailColumn = <R extends Record<string, any>>(
62
+ key: string,
63
+ title: string,
64
+ options?: Partial<SqlRequestDataGridColumn<R>>
65
+ ): SqlRequestDataGridColumns<R> => ({
66
+ [key]: {
67
+ name: title,
68
+ render: (row) => <a href={`mailto:${row[key]}`}>{row[key] ?? ''}</a>,
69
+ getter: (row) => row[key] ?? '',
70
+ sortGetter: (row) => row[key] ?? '',
71
+ filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
72
+ ...options,
73
+ },
74
+ });
75
+
76
+ export const sqlPhoneColumn = <R extends Record<string, any>>(
77
+ key: string,
78
+ title: string,
79
+ options?: Partial<SqlRequestDataGridColumn<R>>
80
+ ): SqlRequestDataGridColumns<R> => ({
81
+ [key]: {
82
+ name: title,
83
+ render: (row) => <a href={`tel:${row[key]}`}>{row[key] ?? ''}</a>,
84
+ getter: (row) => row[key] ?? '',
85
+ sortGetter: (row) => row[key] ?? '',
86
+ filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
87
+ ...options,
88
+ },
89
+ });
90
+
91
+ export const sqlDateColumn = <R extends Record<string, any>>(
92
+ key: string,
93
+ title: string,
94
+ options?: Partial<SqlRequestDataGridColumn<R>>
95
+ ): SqlRequestDataGridColumns<R> => ({
96
+ [key]: {
97
+ name: title,
98
+ render: (row) => formatDate(row[key]),
99
+ getter: (row) => row[key] ?? '',
100
+ sortGetter: (row) => row[key] ?? '',
101
+ filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
102
+ ...options,
103
+ },
104
+ });
105
+
106
+ export const sqlMonthColumn = <R extends Record<string, any>>(
107
+ key: string,
108
+ title: string,
109
+ options?: Partial<SqlRequestDataGridColumn<R>>
110
+ ): SqlRequestDataGridColumns<R> => ({
111
+ [key]: {
112
+ name: title,
113
+ render: (row) => (row[key] ? `${row[key]} mois ` : ''),
114
+ getter: (row) => row[key] ?? '',
115
+ sortGetter: (row) => row[key] ?? '',
116
+ filter: { ...textFilter(key), getter: (value) => value[key] ?? '' },
117
+ ...options,
118
+ },
119
+ });
120
+
121
+ export const sqlNumberColumn = <R extends Record<string, any>>(
122
+ key: string,
123
+ title: string,
124
+ decimals = 2,
125
+ options?: Partial<SqlRequestDataGridColumn<R>>
126
+ ): SqlRequestDataGridColumns<R> => ({
127
+ [key]: {
128
+ name: title,
129
+ render: (row) => formatNumber(row[key], decimals) ?? '',
130
+ excelFormatter: () => '#',
131
+ getter: (row) => row[key] ?? '',
132
+ sortGetter: (row) => row[key] ?? '',
133
+ filter: { ...numberFilter(key), getter: (value) => value[key] ?? 0 },
134
+ ...options,
135
+ },
136
+ });
137
+
138
+ export const sqlMoneyColumn = <R extends Record<string, any>>(
139
+ key: string,
140
+ title: string,
141
+ decimals = 2,
142
+ options?: Partial<SqlRequestDataGridColumn<R>>
143
+ ): SqlRequestDataGridColumns<R> => ({
144
+ [key]: {
145
+ name: title,
146
+ render: (row) => formatMoney(row[key], decimals) ?? '',
147
+ excelFormatter: () => '#0.00',
148
+ getter: (row) => row[key] ?? '',
149
+ sortGetter: (row) => row[key] ?? '',
150
+ filter: { ...numberFilter(key), getter: (value) => value[key] ?? 0 },
151
+ ...options,
152
+ },
153
+ });
154
+
155
+ export const sqlPercentageColumn = <R extends Record<string, any>>(
156
+ key: string,
157
+ title: string,
158
+ options?: Partial<SqlRequestDataGridColumn<R>>
159
+ ): SqlRequestDataGridColumns<R> => ({
160
+ [key]: {
161
+ name: title,
162
+ render: (row) => formatPercentage(row[key]) ?? '',
163
+ excelFormatter: () => '#0.00',
164
+ getter: (row) => row[key] ?? '',
165
+ sortGetter: (row) => row[key] ?? '',
166
+ filter: { ...numberFilter(key), getter: (value) => value[key] ?? 0 },
167
+ ...options,
168
+ },
169
+ });
170
+
171
+ export const sqlCheckboxColumn = <R extends Record<string, any>>(
172
+ key: string,
173
+ title: string,
174
+ options?: Partial<SqlRequestDataGridColumn<R>>
175
+ ): SqlRequestDataGridColumns<R> => ({
176
+ [key]: {
177
+ name: title,
178
+ render: (row) => (
179
+ <>
180
+ <input type="checkbox" checked={row[key]} />
181
+ <span>{row[key] ? ' Oui' : ' Non'}</span>
182
+ </>
183
+ ),
184
+ getter: (row) => row[key] ?? '',
185
+ sortGetter: (row) => row[key] ?? '',
186
+ filter: { ...numberFilter(key), getter: (value) => value[key] ?? 0 },
187
+ ...options,
188
+ },
189
+ });
190
+
191
+ export const sqlColorColumn = <R extends Record<string, any>>(
192
+ key: string,
193
+ title: string,
194
+ options?: Partial<SqlRequestDataGridColumn<R>>
195
+ ): SqlRequestDataGridColumns<R> => ({
196
+ [key]: {
197
+ name: title,
198
+ render: (row) => (
199
+ <div
200
+ style={{ position: 'absolute', inset: 0, backgroundColor: row[key] }}
201
+ >
202
+ &nbsp;
203
+ </div>
204
+ ),
205
+ getter: (row) => row[key] ?? '',
206
+ sortGetter: (row) => row[key] ?? '',
207
+ filter: {
208
+ ...textFilter(key),
209
+ getter: (value) => value[key] ?? '',
210
+ renderer: (value) => (
211
+ <div
212
+ style={{
213
+ backgroundColor: value,
214
+ width: 'var(--space-16)',
215
+ height: '1em',
216
+ }}
217
+ >
218
+ &nbsp;
219
+ </div>
220
+ ),
221
+ },
222
+ ...options,
223
+ },
224
+ });
@@ -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,
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,
13
+ value: ['inArray', 'inRange'].includes(filter.operator)
14
+ ? filter.values
15
+ : _.castArray<string | number | null>(filter.values)[0],
16
+ }));