ydb-embedded-ui 9.1.0 → 9.2.1

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 (260) hide show
  1. package/dist/components/EntityStatus/EntityStatus.js +1 -1
  2. package/dist/components/EntityStatus/EntityStatus.js.map +1 -1
  3. package/dist/components/PaginatedTable/PaginatedTable.d.ts +3 -4
  4. package/dist/components/PaginatedTable/PaginatedTable.js +30 -24
  5. package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
  6. package/dist/components/PaginatedTable/PaginatedTableContext.d.ts +17 -0
  7. package/dist/components/PaginatedTable/PaginatedTableContext.js +51 -0
  8. package/dist/components/PaginatedTable/PaginatedTableContext.js.map +1 -0
  9. package/dist/components/PaginatedTable/PaginatedTableWithLayout.d.ts +12 -0
  10. package/dist/components/PaginatedTable/PaginatedTableWithLayout.js +5 -0
  11. package/dist/components/PaginatedTable/PaginatedTableWithLayout.js.map +1 -0
  12. package/dist/components/PaginatedTable/types.d.ts +4 -3
  13. package/dist/components/PaginatedTable/useScrollBasedChunks.d.ts +2 -2
  14. package/dist/components/PaginatedTable/useScrollBasedChunks.js +5 -5
  15. package/dist/components/PaginatedTable/useScrollBasedChunks.js.map +1 -1
  16. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.d.ts +10 -5
  17. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js +18 -7
  18. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js.map +1 -1
  19. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.scss +9 -4
  20. package/dist/components/TableWithControlsLayout/useTableScroll.d.ts +43 -0
  21. package/dist/components/TableWithControlsLayout/useTableScroll.js +87 -0
  22. package/dist/components/TableWithControlsLayout/useTableScroll.js.map +1 -0
  23. package/dist/containers/Cluster/Cluster.js +11 -4
  24. package/dist/containers/Cluster/Cluster.js.map +1 -1
  25. package/dist/containers/Cluster/Cluster.scss +23 -8
  26. package/dist/containers/Cluster/ClusterOverview/ClusterOverview.scss +0 -2
  27. package/dist/containers/Node/Node.js +2 -2
  28. package/dist/containers/Node/Node.js.map +1 -1
  29. package/dist/containers/Nodes/Nodes.d.ts +2 -2
  30. package/dist/containers/Nodes/Nodes.js +5 -86
  31. package/dist/containers/Nodes/Nodes.js.map +1 -1
  32. package/dist/containers/Nodes/Nodes.scss +0 -4
  33. package/dist/containers/Nodes/NodesTable.d.ts +2 -4
  34. package/dist/containers/Nodes/NodesTable.js +2 -2
  35. package/dist/containers/Nodes/NodesTable.js.map +1 -1
  36. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.d.ts +18 -0
  37. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +60 -0
  38. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -0
  39. package/dist/containers/Nodes/PaginatedNodes/NodesComponent.d.ts +18 -0
  40. package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js +20 -0
  41. package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js.map +1 -0
  42. package/dist/containers/Nodes/PaginatedNodes/NodesControlsWithTableState.d.ts +11 -0
  43. package/dist/containers/Nodes/PaginatedNodes/NodesControlsWithTableState.js +8 -0
  44. package/dist/containers/Nodes/PaginatedNodes/NodesControlsWithTableState.js.map +1 -0
  45. package/dist/containers/Nodes/PaginatedNodes/PaginatedNodes.d.ts +18 -0
  46. package/dist/containers/Nodes/PaginatedNodes/PaginatedNodes.js +39 -0
  47. package/dist/containers/Nodes/PaginatedNodes/PaginatedNodes.js.map +1 -0
  48. package/dist/containers/Nodes/PaginatedNodes/index.d.ts +1 -0
  49. package/dist/containers/Nodes/PaginatedNodes/index.js +2 -0
  50. package/dist/containers/Nodes/PaginatedNodes/index.js.map +1 -0
  51. package/dist/containers/PDiskPage/PDiskPage.js +1 -1
  52. package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
  53. package/dist/containers/Storage/PaginatedStorage.d.ts +1 -1
  54. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.d.ts +23 -0
  55. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js +64 -0
  56. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js.map +1 -0
  57. package/dist/containers/Storage/{PaginatedStorageGroups.d.ts → PaginatedStorageGroups/PaginatedStorageGroups.d.ts} +2 -2
  58. package/dist/containers/Storage/PaginatedStorageGroups/PaginatedStorageGroups.js +28 -0
  59. package/dist/containers/Storage/PaginatedStorageGroups/PaginatedStorageGroups.js.map +1 -0
  60. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.d.ts +2 -0
  61. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js +21 -0
  62. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js.map +1 -0
  63. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.d.ts +18 -0
  64. package/dist/containers/Storage/{StorageControls/StorageControls.js → PaginatedStorageGroups/StorageGroupsControls.js} +6 -10
  65. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -0
  66. package/dist/containers/Storage/PaginatedStorageGroups/index.d.ts +1 -0
  67. package/dist/containers/Storage/PaginatedStorageGroups/index.js +2 -0
  68. package/dist/containers/Storage/PaginatedStorageGroups/index.js.map +1 -0
  69. package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/PaginatedStorageGroupsTable.d.ts +3 -4
  70. package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/PaginatedStorageGroupsTable.js +2 -2
  71. package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js.map +1 -0
  72. package/dist/containers/Storage/PaginatedStorageGroupsTable/StorageGroupsEmptyDataMessage.js.map +1 -0
  73. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -0
  74. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -0
  75. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -0
  76. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.js.map +1 -0
  77. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/types.js.map +1 -0
  78. package/dist/containers/Storage/PaginatedStorageGroupsTable/getGroups.js.map +1 -0
  79. package/dist/containers/Storage/PaginatedStorageGroupsTable/i18n/index.js.map +1 -0
  80. package/dist/containers/Storage/PaginatedStorageGroupsTable/index.d.ts +1 -0
  81. package/dist/containers/Storage/PaginatedStorageGroupsTable/index.js +2 -0
  82. package/dist/containers/Storage/PaginatedStorageGroupsTable/index.js.map +1 -0
  83. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.d.ts +22 -0
  84. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js +66 -0
  85. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js.map +1 -0
  86. package/dist/containers/Storage/PaginatedStorageNodes/PaginatedStorageNodes.d.ts +3 -0
  87. package/dist/containers/Storage/PaginatedStorageNodes/PaginatedStorageNodes.js +30 -0
  88. package/dist/containers/Storage/PaginatedStorageNodes/PaginatedStorageNodes.js.map +1 -0
  89. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.d.ts +2 -0
  90. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js +24 -0
  91. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js.map +1 -0
  92. package/dist/containers/Storage/{StorageControls/StorageControls.d.ts → PaginatedStorageNodes/StorageNodesControls.d.ts} +6 -1
  93. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js +25 -0
  94. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js.map +1 -0
  95. package/dist/containers/Storage/PaginatedStorageNodes/index.d.ts +1 -0
  96. package/dist/containers/Storage/PaginatedStorageNodes/index.js +2 -0
  97. package/dist/containers/Storage/PaginatedStorageNodes/index.js.map +1 -0
  98. package/dist/containers/Storage/PaginatedStorageNodes/useStorageNodesColumnsToSelect.d.ts +11 -0
  99. package/dist/containers/Storage/PaginatedStorageNodes/useStorageNodesColumnsToSelect.js +15 -0
  100. package/dist/containers/Storage/PaginatedStorageNodes/useStorageNodesColumnsToSelect.js.map +1 -0
  101. package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/PaginatedStorageNodesTable.d.ts +3 -4
  102. package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/PaginatedStorageNodesTable.js +2 -2
  103. package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js.map +1 -0
  104. package/dist/containers/Storage/PaginatedStorageNodesTable/StorageNodesEmptyDataMessage.js.map +1 -0
  105. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js.map +1 -0
  106. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/constants.js.map +1 -0
  107. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -0
  108. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/types.js.map +1 -0
  109. package/dist/containers/Storage/PaginatedStorageNodesTable/getNodes.js.map +1 -0
  110. package/dist/containers/Storage/PaginatedStorageNodesTable/i18n/index.js.map +1 -0
  111. package/dist/containers/Storage/PaginatedStorageNodesTable/index.d.ts +1 -0
  112. package/dist/containers/Storage/PaginatedStorageNodesTable/index.js +2 -0
  113. package/dist/containers/Storage/PaginatedStorageNodesTable/index.js.map +1 -0
  114. package/dist/containers/Storage/Storage.scss +0 -4
  115. package/dist/containers/Storage/TableGroup/TableGroup.d.ts +4 -1
  116. package/dist/containers/Storage/TableGroup/TableGroup.js +3 -2
  117. package/dist/containers/Storage/TableGroup/TableGroup.js.map +1 -1
  118. package/dist/containers/Storage/i18n/index.d.ts +1 -1
  119. package/dist/containers/Storage/useStorageQueryParams.js +2 -2
  120. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  121. package/dist/containers/Storage/utils/useStorageColumnsSettings.d.ts +1 -1
  122. package/dist/containers/StorageGroupPage/StorageGroupPage.js +1 -1
  123. package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
  124. package/dist/containers/Tablets/Tablets.d.ts +2 -1
  125. package/dist/containers/Tablets/Tablets.js +2 -2
  126. package/dist/containers/Tablets/Tablets.js.map +1 -1
  127. package/dist/containers/Tablets/TabletsTable.d.ts +3 -1
  128. package/dist/containers/Tablets/TabletsTable.js +2 -2
  129. package/dist/containers/Tablets/TabletsTable.js.map +1 -1
  130. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +5 -5
  131. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  132. package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.d.ts +2 -2
  133. package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js +2 -2
  134. package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js.map +1 -1
  135. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +2 -2
  136. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  137. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.d.ts +2 -2
  138. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +35 -15
  139. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
  140. package/dist/containers/Tenant/Diagnostics/TopicData/columns/Columns.scss +1 -14
  141. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.d.ts +16 -0
  142. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +30 -25
  143. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -1
  144. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js +1 -1
  145. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js.map +1 -1
  146. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +4 -2
  147. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
  148. package/dist/containers/Tenant/Query/Preview/Preview.d.ts +2 -8
  149. package/dist/containers/Tenant/Query/Preview/Preview.js +21 -47
  150. package/dist/containers/Tenant/Query/Preview/Preview.js.map +1 -1
  151. package/dist/containers/Tenant/Query/Preview/Preview.scss +9 -20
  152. package/dist/containers/Tenant/Query/Preview/components/PreviewView.d.ts +11 -0
  153. package/dist/containers/Tenant/Query/Preview/components/PreviewView.js +28 -0
  154. package/dist/containers/Tenant/Query/Preview/components/PreviewView.js.map +1 -0
  155. package/dist/containers/Tenant/Query/Preview/components/TablePreview.d.ts +2 -0
  156. package/dist/containers/Tenant/Query/Preview/components/TablePreview.js +25 -0
  157. package/dist/containers/Tenant/Query/Preview/components/TablePreview.js.map +1 -0
  158. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.d.ts +2 -0
  159. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js +53 -0
  160. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js.map +1 -0
  161. package/dist/containers/Tenant/Query/Preview/components/TopicPreviewTable.d.ts +6 -0
  162. package/dist/containers/Tenant/Query/Preview/components/TopicPreviewTable.js +44 -0
  163. package/dist/containers/Tenant/Query/Preview/components/TopicPreviewTable.js.map +1 -0
  164. package/dist/containers/Tenant/Query/Preview/i18n/en.json +4 -0
  165. package/dist/containers/Tenant/Query/Preview/i18n/index.d.ts +2 -0
  166. package/dist/containers/Tenant/Query/Preview/i18n/index.js +5 -0
  167. package/dist/containers/Tenant/Query/Preview/i18n/index.js.map +1 -0
  168. package/dist/containers/Tenant/Query/Preview/shared.d.ts +1 -0
  169. package/dist/containers/Tenant/Query/Preview/shared.js +3 -0
  170. package/dist/containers/Tenant/Query/Preview/shared.js.map +1 -0
  171. package/dist/containers/Tenant/Query/Preview/types.d.ts +7 -0
  172. package/dist/containers/Tenant/Query/Preview/types.js +2 -0
  173. package/dist/containers/Tenant/Query/Preview/types.js.map +1 -0
  174. package/dist/containers/Tenant/Query/Query.d.ts +2 -1
  175. package/dist/containers/Tenant/Query/Query.js.map +1 -1
  176. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.d.ts +2 -1
  177. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +5 -5
  178. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
  179. package/dist/containers/Tenant/utils/controls.d.ts +2 -2
  180. package/dist/containers/Tenant/utils/controls.js +4 -2
  181. package/dist/containers/Tenant/utils/controls.js.map +1 -1
  182. package/dist/containers/Tenant/utils/schemaActions.d.ts +1 -1
  183. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  184. package/dist/containers/Tenant/utils/types.d.ts +10 -0
  185. package/dist/containers/Tenant/utils/types.js +2 -0
  186. package/dist/containers/Tenant/utils/types.js.map +1 -0
  187. package/dist/containers/Tenants/Tenants.d.ts +3 -1
  188. package/dist/containers/Tenants/Tenants.js +59 -43
  189. package/dist/containers/Tenants/Tenants.js.map +1 -1
  190. package/dist/containers/Tenants/Tenants.scss +3 -1
  191. package/dist/containers/Tenants/i18n/en.json +2 -1
  192. package/dist/containers/Tenants/i18n/index.d.ts +1 -1
  193. package/dist/containers/VDiskPage/VDiskPage.js +1 -1
  194. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  195. package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
  196. package/dist/store/reducers/capabilities/hooks.js +3 -0
  197. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  198. package/dist/uiFactory/types.d.ts +6 -0
  199. package/package.json +2 -2
  200. package/dist/containers/Storage/PaginatedStorageGroups.js +0 -86
  201. package/dist/containers/Storage/PaginatedStorageGroups.js.map +0 -1
  202. package/dist/containers/Storage/PaginatedStorageNodes.d.ts +0 -3
  203. package/dist/containers/Storage/PaginatedStorageNodes.js +0 -110
  204. package/dist/containers/Storage/PaginatedStorageNodes.js.map +0 -1
  205. package/dist/containers/Storage/StorageControls/StorageControls.js.map +0 -1
  206. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroupsTable.js.map +0 -1
  207. package/dist/containers/Storage/StorageGroups/StorageGroupsEmptyDataMessage.js.map +0 -1
  208. package/dist/containers/Storage/StorageGroups/columns/columns.js.map +0 -1
  209. package/dist/containers/Storage/StorageGroups/columns/constants.js.map +0 -1
  210. package/dist/containers/Storage/StorageGroups/columns/hooks.js.map +0 -1
  211. package/dist/containers/Storage/StorageGroups/columns/i18n/index.js.map +0 -1
  212. package/dist/containers/Storage/StorageGroups/columns/types.js.map +0 -1
  213. package/dist/containers/Storage/StorageGroups/getGroups.js.map +0 -1
  214. package/dist/containers/Storage/StorageGroups/i18n/index.js.map +0 -1
  215. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodesTable.js.map +0 -1
  216. package/dist/containers/Storage/StorageNodes/StorageNodesEmptyDataMessage.js.map +0 -1
  217. package/dist/containers/Storage/StorageNodes/columns/columns.js.map +0 -1
  218. package/dist/containers/Storage/StorageNodes/columns/constants.js.map +0 -1
  219. package/dist/containers/Storage/StorageNodes/columns/hooks.js.map +0 -1
  220. package/dist/containers/Storage/StorageNodes/columns/types.js.map +0 -1
  221. package/dist/containers/Storage/StorageNodes/getNodes.js.map +0 -1
  222. package/dist/containers/Storage/StorageNodes/i18n/index.js.map +0 -1
  223. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/StorageGroupsEmptyDataMessage.d.ts +0 -0
  224. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/StorageGroupsEmptyDataMessage.js +0 -0
  225. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/StorageGroupsColumns.scss +0 -0
  226. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/columns.d.ts +0 -0
  227. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/columns.js +0 -0
  228. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/constants.d.ts +0 -0
  229. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/constants.js +0 -0
  230. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/hooks.d.ts +0 -0
  231. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/hooks.js +0 -0
  232. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/i18n/en.json +0 -0
  233. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/i18n/index.d.ts +0 -0
  234. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/i18n/index.js +0 -0
  235. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/types.d.ts +0 -0
  236. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/columns/types.js +0 -0
  237. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/getGroups.d.ts +0 -0
  238. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/getGroups.js +0 -0
  239. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/i18n/en.json +0 -0
  240. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/i18n/index.d.ts +0 -0
  241. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/i18n/index.js +0 -0
  242. /package/dist/containers/Storage/{StorageGroups → PaginatedStorageGroupsTable}/i18n/ru.json +0 -0
  243. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/StorageNodes.scss +0 -0
  244. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/StorageNodesEmptyDataMessage.d.ts +0 -0
  245. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/StorageNodesEmptyDataMessage.js +0 -0
  246. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/StorageNodesColumns.scss +0 -0
  247. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/columns.d.ts +0 -0
  248. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/columns.js +0 -0
  249. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/constants.d.ts +0 -0
  250. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/constants.js +0 -0
  251. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/hooks.d.ts +0 -0
  252. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/hooks.js +0 -0
  253. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/types.d.ts +0 -0
  254. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/columns/types.js +0 -0
  255. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/getNodes.d.ts +0 -0
  256. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/getNodes.js +0 -0
  257. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/i18n/en.json +0 -0
  258. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/i18n/index.d.ts +0 -0
  259. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/i18n/index.js +0 -0
  260. /package/dist/containers/Storage/{StorageNodes → PaginatedStorageNodesTable}/i18n/ru.json +0 -0
