@addev-be/ui 0.20.4 → 0.20.5

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 (262) hide show
  1. package/assets/icons/table.svg +1 -1
  2. package/dist/Icons.d.ts +1 -11
  3. package/dist/Icons.js +1 -22
  4. package/dist/components/auth/LoginForm.js +1 -1
  5. package/dist/components/auth/PasswordRecoveryForm.js +1 -1
  6. package/dist/components/auth/PasswordResetForm.js +1 -1
  7. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +14 -0
  8. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +76 -0
  9. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +22 -0
  10. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +156 -0
  11. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +2 -0
  12. package/dist/{helpers/styled → components/data/AdvancedRequestDataGrid/helpers}/index.js +2 -1
  13. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +2 -0
  14. package/dist/components/data/AdvancedRequestDataGrid/index.js +215 -0
  15. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +21 -0
  16. package/dist/components/data/DataGrid/DataGridCell.js +5 -5
  17. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.d.ts +2 -2
  18. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.js +7 -1
  19. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +3 -3
  20. package/dist/components/data/DataGrid/DataGridColumnsModal/index.js +21 -16
  21. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +2 -0
  22. package/dist/components/data/DataGrid/DataGridEditableCell.js +27 -0
  23. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.js +1 -17
  24. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.d.ts +3 -4
  25. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.js +12 -11
  26. package/dist/components/data/DataGrid/DataGridFilterMenu/index.d.ts +4 -5
  27. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +40 -44
  28. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +1 -1
  29. package/dist/components/data/DataGrid/DataGridFooter.js +5 -5
  30. package/dist/components/data/DataGrid/DataGridHeader.js +8 -52
  31. package/dist/components/data/DataGrid/DataGridHeaderCell.d.ts +1 -1
  32. package/dist/components/data/DataGrid/DataGridHeaderCell.js +24 -11
  33. package/dist/components/data/DataGrid/DataGridRowTemplate.d.ts +1 -1
  34. package/dist/components/data/DataGrid/DataGridRowTemplate.js +9 -8
  35. package/dist/components/data/DataGrid/FilterModalContent/index.js +1 -1
  36. package/dist/components/data/DataGrid/helpers/columns.d.ts +12 -13
  37. package/dist/components/data/DataGrid/helpers/columns.js +130 -100
  38. package/dist/components/data/DataGrid/hooks/index.d.ts +3 -3
  39. package/dist/components/data/DataGrid/hooks/index.js +12 -8
  40. package/dist/components/data/DataGrid/hooks/useDataGrid.js +24 -73
  41. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +30 -25
  42. package/dist/components/data/DataGrid/index.d.ts +2 -2
  43. package/dist/components/data/DataGrid/index.js +3 -17
  44. package/dist/components/data/DataGrid/styles.d.ts +8 -13
  45. package/dist/components/data/DataGrid/styles.js +30 -58
  46. package/dist/components/data/DataGrid/types.d.ts +17 -87
  47. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +17 -16
  48. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +84 -237
  49. package/dist/components/data/SqlRequestDataGrid/index.d.ts +2 -2
  50. package/dist/components/data/SqlRequestDataGrid/index.js +68 -92
  51. package/dist/components/data/SqlRequestDataGrid/types.d.ts +3 -13
  52. package/dist/components/data/SqlRequestDataGrid/types.js +0 -1
  53. package/dist/components/data/SqlRequestGrid/index.d.ts +1 -1
  54. package/dist/components/data/SqlRequestGrid/index.js +50 -139
  55. package/dist/components/data/SqlRequestGrid/styles.d.ts +12 -0
  56. package/dist/components/data/SqlRequestGrid/styles.js +20 -4
  57. package/dist/components/data/SqlRequestGrid/types.d.ts +4 -14
  58. package/dist/components/data/VirtualScroller/index.d.ts +3 -4
  59. package/dist/components/data/VirtualScroller/index.js +5 -15
  60. package/dist/components/data/VirtualScroller/styles.d.ts +2 -4
  61. package/dist/components/data/VirtualScroller/styles.js +6 -9
  62. package/dist/components/data/index.d.ts +2 -1
  63. package/dist/components/data/index.js +2 -1
  64. package/dist/components/forms/Button.d.ts +4 -11
  65. package/dist/components/forms/Button.js +9 -15
  66. package/dist/components/forms/IconButton.d.ts +1 -2
  67. package/dist/components/forms/IconButton.js +12 -12
  68. package/dist/components/forms/Select.d.ts +6 -5
  69. package/dist/components/forms/Select.js +5 -2
  70. package/dist/components/forms/index.d.ts +0 -4
  71. package/dist/components/forms/index.js +0 -4
  72. package/dist/components/forms/styles.d.ts +3 -17
  73. package/dist/components/forms/styles.js +7 -8
  74. package/dist/components/layout/Dropdown/index.d.ts +0 -1
  75. package/dist/components/layout/Dropdown/index.js +3 -24
  76. package/dist/components/layout/Modal/styles.js +1 -1
  77. package/dist/components/layout/index.d.ts +1 -5
  78. package/dist/components/layout/index.js +1 -5
  79. package/dist/components/search/HighlightedText.js +7 -9
  80. package/dist/components/search/QuickSearchBar.d.ts +2 -6
  81. package/dist/components/search/QuickSearchBar.js +7 -7
  82. package/dist/components/search/styles.js +1 -1
  83. package/dist/components/search/types.d.ts +0 -3
  84. package/dist/components/ui/Card/styles.js +1 -1
  85. package/dist/components/ui/index.d.ts +0 -4
  86. package/dist/components/ui/index.js +0 -4
  87. package/dist/helpers/index.d.ts +0 -2
  88. package/dist/helpers/index.js +0 -2
  89. package/dist/helpers/numbers.d.ts +0 -3
  90. package/dist/helpers/numbers.js +1 -33
  91. package/dist/hooks/index.d.ts +0 -5
  92. package/dist/hooks/index.js +0 -5
  93. package/dist/index.d.ts +0 -1
  94. package/dist/index.js +0 -1
  95. package/dist/providers/AuthenticationProvider/index.d.ts +0 -1
  96. package/dist/providers/AuthenticationProvider/index.js +15 -57
  97. package/dist/providers/PortalsProvider/styles.js +1 -1
  98. package/dist/providers/ThemeProvider/defaultTheme.js +0 -13
  99. package/dist/providers/ThemeProvider/types.d.ts +1 -2
  100. package/dist/providers/UiProviders/index.js +1 -2
  101. package/dist/providers/index.d.ts +0 -2
  102. package/dist/providers/index.js +0 -2
  103. package/dist/services/WebSocketService.d.ts +0 -8
  104. package/dist/services/WebSocketService.js +2 -34
  105. package/dist/services/globalSearch.d.ts +2 -6
  106. package/dist/services/hooks.d.ts +0 -10
  107. package/dist/services/hooks.js +2 -89
  108. package/dist/services/index.d.ts +0 -7
  109. package/dist/services/index.js +0 -20
  110. package/package.json +2 -2
  111. package/src/components/data/DataGrid/DataGridHeader.tsx +0 -111
  112. package/src/components/data/DataGrid/DataGridToolbar.tsx +134 -0
  113. package/src/components/data/DataGrid/index.tsx +37 -29
  114. package/src/components/data/DataGrid/styles.ts +38 -5
  115. package/src/components/data/DataGrid/types.ts +3 -1
  116. package/src/components/data/VirtualScroller/index.tsx +0 -2
  117. package/src/components/data/VirtualScroller/styles.ts +0 -1
  118. package/src/components/forms/styles.ts +3 -2
  119. package/src/components/ui/Avatar/styles.ts +61 -61
  120. package/src/components/ui/Label.tsx +90 -90
  121. package/src/components/ui/TabsView/TabsList.tsx +44 -0
  122. package/src/components/ui/TabsView/TabsView.tsx +29 -0
  123. package/src/components/ui/TabsView/index.ts +3 -0
  124. package/src/components/ui/{Tab → TabsView}/styles.ts +66 -64
  125. package/src/components/ui/{Tab → TabsView}/types.ts +0 -5
  126. package/src/components/ui/index.ts +1 -1
  127. package/src/helpers/styled/index.ts +1 -1
  128. package/src/helpers/styled/space.ts +111 -55
  129. package/src/providers/ThemeProvider/types.ts +2 -0
  130. package/src/providers/TrackingProvider/hooks.ts +14 -14
  131. package/tsconfig.tsbuildinfo +1 -1
  132. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.d.ts +0 -2
  133. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.js +0 -23
  134. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.d.ts +0 -2
  135. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.js +0 -27
  136. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.d.ts +0 -7
  137. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.js +0 -34
  138. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.d.ts +0 -2
  139. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.js +0 -23
  140. package/dist/components/data/DataGrid/DataGridEditableCell/index.d.ts +0 -2
  141. package/dist/components/data/DataGrid/DataGridEditableCell/index.js +0 -91
  142. package/dist/components/data/DataGrid/DataGridEditableCell/styles.d.ts +0 -3
  143. package/dist/components/data/DataGrid/DataGridEditableCell/styles.js +0 -17
  144. package/dist/components/data/DataGrid/DataGridEditableCell/types.d.ts +0 -11
  145. package/dist/components/data/DataGrid/DataGridEditableCell/types.js +0 -3
  146. package/dist/components/data/DataGrid/constants.d.ts +0 -6
  147. package/dist/components/data/DataGrid/constants.js +0 -9
  148. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.d.ts +0 -9
  149. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.js +0 -91
  150. package/dist/components/data/DataGrid/hooks/useRefreshModal.d.ts +0 -5
  151. package/dist/components/data/DataGrid/hooks/useRefreshModal.js +0 -25
  152. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +0 -2
  153. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +0 -19
  154. package/dist/components/data/SqlRequestDataGrid/styles.d.ts +0 -2
  155. package/dist/components/data/SqlRequestDataGrid/styles.js +0 -14
  156. package/dist/components/data/SqlRequestForeignList/index.d.ts +0 -4
  157. package/dist/components/data/SqlRequestForeignList/index.js +0 -131
  158. package/dist/components/data/SqlRequestForeignList/styles.d.ts +0 -9
  159. package/dist/components/data/SqlRequestForeignList/styles.js +0 -22
  160. package/dist/components/data/SqlRequestForeignList/types.d.ts +0 -22
  161. package/dist/components/data/SqlRequestForeignList/types.js +0 -3
  162. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.d.ts +0 -10
  163. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.js +0 -51
  164. package/dist/components/data/SqlRequestGrid/filters/styles.d.ts +0 -4
  165. package/dist/components/data/SqlRequestGrid/filters/styles.js +0 -17
  166. package/dist/components/forms/AutoTextArea.d.ts +0 -10
  167. package/dist/components/forms/AutoTextArea.js +0 -41
  168. package/dist/components/forms/Form/Checkbox.d.ts +0 -3
  169. package/dist/components/forms/Form/Checkbox.js +0 -33
  170. package/dist/components/forms/Form/FormGroup.d.ts +0 -11
  171. package/dist/components/forms/Form/FormGroup.js +0 -10
  172. package/dist/components/forms/Form/Input.d.ts +0 -3
  173. package/dist/components/forms/Form/Input.js +0 -33
  174. package/dist/components/forms/Form/Row.d.ts +0 -9
  175. package/dist/components/forms/Form/Row.js +0 -10
  176. package/dist/components/forms/Form/Select.d.ts +0 -18
  177. package/dist/components/forms/Form/Select.js +0 -51
  178. package/dist/components/forms/Form/TextArea.d.ts +0 -4
  179. package/dist/components/forms/Form/TextArea.js +0 -34
  180. package/dist/components/forms/Form/index.d.ts +0 -81
  181. package/dist/components/forms/Form/index.js +0 -29
  182. package/dist/components/forms/Form/styles.d.ts +0 -19
  183. package/dist/components/forms/Form/styles.js +0 -49
  184. package/dist/components/forms/NumberInput.d.ts +0 -9
  185. package/dist/components/forms/NumberInput.js +0 -40
  186. package/dist/components/layout/Columns.d.ts +0 -6
  187. package/dist/components/layout/Columns.js +0 -23
  188. package/dist/components/layout/Flexbox.d.ts +0 -11
  189. package/dist/components/layout/Flexbox.js +0 -26
  190. package/dist/components/layout/Grid/index.d.ts +0 -6
  191. package/dist/components/layout/Grid/index.js +0 -6
  192. package/dist/components/layout/Grid/styles.d.ts +0 -14
  193. package/dist/components/layout/Grid/styles.js +0 -29
  194. package/dist/components/layout/Masonry/index.d.ts +0 -3
  195. package/dist/components/layout/Masonry/index.js +0 -20
  196. package/dist/components/layout/Masonry/styles.d.ts +0 -5
  197. package/dist/components/layout/Masonry/styles.js +0 -17
  198. package/dist/components/ui/Avatar/index.d.ts +0 -10
  199. package/dist/components/ui/Avatar/index.js +0 -52
  200. package/dist/components/ui/Avatar/styles.d.ts +0 -4
  201. package/dist/components/ui/Avatar/styles.js +0 -43
  202. package/dist/components/ui/Ellipsis.d.ts +0 -13
  203. package/dist/components/ui/Ellipsis.js +0 -28
  204. package/dist/components/ui/Label.d.ts +0 -9
  205. package/dist/components/ui/Label.js +0 -74
  206. package/dist/components/ui/Tab/index.d.ts +0 -3
  207. package/dist/components/ui/Tab/index.js +0 -12
  208. package/dist/components/ui/Tab/styles.d.ts +0 -6
  209. package/dist/components/ui/Tab/styles.js +0 -41
  210. package/dist/components/ui/Tab/types.d.ts +0 -13
  211. package/dist/components/ui/Tabs/index.d.ts +0 -2
  212. package/dist/components/ui/Tabs/index.js +0 -10
  213. package/dist/components/ui/Tabs/styles.d.ts +0 -0
  214. package/dist/components/ui/Tabs/styles.js +0 -1
  215. package/dist/components/ui/Tabs/types.d.ts +0 -8
  216. package/dist/components/ui/Tabs/types.js +0 -2
  217. package/dist/components/ui/Tab/302/265/index.d.ts +0 -2
  218. package/dist/components/ui/Tab/302/265/index.js +0 -10
  219. package/dist/components/ui/Tab/302/265/styles.d.ts +0 -0
  220. package/dist/components/ui/Tab/302/265/styles.js +0 -1
  221. package/dist/components/ui/Tab/302/265/types.d.ts +0 -8
  222. package/dist/components/ui/Tab/302/265/types.js +0 -2
  223. package/dist/components/ui/ToastNotification.d.ts +0 -14
  224. package/dist/components/ui/ToastNotification.js +0 -78
  225. package/dist/helpers/responsive.d.ts +0 -37
  226. package/dist/helpers/responsive.js +0 -57
  227. package/dist/helpers/styled/index.d.ts +0 -1
  228. package/dist/helpers/styled/space.d.ts +0 -23
  229. package/dist/helpers/styled/space.js +0 -56
  230. package/dist/hooks/useContainerMediaQuery.d.ts +0 -17
  231. package/dist/hooks/useContainerMediaQuery.js +0 -10
  232. package/dist/hooks/useMediaQuery.d.ts +0 -17
  233. package/dist/hooks/useMediaQuery.js +0 -11
  234. package/dist/hooks/useMediaQueryForWidth.d.ts +0 -17
  235. package/dist/hooks/useMediaQueryForWidth.js +0 -26
  236. package/dist/hooks/useMutableState.d.ts +0 -2
  237. package/dist/hooks/useMutableState.js +0 -16
  238. package/dist/hooks/useShowArchived.d.ts +0 -6
  239. package/dist/hooks/useShowArchived.js +0 -21
  240. package/dist/poppins-700.woff2 +0 -0
  241. package/dist/providers/ThemeProvider/helpers.d.ts +0 -8
  242. package/dist/providers/ThemeProvider/helpers.js +0 -53
  243. package/dist/providers/TrackingProvider/hooks.d.ts +0 -1
  244. package/dist/providers/TrackingProvider/hooks.js +0 -15
  245. package/dist/providers/TrackingProvider/index.d.ts +0 -8
  246. package/dist/providers/TrackingProvider/index.js +0 -41
  247. package/dist/services/requests/generic.d.ts +0 -29
  248. package/dist/services/requests/generic.js +0 -29
  249. package/dist/services/requests/tracking.d.ts +0 -18
  250. package/dist/services/requests/tracking.js +0 -8
  251. package/dist/services/smartQueries.d.ts +0 -51
  252. package/dist/services/smartQueries.js +0 -10
  253. package/dist/services/smartRequests.d.ts +0 -0
  254. package/dist/services/smartRequests.js +0 -1
  255. package/dist/services/types/generic.d.ts +0 -44
  256. package/dist/services/types/generic.js +0 -79
  257. package/dist/services/types/tracking.d.ts +0 -24
  258. package/dist/services/types/tracking.js +0 -47
  259. package/dist/services/updateSqlRequests.d.ts +0 -24
  260. package/dist/services/updateSqlRequests.js +0 -7
  261. package/src/components/ui/Tab/index.tsx +0 -35
  262. /package/dist/components/{ui/Tab → data/AdvancedRequestDataGrid}/types.js +0 -0
