ydb-embedded-ui 9.2.0 → 9.2.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 (202) hide show
  1. package/dist/components/PaginatedTable/PaginatedTable.d.ts +3 -5
  2. package/dist/components/PaginatedTable/PaginatedTable.js +14 -24
  3. package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
  4. package/dist/components/PaginatedTable/PaginatedTableContext.d.ts +17 -0
  5. package/dist/components/PaginatedTable/PaginatedTableContext.js +51 -0
  6. package/dist/components/PaginatedTable/PaginatedTableContext.js.map +1 -0
  7. package/dist/components/PaginatedTable/PaginatedTableWithLayout.d.ts +12 -0
  8. package/dist/components/PaginatedTable/PaginatedTableWithLayout.js +5 -0
  9. package/dist/components/PaginatedTable/PaginatedTableWithLayout.js.map +1 -0
  10. package/dist/components/PaginatedTable/types.d.ts +4 -3
  11. package/dist/components/PaginatedTable/useScrollBasedChunks.d.ts +2 -2
  12. package/dist/components/PaginatedTable/useScrollBasedChunks.js +5 -5
  13. package/dist/components/PaginatedTable/useScrollBasedChunks.js.map +1 -1
  14. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.d.ts +8 -4
  15. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js +14 -4
  16. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js.map +1 -1
  17. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.scss +8 -3
  18. package/dist/components/TableWithControlsLayout/useTableScroll.d.ts +43 -0
  19. package/dist/components/TableWithControlsLayout/useTableScroll.js +87 -0
  20. package/dist/components/TableWithControlsLayout/useTableScroll.js.map +1 -0
  21. package/dist/containers/Cluster/Cluster.js +3 -3
  22. package/dist/containers/Cluster/Cluster.js.map +1 -1
  23. package/dist/containers/Cluster/Cluster.scss +4 -1
  24. package/dist/containers/Node/Node.js +2 -2
  25. package/dist/containers/Node/Node.js.map +1 -1
  26. package/dist/containers/Nodes/Nodes.d.ts +2 -2
  27. package/dist/containers/Nodes/Nodes.js +5 -86
  28. package/dist/containers/Nodes/Nodes.js.map +1 -1
  29. package/dist/containers/Nodes/NodesTable.d.ts +2 -4
  30. package/dist/containers/Nodes/NodesTable.js +2 -2
  31. package/dist/containers/Nodes/NodesTable.js.map +1 -1
  32. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.d.ts +18 -0
  33. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +60 -0
  34. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -0
  35. package/dist/containers/Nodes/PaginatedNodes/NodesComponent.d.ts +18 -0
  36. package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js +20 -0
  37. package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js.map +1 -0
  38. package/dist/containers/Nodes/PaginatedNodes/NodesControlsWithTableState.d.ts +11 -0
  39. package/dist/containers/Nodes/PaginatedNodes/NodesControlsWithTableState.js +8 -0
  40. package/dist/containers/Nodes/PaginatedNodes/NodesControlsWithTableState.js.map +1 -0
  41. package/dist/containers/Nodes/PaginatedNodes/PaginatedNodes.d.ts +18 -0
  42. package/dist/containers/Nodes/PaginatedNodes/PaginatedNodes.js +39 -0
  43. package/dist/containers/Nodes/PaginatedNodes/PaginatedNodes.js.map +1 -0
  44. package/dist/containers/Nodes/PaginatedNodes/index.d.ts +1 -0
  45. package/dist/containers/Nodes/PaginatedNodes/index.js +2 -0
  46. package/dist/containers/Nodes/PaginatedNodes/index.js.map +1 -0
  47. package/dist/containers/PDiskPage/PDiskPage.js +1 -1
  48. package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
  49. package/dist/containers/Storage/PaginatedStorage.d.ts +1 -1
  50. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.d.ts +23 -0
  51. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js +64 -0
  52. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js.map +1 -0
  53. package/dist/containers/Storage/{PaginatedStorageGroups.d.ts → PaginatedStorageGroups/PaginatedStorageGroups.d.ts} +2 -2
  54. package/dist/containers/Storage/PaginatedStorageGroups/PaginatedStorageGroups.js +28 -0
  55. package/dist/containers/Storage/PaginatedStorageGroups/PaginatedStorageGroups.js.map +1 -0
  56. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.d.ts +2 -0
  57. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js +21 -0
  58. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js.map +1 -0
  59. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.d.ts +18 -0
  60. package/dist/containers/Storage/{StorageControls/StorageControls.js → PaginatedStorageGroups/StorageGroupsControls.js} +6 -10
  61. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -0
  62. package/dist/containers/Storage/PaginatedStorageGroups/index.d.ts +1 -0
  63. package/dist/containers/Storage/PaginatedStorageGroups/index.js +2 -0
  64. package/dist/containers/Storage/PaginatedStorageGroups/index.js.map +1 -0
  65. package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/PaginatedStorageGroupsTable.d.ts +3 -4
  66. package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/PaginatedStorageGroupsTable.js +2 -2
  67. package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js.map +1 -0
  68. package/dist/containers/Storage/PaginatedStorageGroupsTable/StorageGroupsEmptyDataMessage.js.map +1 -0
  69. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -0
  70. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -0
  71. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -0
  72. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.js.map +1 -0
  73. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/types.js.map +1 -0
  74. package/dist/containers/Storage/PaginatedStorageGroupsTable/getGroups.js.map +1 -0
  75. package/dist/containers/Storage/PaginatedStorageGroupsTable/i18n/index.js.map +1 -0
  76. package/dist/containers/Storage/PaginatedStorageGroupsTable/index.d.ts +1 -0
  77. package/dist/containers/Storage/PaginatedStorageGroupsTable/index.js +2 -0
  78. package/dist/containers/Storage/PaginatedStorageGroupsTable/index.js.map +1 -0
  79. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.d.ts +22 -0
  80. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js +66 -0
  81. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js.map +1 -0
  82. package/dist/containers/Storage/PaginatedStorageNodes/PaginatedStorageNodes.d.ts +3 -0
  83. package/dist/containers/Storage/PaginatedStorageNodes/PaginatedStorageNodes.js +30 -0
  84. package/dist/containers/Storage/PaginatedStorageNodes/PaginatedStorageNodes.js.map +1 -0
  85. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.d.ts +2 -0
  86. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js +24 -0
  87. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js.map +1 -0
  88. package/dist/containers/Storage/{StorageControls/StorageControls.d.ts → PaginatedStorageNodes/StorageNodesControls.d.ts} +6 -1
  89. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js +25 -0
  90. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js.map +1 -0
  91. package/dist/containers/Storage/PaginatedStorageNodes/index.d.ts +1 -0
  92. package/dist/containers/Storage/PaginatedStorageNodes/index.js +2 -0
  93. package/dist/containers/Storage/PaginatedStorageNodes/index.js.map +1 -0
  94. package/dist/containers/Storage/PaginatedStorageNodes/useStorageNodesColumnsToSelect.d.ts +11 -0
  95. package/dist/containers/Storage/PaginatedStorageNodes/useStorageNodesColumnsToSelect.js +15 -0
  96. package/dist/containers/Storage/PaginatedStorageNodes/useStorageNodesColumnsToSelect.js.map +1 -0
  97. package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/PaginatedStorageNodesTable.d.ts +3 -4
  98. package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/PaginatedStorageNodesTable.js +2 -2
  99. package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js.map +1 -0
  100. package/dist/containers/Storage/PaginatedStorageNodesTable/StorageNodesEmptyDataMessage.js.map +1 -0
  101. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js.map +1 -0
  102. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/constants.js.map +1 -0
  103. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -0
  104. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/types.js.map +1 -0
  105. package/dist/containers/Storage/PaginatedStorageNodesTable/getNodes.js.map +1 -0
  106. package/dist/containers/Storage/PaginatedStorageNodesTable/i18n/index.js.map +1 -0
  107. package/dist/containers/Storage/PaginatedStorageNodesTable/index.d.ts +1 -0
  108. package/dist/containers/Storage/PaginatedStorageNodesTable/index.js +2 -0
  109. package/dist/containers/Storage/PaginatedStorageNodesTable/index.js.map +1 -0
  110. package/dist/containers/Storage/TableGroup/TableGroup.d.ts +4 -1
  111. package/dist/containers/Storage/TableGroup/TableGroup.js +3 -2
  112. package/dist/containers/Storage/TableGroup/TableGroup.js.map +1 -1
  113. package/dist/containers/Storage/i18n/index.d.ts +1 -1
  114. package/dist/containers/Storage/useStorageQueryParams.js +2 -2
  115. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  116. package/dist/containers/Storage/utils/useStorageColumnsSettings.d.ts +1 -1
  117. package/dist/containers/StorageGroupPage/StorageGroupPage.js +1 -1
  118. package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
  119. package/dist/containers/Tablets/Tablets.d.ts +2 -1
  120. package/dist/containers/Tablets/Tablets.js +2 -2
  121. package/dist/containers/Tablets/Tablets.js.map +1 -1
  122. package/dist/containers/Tablets/TabletsTable.d.ts +3 -1
  123. package/dist/containers/Tablets/TabletsTable.js +2 -2
  124. package/dist/containers/Tablets/TabletsTable.js.map +1 -1
  125. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +5 -5
  126. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  127. package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.d.ts +2 -2
  128. package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js +2 -2
  129. package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js.map +1 -1
  130. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +2 -2
  131. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  132. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.d.ts +2 -2
  133. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +35 -15
  134. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
  135. package/dist/containers/Tenants/Tenants.d.ts +3 -1
  136. package/dist/containers/Tenants/Tenants.js +2 -2
  137. package/dist/containers/Tenants/Tenants.js.map +1 -1
  138. package/dist/containers/Tenants/Tenants.scss +2 -0
  139. package/dist/containers/VDiskPage/VDiskPage.js +1 -1
  140. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  141. package/package.json +1 -1
  142. package/dist/containers/Storage/PaginatedStorageGroups.js +0 -86
  143. package/dist/containers/Storage/PaginatedStorageGroups.js.map +0 -1
  144. package/dist/containers/Storage/PaginatedStorageNodes.d.ts +0 -3
  145. package/dist/containers/Storage/PaginatedStorageNodes.js +0 -110
  146. package/dist/containers/Storage/PaginatedStorageNodes.js.map +0 -1
  147. package/dist/containers/Storage/StorageControls/StorageControls.js.map +0 -1
  148. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroupsTable.js.map +0 -1
  149. package/dist/containers/Storage/StorageGroups/StorageGroupsEmptyDataMessage.js.map +0 -1
  150. package/dist/containers/Storage/StorageGroups/columns/columns.js.map +0 -1
  151. package/dist/containers/Storage/StorageGroups/columns/constants.js.map +0 -1
  152. package/dist/containers/Storage/StorageGroups/columns/hooks.js.map +0 -1
  153. package/dist/containers/Storage/StorageGroups/columns/i18n/index.js.map +0 -1
  154. package/dist/containers/Storage/StorageGroups/columns/types.js.map +0 -1
  155. package/dist/containers/Storage/StorageGroups/getGroups.js.map +0 -1
  156. package/dist/containers/Storage/StorageGroups/i18n/index.js.map +0 -1
  157. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodesTable.js.map +0 -1
  158. package/dist/containers/Storage/StorageNodes/StorageNodesEmptyDataMessage.js.map +0 -1
  159. package/dist/containers/Storage/StorageNodes/columns/columns.js.map +0 -1
  160. package/dist/containers/Storage/StorageNodes/columns/constants.js.map +0 -1
  161. package/dist/containers/Storage/StorageNodes/columns/hooks.js.map +0 -1
  162. package/dist/containers/Storage/StorageNodes/columns/types.js.map +0 -1
  163. package/dist/containers/Storage/StorageNodes/getNodes.js.map +0 -1
  164. package/dist/containers/Storage/StorageNodes/i18n/index.js.map +0 -1
  165. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/StorageGroupsEmptyDataMessage.d.ts +0 -0
  166. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/StorageGroupsEmptyDataMessage.js +0 -0
  167. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/StorageGroupsColumns.scss +0 -0
  168. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/columns.d.ts +0 -0
  169. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/columns.js +0 -0
  170. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/constants.d.ts +0 -0
  171. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/constants.js +0 -0
  172. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/hooks.d.ts +0 -0
  173. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/hooks.js +0 -0
  174. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/i18n/en.json +0 -0
  175. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/i18n/index.d.ts +0 -0
  176. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/i18n/index.js +0 -0
  177. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/types.d.ts +0 -0
  178. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/types.js +0 -0
  179. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/getGroups.d.ts +0 -0
  180. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/getGroups.js +0 -0
  181. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/i18n/en.json +0 -0
  182. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/i18n/index.d.ts +0 -0
  183. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/i18n/index.js +0 -0
  184. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/i18n/ru.json +0 -0
  185. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/StorageNodes.scss +0 -0
  186. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/StorageNodesEmptyDataMessage.d.ts +0 -0
  187. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/StorageNodesEmptyDataMessage.js +0 -0
  188. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/StorageNodesColumns.scss +0 -0
  189. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/columns.d.ts +0 -0
  190. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/columns.js +0 -0
  191. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/constants.d.ts +0 -0
  192. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/constants.js +0 -0
  193. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/hooks.d.ts +0 -0
  194. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/hooks.js +0 -0
  195. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/types.d.ts +0 -0
  196. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/types.js +0 -0
  197. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/getNodes.d.ts +0 -0
  198. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/getNodes.js +0 -0
  199. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/i18n/en.json +0 -0
  200. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/i18n/index.d.ts +0 -0
  201. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/i18n/index.js +0 -0
  202. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/i18n/ru.json +0 -0
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { Column, FetchData, GetRowClassName, HandleTableColumnsResize, PaginatedTableData, RenderControls, RenderEmptyDataMessage, RenderErrorMessage, SortParams } from './types';
2
+ import type { Column, FetchData, GetRowClassName, HandleTableColumnsResize, PaginatedTableData, RenderEmptyDataMessage, RenderErrorMessage } from './types';
3
3
  import './PaginatedTable.scss';