@@ -29,7 +29,7 @@ export function EntityStatus({ status = EFlag.Grey, name = '', renderName = defa
29
29
  }
30
30
  return (_jsx(InternalLink, { className: b('name'), to: path, children: renderName(name) }));
31
31
  }
32
- return name && _jsx("span", { className: b('name'), children: name });
32
+ return name && _jsx("span", { className: b('name'), children: renderName(name) });
33
33
  };
34
34
  return (_jsxs("div", { className: b(null, className), children: [iconPath ? renderStatusLink(iconPath) : renderIcon(), label && (_jsx("span", { title: label, className: b('label', { size, state: status.toLowerCase() }), children: label })), (path || name) && (_jsxs("div", { className: b('wrapper', {
35
35
  'with-clipboard-button': hasClipboardButton,
@@ -1 +1 @@
1
- {"version":3,"file":"EntityStatus.js","sourceRoot":"","sources":["../../../src/components/EntityStatus/EntityStatus.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityStatus.js","sourceRoot":"","sources":["../../../src/components/EntityStatus/EntityStatus.tsx"],"names":[],"mappings":"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"}
@@ -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, SortParams } from './types';
3
3
  import './PaginatedTable.scss';
4
4
  export interface PaginatedTableProps<T, F> {
5
5
  limit?: number;
@@ -10,14 +10,13 @@ export interface PaginatedTableProps<T, F> {
10
10
  columns: Column<T>[];
11
11
  getRowClassName?: GetRowClassName<T>;
12
12
  rowHeight?: number;
13
- parentRef: React.RefObject<HTMLElement>;
13
+ scrollContainerRef: React.RefObject<HTMLElement>;
14
14
  initialSortParams?: SortParams;
15
15
  onColumnsResize?: HandleTableColumnsResize;
16
- renderControls?: RenderControls;
17
16
  renderEmptyDataMessage?: RenderEmptyDataMessage;
18
17
  renderErrorMessage?: RenderErrorMessage;
19
18
  containerClassName?: string;
20
19
  onDataFetched?: (data: PaginatedTableData<T>) => void;
21
20
  keepCache?: boolean;
22
21
  }
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;
22
+ export declare const PaginatedTable: <T, F>({ limit: chunkSize, initialEntitiesCount, fetchData, filters: rawFilters, tableName, columns, getRowClassName, rowHeight, scrollContainerRef, initialSortParams, 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,29 @@ 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, initialSortParams, 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;
15
+ // Initialize state with props if available
16
+ React.useEffect(() => {
17
+ if (initialSortParams) {
18
+ setSortParams(initialSortParams);
19
+ }
20
+ if (initialEntitiesCount) {
21
+ setTotalEntities(initialEntitiesCount);
22
+ setFoundEntities(initialEntitiesCount);
23
+ }
24
+ }, [
25
+ setSortParams,
26
+ setTotalEntities,
27
+ setFoundEntities,
28
+ initialSortParams,
29
+ initialEntitiesCount,
30
+ ]);
18
31
  const tableRef = React.useRef(null);
19
32
  const activeChunks = useScrollBasedChunks({
20
- parentRef,
33
+ scrollContainerRef,
21
34
  tableRef,
22
35
  totalItems: foundEntities,
23
36
  rowHeight,
@@ -43,26 +56,19 @@ export const PaginatedTable = ({ limit: chunkSize = DEFAULT_PAGINATION_LIMIT, in
43
56
  setIsInitialLoad(false);
44
57
  onDataFetched === null || onDataFetched === void 0 ? void 0 : onDataFetched(data);
45
58
  }
46
- }, [onDataFetched]);
47
- // reset table on filters change
59
+ }, [onDataFetched, setFoundEntities, setIsInitialLoad, setTotalEntities]);
60
+ // Reset table on filters change
48
61
  React.useLayoutEffect(() => {
49
- setTotalEntities(initialTotal);
50
- setFoundEntities(initialFound);
62
+ const defaultTotal = initialEntitiesCount || 0;
63
+ const defaultFound = initialEntitiesCount || 1;
64
+ setTotalEntities(defaultTotal);
65
+ setFoundEntities(defaultFound);
51
66
  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]);
67
+ }, [initialEntitiesCount, setTotalEntities, setFoundEntities, setIsInitialLoad]);
56
68
  const renderChunks = () => {
57
69
  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
70
  };
59
71
  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() }));
72
+ return (_jsx("div", { ref: tableRef, className: b(null, containerClassName), children: renderTable() }));
67
73
  };
68
74
  //# sourceMappingURL=PaginatedTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedTable.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/PaginatedTable.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,uBAAuB,EAAC,MAAM,oDAAoD,CAAC;AAE3F,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,wBAAwB,EAAC,MAAM,aAAa,CAAC;AACrD,OAAO,EAAC,CAAC,EAAC,MAAM,UAAU,CAAC;AAY3B,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAE5D,OAAO,uBAAuB,CAAC;AAsB/B,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,EACjC,KAAK,EAAE,SAAS,GAAG,wBAAwB,EAC3C,oBAAoB,EACpB,SAAS,EACT,OAAO,EAAE,UAAU,EACnB,SAAS,EACT,OAAO,EACP,eAAe,EACf,SAAS,GAAG,wBAAwB,EACpC,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,SAAS,GAAG,IAAI,GACQ,EAAE,EAAE;IAC5B,MAAM,YAAY,GAAG,oBAAoB,IAAI,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,oBAAoB,IAAI,CAAC,CAAC;IAE/C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAyB,iBAAiB,CAAC,CAAC;IAC9F,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEpD,MAAM,YAAY,GAAG,oBAAoB,CAAC;QACtC,SAAS;QACT,QAAQ;QACR,UAAU,EAAE,aAAa;QACzB,SAAS;QACT,SAAS;KACZ,CAAC,CAAC;IAEH,kLAAkL;IAClL,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEzD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACrC,oDAAoD;QACpD,uDAAuD;QACvD,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,aAAa,GAAG,SAAS,IAAI,SAAS,CAAC;IAClD,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;IAE/B,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,IAA4B,EAAE,EAAE;QAC7B,IAAI,IAAI,EAAE,CAAC;YACP,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,IAAI,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,EACD,CAAC,aAAa,CAAC,CAClB,CAAC;IAEF,gCAAgC;IAChC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACvB,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC/B,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC/B,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAE,CAAC;YACrB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAExD,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CACzC,KAAC,UAAU,IAEP,EAAE,EAAE,KAAK,EACT,eAAe,EAAE,KAAK,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAC9E,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,iBAAiB,EAChC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,IAff,KAAK,CAgBZ,CACL,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CACtB,iBAAO,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACxB,KAAC,SAAS,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,GAAI,EACvF,YAAY,EAAE,IACX,CACX,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,CACH,MAAC,uBAAuB,eACpB,KAAC,uBAAuB,CAAC,QAAQ,cAC5B,cAAc,CAAC,EAAC,MAAM,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAC,CAAC,GACxC,EACnC,KAAC,uBAAuB,CAAC,KAAK,cAAE,WAAW,EAAE,GAAiC,IACxD,CAC7B,CAAC;QACN,CAAC;QAED,OAAO,WAAW,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,CACH,cAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,YACrD,aAAa,EAAE,GACd,CACT,CAAC;AACN,CAAC,CAAC"}
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,yBAAyB,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AAW/D,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACjC,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACT,aAAa,GAAG,sBAAsB,GACd,EAAa,EAAE;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,EACvC,CAAC,SAAS,EAAE,UAAU,CAAC,CAC1B,CAAC;IAEF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC1C,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CACxD,CAAC;IAEF,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACjD,MAAM,SAAS,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,WAAW,GAAG,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAEzD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC;QAC5F,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAChB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,aAAa,EAC9D,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,CAC/B,CAAC;QACF,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC;IACxB,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5E,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACX,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9B,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,mBAAmB,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,mBAAmB,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;YACzC,mBAAmB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAEvD,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAC9D,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,SAAS,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,qBAAqB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAExD,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAC5D,OAAO,GAAG,EAAE;YACR,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QACnE,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9B,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,8CAA8C;QAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC"}
1
+ {"version":3,"file":"useScrollBasedChunks.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/useScrollBasedChunks.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,19 @@
1
+ import React from 'react';
1
2
  import './TableWithControlsLayout.scss';
2
3
  interface TableWithControlsLayoutItemProps {
3
- children: React.ReactNode;
4
+ children?: React.ReactNode;
5
+ renderExtraControls?: () => React.ReactNode;
4
6
  className?: string;
7
+ fullHeight?: boolean;
5
8
  }
6
- interface TableProps extends TableWithControlsLayoutItemProps {
9
+ export interface TableProps extends TableWithControlsLayoutItemProps {
7
10
  loading?: boolean;
11
+ scrollContainerRef?: React.RefObject<HTMLElement>;
12
+ scrollDependencies?: any[];
8
13
  }
9
14
  export declare const TableWithControlsLayout: {
10
- ({ children, className, }: TableWithControlsLayoutItemProps): import("react/jsx-runtime").JSX.Element;
11
- Controls({ children, className, }: TableWithControlsLayoutItemProps): import("react/jsx-runtime").JSX.Element;
12
- Table({ children, loading, className }: TableProps): import("react/jsx-runtime").JSX.Element;
15
+ ({ children, className, fullHeight, }: TableWithControlsLayoutItemProps): import("react/jsx-runtime").JSX.Element;
16
+ Controls({ children, renderExtraControls, className, }: TableWithControlsLayoutItemProps): import("react/jsx-runtime").JSX.Element;
17
+ Table({ children, loading, className, scrollContainerRef, scrollDependencies, }: TableProps): import("react/jsx-runtime").JSX.Element;
13
18
  };
14
19
  export {};
@@ -1,18 +1,29 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Flex } from '@gravity-ui/uikit';
2
4
  import { cn } from '../../utils/cn';
3
5
  import { TableSkeleton } from '../TableSkeleton/TableSkeleton';
6
+ import { useTableScroll } from './useTableScroll';
4
7
  import './TableWithControlsLayout.scss';
5
8
  const b = cn('ydb-table-with-controls-layout');
6
- export const TableWithControlsLayout = ({ children, className, }) => {
7
- 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 });
8
11
  };
9
- TableWithControlsLayout.Controls = function TableControls({ children, className, }) {
10
- return (_jsx("div", { className: b('controls-wrapper'), children: _jsx("div", { className: b('controls', className), children: children }) }));
12
+ TableWithControlsLayout.Controls = function TableControls({ children, renderExtraControls, className, }) {
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()] }));
11
14
  };
12
- 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
+ });
13
24
  if (loading) {
14
25
  return _jsx(TableSkeleton, { className: b('loader') });
15
26
  }
16
- return _jsx("div", { className: b('table', className), children: children });
27
+ return (_jsx("div", { ref: tableContainerRef, className: b('table', className), children: children }));
17
28
  };
18
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,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;AAW/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,SAAS,GACsB;IAC/B,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,YACjC,cAAK,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,GACxD,CACT,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
 
@@ -20,7 +25,7 @@
20
25
  &__controls {
21
26
  z-index: 3;
22
27
 
23
- width: 100%;
28
+ width: max-content;
24
29
  height: 62px;
25
30
 
26
31
  @include mixins.controls();
@@ -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"}