@addev-be/ui 2.4.0 → 2.4.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 (250) 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/data/DataGrid/hooks/useDataGrid.js +3 -0
  25. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +1 -2
  26. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +3 -2
  27. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +3 -1
  28. package/dist/services/index.js +7 -17
  29. package/eslint.config.js +3 -3
  30. package/package.json +2 -2
  31. package/src/Icons.tsx +138 -138
  32. package/src/components/auth/LoginForm.tsx +86 -86
  33. package/src/components/auth/LoginPage.tsx +32 -32
  34. package/src/components/auth/PasswordRecoveryForm.tsx +53 -53
  35. package/src/components/auth/PasswordResetForm.tsx +112 -112
  36. package/src/components/auth/styles.ts +14 -14
  37. package/src/components/data/DataGrid/DataGridCell.tsx +81 -81
  38. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  39. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  40. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  41. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  42. package/src/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +37 -37
  43. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +38 -38
  44. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +71 -71
  45. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +37 -37
  46. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +106 -106
  47. package/src/components/data/DataGrid/DataGridEditableCell/styles.ts +35 -35
  48. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +18 -18
  49. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +129 -129
  50. package/src/components/data/DataGrid/DataGridFilterMenu/helpers.ts +23 -23
  51. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  52. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +370 -370
  53. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  54. package/src/components/data/DataGrid/DataGridFooter.tsx +45 -45
  55. package/src/components/data/DataGrid/DataGridHeader.tsx +74 -74
  56. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +112 -112
  57. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +83 -83
  58. package/src/components/data/DataGrid/DataGridToolbar.tsx +134 -134
  59. package/src/components/data/DataGrid/FilterModalContent/index.tsx +137 -137
  60. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  61. package/src/components/data/DataGrid/constants.ts +6 -6
  62. package/src/components/data/DataGrid/helpers/columns.tsx +452 -452
  63. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  64. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  65. package/src/components/data/DataGrid/hooks/index.ts +29 -29
  66. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +383 -380
  67. package/src/components/data/DataGrid/hooks/useDataGridChangedRows.ts +97 -97
  68. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +174 -174
  69. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  70. package/src/components/data/DataGrid/hooks/useRefreshModal.tsx +48 -48
  71. package/src/components/data/DataGrid/index.tsx +111 -111
  72. package/src/components/data/DataGrid/styles.ts +430 -430
  73. package/src/components/data/DataGrid/types.ts +380 -380
  74. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +526 -524
  75. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  76. package/src/components/data/SqlRequestDataGrid/helpers/rows.ts +24 -24
  77. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  78. package/src/components/data/SqlRequestDataGrid/index.tsx +417 -417
  79. package/src/components/data/SqlRequestDataGrid/styles.ts +15 -15
  80. package/src/components/data/SqlRequestDataGrid/types.ts +74 -74
  81. package/src/components/data/SqlRequestForeignList/index.tsx +254 -254
  82. package/src/components/data/SqlRequestForeignList/styles.ts +43 -43
  83. package/src/components/data/SqlRequestForeignList/types.ts +32 -32
  84. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +108 -108
  85. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  86. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  87. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  88. package/src/components/data/SqlRequestGrid/index.tsx +304 -304
  89. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  90. package/src/components/data/SqlRequestGrid/types.ts +73 -73
  91. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  92. package/src/components/data/VirtualScroller/index.tsx +89 -89
  93. package/src/components/data/VirtualScroller/styles.ts +57 -57
  94. package/src/components/data/VirtualScroller/types.ts +10 -10
  95. package/src/components/forms/AutoTextArea.tsx +48 -48
  96. package/src/components/forms/Button.tsx +132 -132
  97. package/src/components/forms/Form/Checkbox.tsx +12 -12
  98. package/src/components/forms/Form/CustomSelect.tsx +86 -86
  99. package/src/components/forms/Form/FormGroup.tsx +31 -31
  100. package/src/components/forms/Form/Input.tsx +16 -16
  101. package/src/components/forms/Form/Row.tsx +32 -32
  102. package/src/components/forms/Form/Select.tsx +82 -82
  103. package/src/components/forms/Form/TextArea.tsx +17 -17
  104. package/src/components/forms/Form/index.tsx +48 -48
  105. package/src/components/forms/Form/styles.ts +184 -184
  106. package/src/components/forms/IconButton.tsx +61 -61
  107. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  108. package/src/components/forms/NumberInput.tsx +53 -53
  109. package/src/components/forms/Select.tsx +34 -34
  110. package/src/components/forms/VerticalLabel.tsx +20 -20
  111. package/src/components/forms/styles.ts +42 -42
  112. package/src/components/layout/Columns.ts +28 -28
  113. package/src/components/layout/Dropdown/index.tsx +113 -113
  114. package/src/components/layout/Dropdown/styles.ts +53 -53
  115. package/src/components/layout/Flexbox.ts +21 -21
  116. package/src/components/layout/Grid/index.tsx +8 -8
  117. package/src/components/layout/Grid/styles.ts +34 -34
  118. package/src/components/layout/Loading/index.tsx +29 -29
  119. package/src/components/layout/Loading/styles.ts +29 -29
  120. package/src/components/layout/Masonry/index.tsx +29 -29
  121. package/src/components/layout/Masonry/styles.ts +20 -20
  122. package/src/components/layout/Modal/index.tsx +51 -51
  123. package/src/components/layout/Modal/styles.ts +125 -125
  124. package/src/components/search/HighlightedText.tsx +41 -41
  125. package/src/components/search/QuickSearchBar.tsx +99 -99
  126. package/src/components/search/QuickSearchResults.tsx +86 -86
  127. package/src/components/search/styles.ts +96 -96
  128. package/src/components/search/types.ts +29 -29
  129. package/src/components/ui/Avatar/index.tsx +54 -54
  130. package/src/components/ui/Avatar/styles.ts +61 -61
  131. package/src/components/ui/Card/index.tsx +14 -14
  132. package/src/components/ui/Card/styles.ts +37 -37
  133. package/src/components/ui/ContextMenu/index.tsx +79 -79
  134. package/src/components/ui/ContextMenu/styles.ts +119 -119
  135. package/src/components/ui/Ellipsis.tsx +33 -33
  136. package/src/components/ui/Label.tsx +93 -93
  137. package/src/components/ui/Message/index.tsx +57 -57
  138. package/src/components/ui/Message/styles.ts +44 -44
  139. package/src/components/ui/TabsView/TabsList.tsx +44 -44
  140. package/src/components/ui/TabsView/TabsView.tsx +38 -38
  141. package/src/components/ui/TabsView/index.ts +3 -3
  142. package/src/components/ui/TabsView/styles.ts +76 -76
  143. package/src/components/ui/TabsView/types.ts +15 -15
  144. package/src/config/index.ts +10 -10
  145. package/src/helpers/components.ts +9 -9
  146. package/src/helpers/dates.ts +17 -17
  147. package/src/helpers/getScrollbarSize.ts +14 -14
  148. package/src/helpers/numbers.ts +63 -63
  149. package/src/helpers/responsive.ts +83 -83
  150. package/src/helpers/styled/space.ts +114 -114
  151. package/src/helpers/styled/typography.ts +25 -25
  152. package/src/helpers/text.ts +13 -13
  153. package/src/helpers/types.ts +9 -9
  154. package/src/hooks/useContainerMediaQuery.ts +7 -7
  155. package/src/hooks/useElementSize.ts +24 -24
  156. package/src/hooks/useMediaQuery.ts +9 -9
  157. package/src/hooks/useMediaQueryForWidth.ts +35 -35
  158. package/src/hooks/useMutableState.ts +25 -25
  159. package/src/hooks/useShowArchived.ts +28 -28
  160. package/src/hooks/useWindowSize.ts +20 -20
  161. package/src/index.ts +102 -102
  162. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  163. package/src/providers/AuthenticationProvider/index.tsx +303 -303
  164. package/src/providers/LoadingProvider/index.tsx +47 -47
  165. package/src/providers/PortalsProvider/index.tsx +54 -54
  166. package/src/providers/PortalsProvider/styles.ts +31 -31
  167. package/src/providers/SettingsProvider/index.tsx +70 -70
  168. package/src/providers/ThemeProvider/defaultTheme.ts +470 -470
  169. package/src/providers/ThemeProvider/helpers.ts +84 -84
  170. package/src/providers/ThemeProvider/index.ts +66 -66
  171. package/src/providers/ThemeProvider/types.ts +134 -134
  172. package/src/providers/ToastProvider/index.tsx +93 -93
  173. package/src/providers/TrackingProvider/hooks.ts +14 -14
  174. package/src/providers/TrackingProvider/index.tsx +71 -71
  175. package/src/providers/UiProviders/index.tsx +76 -76
  176. package/src/providers/UiProviders/styles.ts +10 -10
  177. package/src/providers/hooks.ts +14 -14
  178. package/src/services/HttpService.ts +92 -92
  179. package/src/services/WebSocketService.ts +155 -155
  180. package/src/services/advancedRequests.ts +102 -102
  181. package/src/services/base.ts +23 -23
  182. package/src/services/globalSearch.ts +32 -32
  183. package/src/services/hooks.ts +92 -92
  184. package/src/services/requests/auth.ts +44 -44
  185. package/src/services/requests/generic.ts +62 -62
  186. package/src/services/requests/tracking.ts +12 -12
  187. package/src/services/requests/userProfiles.ts +35 -35
  188. package/src/services/requests/users.ts +28 -28
  189. package/src/services/smartQueries.ts +122 -122
  190. package/src/services/sqlRequests.ts +111 -111
  191. package/src/services/types/auth.ts +98 -98
  192. package/src/services/types/base.ts +10 -10
  193. package/src/services/types/generic.ts +82 -82
  194. package/src/services/types/tracking.ts +29 -29
  195. package/src/services/types/userProfiles.ts +79 -79
  196. package/src/services/types/users.ts +74 -74
  197. package/src/services/updateSqlRequests.ts +32 -32
  198. package/src/styles/animations.scss +30 -30
  199. package/src/styles/index.scss +42 -42
  200. package/src/types.ts +8 -8
  201. package/src/typings.d.ts +2 -2
  202. package/tsconfig.json +18 -18
  203. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +0 -14
  204. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +0 -77
  205. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +0 -22
  206. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +0 -105
  207. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +0 -2
  208. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +0 -18
  209. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +0 -2
  210. package/dist/components/data/AdvancedRequestDataGrid/index.js +0 -215
  211. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +0 -21
  212. package/dist/components/data/AdvancedRequestDataGrid/types.js +0 -2
  213. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +0 -10
  214. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +0 -173
  215. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +0 -2
  216. package/dist/components/data/DataGrid/DataGridEditableCell.js +0 -27
  217. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +0 -13
  218. package/dist/components/data/DataGrid/FilterValuesScroller.js +0 -73
  219. package/dist/components/data/DataGrid/VirtualScroller.d.ts +0 -11
  220. package/dist/components/data/DataGrid/VirtualScroller.js +0 -41
  221. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +0 -12
  222. package/dist/components/data/DataGrid/helpers/advancedRequests.js +0 -53
  223. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  224. package/dist/components/data/DataGrid/helpers.js +0 -436
  225. package/dist/components/data/SmartQueryDataGrid/helpers/columns.d.ts +0 -20
  226. package/dist/components/data/SmartQueryDataGrid/helpers/columns.js +0 -160
  227. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.d.ts +0 -5
  228. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.js +0 -41
  229. package/dist/components/data/SmartQueryDataGrid/helpers/index.d.ts +0 -2
  230. package/dist/components/data/SmartQueryDataGrid/helpers/index.js +0 -18
  231. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.d.ts +0 -3
  232. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.js +0 -15
  233. package/dist/components/data/SmartQueryDataGrid/hooks.d.ts +0 -9
  234. package/dist/components/data/SmartQueryDataGrid/hooks.js +0 -63
  235. package/dist/components/data/SmartQueryDataGrid/index.d.ts +0 -12
  236. package/dist/components/data/SmartQueryDataGrid/index.js +0 -242
  237. package/dist/components/data/SmartQueryDataGrid/types.d.ts +0 -22
  238. package/dist/components/data/SmartQueryDataGrid/types.js +0 -2
  239. package/dist/components/forms/Form/InputWithLabel.d.ts +0 -2
  240. package/dist/components/forms/Form/InputWithLabel.js +0 -10
  241. package/dist/components/forms/Form/types.d.ts +0 -7
  242. package/dist/components/forms/Form/types.js +0 -2
  243. package/dist/config/types.d.ts +0 -11
  244. package/dist/config/types.js +0 -2
  245. package/dist/helpers/react.d.ts +0 -2
  246. package/dist/helpers/react.js +0 -8
  247. package/dist/helpers/styled/index.d.ts +0 -1
  248. package/dist/helpers/styled/index.js +0 -17
  249. package/dist/services/requests/userPermissions.d.ts +0 -4
  250. package/dist/services/requests/userPermissions.js +0 -20