@@ -64,16 +64,11 @@ var helpers_1 = require("./helpers");
64
64
  var helpers_2 = require("../DataGrid/helpers");
65
65
  var SqlRequestDataGridInner = function (_a, ref) {
66
66
  var _b, _c;
67
- var onSelectionChangeFromProps = _a.onSelectionChange, rowKey = _a.rowKey, props = __rest(_a, ["onSelectionChange", "rowKey"]);
67
+ var onSelectionChangeFromProps = _a.onSelectionChange, props = __rest(_a, ["onSelectionChange"]);
68
68
  var currentRows = (0, react_1.useRef)([]);
69
69
  var _d = (0, react_1.useState)([]), rows = _d[0], setRows = _d[1];
70
- var setRowsRef = (0, react_1.useCallback)(function (value) {
71
- var newRows = typeof value === 'function' ? value(currentRows.current) : value;
72
- currentRows.current = newRows;
73
- setRows(newRows);
74
- }, []);
75
70
  var _e = (0, react_1.useState)(0), start = _e[0], setStart = _e[1];
76
- var _f = (0, react_1.useState)(-1), length = _f[0], setLength = _f[1];
71
+ var _f = (0, react_1.useState)(50), length = _f[0], setLength = _f[1];
77
72
  var _g = (0, react_1.useState)(-1), count = _g[0], setCount = _g[1];
78
73
  var _h = (0, sqlRequests_1.useSqlRequestHandler)(props.type), sqlRequest = _h[0], sqlIdRequest = _h[1], sqlPartialRequest = _h[2];
79
74
  var gridRef = (0, react_1.useRef)(null);
@@ -81,31 +76,30 @@ var SqlRequestDataGridInner = function (_a, ref) {
81
76
  var _k = (0, react_1.useState)(Object.entries((_b = props.initialSorts) !== null && _b !== void 0 ? _b : {}).map(function (_a) {
82
77
  var _b, _c, _d;
83
78
  var columnKey = _a[0], direction = _a[1];
84
- var column = props.columns.find(function (col) { return col.key === columnKey; });
85
- return {
86
- field: (_c = (_b = column === null || column === void 0 ? void 0 : column.field) === null || _b === void 0 ? void 0 : _b.fieldAlias) !== null && _c !== void 0 ? _c : columnKey,
87
- type: (_d = column === null || column === void 0 ? void 0 : column.type) !== null && _d !== void 0 ? _d : 'text',
79
+ return ({
80
+ field: (_c = (_b = props.columns[columnKey].field) === null || _b === void 0 ? void 0 : _b.fieldAlias) !== null && _c !== void 0 ? _c : columnKey,
81
+ type: (_d = props.columns[columnKey].type) !== null && _d !== void 0 ? _d : 'text',
88
82
  direction: direction.toUpperCase(),
89
- };
83
+ });
90
84
  })), orderBy = _k[0], setOrderBy = _k[1];
91
85
  var _l = (0, react_1.useMemo)(function () {
92
86
  var _a, _b;
93
87
  return [
94
- __spreadArray(__spreadArray([], props.columns.filter(function (col) { return !col.ignore; }).map(function (col) { return col.key; }), true), ((_a = props.hiddenColumns) !== null && _a !== void 0 ? _a : []), true),
95
- __spreadArray(__spreadArray([], props.columns
96
- .filter(function (col) { return !col.ignore; })
97
- .filter(helpers_2.isColumnVisible)
98
- .map(function (col) { return col.key; }), true), ((_b = props.hiddenColumns) !== null && _b !== void 0 ? _b : []), true),
88
+ __spreadArray(__spreadArray([], Object.keys(props.columns), true), ((_a = props.hiddenColumns) !== null && _a !== void 0 ? _a : []), true),
89
+ __spreadArray(__spreadArray([], Object.keys(props.columns).filter(function (key) {
90
+ return (0, helpers_2.isColumnVisible)(props.columns[key]);
91
+ }), true), ((_b = props.hiddenColumns) !== null && _b !== void 0 ? _b : []), true),
99
92
  ];
100
- }, [props.columns, props.hiddenColumns]), columns = _l[0], visibleColumnsKeys = _l[1];
93
+ }, [props.columns, props.hiddenColumns]), columnsKeys = _l[0], visibleColumnsKeys = _l[1];
101
94
  var columnTypes = (0, react_1.useMemo)(function () {
102
- return visibleColumnsKeys.map(function (key) { var _a, _b; return String((_b = (_a = props.columns.find(function (col) { return col.key === key; })) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : 'text'); });
95
+ return visibleColumnsKeys.map(function (key) { var _a, _b; return String((_b = (_a = props.columns[key]) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : 'text'); });
103
96
  }, [visibleColumnsKeys, props.columns]);
104
97
  var refresh = (0, react_1.useCallback)(function () {
105
- setRowsRef([]);
98
+ setRows([]);
106
99
  setStart(0);
100
+ setLength(50);
107
101
  setCount(-1);
108
- }, [setRowsRef]);
102
+ }, []);
109
103
  var onFiltersChanged = (0, react_1.useCallback)(function (filters) {
110
104
  var newConditions = (0, helpers_1.convertSqlFiltersToConditions)(filters);
111
105
  setConditions(newConditions);
@@ -126,74 +120,64 @@ var SqlRequestDataGridInner = function (_a, ref) {
126
120
  if (conditions === void 0) { conditions = []; }
127
121
  if (orderBy === void 0) { orderBy = []; }
128
122
  if (start === void 0) { start = 0; }
129
- if (length === void 0) { length = 0; }
123
+ if (length === void 0) { length = 100; }
130
124
  if (getCount === void 0) { getCount = false; }
131
- if (length > 0) {
132
- sqlRequest({
133
- columns: columns.includes(rowKey) ? columns : __spreadArray(__spreadArray([], columns, true), [rowKey], false),
134
- returnColumns: returnColumns.includes(rowKey)
135
- ? returnColumns
136
- : __spreadArray(__spreadArray([], returnColumns, true), [rowKey], false),
137
- columnTypes: columnTypes.includes(rowKey)
138
- ? columnTypes
139
- : __spreadArray(__spreadArray([], columnTypes, true), [rowKey], false),
140
- conditions: conditions,
141
- orderBy: orderBy,
142
- start: start,
143
- length: length,
144
- getCount: getCount,
145
- }).then(function (response) {
146
- var _a;
147
- var _b, _c;
148
- if (getCount) {
149
- currentRows.current = Array(response.count).fill(null);
150
- if (getCount)
151
- setCount((_b = response.count) !== null && _b !== void 0 ? _b : 0);
152
- }
153
- var data = (_c = response.data) !== null && _c !== void 0 ? _c : [];
154
- var rowsFromData = props.parser
155
- ? data.map(props.parser)
156
- : data;
157
- var rowsToReplace = currentRows.current
158
- .slice(start, start + length)
159
- .map(function (row, i) { return (!row ? rowsFromData[i] : row); });
160
- (_a = currentRows.current).splice.apply(_a, __spreadArray([start, length], rowsToReplace, false));
161
- setRowsRef(__spreadArray([], currentRows.current, true));
162
- });
163
- }
125
+ sqlRequest({
126
+ columns: columns.includes('Id') ? columns : __spreadArray(__spreadArray([], columns, true), ['Id'], false),
127
+ returnColumns: returnColumns.includes('Id')
128
+ ? returnColumns
129
+ : __spreadArray(__spreadArray([], returnColumns, true), ['Id'], false),
130
+ columnTypes: columnTypes.includes('Id')
131
+ ? columnTypes
132
+ : __spreadArray(__spreadArray([], columnTypes, true), ['Id'], false),
133
+ conditions: conditions,
134
+ orderBy: orderBy,
135
+ start: start,
136
+ length: length,
137
+ getCount: getCount,
138
+ }).then(function (response) {
139
+ var _a;
140
+ var _b;
141
+ if (getCount) {
142
+ currentRows.current = Array(response.count).fill(null);
143
+ if (getCount)
144
+ setCount((_b = response.count) !== null && _b !== void 0 ? _b : 0);
145
+ }
146
+ var parsedRows = props.parser
147
+ ? response.data.map(props.parser)
148
+ : response.data;
149
+ (_a = currentRows.current).splice.apply(_a, __spreadArray([start, length], parsedRows, false));
150
+ setRows(__spreadArray([], currentRows.current, true));
151
+ });
164
152
  }, 100, {
165
153
  leading: true,
166
154
  trailing: true,
167
155
  }));