4
4
  export interface PaginatedTableProps<T, F> {
5
5
  limit?: number;
@@ -10,14 +10,12 @@ export interface PaginatedTableProps<T, F> {
10
10
  columns: Column<T>[];
11
11
  getRowClassName?: GetRowClassName<T>;
12
12
  rowHeight?: number;
13
- parentRef: React.RefObject<HTMLElement>;
14
- initialSortParams?: SortParams;
13
+ scrollContainerRef: React.RefObject<HTMLElement>;
15
14
  onColumnsResize?: HandleTableColumnsResize;
16
- renderControls?: RenderControls;
17
15
  renderEmptyDataMessage?: RenderEmptyDataMessage;
18
16
  renderErrorMessage?: RenderErrorMessage;
19
17
  containerClassName?: string;
20
18
  onDataFetched?: (data: PaginatedTableData<T>) => void;
21
19
  keepCache?: boolean;
22
20
  }
23
- export declare const PaginatedTable: <T, F>({ limit: chunkSize, initialEntitiesCount, fetchData, filters: rawFilters, tableName, columns, getRowClassName, rowHeight, parentRef, initialSortParams, onColumnsResize, renderControls, renderErrorMessage, renderEmptyDataMessage, containerClassName, onDataFetched, keepCache, }: PaginatedTableProps<T, F>) => import("react/jsx-runtime").JSX.Element;
21
+ export declare const PaginatedTable: <T, F>({ limit: chunkSize, initialEntitiesCount, fetchData, filters: rawFilters, tableName, columns, getRowClassName, rowHeight, scrollContainerRef, onColumnsResize, renderErrorMessage, renderEmptyDataMessage, containerClassName, onDataFetched, keepCache, }: PaginatedTableProps<T, F>) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { TableWithControlsLayout } from '../TableWithControlsLayout/TableWithControlsLayout';
3
+ import { usePaginatedTableState } from './PaginatedTableContext';
4
4
  import { TableChunk } from './TableChunk';
5
5
  import { TableHead } from './TableHead';
6
6
  import { DEFAULT_TABLE_ROW_HEIGHT } from './constants';
@@ -8,16 +8,13 @@ import { b } from './shared';
8
8
  import { useScrollBasedChunks } from './useScrollBasedChunks';
9
9
  import './PaginatedTable.scss';
10
10
  const DEFAULT_PAGINATION_LIMIT = 20;
11
- export const PaginatedTable = ({ limit: chunkSize = DEFAULT_PAGINATION_LIMIT, initialEntitiesCount, fetchData, filters: rawFilters, tableName, columns, getRowClassName, rowHeight = DEFAULT_TABLE_ROW_HEIGHT, parentRef, initialSortParams, onColumnsResize, renderControls, renderErrorMessage, renderEmptyDataMessage, containerClassName, onDataFetched, keepCache = true, }) => {
12
- const initialTotal = initialEntitiesCount || 0;
13
- const initialFound = initialEntitiesCount || 1;
14
- const [sortParams, setSortParams] = React.useState(initialSortParams);
15
- const [totalEntities, setTotalEntities] = React.useState(initialTotal);
16
- const [foundEntities, setFoundEntities] = React.useState(initialFound);
17
- const [isInitialLoad, setIsInitialLoad] = React.useState(true);
11
+ export const PaginatedTable = ({ limit: chunkSize = DEFAULT_PAGINATION_LIMIT, initialEntitiesCount, fetchData, filters: rawFilters, tableName, columns, getRowClassName, rowHeight = DEFAULT_TABLE_ROW_HEIGHT, scrollContainerRef, onColumnsResize, renderErrorMessage, renderEmptyDataMessage, containerClassName, onDataFetched, keepCache = true, }) => {
12
+ // Get state and setters from context
13
+ const { tableState, setSortParams, setTotalEntities, setFoundEntities, setIsInitialLoad } = usePaginatedTableState();
14
+ const { sortParams, foundEntities } = tableState;
18
15
  const tableRef = React.useRef(null);
19
16
  const activeChunks = useScrollBasedChunks({
20
- parentRef,
17
+ scrollContainerRef,
21
18
  tableRef,
22
19
  totalItems: foundEntities,
23
20
  rowHeight,
@@ -43,26 +40,19 @@ export const PaginatedTable = ({ limit: chunkSize = DEFAULT_PAGINATION_LIMIT, in
43
40
  setIsInitialLoad(false);
44
41
  onDataFetched === null || onDataFetched === void 0 ? void 0 : onDataFetched(data);
45
42
  }
46
- }, [onDataFetched]);
47
- // reset table on filters change
43
+ }, [onDataFetched, setFoundEntities, setIsInitialLoad, setTotalEntities]);
44
+ // Reset table on initialization and filters change
48
45
  React.useLayoutEffect(() => {
49
- setTotalEntities(initialTotal);
50
- setFoundEntities(initialFound);
46
+ const defaultTotal = initialEntitiesCount || 0;
47
+ const defaultFound = initialEntitiesCount || 1;
48
+ setTotalEntities(defaultTotal);
49
+ setFoundEntities(defaultFound);
51
50
  setIsInitialLoad(true);
52
- if (parentRef === null || parentRef === void 0 ? void 0 : parentRef.current) {
53
- parentRef.current.scrollTo(0, 0);
54
- }
55
- }, [rawFilters, initialFound, initialTotal, parentRef]);
51
+ }, [initialEntitiesCount, setTotalEntities, setFoundEntities, setIsInitialLoad]);
56
52
  const renderChunks = () => {
57
53
  return activeChunks.map((isActive, index) => (_jsx(TableChunk, { id: index, calculatedCount: index === activeChunks.length - 1 ? lastChunkSize : chunkSize, chunkSize: chunkSize, rowHeight: rowHeight, columns: columns, fetchData: fetchData, filters: filters, tableName: tableName, sortParams: sortParams, getRowClassName: getRowClassName, renderErrorMessage: renderErrorMessage, renderEmptyDataMessage: renderEmptyDataMessage, onDataFetched: handleDataFetched, isActive: isActive, keepCache: keepCache }, index)));
58
54
  };