@@ -1,20 +0,0 @@
1
- import { ColumnDTO, ConditionDTO } from '../../../../services/smartQueries';
2
- import { SmartQueryDataGridColumn, SmartQueryDataGridColumns } from '../types';
3
- export declare const smartTextColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
4
- /**
5
- * Creates a column with a composed value from multiple fields,
6
- * and filtered by a text filter on the first field
7
- */
8
- export declare const smartComposedColumn: <R extends Record<string, any>>(key: string, title: string, fields: string[], options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
9
- export declare const smartMailColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
10
- export declare const smartPhoneColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
11
- export declare const smartDateColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
12
- export declare const smartDateTimeColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
13
- export declare const smartMonthColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
14
- export declare const smartNumberColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
15
- export declare const smartMoneyColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
16
- export declare const smartPercentageColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
17
- export declare const smartCheckboxColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
18
- export declare const smartColorColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
19
- export declare const getColumnsConditions: (columns: ColumnDTO[]) => ConditionDTO[];
20
- export declare const getFooterColumn: (column: ColumnDTO) => ColumnDTO;
@@ -1,160 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.getFooterColumn = exports.getColumnsConditions = exports.smartColorColumn = exports.smartCheckboxColumn = exports.smartPercentageColumn = exports.smartMoneyColumn = exports.smartNumberColumn = exports.smartMonthColumn = exports.smartDateTimeColumn = exports.smartDateColumn = exports.smartPhoneColumn = exports.smartMailColumn = exports.smartComposedColumn = exports.smartTextColumn = void 0;
15
- var jsx_runtime_1 = require("react/jsx-runtime");
16
- var helpers_1 = require("../../DataGrid/helpers");
17
- var dates_1 = require("../../../../helpers/dates");
18
- var numbers_1 = require("../../../../helpers/numbers");
19
- var smartTextColumn = function (key, title, options) {
20
- var _a;
21
- return (_a = {},
22
- _a[key] = __assign(__assign({ name: title, render: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }) }, options), { footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }),
23
- _a);
24
- };
25
- exports.smartTextColumn = smartTextColumn;
26
- /**
27
- * Creates a column with a composed value from multiple fields,
28
- * and filtered by a text filter on the first field
29
- */
30
- var smartComposedColumn = function (key, title, fields, options) {
31
- var _a;
32
- return (_a = {},
33
- _a[key] = __assign({ field: {
34
- fieldAlias: key,
35
- operator: 'jsonObject',
36
- operands: fields.flatMap(function (field) { return [
37
- { constantValue: field },
38
- { fieldName: field },
39
- ]; }),
40
- }, name: title, render: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(fields[0])), { getter: function (value) { var _a; return (_a = value[fields[0]]) !== null && _a !== void 0 ? _a : 0; } }), filterField: fields[0], sortField: fields[0], footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
41
- _a);
42
- };
43
- exports.smartComposedColumn = smartComposedColumn;
44
- var smartMailColumn = function (key, title, options) {
45
- var _a;
46
- return (_a = {},
47
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (0, jsx_runtime_1.jsx)("a", { href: "mailto:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
48
- _a);
49
- };
50
- exports.smartMailColumn = smartMailColumn;
51
- var smartPhoneColumn = function (key, title, options) {
52
- var _a;
53
- return (_a = {},
54
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (0, jsx_runtime_1.jsx)("a", { href: "tel:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
55
- _a);
56
- };
57
- exports.smartPhoneColumn = smartPhoneColumn;
58
- var smartDateColumn = function (key, title, options) {
59
- var _a;
60
- return (_a = {},
61
- _a[key] = __assign({ name: title, type: 'date', render: function (row) { return (0, dates_1.formatDate)(row[key]); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return 'dd/mm/yyyy'; }, excelValue: function (value) { return (0, dates_1.formatDate)(value, 'YYYY-MM-DD'); }, filter: __assign(__assign({}, (0, helpers_1.dateFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; }, formatter: function (value) { return (0, dates_1.formatDate)(value); }, renderer: function (value) { return (0, dates_1.formatDate)(value); } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
62
- _a);
63
- };
64
- exports.smartDateColumn = smartDateColumn;
65
- var smartDateTimeColumn = function (key, title, options) {
66
- var _a;
67
- return (_a = {},
68
- _a[key] = __assign({ name: title, type: 'date', render: function (row) { return (0, dates_1.formatDateTime)(row[key]); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return 'dd/mm/yyyy hh:mm:ss'; }, excelValue: function (value) { return (0, dates_1.formatDateTime)(value, 'YYYY-MM-DD HH:mm:ss'); }, filter: __assign(__assign({}, (0, helpers_1.dateFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; }, formatter: function (value) { return (0, dates_1.formatDateTime)(value); }, renderer: function (value) { return (0, dates_1.formatDateTime)(value); } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
69
- _a);
70
- };
71
- exports.smartDateTimeColumn = smartDateTimeColumn;
72
- var smartMonthColumn = function (key, title, options) {
73
- var _a;
74
- return (_a = {},
75
- _a[key] = __assign({ name: title, render: function (row) { return (row[key] ? "".concat(row[key], " mois ") : ''); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
76
- _a);
77
- };
78
- exports.smartMonthColumn = smartMonthColumn;
79
- var smartNumberColumn = function (key, title, decimals, options) {
80
- var _a;
81
- if (decimals === void 0) { decimals = 2; }
82
- return (_a = {},
83
- _a[key] = __assign({ name: title, type: 'number', render: function (row) { var _a; return (_a = (0, numbers_1.formatNumber)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return (0, helpers_1.buildExcelFormat)(decimals); }, excelValue: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; }, filter: __assign(__assign({}, (0, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; }, renderer: function (value) { var _a; return (_a = (0, numbers_1.formatNumber)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }), footer: {
84
- sum: null,
85
- avg: null,
86
- count: null,
87
- max: null,
88
- min: null,
89
- } }, options),
90
- _a);
91
- };
92
- exports.smartNumberColumn = smartNumberColumn;
93
- var smartMoneyColumn = function (key, title, decimals, options) {
94
- var _a;
95
- if (decimals === void 0) { decimals = 2; }
96
- return (_a = {},
97
- _a[key] = __assign({ name: title, type: 'number', render: function (row) { var _a; return (_a = (0, numbers_1.formatMoney)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return (0, helpers_1.buildExcelFormat)(decimals, ' €'); }, excelValue: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; }, filter: __assign(__assign({}, (0, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; }, renderer: function (value) { var _a; return (_a = (0, numbers_1.formatMoney)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }), footer: {
98
- sum: null,
99
- avg: null,
100
- count: null,
101
- max: null,
102
- min: null,
103
- } }, options),
104
- _a);
105
- };
106
- exports.smartMoneyColumn = smartMoneyColumn;
107
- var smartPercentageColumn = function (key, title, decimals, options) {
108
- var _a;
109
- if (decimals === void 0) { decimals = 2; }
110
- return (_a = {},
111
- _a[key] = __assign({ name: title, type: 'number', render: function (row) { var _a; return (_a = (0, numbers_1.formatPercentage)(row[key])) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return (0, helpers_1.buildExcelFormat)(decimals, '%'); }, excelValue: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; }, filter: __assign(__assign({}, (0, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; }, renderer: function (value) { var _a; return (_a = (0, numbers_1.formatPercentage)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }) }, options),
112
- _a);
113
- };
114
- exports.smartPercentageColumn = smartPercentageColumn;
115
- var smartCheckboxColumn = function (key, title, options) {
116
- var _a;
117
- return (_a = {},
118
- _a[key] = __assign({ name: title, render: function (row) {
119
- var _a;
120
- var value = !!+((_a = row[key]) !== null && _a !== void 0 ? _a : 0);
121
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: value, readOnly: true }), (0, jsx_runtime_1.jsx)("span", { children: value ? ' Oui' : ' Non' })] }));
122
- }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return +((_a = value[key]) !== null && _a !== void 0 ? _a : 0); } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
123
- _a);
124
- };
125
- exports.smartCheckboxColumn = smartCheckboxColumn;
126
- var smartColorColumn = function (key, title, options) {
127
- var _a;
128
- return (_a = {},
129
- _a[key] = __assign({ name: title, render: function (row) { return ((0, jsx_runtime_1.jsx)("div", { style: { position: 'absolute', inset: 0, backgroundColor: row[key] }, children: "\u00A0" })); }, excelValue: function () { return ''; }, excelBackgroundColor: function (value) { return value; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; }, renderer: function (value) { return ((0, jsx_runtime_1.jsx)("div", { style: {
130
- backgroundColor: value,
131
- width: 'var(--space-16)',
132
- height: '1em',
133
- }, children: "\u00A0" })); } }) }, options),
134
- _a);
135
- };
136
- exports.smartColorColumn = smartColorColumn;
137
- var getColumnsConditions = function (columns) {
138
- return columns
139
- .filter(function (column) { return !!column.having; })
140
- .map(function (column) {
141
- var _a, _b, _c;
142
- return ({
143
- field: column.field,
144
- operator: (_b = (_a = column.having) === null || _a === void 0 ? void 0 : _a.operator) !== null && _b !== void 0 ? _b : 'equals',
145
- value: (_c = column.having) === null || _c === void 0 ? void 0 : _c.value,
146
- });
147
- });
148
- };
149
- exports.getColumnsConditions = getColumnsConditions;
150
- var getFooterColumn = function (column) {
151
- var _a;
152
- return !column.footer
153
- ? column
154
- : __assign(__assign({}, column), { field: {
155
- operator: column.footer,
156
- operands: [{ fieldName: column.field.fieldName }],
157
- fieldAlias: (_a = column.field.fieldAlias) !== null && _a !== void 0 ? _a : column.field.fieldName,
158
- }, groupBy: true });
159
- };
160
- exports.getFooterColumn = getFooterColumn;
@@ -1,5 +0,0 @@
1
- import { ColumnDTO, ConditionDTO } from '../../../../services/smartQueries';
2
- import { SmartQueryDataGridColumns } from '../types';
3
- import { SmartQueries } from '../../../../services';
4
- export declare const useSmartColumnDTOs: <R>(columns: SmartQueryDataGridColumns<R>, conditions?: Record<string, ConditionDTO>, footers?: Record<string, SmartQueries.FooterFunction>, sorts?: Record<string, SmartQueries.OrderByDirection>) => ColumnDTO[];
5
- export declare const useIdSmartColumnDTO: (smartColumns: SmartQueries.ColumnDTO[]) => ColumnDTO;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useIdSmartColumnDTO = exports.useSmartColumnDTOs = void 0;
4
- var react_1 = require("react");
5
- var useSmartColumnDTOs = function (columns, conditions, footers, sorts) {
6
- if (conditions === void 0) { conditions = {}; }
7
- if (footers === void 0) { footers = {}; }
8
- if (sorts === void 0) { sorts = {}; }
9
- return (0, react_1.useMemo)(function () {
10
- return Object.entries(columns).map(function (_a) {
11
- var _b, _c, _d, _e, _f, _g;
12
- var key = _a[0], col = _a[1];
13
- return ({
14
- key: key,
15
- field: {
16
- fieldName: (_c = (_b = col.field) === null || _b === void 0 ? void 0 : _b.fieldName) !== null && _c !== void 0 ? _c : key,
17
- fieldAlias: (_e = (_d = col.field) === null || _d === void 0 ? void 0 : _d.fieldAlias) !== null && _e !== void 0 ? _e : key,
18
- groupBy: (_g = (_f = col.field) === null || _f === void 0 ? void 0 : _f.groupBy) !== null && _g !== void 0 ? _g : false,
19
- },
20
- having: conditions[key],
21
- footer: footers[key],
22
- orderBy: sorts[key],
23
- });
24
- });
25
- }, [columns, conditions, footers, sorts]);
26
- };
27
- exports.useSmartColumnDTOs = useSmartColumnDTOs;
28
- var useIdSmartColumnDTO = function (smartColumns) {
29
- return (0, react_1.useMemo)(function () {
30
- var _a;
31
- return (_a = smartColumns.find(function (col) { return col.field.fieldName === 'id'; })) !== null && _a !== void 0 ? _a : {
32
- key: 'id',
33
- field: {
34
- fieldName: 'id',
35
- fieldAlias: 'id',
36
- groupBy: false,
37
- },
38
- };
39
- }, [smartColumns]);
40
- };
41
- exports.useIdSmartColumnDTO = useIdSmartColumnDTO;
@@ -1,2 +0,0 @@
1
- export * from './smartQueries';
2
- export * from './columns';
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./smartQueries"), exports);
18
- __exportStar(require("./columns"), exports);
@@ -1,3 +0,0 @@
1
- import { ConditionDTO } from '../../../../services/smartQueries';
2
- import { SmartQueryDataGridFilters } from '../types';
3
- export declare const convertSmartFiltersToConditions: (filters: SmartQueryDataGridFilters) => Record<string, ConditionDTO>;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.convertSmartFiltersToConditions = void 0;
5
- var lodash_1 = require("lodash");
6
- var convertSmartFiltersToConditions = function (filters) {
7
- return (0, lodash_1.mapValues)(filters, function (filter, columnKey) { return ({
8
- field: { fieldName: columnKey },
9
- operator: filter.operator,
10
- value: ['inArray', 'inRange'].includes(filter.operator)
11
- ? filter.values
12
- : (0, lodash_1.castArray)(filter.values)[0],
13
- }); });
14
- };
15
- exports.convertSmartFiltersToConditions = convertSmartFiltersToConditions;
@@ -1,9 +0,0 @@
1
- import { ColumnDTO } from '../../../services/smartQueries';
2
- import { SmartQueries } from '../../../services';
3
- export declare const useSmartQuery: (type: string, columns: ColumnDTO[]) => {
4
- query: SmartQueries.QueryDTO;
5
- havings: SmartQueries.HavingDTO[];
6
- setHaving: (columnId: string, having: SmartQueries.HavingDTO) => void;
7
- footers: ("max" | "min" | "sum" | "avg" | "count")[];
8
- setFooter: (columnId: string, footer: SmartQueries.FooterFunction) => void;
9
- };
@@ -1,63 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.useSmartQuery = void 0;
15
- var react_1 = require("react");
16
- var useSmartQuery = function (type, columns) {
17
- var _a = (0, react_1.useState)({
18
- type: type,
19
- columns: columns,
20
- }), query = _a[0], setQuery = _a[1];
21
- var havings = (0, react_1.useMemo)(function () {
22
- var _a;
23
- return ((_a = query.columns) !== null && _a !== void 0 ? _a : [])
24
- .filter(function (column) {
25
- return !!column.having;
26
- })
27
- .map(function (col) { return col.having; });
28
- }, [query.columns]);
29
- var setHaving = (0, react_1.useCallback)(function (columnId, having) {
30
- setQuery(function (currentQuery) {
31
- var _a;
32
- return (__assign(__assign({}, currentQuery), { columns: (_a = currentQuery.columns) === null || _a === void 0 ? void 0 : _a.map(function (column) {
33
- return column.key === columnId
34
- ? __assign(__assign({}, column), { having: having }) : column;
35
- }) }));
36
- });
37
- }, []);
38
- var footers = (0, react_1.useMemo)(function () {
39
- var _a;
40
- return ((_a = query.columns) !== null && _a !== void 0 ? _a : [])
41
- .filter(function (column) {
42
- return !!column.footer;
43
- })
44
- .map(function (col) { return col.footer; });
45
- }, [query.columns]);
46
- var setFooter = (0, react_1.useCallback)(function (columnId, footer) {
47
- setQuery(function (currentQuery) {
48
- var _a;
49
- return (__assign(__assign({}, currentQuery), { columns: (_a = currentQuery.columns) === null || _a === void 0 ? void 0 : _a.map(function (column) {
50
- return column.key === columnId
51
- ? __assign(__assign({}, column), { footer: footer }) : column;
52
- }) }));
53
- });
54
- }, []);
55
- return {
56
- query: query,
57
- havings: havings,
58
- setHaving: setHaving,
59
- footers: footers,
60
- setFooter: setFooter,
61
- };
62
- };
63
- exports.useSmartQuery = useSmartQuery;
@@ -1,12 +0,0 @@
1
- import { ConditionDTO, FooterFunction, RequestRow } from '../../../services/smartQueries';
2
- import { DataGridRefProps } from '../DataGrid/types';
3
- import { ForwardedRef } from 'react';
4
- import { SmartQueryDataGridProps } from './types';
5
- export declare const SmartQueryDataGridInner: <R>({ onSelectionChange: onSelectionChangeFromProps, ...props }: SmartQueryDataGridProps<R>, ref: ForwardedRef<DataGridRefProps>) => import("react/jsx-runtime").JSX.Element;
6
- export declare const SmartQueryDataGrid: <R>(props: Omit<import("../DataGrid/types").DataGridProps<R>, "rows" | "columns"> & {
7
- columns: import("./types").SmartQueryDataGridColumns<R>;
8
- type: string;
9
- conditions?: ConditionDTO[];
10
- initialFooters?: Record<string, FooterFunction>;
11
- parser?: ((row: RequestRow<R>) => R) | undefined;
12
- } & import("react").RefAttributes<DataGridRefProps>) => import("react").JSX.Element | null;
@@ -1,242 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
25
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
26
- if (ar || !(i in from)) {
27
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
28
- ar[i] = from[i];
29
- }
30
- }
31
- return to.concat(ar || Array.prototype.slice.call(from));
32
- };
33
- Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.SmartQueryDataGrid = exports.SmartQueryDataGridInner = void 0;
35
- var jsx_runtime_1 = require("react/jsx-runtime");
36
- var smartQueries_1 = require("../../../services/smartQueries");
37
- var react_1 = require("react");
38
- var helpers_1 = require("./helpers");
39
- var lodash_1 = require("lodash");
40
- var hooks_1 = require("./helpers/hooks");
41
- var DataGrid_1 = require("../DataGrid");
42
- var SmartQueryDataGridInner = function (_a, ref) {
43
- var _b;
44
- var onSelectionChangeFromProps = _a.onSelectionChange, props = __rest(_a, ["onSelectionChange"]);
45
- var currentRows = (0, react_1.useRef)([]);
46
- var _c = (0, react_1.useState)([]), rows = _c[0], setRows = _c[1];
47
- var _d = (0, react_1.useState)(0), start = _d[0], setStart = _d[1];
48
- var _e = (0, react_1.useState)(-1), length = _e[0], setLength = _e[1];
49
- var _f = (0, react_1.useState)(-1), count = _f[0], setCount = _f[1];
50
- var _g = (0, smartQueries_1.useSmartQueryHandler)('SmartQuery'), smartQuery = _g[0], smartIdRequest = _g[1];
51
- var gridRef = (0, react_1.useRef)(null);
52
- var _h = (0, react_1.useState)({}), sorts = _h[0], setSorts = _h[1];
53
- var _j = (0, react_1.useState)((_b = props.initialFooters) !== null && _b !== void 0 ? _b : {}), footers = _j[0], setFooters = _j[1];
54
- var _k = (0, react_1.useState)({}), conditions = _k[0], setConditions = _k[1];
55
- var smartColumns = (0, hooks_1.useSmartColumnDTOs)(props.columns, conditions, footers, sorts);
56
- var smartIdColumn = (0, hooks_1.useIdSmartColumnDTO)(smartColumns);
57
- var refresh = (0, react_1.useCallback)(function () {
58
- setRows([]);
59
- setStart(0);
60
- setCount(-1);
61
- }, []);
62
- var onFiltersChanged = (0, react_1.useCallback)(function (filters) {
63
- var newConditions = (0, helpers_1.convertSmartFiltersToConditions)(filters);
64
- console.log('newConditions', newConditions);
65
- setConditions(newConditions);
66
- refresh();
67
- }, [refresh]);
68
- var onSortsChanged = (0, react_1.useCallback)(function (sorts) {
69
- setSorts((0, lodash_1.mapValues)(sorts, function (sort) {
70
- return sort === 'asc' ? 'ascending' : 'descending';
71
- }));
72
- refresh();
73
- }, [refresh]);
74
- var loadRows = (0, react_1.useRef)((0, lodash_1.debounce)(function (type, columns, where, offset, limit, getCount) {
75
- if (where === void 0) { where = []; }
76
- if (offset === void 0) { offset = 0; }
77
- if (limit === void 0) { limit = 0; }
78
- if (getCount === void 0) { getCount = false; }
79
- if (limit > 0) {
80
- smartQuery({
81
- type: type,
82
- columns: columns,
83
- where: where,
84
- offset: offset,
85
- limit: limit,
86
- getCount: getCount,
87
- }).then(function (response) {
88
- var _a;
89
- var _b, _c;
90
- if (getCount) {
91
- currentRows.current = Array(response.count).fill(null);
92
- if (getCount)
93
- setCount((_b = response.count) !== null && _b !== void 0 ? _b : 0);
94
- }
95
- var data = (_c = response.data) !== null && _c !== void 0 ? _c : [];
96
- var parsedRows = props.parser
97
- ? data.map(props.parser)
98
- : data;
99
- (_a = currentRows.current).splice.apply(_a, __spreadArray([offset, limit], parsedRows, false));
100
- setRows(__spreadArray([], currentRows.current, true));
101
- });
102
- }
103
- }, 100, {
104
- leading: true,
105
- trailing: true,
106
- }));
107
- var loadFilterValues = (0, react_1.useCallback)(function (columnKey) {
108
- var _a;
109
- var smartColumn = smartColumns.find(function (col) { return col.key === columnKey; });
110
- if (!smartColumn) {
111
- return Promise.resolve([]);
112
- }
113
- var otherSmartColumns = smartColumns.filter(function (col) { return col.key !== columnKey; });
114
- return smartQuery({
115
- type: props.type,
116
- columns: __spreadArray([
117
- __assign(__assign({}, smartColumn), { having: undefined })
118
- ], otherSmartColumns, true),
119
- filterColumn: smartColumn,
120
- where: (_a = props.conditions) !== null && _a !== void 0 ? _a : [],
121
- getCount: false,
122
- }).then(function (response) {
123
- return response.data.map(function (row) { var _a, _b, _c; return (_c = (_b = (_a = props.columns[columnKey].filter) === null || _a === void 0 ? void 0 : _a.getter) === null || _b === void 0 ? void 0 : _b.call(_a, row)) !== null && _c !== void 0 ? _c : null; });
124
- });
125
- }, [props.columns, props.conditions, props.type, smartColumns, smartQuery]);
126
- (0, react_1.useEffect)(function () {
127
- var _a;
128
- if ((!rows.length && count < 0) ||
129
- rows.slice(start, start + length).some(function (row) { return row === null; })) {
130
- loadRows.current(props.type, smartColumns, (_a = props.conditions) !== null && _a !== void 0 ? _a : [], start, length, count < 0);
131
- }
132
- }, [
133
- conditions,
134
- count,
135
- length,
136
- props.conditions,
137
- props.type,
138
- rows,
139
- smartColumns,
140
- start,
141
- ]);
142
- var loadCopyRows = (0, react_1.useCallback)(function () {
143
- var _a;
144
- return smartQuery({
145
- type: props.type,
146
- columns: smartColumns,
147
- where: (_a = props.conditions) !== null && _a !== void 0 ? _a : [],
148
- }).then(function (response) {
149
- return props.parser ? response.data.map(props.parser) : response.data;
150
- });
151
- }, [smartQuery, props.type, props.conditions, props.parser, smartColumns]);
152
- var loadAllIds = (0, react_1.useCallback)(function () {
153
- var _a, _b;
154
- return smartIdRequest({
155
- type: props.type,
156
- columns: [smartIdColumn],
157
- where: __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), ((_b = Object.values(conditions)) !== null && _b !== void 0 ? _b : []), true),
158
- // orderBy,
159
- offset: 0,
160
- limit: count,
161
- }).then(function (response) { return response.data.map(function (row) { return row['id']; }); });
162
- }, [
163
- conditions,
164
- count,
165
- props.conditions,
166
- props.type,
167
- smartIdColumn,
168
- smartIdRequest,
169
- ]);
170
- var onVisibleRowsChanged = (0, react_1.useCallback)(function (newStart, newLength) {
171
- if (newStart !== start || newLength !== length) {
172
- setStart(newStart);
173
- setLength(newLength);
174
- }
175
- }, [length, start]);
176
- var onSelectionChange = (0, react_1.useCallback)(function (selectedKeys) {
177
- onSelectionChangeFromProps === null || onSelectionChangeFromProps === void 0 ? void 0 : onSelectionChangeFromProps(selectedKeys);
178
- }, [onSelectionChangeFromProps]);
179
- /** FOOTERS */
180
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
181
- var _l = (0, react_1.useState)({}), footerData = _l[0], setFooterData = _l[1];
182
- var loadFooters = (0, react_1.useCallback)(function () {
183
- var columnsWithFooter = smartColumns
184
- .filter(function (column) { return !!column.footer; })
185
- .map(helpers_1.getFooterColumn);
186
- var otherSmartColumns = smartColumns.filter(function (column) { return !column.footer; });
187
- if (columnsWithFooter.length === 0) {
188
- setFooterData({});
189
- }
190
- else {
191
- columnsWithFooter.map(function (column) {
192
- var _a;
193
- return smartQuery({
194
- type: props.type,
195
- columns: [column],
196
- where: __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), (0, helpers_1.getColumnsConditions)(otherSmartColumns), true),
197
- }).then(function (response) {
198
- return setFooterData(function (previousData) { return (__assign(__assign({}, previousData), response.data[0])); });
199
- });
200
- });
201
- }
202
- }, [props.conditions, props.type, smartColumns, smartQuery]);
203
- (0, react_1.useEffect)(function () {
204
- loadFooters();
205
- }, [loadFooters]);
206
- var footerFunctions = (0, react_1.useMemo)(function () {
207
- return !footerData
208
- ? {}
209
- : Object.entries(footers).reduce(function (acc, _a) {
210
- var _b, _c;
211
- var columnKey = _a[0], footerKey = _a[1];
212
- var column = props.columns[columnKey];
213
- var footerFunc = typeof (column === null || column === void 0 ? void 0 : column.footer) === 'function'
214
- ? column.footer
215
- : (_b = column === null || column === void 0 ? void 0 : column.footer) === null || _b === void 0 ? void 0 : _b[footerKey];
216
- var render = footerFunc
217
- ? // eslint-disable-next-line @typescript-eslint/no-explicit-any
218
- function (data) { return footerFunc([data], [], []); }
219
- : (_c = column === null || column === void 0 ? void 0 : column.render) !== null && _c !== void 0 ? _c : lodash_1.identity;
220
- if (!column) {
221
- return acc;
222
- }
223
- acc[columnKey] = function () { return render(footerData, column); };
224
- return acc;
225
- }, {});
226
- }, [footerData, footers, props.columns]);
227
- var contextOverride = (0, react_1.useMemo)(function () { return ({
228
- footers: footers,
229
- setFooters: setFooters,
230
- footerFunctions: footerFunctions,
231
- }); }, [footers, setFooters, footerFunctions]);
232
- (0, react_1.useImperativeHandle)(ref, function () {
233
- var _a, _b;
234
- return ({
235
- refresh: refresh,
236
- setSelectedKeys: (_b = (_a = gridRef.current) === null || _a === void 0 ? void 0 : _a.setSelectedKeys) !== null && _b !== void 0 ? _b : (function () { }),
237
- });
238
- }, [refresh]);
239
- return ((0, jsx_runtime_1.jsx)(DataGrid_1.DataGrid, __assign({ ref: gridRef, onVisibleRowsChange: onVisibleRowsChanged, filter: false, sort: false, onFiltersChanged: onFiltersChanged, onSortsChanged: onSortsChanged, filterValuesLoader: loadFilterValues, rows: rows, loadCopyRows: loadCopyRows, refresh: refresh, onSelectionChange: onSelectionChange, getAllIds: loadAllIds, contextOverride: contextOverride }, props)));
240
- };
241
- exports.SmartQueryDataGridInner = SmartQueryDataGridInner;
242
- exports.SmartQueryDataGrid = (0, react_1.forwardRef)(exports.SmartQueryDataGridInner);
@@ -1,22 +0,0 @@
1
- import { ConditionDTO, FieldDTO } from '../../../services/smartQueries';
2
- import { DataGridColumn, DataGridFilter, DataGridFilterType, DataGridProps } from '../DataGrid/types';
3
- import { SmartQueries } from '../../../services';
4
- export type SmartQueryDataGridFilter<T extends DataGridFilterType = DataGridFilterType> = DataGridFilter<T> & {
5
- field?: FieldDTO;
6
- };
7
- export type SmartQueryDataGridFilters = Record<string, SmartQueryDataGridFilter>;
8
- export type SmartQueryDataGridColumn<R> = DataGridColumn<R> & {
9
- filter?: SmartQueryDataGridFilter;
10
- field?: FieldDTO;
11
- filterField?: string;
12
- sortField?: string;
13
- ignore?: boolean;
14
- };
15
- export type SmartQueryDataGridColumns<R> = Record<string, SmartQueryDataGridColumn<R>>;
16
- export type SmartQueryDataGridProps<R> = Omit<DataGridProps<R>, 'rows' | 'columns'> & {
17
- columns: SmartQueryDataGridColumns<R>;
18
- type: string;
19
- conditions?: ConditionDTO[];
20
- initialFooters?: Record<string, SmartQueries.FooterFunction>;
21
- parser?: (row: SmartQueries.RequestRow<R>) => R;
22
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- import { InputContainerProps } from './types';
2
- export declare const InputWithLabel: ({ label, icon: Icon, readOnly, children, }: InputContainerProps) => import("react/jsx-runtime").JSX.Element;