168
156
  var loadFilterValues = (0, react_1.useCallback)(function (columnKey) {
169
157
  var _a, _b, _c, _d, _e, _f, _g, _h;
170
- var column = props.columns.find(function (col) { return col.key === columnKey; });
171
- if (!column) {
172
- return Promise.resolve([]);
173
- }
174
158
  return sqlRequest({
175
- columns: columns,
159
+ columns: columnsKeys,
176
160
  returnColumns: [columnKey],
177
- columnTypes: [(_a = column.type) !== null && _a !== void 0 ? _a : 'text'],
161
+ columnTypes: [(_a = props.columns[columnKey].type) !== null && _a !== void 0 ? _a : 'text'],
178
162
  conditions: __spreadArray(__spreadArray([], ((_b = props.conditions) !== null && _b !== void 0 ? _b : []), true), Object.values(lodash_1.default.pickBy(conditions, function (_, key) { return key !== columnKey; })), true).filter(function (condition) { return condition.field !== columnKey; }),
179
163
  orderBy: [
180
164
  {
181
- field: (_g = (_e = (_c = column.filterField) !== null && _c !== void 0 ? _c : (_d = column.field) === null || _d === void 0 ? void 0 : _d.fieldAlias) !== null && _e !== void 0 ? _e : (_f = column.field) === null || _f === void 0 ? void 0 : _f.fieldName) !== null && _g !== void 0 ? _g : columnKey,
182
- type: (_h = column.type) !== null && _h !== void 0 ? _h : 'text',
165
+ field: (_g = (_e = (_c = props.columns[columnKey].filterField) !== null && _c !== void 0 ? _c : (_d = props.columns[columnKey].field) === null || _d === void 0 ? void 0 : _d.fieldAlias) !== null && _e !== void 0 ? _e : (_f = props.columns[columnKey].field) === null || _f === void 0 ? void 0 : _f.fieldName) !== null && _g !== void 0 ? _g : columnKey,
166
+ type: (_h = props.columns[columnKey].type) !== null && _h !== void 0 ? _h : 'text',
183
167
  direction: 'ASC',
184
168
  },
185
169
  ],
186
170
  getCount: false,
187
171
  unique: true,
188
172
  }).then(function (response) {
189
- return response.data.map(function (row) { var _a, _b, _c; return (_c = (_b = (_a = column.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; });
173
+ 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; });
190
174
  });
191
- }, [columns, conditions, props.columns, props.conditions, sqlRequest]);
175
+ }, [columnsKeys, conditions, props.columns, props.conditions, sqlRequest]);
192
176
  (0, react_1.useEffect)(function () {
193
177
  var _a, _b;
194
- if ((!rows.length && count < 0) ||
178
+ if (!rows.length ||
195
179
  rows.slice(start, start + length).some(function (row) { return row === null; })) {
196
- loadRows.current(columns, visibleColumnsKeys, __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), ((_b = Object.values(conditions)) !== null && _b !== void 0 ? _b : []), true), orderBy, start, length, count < 0);
180
+ loadRows.current(columnsKeys, visibleColumnsKeys, __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), ((_b = Object.values(conditions)) !== null && _b !== void 0 ? _b : []), true), orderBy, start, length, count < 0);
197
181
  }