59
55
  const renderTable = () => (_jsxs("table", { className: b('table'), children: [_jsx(TableHead, { columns: columns, onSort: setSortParams, onColumnsResize: onColumnsResize }), renderChunks()] }));
60
- const renderContent = () => {
61
- if (renderControls) {
62
- return (_jsxs(TableWithControlsLayout, { children: [_jsx(TableWithControlsLayout.Controls, { children: renderControls({ inited: !isInitialLoad, totalEntities, foundEntities }) }), _jsx(TableWithControlsLayout.Table, { children: renderTable() })] }));
63
- }
64
- return renderTable();
65
- };
66
- return (_jsx("div", { ref: tableRef, className: b(null, containerClassName), children: renderContent() }));
56
+ return (_jsx("div", { ref: tableRef, className: b(null, containerClassName), children: renderTable() }));
67
57
  };
68
58
  //# sourceMappingURL=PaginatedTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedTable.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/PaginatedTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaginatedTable.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/PaginatedTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { PaginatedTableState } from './types';
3
+ interface PaginatedTableStateContextType {
4
+ tableState: PaginatedTableState;
5
+ setSortParams: (params: PaginatedTableState['sortParams']) => void;
6
+ setTotalEntities: (total: number) => void;
7
+ setFoundEntities: (found: number) => void;
8
+ setIsInitialLoad: (isInitial: boolean) => void;
9
+ }
10
+ export declare const PaginatedTableStateContext: React.Context<PaginatedTableStateContextType>;
11
+ interface PaginatedTableStateProviderProps {
12
+ children: React.ReactNode;
13
+ initialState?: Partial<PaginatedTableState>;
14
+ }
15
+ export declare const PaginatedTableProvider: ({ children, initialState, }: PaginatedTableStateProviderProps) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const usePaginatedTableState: () => PaginatedTableStateContextType;
17
+ export {};
@@ -0,0 +1,51 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ // Default state for the table
4
+ const defaultTableState = {
5
+ sortParams: undefined,
6
+ totalEntities: 0,
7
+ foundEntities: 0,
8
+ isInitialLoad: true,
9
+ };
10
+ // Creating the context with default values
11
+ export const PaginatedTableStateContext = React.createContext({
12
+ tableState: defaultTableState,
13
+ setSortParams: () => undefined,
14
+ setTotalEntities: () => undefined,
15
+ setFoundEntities: () => undefined,
16
+ setIsInitialLoad: () => undefined,
17
+ });
18
+ // Provider component
19
+ export const PaginatedTableProvider = ({ children, initialState = {}, }) => {
20
+ var _a, _b, _c, _d;
21
+ // Use individual state variables for each field
22
+ const [sortParams, setSortParams] = React.useState((_a = initialState.sortParams) !== null && _a !== void 0 ? _a : defaultTableState.sortParams);
23
+ const [totalEntities, setTotalEntities] = React.useState((_b = initialState.totalEntities) !== null && _b !== void 0 ? _b : defaultTableState.totalEntities);
24
+ const [foundEntities, setFoundEntities] = React.useState((_c = initialState.foundEntities) !== null && _c !== void 0 ? _c : defaultTableState.foundEntities);
25
+ const [isInitialLoad, setIsInitialLoad] = React.useState((_d = initialState.isInitialLoad) !== null && _d !== void 0 ? _d : defaultTableState.isInitialLoad);
26
+ // Construct tableState from individual state variables
27
+ const tableState = React.useMemo(() => ({
28
+ sortParams,
29
+ totalEntities,
30
+ foundEntities,
31
+ isInitialLoad,
32
+ }), [sortParams, totalEntities, foundEntities, isInitialLoad]);
33
+ // Create the context value with the constructed tableState and direct setters
34
+ const contextValue = React.useMemo(() => ({
35
+ tableState,
36
+ setSortParams,
37
+ setTotalEntities,
38
+ setFoundEntities,
39
+ setIsInitialLoad,
40
+ }), [tableState, setSortParams, setTotalEntities, setFoundEntities, setIsInitialLoad]);
41
+ return (_jsx(PaginatedTableStateContext.Provider, { value: contextValue, children: children }));
42
+ };
43
+ // Custom hook for consuming the context
44
+ export const usePaginatedTableState = () => {
45
+ const context = React.useContext(PaginatedTableStateContext);
46
+ if (context === undefined) {
47
+ throw new Error('usePaginatedTableState must be used within a PaginatedTableStateProvider');
48
+ }
49
+ return context;
50
+ };
51
+ //# sourceMappingURL=PaginatedTableContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginatedTableContext.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/PaginatedTableContext.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,8BAA8B;AAC9B,MAAM,iBAAiB,GAAwB;IAC3C,UAAU,EAAE,SAAS;IACrB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,IAAI;CACtB,CAAC;AAcF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC,aAAa,CAAiC;IAC1F,UAAU,EAAE,iBAAiB;IAC7B,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;IAC9B,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;IACjC,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;IACjC,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;CACpC,CAAC,CAAC;AAQH,qBAAqB;AACrB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACnC,QAAQ,EACR,YAAY,GAAG,EAAE,GACc,EAAE,EAAE;;IACnC,gDAAgD;IAChD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC9C,MAAA,YAAY,CAAC,UAAU,mCAAI,iBAAiB,CAAC,UAAU,CAC1D,CAAC;IACF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpD,MAAA,YAAY,CAAC,aAAa,mCAAI,iBAAiB,CAAC,aAAa,CAChE,CAAC;IACF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpD,MAAA,YAAY,CAAC,aAAa,mCAAI,iBAAiB,CAAC,aAAa,CAChE,CAAC;IACF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpD,MAAA,YAAY,CAAC,aAAa,mCAAI,iBAAiB,CAAC,aAAa,CAChE,CAAC;IAEF,uDAAuD;IACvD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAC5B,GAAG,EAAE,CAAC,CAAC;QACH,UAAU;QACV,aAAa;QACb,aAAa;QACb,aAAa;KAChB,CAAC,EACF,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAC5D,CAAC;IAEF,8EAA8E;IAC9E,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CAAC,CAAC;QACH,UAAU;QACV,aAAa;QACb,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;KACnB,CAAC,EACF,CAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CACpF,CAAC;IAEF,OAAO,CACH,KAAC,0BAA0B,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YACnD,QAAQ,GACyB,CACzC,CAAC;AACN,CAAC,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;IAE7D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { TableProps } from '../TableWithControlsLayout/TableWithControlsLayout';
3
+ import type { PaginatedTableState } from './types';
4
+ export interface PaginatedTableWithLayoutProps {
5
+ controls: React.ReactNode;
6
+ table: React.ReactNode;
7
+ tableProps?: TableProps;
8
+ error?: React.ReactNode;
9
+ initialState?: Partial<PaginatedTableState>;
10
+ fullHeight?: boolean;
11
+ }
12
+ export declare const PaginatedTableWithLayout: ({ controls, table, tableProps, error, initialState, fullHeight, }: PaginatedTableWithLayoutProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { TableWithControlsLayout } from '../TableWithControlsLayout/TableWithControlsLayout';
3
+ import { PaginatedTableProvider } from './PaginatedTableContext';
4
+ export const PaginatedTableWithLayout = ({ controls, table, tableProps, error, initialState, fullHeight = true, }) => (_jsx(PaginatedTableProvider, { initialState: initialState, children: _jsxs(TableWithControlsLayout, { fullHeight: fullHeight, children: [_jsx(TableWithControlsLayout.Controls, { children: controls }), error, _jsx(TableWithControlsLayout.Table, { ...(tableProps || {}), children: table })] }) }));
5
+ //# sourceMappingURL=PaginatedTableWithLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginatedTableWithLayout.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/PaginatedTableWithLayout.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,uBAAuB,EAAC,MAAM,oDAAoD,CAAC;AAG3F,OAAO,EAAC,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAY/D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACrC,QAAQ,EACR,KAAK,EACL,UAAU,EACV,KAAK,EACL,YAAY,EACZ,UAAU,GAAG,IAAI,GACW,EAAE,EAAE,CAAC,CACjC,KAAC,sBAAsB,IAAC,YAAY,EAAE,YAAY,YAC9C,MAAC,uBAAuB,IAAC,UAAU,EAAE,UAAU,aAC3C,KAAC,uBAAuB,CAAC,QAAQ,cAAE,QAAQ,GAAoC,EAC9E,KAAK,EACN,KAAC,uBAAuB,CAAC,KAAK,OAAK,CAAC,UAAU,IAAI,EAAE,CAAC,YAChD,KAAK,GACsB,IACV,GACL,CAC5B,CAAC"}
@@ -48,12 +48,13 @@ type FetchDataParams<F, E = {}> = {
48
48
  } & E;
49
49
  export type FetchData<T, F = undefined, E = {}> = (params: FetchDataParams<F, E>) => Promise<PaginatedTableData<T>>;
50
50
  export type OnError = (error?: IResponseError) => void;
51
- interface ControlsParams {
51
+ export interface PaginatedTableState {
52
+ sortParams?: SortParams;
52
53
  totalEntities: number;
53
54
  foundEntities: number;
54
- inited: boolean;
55
+ isInitialLoad: boolean;
55
56
  }
56
- export type RenderControls = (params: ControlsParams) => React.ReactNode;
57
+ export type RenderControls = () => React.ReactNode;
57
58
  export type RenderEmptyDataMessage = () => React.ReactNode;
58
59
  export type RenderErrorMessage = (error: IResponseError) => React.ReactNode;
59
60
  export type GetRowClassName<T> = (row: T) => string;
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  interface UseScrollBasedChunksProps {
3
- parentRef: React.RefObject<HTMLElement>;
3
+ scrollContainerRef: React.RefObject<HTMLElement>;
4
4
  tableRef: React.RefObject<HTMLElement>;
5
5
  totalItems: number;
6
6
  rowHeight: number;
7
7
  chunkSize: number;
8
8
  overscanCount?: number;
9
9
  }
10
- export declare const useScrollBasedChunks: ({ parentRef, tableRef, totalItems, rowHeight, chunkSize, overscanCount, }: UseScrollBasedChunksProps) => boolean[];
10
+ export declare const useScrollBasedChunks: ({ scrollContainerRef, tableRef, totalItems, rowHeight, chunkSize, overscanCount, }: UseScrollBasedChunksProps) => boolean[];
11
11
  export {};
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import { calculateElementOffsetTop, rafThrottle } from './utils';
3
3
  const DEFAULT_OVERSCAN_COUNT = 1;
4
- export const useScrollBasedChunks = ({ parentRef, tableRef, totalItems, rowHeight, chunkSize, overscanCount = DEFAULT_OVERSCAN_COUNT, }) => {
4
+ export const useScrollBasedChunks = ({ scrollContainerRef, tableRef, totalItems, rowHeight, chunkSize, overscanCount = DEFAULT_OVERSCAN_COUNT, }) => {
5
5
  const chunksCount = React.useMemo(() => Math.ceil(totalItems / chunkSize), [chunkSize, totalItems]);
6
6
  const [startChunk, setStartChunk] = React.useState(0);
7
7
  const [endChunk, setEndChunk] = React.useState(Math.min(overscanCount, Math.max(chunksCount - 1, 0)));
8
8
  const calculateVisibleRange = React.useCallback(() => {
9
- const container = parentRef === null || parentRef === void 0 ? void 0 : parentRef.current;
9
+ const container = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current;
10
10
  const table = tableRef.current;
11
11
  if (!container || !table) {
12
12
  return null;
@@ -18,7 +18,7 @@ export const useScrollBasedChunks = ({ parentRef, tableRef, totalItems, rowHeigh
18
18
  const start = Math.max(Math.floor(visibleStart / rowHeight / chunkSize) - overscanCount, 0);
19
19
  const end = Math.min(Math.floor(visibleEnd / rowHeight / chunkSize) + overscanCount, Math.max(chunksCount - 1, 0));
20
20
  return { start, end };
21
- }, [parentRef, tableRef, rowHeight, chunkSize, overscanCount, chunksCount]);
21
+ }, [scrollContainerRef, tableRef, rowHeight, chunkSize, overscanCount, chunksCount]);
22
22
  const updateVisibleChunks = React.useCallback(() => {
23
23
  const newRange = calculateVisibleRange();
24
24
  if (newRange) {
@@ -42,7 +42,7 @@ export const useScrollBasedChunks = ({ parentRef, tableRef, totalItems, rowHeigh
42
42
  };
43
43
  }, [updateVisibleChunks]);
44
44
  React.useEffect(() => {
45
- const container = parentRef === null || parentRef === void 0 ? void 0 : parentRef.current;
45
+ const container = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current;
46
46
  if (!container) {
47
47
  return undefined;
48
48
  }
@@ -51,7 +51,7 @@ export const useScrollBasedChunks = ({ parentRef, tableRef, totalItems, rowHeigh
51
51
  return () => {
52
52
  container.removeEventListener('scroll', throttledHandleScroll);
53
53
  };
54
- }, [handleScroll, parentRef]);
54
+ }, [handleScroll, scrollContainerRef]);
55
55
  return React.useMemo(() => {
56
56
  // boolean array that represents active chunks
57
57
  const activeChunks = Array(chunksCount).fill(false);
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollBasedChunks.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/useScrollBasedChunks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useScrollBasedChunks.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/useScrollBasedChunks.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,19 @@
1
+ import React from 'react';
1
2
  import './TableWithControlsLayout.scss';
2
3
  interface TableWithControlsLayoutItemProps {
3
- children: React.ReactNode;
4
+ children?: React.ReactNode;
4
5
  renderExtraControls?: () => React.ReactNode;
5
6
  className?: string;
7
+ fullHeight?: boolean;
6
8
  }
7
- interface TableProps extends TableWithControlsLayoutItemProps {
9
+ export interface TableProps extends TableWithControlsLayoutItemProps {
8
10
  loading?: boolean;
11
+ scrollContainerRef?: React.RefObject<HTMLElement>;
12
+ scrollDependencies?: any[];
9
13
  }
10
14
  export declare const TableWithControlsLayout: {
11
- ({ children, className, }: TableWithControlsLayoutItemProps): import("react/jsx-runtime").JSX.Element;
15
+ ({ children, className, fullHeight, }: TableWithControlsLayoutItemProps): import("react/jsx-runtime").JSX.Element;
12
16
  Controls({ children, renderExtraControls, className, }: TableWithControlsLayoutItemProps): import("react/jsx-runtime").JSX.Element;
13
- Table({ children, loading, className }: TableProps): import("react/jsx-runtime").JSX.Element;
17
+ Table({ children, loading, className, scrollContainerRef, scrollDependencies, }: TableProps): import("react/jsx-runtime").JSX.Element;
14
18
  };
15
19
  export {};
@@ -1,19 +1,29 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
2
3
  import { Flex } from '@gravity-ui/uikit';
3
4
  import { cn } from '../../utils/cn';
4
5
  import { TableSkeleton } from '../TableSkeleton/TableSkeleton';
6
+ import { useTableScroll } from './useTableScroll';
5
7
  import './TableWithControlsLayout.scss';
6
8
  const b = cn('ydb-table-with-controls-layout');
7
- export const TableWithControlsLayout = ({ children, className, }) => {
8
- return _jsx("div", { className: b(null, className), children: children });
9
+ export const TableWithControlsLayout = ({ children, className, fullHeight, }) => {
10
+ return _jsx("div", { className: b({ 'full-height': fullHeight }, className), children: children });
9
11
  };
10
12
  TableWithControlsLayout.Controls = function TableControls({ children, renderExtraControls, className, }) {
11
13
  return (_jsxs(Flex, { justifyContent: "space-between", alignItems: "center", className: b('controls-wrapper'), gap: 2, children: [_jsx("div", { className: b('controls', className), children: children }), renderExtraControls === null || renderExtraControls === void 0 ? void 0 : renderExtraControls()] }));
12
14
  };
13
- TableWithControlsLayout.Table = function Table({ children, loading, className }) {
15
+ TableWithControlsLayout.Table = function Table({ children, loading, className, scrollContainerRef, scrollDependencies = [], }) {
16
+ // Create an internal ref for the table container
17
+ const tableContainerRef = React.useRef(null);
18
+ // Use the internal ref for scrolling
19
+ useTableScroll({
20
+ tableContainerRef,
21
+ scrollContainerRef,
22
+ dependencies: scrollDependencies,
23
+ });
14
24
  if (loading) {
15
25
  return _jsx(TableSkeleton, { className: b('loader') });
16
26
  }
17
- return _jsx("div", { className: b('table', className), children: children });
27
+ return (_jsx("div", { ref: tableContainerRef, className: b('table', className), children: children }));
18
28
  };
19
29
  //# sourceMappingURL=TableWithControlsLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableWithControlsLayout.js","sourceRoot":"","sources":["../../../src/components/TableWithControlsLayout/TableWithControlsLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAE7D,OAAO,gCAAgC,CAAC;AAExC,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAC;AAY/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACpC,QAAQ,EACR,SAAS,GACsB,EAAE,EAAE;IACnC,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AAChE,CAAC,CAAC;AAEF,uBAAuB,CAAC,QAAQ,GAAG,SAAS,aAAa,CAAC,EACtD,QAAQ,EACR,mBAAmB,EACnB,SAAS,GACsB;IAC/B,OAAO,CACH,MAAC,IAAI,IACD,cAAc,EAAC,eAAe,EAC9B,UAAU,EAAC,QAAQ,EACnB,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAChC,GAAG,EAAE,CAAC,aAEN,cAAK,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,EACzD,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,EAAI,IACrB,CACV,CAAC;AACN,CAAC,CAAC;AAEF,uBAAuB,CAAC,KAAK,GAAG,SAAS,KAAK,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAa;IACrF,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,KAAC,aAAa,IAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAI,CAAC;IACrD,CAAC;IAED,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AACnE,CAAC,CAAC"}
1
+ {"version":3,"file":"TableWithControlsLayout.js","sourceRoot":"","sources":["../../../src/components/TableWithControlsLayout/TableWithControlsLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,OAAO,gCAAgC,CAAC;AAExC,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAC;AAe/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACpC,QAAQ,EACR,SAAS,EACT,UAAU,GACqB,EAAE,EAAE;IACnC,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,aAAa,EAAE,UAAU,EAAC,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AACvF,CAAC,CAAC;AAEF,uBAAuB,CAAC,QAAQ,GAAG,SAAS,aAAa,CAAC,EACtD,QAAQ,EACR,mBAAmB,EACnB,SAAS,GACsB;IAC/B,OAAO,CACH,MAAC,IAAI,IACD,cAAc,EAAC,eAAe,EAC9B,UAAU,EAAC,QAAQ,EACnB,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAChC,GAAG,EAAE,CAAC,aAEN,cAAK,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,EACzD,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,EAAI,IACrB,CACV,CAAC;AACN,CAAC,CAAC;AAEF,uBAAuB,CAAC,KAAK,GAAG,SAAS,KAAK,CAAC,EAC3C,QAAQ,EACR,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,kBAAkB,GAAG,EAAE,GACd;IACT,iDAAiD;IACjD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7D,qCAAqC;IACrC,cAAc,CAAC;QACX,iBAAiB;QACjB,kBAAkB;QAClB,YAAY,EAAE,kBAAkB;KACnC,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,KAAC,aAAa,IAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAI,CAAC;IACrD,CAAC;IAED,OAAO,CACH,cAAK,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,YACxD,QAAQ,GACP,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -1,13 +1,18 @@
1
1
  @use '../../styles/mixins.scss';
2
2
 
3
3
  .ydb-table-with-controls-layout {
4
- --data-table-sticky-top-offset: 62px;
4
+ // Total height of all fixed elements above table for sticky header positioning
5
+ --data-table-sticky-header-offset: 62px;
5
6
 
6
7
  display: inline-block;
7
8
 
8
9
  box-sizing: border-box;
9
10
  min-width: 100%;
10
11
 
12
+ &_full-height {
13
+ min-height: calc(100% - var(--sticky-tabs-height, 0px));
14
+ }
15
+
11
16
  &__controls-wrapper {
12
17
  z-index: 3;
13
18
 
@@ -33,11 +38,11 @@
33
38
  }
34
39
 
35
40
  .ydb-paginated-table__head {
36
- top: var(--data-table-sticky-top-offset, 62px);
41
+ top: var(--data-table-sticky-header-offset, 62px);
37
42
  }
38
43
 
39
44
  .data-table__sticky_moving {
40
45
  // Place table head right after controls
41
- top: var(--data-table-sticky-top-offset, 62px) !important;
46
+ top: var(--data-table-sticky-header-offset, 62px) !important;
42
47
  }
43
48
  }
@@ -0,0 +1,43 @@
1
+ import React from 'react';
2
+ interface UseTableScrollProps {
3
+ /**
4
+ * Reference to the table container element. This is the element that contains
5
+ * the table and whose position will be adjusted.
6
+ */
7
+ tableContainerRef?: React.RefObject<HTMLDivElement>;
8
+ /**
9
+ * Reference to the scrollable container element. This is the parent element
10
+ * that has scrolling capabilities.
11
+ */
12
+ scrollContainerRef?: React.RefObject<HTMLElement>;
13
+ /**
14
+ * Array of values that, when changed, will trigger the scroll adjustment.
15
+ * Include all values that might affect table height or position to ensure
16
+ * proper scroll adjustment (e.g., filters, sorting, pagination state).
17
+ */
18
+ dependencies?: unknown[];
19
+ }
20
+ /**
21
+ * A hook that manages scrolling behavior for tables within a scrollable container.
22
+ *
23
+ * This hook ensures proper positioning of tables when their content changes,
24
+ * particularly when using sticky headers, by automatically adjusting the scroll position.
25
+ * It reads the `--data-table-sticky-header-offset` CSS variable from the table container
26
+ * to determine the sticky header offset for correct positioning.
27
+ *
28
+ * The scroll adjustment is triggered whenever any of the dependencies change,
29
+ * but is skipped on the first render to prevent unwanted initial scrolling.
30
+ *
31
+ *
32
+ * @param props - The hook parameters
33
+ * @returns An object containing the handleTableScroll function that can be called manually
34
+ */
35
+ export declare const useTableScroll: ({ tableContainerRef, scrollContainerRef, dependencies, }: UseTableScrollProps) => {
36
+ /**
37
+ * Function to manually trigger the table scroll adjustment.
38
+ * This can be useful in cases where you need to adjust the scroll
39
+ * position outside of the dependency changes.
40
+ */
41
+ handleTableScroll: () => void;
42
+ };
43
+ export {};
@@ -0,0 +1,87 @@
1
+ import React from 'react';
2
+ /**
3
+ * A hook that manages scrolling behavior for tables within a scrollable container.
4
+ *
5
+ * This hook ensures proper positioning of tables when their content changes,
6
+ * particularly when using sticky headers, by automatically adjusting the scroll position.
7
+ * It reads the `--data-table-sticky-header-offset` CSS variable from the table container
8
+ * to determine the sticky header offset for correct positioning.
9
+ *
10
+ * The scroll adjustment is triggered whenever any of the dependencies change,
11
+ * but is skipped on the first render to prevent unwanted initial scrolling.
12
+ *
13
+ *
14
+ * @param props - The hook parameters
15
+ * @returns An object containing the handleTableScroll function that can be called manually
16
+ */
17
+ export const useTableScroll = ({ tableContainerRef, scrollContainerRef, dependencies = [], }) => {
18
+ /**
19
+ * Retrieves the sticky header offset from CSS variables.
20
+ *
21
+ * Reads the `--data-table-sticky-header-offset` CSS variable from the table container
22
+ * element and converts it to a number. This value is used to adjust the scroll position
23
+ * to account for sticky headers.
24
+ *
25
+ * @returns The sticky header offset in pixels, or 0 if not defined
26
+ */
27
+ const getStickyTopOffset = React.useCallback(() => {
28
+ // Try to get the variable from parent elements
29
+ if (tableContainerRef === null || tableContainerRef === void 0 ? void 0 : tableContainerRef.current) {
30
+ const computedStyle = window.getComputedStyle(tableContainerRef.current);
31
+ // Read the sticky header offset variable for correct scroll positioning
32
+ const stickyTopOffset = computedStyle.getPropertyValue('--data-table-sticky-header-offset');
33
+ return stickyTopOffset ? parseInt(stickyTopOffset, 10) : 0;
34
+ }
35
+ return 0;
36
+ }, [tableContainerRef]);
37
+ /**
38
+ * Adjusts the scroll position of the container to properly position the table.
39
+ *
40
+ * This function calculates the correct scroll position based on:
41
+ * - The relative position of the table within the scroll container
42
+ * - The sticky header offset (if any)
43
+ *
44
+ * It only adjusts the scroll position if the table would be partially hidden
45
+ * behind the sticky header.
46
+ */
47
+ const handleTableScroll = React.useCallback(() => {
48
+ // Only proceed if both refs and their current properties are available
49
+ if ((tableContainerRef === null || tableContainerRef === void 0 ? void 0 : tableContainerRef.current) && (scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current)) {
50
+ // Get the sticky top offset value
51
+ const stickyTopOffset = getStickyTopOffset();
52
+ // Scroll the parent container to the position of the table container
53
+ const tableRect = tableContainerRef.current.getBoundingClientRect();
54
+ const scrollContainerRect = scrollContainerRef.current.getBoundingClientRect();
55
+ const scrollTop = tableRect.top - scrollContainerRect.top + scrollContainerRef.current.scrollTop;
56
+ if (tableRect.top - stickyTopOffset < scrollContainerRect.top) {
57
+ // Adjust scroll position to account for sticky offset
58
+ scrollContainerRef.current.scrollTo(0, scrollTop - stickyTopOffset);
59
+ }
60
+ }
61
+ }, [scrollContainerRef, tableContainerRef, getStickyTopOffset]);
62
+ /**
63
+ * Triggers the scroll adjustment when dependencies change.
64
+ *
65
+ * Uses useLayoutEffect to adjust the scroll position before browser paint,
66
+ * preventing visual jumps. The adjustment is only performed if both refs
67
+ * are available.
68
+ */
69
+ React.useLayoutEffect(() => {
70
+ // Only proceed if both refs are available
71
+ if (!tableContainerRef || !scrollContainerRef) {
72
+ return;
73
+ }
74
+ // Only scroll on subsequent renders when dependencies change
75
+ handleTableScroll();
76
+ // eslint-disable-next-line react-hooks/exhaustive-deps
77
+ }, [handleTableScroll, tableContainerRef, scrollContainerRef, ...dependencies]);
78
+ return {
79
+ /**
80
+ * Function to manually trigger the table scroll adjustment.
81
+ * This can be useful in cases where you need to adjust the scroll
82
+ * position outside of the dependency changes.
83
+ */
84
+ handleTableScroll,
85
+ };
86
+ };
87
+ //# sourceMappingURL=useTableScroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableScroll.js","sourceRoot":"","sources":["../../../src/components/TableWithControlsLayout/useTableScroll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GAAG,EAAE,GACC,EAAE,EAAE;IACtB;;;;;;;;OAQG;IACH,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC9C,+CAA+C;QAC/C,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,OAAO,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACzE,wEAAwE;YACxE,MAAM,eAAe,GAAG,aAAa,CAAC,gBAAgB,CAClD,mCAAmC,CACtC,CAAC;YAEF,OAAO,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB;;;;;;;;;OASG;IACH,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7C,uEAAuE;QACvE,IAAI,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,OAAO,MAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,CAAA,EAAE,CAAC;YAC5D,kCAAkC;YAClC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;YAE7C,qEAAqE;YACrE,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACpE,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC/E,MAAM,SAAS,GACX,SAAS,CAAC,GAAG,GAAG,mBAAmB,CAAC,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC;YACnF,IAAI,SAAS,CAAC,GAAG,GAAG,eAAe,GAAG,mBAAmB,CAAC,GAAG,EAAE,CAAC;gBAC5D,sDAAsD;gBACtD,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,eAAe,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;IACL,CAAC,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEhE;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACvB,0CAA0C;QAC1C,IAAI,CAAC,iBAAiB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5C,OAAO;QACX,CAAC;QAED,6DAA6D;QAC7D,iBAAiB,EAAE,CAAC;QACpB,uDAAuD;IAC3D,CAAC,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAEhF,OAAO;QACH;;;;WAIG;QACH,iBAAiB;KACpB,CAAC;AACN,CAAC,CAAC"}
@@ -59,9 +59,9 @@ export function Cluster({ additionalClusterProps, additionalTenantsProps, additi
59
59
  dispatch(updateDefaultClusterTab(id));
60
60
  }, children: node }, id));
61
61
  } }) }), _jsx("div", { className: b('content'), children: _jsxs(Switch, { children: [_jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.tablets))
62
- .pathname, children: _jsx(TabletsTable, { loading: infoLoading, tablets: clusterTablets }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.tenants))
63
- .pathname, children: _jsx(Tenants, { additionalTenantsProps: additionalTenantsProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.nodes)).pathname, children: _jsx(Nodes, { parentRef: container, additionalNodesProps: additionalNodesProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.storage))
64
- .pathname, children: _jsx(PaginatedStorage, { parentRef: container }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.versions))
62
+ .pathname, children: _jsx(TabletsTable, { loading: infoLoading, tablets: clusterTablets, scrollContainerRef: container }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.tenants))
63
+ .pathname, children: _jsx(Tenants, { additionalTenantsProps: additionalTenantsProps, scrollContainerRef: container }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.nodes)).pathname, children: _jsx(Nodes, { scrollContainerRef: container, additionalNodesProps: additionalNodesProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.storage))
64
+ .pathname, children: _jsx(PaginatedStorage, { scrollContainerRef: container }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.versions))
65
65
  .pathname, children: _jsx(VersionsContainer, { cluster: cluster, loading: infoLoading }) }), _jsx(Route, { render: () => (_jsx(Redirect, { to: getLocationObjectFromHref(getClusterPath(activeTabId)) })) })] }) })] }));
66
66
  }
67
67
  function useClusterTab() {
@@ -1 +1 @@
1
- {"version":3,"file":"Cluster.js","sourceRoot":"","sources":["../../../src/containers/Cluster/Cluster.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Cluster.js","sourceRoot":"","sources":["../../../src/containers/Cluster/Cluster.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  .ydb-cluster {
4
4
  --cluster-side-padding: var(--g-spacing-5);
5
+ --sticky-tabs-height: 40px;
5
6
  position: relative;
6
7
 
7
8
  overflow: auto;
@@ -22,6 +23,7 @@
22
23
 
23
24
  &__content {
24
25
  width: calc(100% - var(--cluster-side-padding));
26
+ min-height: calc(100% - var(--sticky-tabs-height, 0px));
25
27
  //allows controls of TableWithControlsLayout to stick properly
26
28
  transform: translateX(var(--cluster-side-padding));
27
29
  }
@@ -75,6 +77,7 @@
75
77
  }
76
78
 
77
79
  .ydb-table-with-controls-layout {
78
- --data-table-sticky-top-offset: 102px;
80
+ // Total height of all fixed elements above table for sticky header positioning
81
+ --data-table-sticky-header-offset: 102px;
79
82
  }
80
83
  }