198
182
  }, [
199
183
  props.columns,
@@ -203,14 +187,14 @@ var SqlRequestDataGridInner = function (_a, ref) {
203
187
  length,
204
188
  count,
205
189
  props.conditions,
206
- columns,
190
+ columnsKeys,
207
191
  visibleColumnsKeys,
208
192
  rows,
209
193
  ]);
210
194
  var loadCopyRows = (0, react_1.useCallback)(function () {
211
195
  var _a, _b;
212
196
  return sqlRequest({
213
- columns: columns,
197
+ columns: columnsKeys,
214
198
  returnColumns: visibleColumnsKeys,
215
199
  columnTypes: columnTypes,
216
200
  conditions: __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), ((_b = Object.values(conditions)) !== null && _b !== void 0 ? _b : []), true),
@@ -222,7 +206,7 @@ var SqlRequestDataGridInner = function (_a, ref) {
222
206
  });
223
207
  }, [
224
208
  sqlRequest,
225
- columns,
209
+ columnsKeys,
226
210
  visibleColumnsKeys,
227
211
  columnTypes,
228
212
  props.conditions,
@@ -234,23 +218,17 @@ var SqlRequestDataGridInner = function (_a, ref) {
234
218
  var loadAllIds = (0, react_1.useCallback)(function () {
235
219
  var _a, _b;
236
220
  return sqlIdRequest({
237
- columns: columns.includes(rowKey) ? columns : __spreadArray(__spreadArray([], columns, true), [rowKey], false),
238
- returnColumns: [rowKey],
221
+ columns: columnsKeys.includes('Id')
222
+ ? columnsKeys
223
+ : __spreadArray(__spreadArray([], columnsKeys, true), ['Id'], false),
224
+ returnColumns: ['Id'],
239
225
  columnTypes: ['text'],
240
226
  conditions: __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), ((_b = Object.values(conditions)) !== null && _b !== void 0 ? _b : []), true),
241
227
  orderBy: orderBy,
242
228
  start: 0,
243
229
  length: count,
244
- }).then(function (response) { return (0, lodash_1.map)(response.data, rowKey); });
245
- }, [
246
- columns,
247
- conditions,
248
- count,
249
- orderBy,
250
- props.conditions,
251
- rowKey,
252
- sqlIdRequest,
253
- ]);
230
+ }).then(function (response) { return response.data.map(function (row) { return row['Id']; }); });
231
+ }, [columnsKeys, conditions, orderBy, props.conditions, sqlIdRequest, count]);
254
232
  var onVisibleRowsChanged = (0, react_1.useCallback)(function (newStart, newLength) {
255
233
  if (newStart !== start || newLength !== length) {
256
234
  setStart(newStart);
@@ -271,7 +249,9 @@ var SqlRequestDataGridInner = function (_a, ref) {
271
249
  }
272
250
  else {
273
251
  sqlPartialRequest({
274
- columns: columns.includes(rowKey) ? columns : __spreadArray(__spreadArray([], columns, true), [rowKey], false),
252
+ columns: columnsKeys.includes('Id')
253
+ ? columnsKeys
254
+ : __spreadArray(__spreadArray([], columnsKeys, true), ['Id'], false),
275
255
  returnColumns: [],
276
256
  columnTypes: [],
277
257
  totalColumns: footers,
@@ -280,12 +260,11 @@ var SqlRequestDataGridInner = function (_a, ref) {
280
260
  }).then(function (response) { var _a; return setFooterData((_a = response.totals) !== null && _a !== void 0 ? _a : {}); });
281
261
  }
282
262
  }, [
283
- columns,
263
+ columnsKeys,
284
264
  conditions,
285
265
  footers,
286
266
  orderBy,
287
267
  props.conditions,
288
- rowKey,
289
268
  sqlPartialRequest,
290
269
  ]);
291
270
  (0, react_1.useEffect)(function () {
@@ -297,7 +276,7 @@ var SqlRequestDataGridInner = function (_a, ref) {
297
276
  : Object.entries(footers).reduce(function (acc, _a) {
298
277
  var _b, _c;
299
278
  var columnKey = _a[0], footerKey = _a[1];
300
- var column = props.columns.find(function (col) { return col.key === columnKey; });
279
+ var column = props.columns[columnKey];
301
280
  var footerFunc = typeof (column === null || column === void 0 ? void 0 : column.footer) === 'function'
302
281
  ? column.footer
303
282
  : (_b = column === null || column === void 0 ? void 0 : column.footer) === null || _b === void 0 ? void 0 : _b[footerKey];
@@ -316,18 +295,15 @@ var SqlRequestDataGridInner = function (_a, ref) {
316
295
  footers: footers,
317
296
  setFooters: setFooters,
318
297
  footerFunctions: footerFunctions,
319
- rows: rows,
320
- setRows: setRowsRef,
321
- }); }, [footerFunctions, footers, rows, setRowsRef]);
298
+ }); }, [footers, setFooters, footerFunctions]);
322
299
  (0, react_1.useImperativeHandle)(ref, function () {
323
- var _a, _b, _c, _d;
300
+ var _a, _b;
324
301
  return ({
325
302
  refresh: refresh,
326
303
  setSelectedKeys: (_b = (_a = gridRef.current) === null || _a === void 0 ? void 0 : _a.setSelectedKeys) !== null && _b !== void 0 ? _b : (function () { }),
327
- addRows: (_d = (_c = gridRef.current) === null || _c === void 0 ? void 0 : _c.addRows) !== null && _d !== void 0 ? _d : (function () { }),
328
304
  });
329
305
  }, [refresh]);
330
- 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, rowKey: rowKey }, props)));
306
+ 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)));
331
307
  };
332
308
  exports.SqlRequestDataGridInner = SqlRequestDataGridInner;
333
309
  exports.SqlRequestDataGrid = (0, react_1.forwardRef)(exports.SqlRequestDataGridInner);
@@ -1,26 +1,16 @@
1
1
  import { ConditionDTO, FieldDTO, OrderByDTO, SqlRequestRow } from '../../../services/sqlRequests';
2
- import { DataGridCheckboxColumn, DataGridDateColumn, DataGridFilter, DataGridFilterType, DataGridNumberColumn, DataGridProps, DataGridTextColumn, EditableDataGridColumn } from '../DataGrid/types';
3
- import { SqlRequestForeignListProps } from '../SqlRequestForeignList/types';
2
+ import { DataGridColumn, DataGridFilter, DataGridFilterType, DataGridProps } from '../DataGrid/types';
4
3
  export type SqlRequestDataGridFilter<T extends DataGridFilterType = DataGridFilterType> = DataGridFilter<T> & {
5
4
  field?: FieldDTO;
6
5
  };
7
6
  export type SqlRequestDataGridFilters = Record<string, SqlRequestDataGridFilter>;
8
- export type SqlRequestDataGridCommonProps = {
7
+ export type SqlRequestDataGridColumn<R> = DataGridColumn<R> & {
9
8
  filter?: SqlRequestDataGridFilter;
10
9
  field?: FieldDTO;
11
10
  filterField?: string;
12
11
  sortField?: string;
13
- ignore?: boolean;
14
12
  };
15
- export type SqlRequestDataGridTextColumn<R> = DataGridTextColumn<R> & SqlRequestDataGridCommonProps;
16
- export type SqlRequestDataGridNumberColumn<R> = DataGridNumberColumn<R> & SqlRequestDataGridCommonProps;
17
- export type SqlRequestDataGridCheckboxColumn<R> = DataGridCheckboxColumn<R> & SqlRequestDataGridCommonProps;
18
- export type SqlRequestDataGridDateColumn<R> = DataGridDateColumn<R> & SqlRequestDataGridCommonProps;
19
- export type SqlRequestDataGridForeignListColumn<R, T> = {
20
- type: 'foreignList';
21
- } & SqlRequestForeignListProps<T> & EditableDataGridColumn<R, T> & SqlRequestDataGridCommonProps;
22
- export type SqlRequestDataGridColumn<R> = SqlRequestDataGridTextColumn<R> | SqlRequestDataGridNumberColumn<R> | SqlRequestDataGridCheckboxColumn<R> | SqlRequestDataGridDateColumn<R> | SqlRequestDataGridForeignListColumn<R, any>;
23
- export type SqlRequestDataGridColumns<R> = SqlRequestDataGridColumn<R>[];
13
+ export type SqlRequestDataGridColumns<R> = Record<string, SqlRequestDataGridColumn<R>>;
24
14
  export type SqlRequestDataGridProps<R> = Omit<DataGridProps<R>, 'rows' | 'columns'> & {
25
15
  columns: SqlRequestDataGridColumns<R>;
26
16
  hiddenColumns?: string[];
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,4 @@
1
1
  import { ForwardedRef } from 'react';
2
2
  import { SqlRequestGridProps, SqlRequestGridRefProps } from './types';
3
- export declare const SqlRequestGridInner: <R, P extends object = {}>(allProps: SqlRequestGridProps<R, P>, ref: ForwardedRef<SqlRequestGridRefProps>) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const SqlRequestGridInner: <R, P extends object = {}>({ rowHeight, itemsPerRow, itemTemplate, itemProps, gap, ...props }: SqlRequestGridProps<R, P>, ref: ForwardedRef<SqlRequestGridRefProps>) => import("react/jsx-runtime").JSX.Element;
4
4
  export declare const SqlRequestGrid: <R, P extends object = {}>(props: SqlRequestGridProps<R, P> & import("react").RefAttributes<SqlRequestGridRefProps>) => import("react").JSX.Element | null;
@@ -48,48 +48,29 @@ var jsx_runtime_1 = require("react/jsx-runtime");
48
48
  var styles = __importStar(require("./styles"));
49
49
  var sqlRequests_1 = require("../../../services/sqlRequests");
50
50
  var react_1 = require("react");
51
- var lodash_1 = require("lodash");
52
- var Icons_1 = require("../../../Icons");
53
- var FiltersSidebar_1 = require("./filters/FiltersSidebar");
54
- var forms_1 = require("../../forms");
55
51
  var VirtualScroller_1 = require("../VirtualScroller");
56
- var helpers_1 = require("./helpers");
57
- var helpers_2 = require("../DataGrid/helpers");
58
- var hooks_1 = require("../DataGrid/hooks");
59
- var SqlRequestGridInner = function (allProps, ref) {
60
- var _a;
61
- var _b = allProps.rowHeight, rowHeight = _b === void 0 ? styles.DEFAULT_ROW_HEIGHT : _b, itemsPerRow = allProps.itemsPerRow, itemTemplate = allProps.itemTemplate, itemProps = allProps.itemProps, gap = allProps.gap, props = __rest(allProps, ["rowHeight", "itemsPerRow", "itemTemplate", "itemProps", "gap"]);
52
+ var lodash_1 = require("lodash");
53
+ var helpers_1 = require("../DataGrid/helpers");
54
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
55
+ var SqlRequestGridInner = function (_a, ref) {
56
+ var _b = _a.rowHeight, rowHeight = _b === void 0 ? styles.DEFAULT_ROW_HEIGHT : _b, itemsPerRow = _a.itemsPerRow, itemTemplate = _a.itemTemplate, itemProps = _a.itemProps, gap = _a.gap, props = __rest(_a, ["rowHeight", "itemsPerRow", "itemTemplate", "itemProps", "gap"]);
62
57
  var currentRows = (0, react_1.useRef)([]);
63
58
  var _c = (0, react_1.useState)([]), rows = _c[0], setRows = _c[1];
64
59
  var _d = (0, react_1.useState)(0), start = _d[0], setStart = _d[1];
65
- var _e = (0, react_1.useState)(-1), length = _e[0], setLength = _e[1];
60
+ var _e = (0, react_1.useState)(50), length = _e[0], setLength = _e[1];
66
61
  var _f = (0, react_1.useState)(-1), count = _f[0], setCount = _f[1];
67
62
  var sqlRequest = (0, sqlRequests_1.useSqlRequestHandler)(props.type)[0];
68
- var _g = (0, react_1.useState)({}), conditions = _g[0], setConditions = _g[1];
69
- var _h = (0, react_1.useState)(Object.entries((_a = props.initialSorts) !== null && _a !== void 0 ? _a : {}).map(function (_a) {
70
- var _b, _c, _d;
71
- var columnKey = _a[0], direction = _a[1];
72
- var field = props.fields.find(function (field) { return field.key === columnKey; });
73
- return {
74
- field: (_c = (_b = field === null || field === void 0 ? void 0 : field.field) === null || _b === void 0 ? void 0 : _b.fieldAlias) !== null && _c !== void 0 ? _c : columnKey,
75
- type: (_d = field === null || field === void 0 ? void 0 : field.type) !== null && _d !== void 0 ? _d : 'text',
76
- direction: direction.toUpperCase(),
77
- };
78
- })), orderBy = _h[0], setOrderBy = _h[1];
79
- var _j = (0, react_1.useMemo)(function () {
63
+ var _g = (0, react_1.useMemo)(function () {
80
64
  var _a, _b;
81
65
  return [
82
- __spreadArray(__spreadArray([], props.fields
83
- .filter(function (field) { return !field.ignore; })
84
- .map(function (field) { return field.key; }), true), ((_a = props.additionalFields) !== null && _a !== void 0 ? _a : []), true),
85
- __spreadArray(__spreadArray([], props.fields
86
- .filter(function (field) { return !field.ignore; })
87
- .filter(helpers_2.isColumnVisible)
88
- .map(function (field) { return field.key; }), true), ((_b = props.additionalFields) !== null && _b !== void 0 ? _b : []), true),
66
+ __spreadArray(__spreadArray([], Object.keys(props.fields), true), ((_a = props.additionalFields) !== null && _a !== void 0 ? _a : []), true),
67
+ __spreadArray(__spreadArray([], Object.keys(props.fields).filter(function (key) {
68
+ return (0, helpers_1.isColumnVisible)(props.fields[key]);
69
+ }), true), ((_b = props.additionalFields) !== null && _b !== void 0 ? _b : []), true),
89
70
  ];
90
- }, [props.fields, props.additionalFields]), columnsKeys = _j[0], visibleColumnsKeys = _j[1];
71
+ }, [props.fields, props.additionalFields]), columnsKeys = _g[0], visibleColumnsKeys = _g[1];
91
72
  var columnTypes = (0, react_1.useMemo)(function () {
92
- return visibleColumnsKeys.map(function (key) { var _a, _b; return String((_b = (_a = props.fields.find(function (field) { return field.key === key; })) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : 'text'); });
73
+ return visibleColumnsKeys.map(function (key) { var _a, _b; return String((_b = (_a = props.fields[key]) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : 'text'); });
93
74
  }, [visibleColumnsKeys, props.fields]);
94
75
  var loadRows = (0, react_1.useRef)((0, lodash_1.debounce)(function (columns, returnColumns, conditions, orderBy, start, length, getCount) {
95
76
  if (conditions === void 0) { conditions = []; }
@@ -97,101 +78,51 @@ var SqlRequestGridInner = function (allProps, ref) {
97
78
  if (start === void 0) { start = 0; }
98
79
  if (length === void 0) { length = 100; }
99
80
  if (getCount === void 0) { getCount = false; }
100
- if (length > 0) {
101
- sqlRequest({
102
- columns: columns.includes('Id') ? columns : __spreadArray(__spreadArray([], columns, true), ['Id'], false),
103
- returnColumns: returnColumns.includes('Id')
104
- ? returnColumns
105
- : __spreadArray(__spreadArray([], returnColumns, true), ['Id'], false),
106
- columnTypes: columnTypes.includes('Id')
107
- ? columnTypes
108
- : __spreadArray(__spreadArray([], columnTypes, true), ['Id'], false),
109
- conditions: conditions,
110
- orderBy: orderBy,
111
- start: start,
112
- length: length,
113
- getCount: getCount,
114
- }).then(function (response) {
115
- var _a;
116
- var _b, _c;
117
- if (getCount) {
118
- currentRows.current = Array(response.count).fill(null);
119
- if (getCount)
120
- setCount((_b = response.count) !== null && _b !== void 0 ? _b : 0);
121
- }
122
- var data = (_c = response.data) !== null && _c !== void 0 ? _c : [];
123
- var parsedRows = props.parser
124
- ? data.map(props.parser)
125
- : data;
126
- (_a = currentRows.current).splice.apply(_a, __spreadArray([start, length], parsedRows, false));
127
- setRows(__spreadArray([], currentRows.current, true));
128
- });
129
- }
81
+ sqlRequest({
82
+ columns: columns.includes('Id') ? columns : __spreadArray(__spreadArray([], columns, true), ['Id'], false),
83
+ returnColumns: returnColumns.includes('Id')
84
+ ? returnColumns
85
+ : __spreadArray(__spreadArray([], returnColumns, true), ['Id'], false),
86
+ columnTypes: columnTypes.includes('Id')
87
+ ? columnTypes
88
+ : __spreadArray(__spreadArray([], columnTypes, true), ['Id'], false),
89
+ conditions: conditions,
90
+ orderBy: orderBy,
91
+ start: start,
92
+ length: length,
93
+ getCount: getCount,
94
+ }).then(function (response) {
95
+ var _a;
96
+ var _b;
97
+ if (getCount) {
98
+ currentRows.current = Array(response.count).fill(null);
99
+ if (getCount)
100
+ setCount((_b = response.count) !== null && _b !== void 0 ? _b : 0);
101
+ }
102
+ var parsedRows = props.parser
103
+ ? response.data.map(props.parser)
104
+ : response.data;
105
+ (_a = currentRows.current).splice.apply(_a, __spreadArray([start, length], parsedRows, false));
106
+ setRows(__spreadArray([], currentRows.current, true));
107
+ });
130
108
  }, 100, {
131
109
  leading: true,
132
110
  trailing: true,
133
111
  }));
134
- var refresh = (0, react_1.useCallback)(function () {
135
- setRows([]);
136
- setStart(0);
137
- setCount(-1);
138
- }, []);
139
- var onFiltersChanged = (0, react_1.useCallback)(function (filters) {
140
- var newConditions = (0, helpers_1.convertSqlFiltersToConditions)(filters);
141
- setConditions(newConditions);
142
- refresh();
143
- }, [refresh]);
144
- var onSortsChanged = (0, react_1.useCallback)(function (sorts) {
145
- refresh();
146
- var newOrderBy = Object.entries(sorts).map(function (_a) {
147
- var columnKey = _a[0], direction = _a[1];
148
- return ({
149
- field: columnKey,
150
- direction: direction.toUpperCase(),
151
- });
152
- });
153
- setOrderBy(newOrderBy);
154
- }, [refresh]);
155
- var loadFilterValues = (0, react_1.useCallback)(function (columnKey) {
156
- var _a, _b, _c, _d, _e, _f, _g;
157
- var field = props.fields.find(function (field) { return field.key === columnKey; });
158
- if (!field)
159
- return Promise.resolve([]);
160
- return sqlRequest({
161
- columns: columnsKeys,
162
- returnColumns: [columnKey],
163
- // columnTypes: [field.type ?? 'text'],
164
- conditions: __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), Object.values((0, lodash_1.pickBy)(conditions, function (_, key) { return key !== columnKey; })), true).filter(function (condition) { return condition.field !== columnKey; }),
165
- orderBy: [
166
- {
167
- field: (_f = (_d = (_b = field.filterField) !== null && _b !== void 0 ? _b : (_c = field.field) === null || _c === void 0 ? void 0 : _c.fieldAlias) !== null && _d !== void 0 ? _d : (_e = field.field) === null || _e === void 0 ? void 0 : _e.fieldName) !== null && _f !== void 0 ? _f : columnKey,
168
- type: (_g = field.type) !== null && _g !== void 0 ? _g : 'text',
169
- direction: 'ASC',
170
- },
171
- ],
172
- getCount: false,
173
- unique: true,
174
- }).then(function (response) {
175
- return response.data.map(function (row) { var _a, _b, _c; return (_c = (_b = (_a = field.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; });
176
- });
177
- }, [columnsKeys, conditions, props.fields, props.conditions, sqlRequest]);
178
112
  (0, react_1.useEffect)(function () {
179
- var _a;
180
- if ((!rows.length && count < 0) ||
113
+ if (!rows.length ||
181
114
  rows.slice(start, start + length).some(function (row) { return row === null; })) {
182
- loadRows.current(columnsKeys, visibleColumnsKeys, __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), Object.values(conditions), true), orderBy, start, length, count < 0);
115
+ loadRows.current(columnsKeys, visibleColumnsKeys, [], [], start, length, count < 0);
183
116
  }
184
117
  }, [
185
118
  props.fields,
186
119
  start,
187
120
  length,
188
121
  count,
189
- conditions,
122
+ props.conditions,
190
123
  columnsKeys,
191
124
  visibleColumnsKeys,
192
125
  rows,
193
- orderBy,
194
- props.conditions,
195
126
  ]);
196
127
  var onVisibleRowsChanged = (0, react_1.useCallback)(function (newStart, newLength) {
197
128
  if (newStart !== start || newLength !== length) {
@@ -199,36 +130,16 @@ var SqlRequestGridInner = function (allProps, ref) {
199
130
  setLength(newLength);
200
131
  }
201
132
  }, [length, start]);
133
+ var refresh = (0, react_1.useCallback)(function () {
134
+ setRows([]);
135
+ setStart(0);
136
+ setLength(50);
137
+ setCount(-1);
138
+ }, []);
202
139
  (0, react_1.useImperativeHandle)(ref, function () { return ({
203
140
  refresh: refresh,
204
141
  }); }, [refresh]);
205
- var _k = (0, hooks_1.useDataGrid)({
206
- columns: props.fields,
207
- rows: rows,
208
- onFiltersChanged: onFiltersChanged,
209
- filterValuesLoader: loadFilterValues,
210
- onSortsChanged: onSortsChanged,
211
- onSelectionChange: function () { },
212
- onSelectedRowsChanged: function () { },
213
- selectable: false,
214
- rowKey: '',
215
- filter: false,
216
- sort: false,
217
- }), contextProps = _k[0], DataGridContext = _k[1];
218
- var _l = (0, react_1.useState)(false), sidebarVisible = _l[0], setSidebarVisible = _l[1];
219
- var onSidebarClose = (0, react_1.useCallback)(function () {
220
- setSidebarVisible(false);
221
- }, []);
222
- var onClearFilters = (0, react_1.useCallback)(function () {
223
- onFiltersChanged({});
224
- setSidebarVisible(false);
225
- }, [onFiltersChanged]);
226
- return ((0, jsx_runtime_1.jsx)(DataGridContext.Provider, { value: contextProps, children: (0, jsx_runtime_1.jsxs)(styles.SqlRequestGridContainer, { children: [sidebarVisible ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(FiltersSidebar_1.FiltersSidebar, { props: allProps, context: DataGridContext, onClose: onSidebarClose, onClearFilters: onClearFilters }) })) : ((0, jsx_runtime_1.jsx)(forms_1.IconButton, { size: "large", onClick: function () { return setSidebarVisible(true); }, icon: Icons_1.FilterFullIcon, color: "primary", rounded: true, style: {
227
- position: 'absolute',
228
- bottom: 'var(--space-2)',
229
- right: 'var(--space-2)',
230
- zIndex: 1,
231
- } })), (0, jsx_runtime_1.jsx)(VirtualScroller_1.VirtualScroller, { gridTemplateColumns: "repeat(".concat(itemsPerRow, ", 1fr)"), items: rows, itemTemplate: itemTemplate, itemsPerRow: itemsPerRow, itemProps: itemProps, rowHeightInPx: rowHeight, onRangeChanged: onVisibleRowsChanged, gap: gap })] }) }));
142
+ return ((0, jsx_runtime_1.jsx)(styles.SqlRequestGridContainer, { children: (0, jsx_runtime_1.jsx)(VirtualScroller_1.VirtualScroller, { gridTemplateColumns: "repeat(".concat(itemsPerRow, ", 1fr)"), items: rows, itemTemplate: itemTemplate, itemsPerRow: itemsPerRow, itemProps: itemProps, rowHeightInPx: rowHeight, onRangeChanged: onVisibleRowsChanged, gap: gap }) }));
232
143
  };
233
144
  exports.SqlRequestGridInner = SqlRequestGridInner;
234
145
  exports.SqlRequestGrid = (0, react_1.forwardRef)(exports.SqlRequestGridInner);
@@ -2,3 +2,15 @@ export declare const DEFAULT_ROW_HEIGHT = 200;
2
2
  export declare const SqlRequestGridContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
3
3
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
4
4
  }>, never>, never>> & string;
5
+ export declare const TopPaddingRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
6
+ export declare const BottomPaddingRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
7
+ export declare const VirtualScrollerContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
8
+ $height: number;
9
+ }>> & string;
10
+ export declare const VirtualScrollerRowsContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
11
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
12
+ }>, {
13
+ $gridTemplateColumns: string;
14
+ $topPadding: number;
15
+ $rowHeight?: number;
16
+ }>, never>> & string;
@@ -7,11 +7,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.SqlRequestGridContainer = exports.DEFAULT_ROW_HEIGHT = void 0;
11
- var styles_1 = require("../VirtualScroller/styles");
10
+ exports.VirtualScrollerRowsContainer = exports.VirtualScrollerContainer = exports.BottomPaddingRow = exports.TopPaddingRow = exports.SqlRequestGridContainer = exports.DEFAULT_ROW_HEIGHT = void 0;
12
11
  var styled_components_1 = __importDefault(require("styled-components"));
13
12
  exports.DEFAULT_ROW_HEIGHT = 200;
14
13
  exports.SqlRequestGridContainer = styled_components_1.default.div.attrs({
15
14
  className: 'SqlRequestGridContainer',
16
- })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 100%;\n width: 100%;\n overflow: auto;\n position: relative;\n\n ", " {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n }\n"], ["\n height: 100%;\n width: 100%;\n overflow: auto;\n position: relative;\n\n ", " {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n }\n"])), styles_1.VirtualScrollerContainer);
17
- var templateObject_1;
15
+ })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 100%;\n width: 100%;\n overflow: auto;\n"], ["\n height: 100%;\n width: 100%;\n overflow: auto;\n"])));
16
+ exports.TopPaddingRow = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([""], [""])));
17
+ exports.BottomPaddingRow = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([""], [""])));
18
+ exports.VirtualScrollerContainer = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n position: relative;\n overflow: visible;\n height: ", ";\n"], ["\n position: relative;\n overflow: visible;\n height: ", ";\n"])), function (_a) {
19
+ var $height = _a.$height;
20
+ return "".concat($height, "px");
21
+ });
22
+ exports.VirtualScrollerRowsContainer = styled_components_1.default.div.attrs(function (_a) {
23
+ var $gridTemplateColumns = _a.$gridTemplateColumns, $topPadding = _a.$topPadding, _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_ROW_HEIGHT : _b;
24
+ var rowHeightValue = "".concat($rowHeight, "px");
25
+ return {
26
+ style: {
27
+ top: "".concat($topPadding, "px"),
28
+ gridTemplateColumns: $gridTemplateColumns,
29
+ gridAutoRows: rowHeightValue,
30
+ },
31
+ };
32
+ })(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: grid;\n position: absolute;\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n }\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: -1;\n }\n"], ["\n display: grid;\n position: absolute;\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n }\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: -1;\n }\n"])), exports.TopPaddingRow, exports.BottomPaddingRow);
33
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;