ydb-embedded-ui 18.3.2 → 18.5.0

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 (534) hide show
  1. package/README.md +5 -4
  2. package/dist/components/ConfirmationDialog/ConfirmationDialog.d.ts +1 -0
  3. package/dist/components/ConfirmationDialog/ConfirmationDialog.js +3 -2
  4. package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  5. package/dist/components/CriticalActionDialog/CriticalActionDialog.js +1 -1
  6. package/dist/components/CriticalActionDialog/CriticalActionDialog.js.map +1 -1
  7. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.d.ts +21 -0
  8. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js +129 -0
  9. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js.map +1 -0
  10. package/dist/components/DiskCapacityInfo/i18n/en.json +7 -0
  11. package/dist/components/DiskCapacityInfo/i18n/index.d.ts +2 -0
  12. package/dist/components/DiskCapacityInfo/i18n/index.js +5 -0
  13. package/dist/components/DiskCapacityInfo/i18n/index.js.map +1 -0
  14. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.d.ts +8 -1
  15. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +24 -14
  16. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
  17. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +146 -2
  18. package/dist/components/Drawer/index.d.ts +1 -0
  19. package/dist/components/Drawer/index.js.map +1 -1
  20. package/dist/components/EntityStatusNew/EntityStatus.js +3 -3
  21. package/dist/components/EntityStatusNew/EntityStatus.js.map +1 -1
  22. package/dist/components/EntityStatusNew/EntityStatus.scss +4 -7
  23. package/dist/components/EntityStatusNew/i18n/en.json +4 -4
  24. package/dist/components/Graph/Graph.js +3 -1
  25. package/dist/components/Graph/Graph.js.map +1 -1
  26. package/dist/components/Graph/colors.d.ts +10 -0
  27. package/dist/components/Graph/colors.js +53 -0
  28. package/dist/components/Graph/colors.js.map +1 -0
  29. package/dist/components/Graph/colors.test.d.ts +1 -0
  30. package/dist/components/Graph/colors.test.js +60 -0
  31. package/dist/components/Graph/colors.test.js.map +1 -0
  32. package/dist/components/HealthcheckStatus/HealthcheckStatus.d.ts +1 -0
  33. package/dist/components/HealthcheckStatus/HealthcheckStatus.js +8 -36
  34. package/dist/components/HealthcheckStatus/HealthcheckStatus.js.map +1 -1
  35. package/dist/components/HealthcheckStatus/HealthcheckStatus.scss +7 -0
  36. package/dist/components/HealthcheckStatus/config.d.ts +11 -0
  37. package/dist/components/HealthcheckStatus/config.js +51 -0
  38. package/dist/components/HealthcheckStatus/config.js.map +1 -0
  39. package/dist/components/HealthcheckStatus/i18n/en.json +3 -3
  40. package/dist/components/HealthcheckStatus/i18n/index.d.ts +1 -1
  41. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.d.ts +9 -0
  42. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.js +8 -0
  43. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.js.map +1 -0
  44. package/dist/components/HelpMarkWithDocs/i18n/en.json +3 -0
  45. package/dist/components/HelpMarkWithDocs/i18n/index.d.ts +1 -0
  46. package/dist/components/HelpMarkWithDocs/i18n/index.js +5 -0
  47. package/dist/components/HelpMarkWithDocs/i18n/index.js.map +1 -0
  48. package/dist/components/InfoViewer/schemaInfo/i18n/index.d.ts +1 -1
  49. package/dist/components/InfoViewer/schemaInfo/utils.js +1 -1
  50. package/dist/components/InfoViewer/schemaInfo/utils.js.map +1 -1
  51. package/dist/components/PDiskInfo/PDiskInfo.d.ts +1 -0
  52. package/dist/components/PDiskInfo/PDiskInfo.js +51 -14
  53. package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
  54. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  55. package/dist/components/PDiskPopup/PDiskPopup.d.ts +1 -1
  56. package/dist/components/PDiskPopup/PDiskPopup.js +15 -6
  57. package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
  58. package/dist/components/PoolBar/PoolBar.scss +10 -10
  59. package/dist/components/StatusIcon/StatusIcon.js +7 -7
  60. package/dist/components/StatusIcon/StatusIcon.js.map +1 -1
  61. package/dist/components/StatusIcon/StatusIcon.scss +2 -2
  62. package/dist/components/StatusIconNew/StatusIcon.js +7 -7
  63. package/dist/components/StatusIconNew/StatusIcon.js.map +1 -1
  64. package/dist/components/StorageGroupInfo/StorageGroupInfo.js +120 -2
  65. package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
  66. package/dist/components/StorageGroupInfo/i18n/en.json +2 -1
  67. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  68. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.d.ts +5 -2
  69. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js +4 -3
  70. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js.map +1 -1
  71. package/dist/components/VDisk/VDisk.js +44 -10
  72. package/dist/components/VDisk/VDisk.js.map +1 -1
  73. package/dist/components/VDisk/i18n/en.json +6 -1
  74. package/dist/components/VDisk/i18n/index.d.ts +1 -1
  75. package/dist/components/VDiskInfo/VDiskInfo.js +117 -67
  76. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  77. package/dist/components/VDiskInfo/getVDiskCapacityColumns.d.ts +11 -0
  78. package/dist/components/VDiskInfo/getVDiskCapacityColumns.js +52 -0
  79. package/dist/components/VDiskInfo/getVDiskCapacityColumns.js.map +1 -0
  80. package/dist/components/VDiskPopup/VDiskPopup.d.ts +5 -0
  81. package/dist/components/VDiskPopup/VDiskPopup.js +20 -9
  82. package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
  83. package/dist/components/YDBDefinitionList/YDBDefinitionList.d.ts +2 -1
  84. package/dist/components/YDBDefinitionList/YDBDefinitionList.js +2 -2
  85. package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
  86. package/dist/components/capacityMetricsColumns/columns.js +19 -24
  87. package/dist/components/capacityMetricsColumns/columns.js.map +1 -1
  88. package/dist/components/capacityMetricsColumns/constants.d.ts +11 -0
  89. package/dist/components/capacityMetricsColumns/constants.js +25 -0
  90. package/dist/components/capacityMetricsColumns/constants.js.map +1 -1
  91. package/dist/components/capacityMetricsColumns/formatters.d.ts +1 -0
  92. package/dist/components/capacityMetricsColumns/formatters.js +9 -0
  93. package/dist/components/capacityMetricsColumns/formatters.js.map +1 -0
  94. package/dist/components/capacityMetricsColumns/i18n/en.json +9 -1
  95. package/dist/components/capacityMetricsColumns/i18n/index.d.ts +1 -1
  96. package/dist/components/nodesColumns/constants.js +1 -1
  97. package/dist/components/nodesColumns/constants.js.map +1 -1
  98. package/dist/containers/App/App.scss +6 -6
  99. package/dist/containers/App/NavigationWrapper.js +1 -1
  100. package/dist/containers/App/NavigationWrapper.js.map +1 -1
  101. package/dist/containers/AsideNavigation/Navigation.scss +0 -1
  102. package/dist/containers/AsideNavigation/i18n/en.json +1 -1
  103. package/dist/containers/Authentication/Authentication.js +2 -1
  104. package/dist/containers/Authentication/Authentication.js.map +1 -1
  105. package/dist/containers/Cluster/ClusterDrawerHealthcheck.js +3 -26
  106. package/dist/containers/Cluster/ClusterDrawerHealthcheck.js.map +1 -1
  107. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +1 -1
  108. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
  109. package/dist/containers/Clusters/ClusterDrawerHealthcheck.js +3 -26
  110. package/dist/containers/Clusters/ClusterDrawerHealthcheck.js.map +1 -1
  111. package/dist/containers/Storage/Disks/Disks.d.ts +2 -2
  112. package/dist/containers/Storage/Disks/Disks.js +17 -14
  113. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  114. package/dist/containers/Storage/Disks/Disks.scss +20 -0
  115. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.d.ts +2 -0
  116. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.js +46 -0
  117. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.js.map +1 -0
  118. package/dist/containers/Storage/Disks/constants.d.ts +5 -0
  119. package/dist/containers/Storage/Disks/constants.js +11 -0
  120. package/dist/containers/Storage/Disks/constants.js.map +1 -0
  121. package/dist/containers/Storage/PDisk/PDisk.d.ts +2 -1
  122. package/dist/containers/Storage/PDisk/PDisk.js +2 -2
  123. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  124. package/dist/containers/Storage/PDisks/PDisks.js +2 -1
  125. package/dist/containers/Storage/PDisks/PDisks.js.map +1 -1
  126. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +8 -15
  127. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
  128. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.d.ts +2 -2
  129. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +37 -9
  130. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  131. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +5 -0
  132. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +31 -1
  133. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
  134. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +39 -24
  135. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
  136. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/en.json +1 -0
  137. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
  138. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/types.d.ts +1 -0
  139. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js +18 -9
  140. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -1
  141. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +1 -1
  142. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +1 -1
  143. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.scss +16 -2
  144. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js +96 -2
  145. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js.map +1 -1
  146. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +2 -5
  147. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -1
  148. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +2 -0
  149. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js +6 -1
  150. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js.map +1 -1
  151. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js +3 -3
  152. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js.map +1 -1
  153. package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +13 -0
  154. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
  155. package/dist/containers/Storage/useStorageQueryParams.js +9 -4
  156. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  157. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js +45 -5
  158. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js.map +1 -1
  159. package/dist/containers/Storage/utils/index.d.ts +2 -1
  160. package/dist/containers/Storage/utils/index.js +13 -0
  161. package/dist/containers/Storage/utils/index.js.map +1 -1
  162. package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.js +2 -1
  163. package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.js.map +1 -1
  164. package/dist/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.js +2 -0
  165. package/dist/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.js.map +1 -1
  166. package/dist/containers/Tenant/Diagnostics/AccessRights/i18n/index.d.ts +1 -1
  167. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +1 -1
  168. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js.map +1 -1
  169. package/dist/containers/Tenant/Diagnostics/Network/i18n/index.d.ts +1 -1
  170. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.js +4 -4
  171. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.js.map +1 -1
  172. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSpecificSchemaObjectInfo.js +4 -4
  173. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSpecificSchemaObjectInfo.js.map +1 -1
  174. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js +2 -0
  175. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js.map +1 -1
  176. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js +15 -13
  177. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js.map +1 -1
  178. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.d.ts +1 -1
  179. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.d.ts +1 -1
  180. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js +2 -2
  181. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js.map +1 -1
  182. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js +3 -3
  183. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js.map +1 -1
  184. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/en.json +1 -2
  185. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/index.d.ts +1 -1
  186. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js +1 -1
  187. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js.map +1 -1
  188. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
  189. package/dist/containers/Tenant/Diagnostics/Overview/TopicInfo/TopicInfo.js +1 -1
  190. package/dist/containers/Tenant/Diagnostics/Overview/TopicInfo/TopicInfo.js.map +1 -1
  191. package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js +1 -1
  192. package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js.map +1 -1
  193. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +1 -1
  194. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js.map +1 -1
  195. package/dist/containers/Tenant/Diagnostics/Partitions/utils/showMoveOffsetConfirmation.js +2 -0
  196. package/dist/containers/Tenant/Diagnostics/Partitions/utils/showMoveOffsetConfirmation.js.map +1 -1
  197. package/dist/containers/Tenant/Diagnostics/Partitions/utils/showSpecifyOffsetConfirmation.js +6 -1
  198. package/dist/containers/Tenant/Diagnostics/Partitions/utils/showSpecifyOffsetConfirmation.js.map +1 -1
  199. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +13 -16
  200. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
  201. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.scss +12 -2
  202. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.scss +1 -0
  203. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.js +9 -1
  204. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.js.map +1 -1
  205. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.js +9 -1
  206. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.js.map +1 -1
  207. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.js +9 -1
  208. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.js.map +1 -1
  209. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.js +9 -1
  210. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.js.map +1 -1
  211. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.d.ts +2 -1
  212. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.js +8 -3
  213. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.js.map +1 -1
  214. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.js +7 -2
  215. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.js.map +1 -1
  216. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.scss +5 -0
  217. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +5 -2
  218. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  219. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.d.ts +1 -1
  220. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +36 -15
  221. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
  222. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.d.ts +14 -0
  223. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.js +38 -0
  224. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.js.map +1 -0
  225. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.d.ts +1 -1
  226. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js +3 -2
  227. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js.map +1 -1
  228. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.scss +6 -2
  229. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.d.ts +10 -1
  230. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +12 -8
  231. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  232. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/en.json +15 -1
  233. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
  234. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/types.d.ts +3 -1
  235. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +13 -0
  236. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  237. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js +1 -1
  238. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js.map +1 -1
  239. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +1 -1
  240. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -1
  241. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js +1 -1
  242. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js.map +1 -1
  243. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.d.ts +1 -1
  244. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicProbeQuery.js +1 -1
  245. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicProbeQuery.js.map +1 -1
  246. package/dist/containers/Tenant/EntityTitle/EntityTitle.js +1 -1
  247. package/dist/containers/Tenant/GrantAccess/components/Footer.js +2 -1
  248. package/dist/containers/Tenant/GrantAccess/components/Footer.js.map +1 -1
  249. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.d.ts +18 -0
  250. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js +29 -0
  251. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js.map +1 -0
  252. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawerTitle.d.ts +8 -0
  253. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawerTitle.js +10 -0
  254. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawerTitle.js.map +1 -0
  255. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js +7 -1
  256. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js.map +1 -1
  257. package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js +6 -5
  258. package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js.map +1 -1
  259. package/dist/containers/Tenant/Healthcheck/utils.d.ts +1 -0
  260. package/dist/containers/Tenant/Healthcheck/utils.js +5 -0
  261. package/dist/containers/Tenant/Healthcheck/utils.js.map +1 -1
  262. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.js +14 -9
  263. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.js.map +1 -1
  264. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.scss +57 -6
  265. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +22 -22
  266. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
  267. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.scss +31 -0
  268. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +58 -0
  269. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
  270. package/dist/containers/Tenant/Query/Issues/Issues.js +3 -3
  271. package/dist/containers/Tenant/Query/Issues/Issues.js.map +1 -1
  272. package/dist/containers/Tenant/Query/Issues/helpers.d.ts +3 -0
  273. package/dist/containers/Tenant/Query/Issues/helpers.js +40 -0
  274. package/dist/containers/Tenant/Query/Issues/helpers.js.map +1 -1
  275. package/dist/containers/Tenant/Query/Issues/helpers.test.d.ts +1 -0
  276. package/dist/containers/Tenant/Query/Issues/helpers.test.js +94 -0
  277. package/dist/containers/Tenant/Query/Issues/helpers.test.js.map +1 -0
  278. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js +1 -1
  279. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js.map +1 -1
  280. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js +1 -1
  281. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js.map +1 -1
  282. package/dist/containers/Tenant/Query/QueriesHistory/columns.js +2 -2
  283. package/dist/containers/Tenant/Query/QueriesHistory/columns.js.map +1 -1
  284. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js +1 -1
  285. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js.map +1 -1
  286. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.scss +24 -64
  287. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js +2 -1
  288. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js.map +1 -1
  289. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +141 -73
  290. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
  291. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.scss +13 -2
  292. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.d.ts +4 -2
  293. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js +187 -20
  294. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js.map +1 -1
  295. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.d.ts +9 -0
  296. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.js +154 -0
  297. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.js.map +1 -0
  298. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.d.ts +1 -0
  299. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js +153 -0
  300. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js.map +1 -0
  301. package/dist/containers/Tenant/Query/QueryEditor/types.d.ts +5 -0
  302. package/dist/containers/Tenant/Query/QueryEditor/types.js +2 -0
  303. package/dist/containers/Tenant/Query/QueryEditor/types.js.map +1 -0
  304. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.d.ts +5 -0
  305. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.js +13 -0
  306. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.js.map +1 -0
  307. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.d.ts +6 -3
  308. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js +12 -6
  309. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js.map +1 -1
  310. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.scss +18 -5
  311. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.d.ts +3 -2
  312. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +23 -12
  313. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
  314. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.scss +19 -0
  315. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +14 -21
  316. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
  317. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.d.ts +6 -2
  318. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js +6 -2
  319. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js.map +1 -1
  320. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.d.ts +2 -0
  321. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js +1 -1
  322. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js.map +1 -1
  323. package/dist/containers/Tenant/Query/QueryResult/constants.d.ts +3 -0
  324. package/dist/containers/Tenant/Query/QueryResult/constants.js +35 -0
  325. package/dist/containers/Tenant/Query/QueryResult/constants.js.map +1 -1
  326. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +2 -0
  327. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js.map +1 -1
  328. package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js +2 -1
  329. package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js.map +1 -1
  330. package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js +2 -0
  331. package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js.map +1 -1
  332. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +2 -1
  333. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js.map +1 -1
  334. package/dist/containers/Tenant/Query/i18n/en.json +5 -2
  335. package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
  336. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.d.ts +1 -1
  337. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js +1 -13
  338. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js.map +1 -1
  339. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.d.ts +19 -0
  340. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.js +227 -0
  341. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.js.map +1 -0
  342. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.scss +589 -0
  343. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.d.ts +1 -0
  344. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.js +179 -0
  345. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.js.map +1 -0
  346. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.d.ts +11 -0
  347. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.js +85 -0
  348. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.js.map +1 -0
  349. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.scss +175 -0
  350. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.d.ts +19 -0
  351. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.js +115 -0
  352. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.js.map +1 -0
  353. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.scss +22 -0
  354. package/dist/containers/Tenant/TableFormDialog/components/layout.d.ts +15 -0
  355. package/dist/containers/Tenant/TableFormDialog/components/layout.js +32 -0
  356. package/dist/containers/Tenant/TableFormDialog/components/layout.js.map +1 -0
  357. package/dist/containers/Tenant/TableFormDialog/constants.d.ts +16 -0
  358. package/dist/containers/Tenant/TableFormDialog/constants.js +99 -0
  359. package/dist/containers/Tenant/TableFormDialog/constants.js.map +1 -0
  360. package/dist/containers/Tenant/TableFormDialog/i18n/en.json +143 -0
  361. package/dist/containers/Tenant/TableFormDialog/i18n/index.d.ts +2 -0
  362. package/dist/containers/Tenant/TableFormDialog/i18n/index.js +5 -0
  363. package/dist/containers/Tenant/TableFormDialog/i18n/index.js.map +1 -0
  364. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.d.ts +8 -0
  365. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.js +34 -0
  366. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.js.map +1 -0
  367. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.d.ts +5 -0
  368. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.js +28 -0
  369. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.js.map +1 -0
  370. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.d.ts +6 -0
  371. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.js +141 -0
  372. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.js.map +1 -0
  373. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.d.ts +22 -0
  374. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.js +98 -0
  375. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.js.map +1 -0
  376. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.d.ts +6 -0
  377. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.js +70 -0
  378. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.js.map +1 -0
  379. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.d.ts +11 -0
  380. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.js +181 -0
  381. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.js.map +1 -0
  382. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.d.ts +1 -0
  383. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.js +42 -0
  384. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.js.map +1 -0
  385. package/dist/containers/Tenant/TableFormDialog/types.d.ts +26 -0
  386. package/dist/containers/Tenant/TableFormDialog/types.js +3 -0
  387. package/dist/containers/Tenant/TableFormDialog/types.js.map +1 -0
  388. package/dist/containers/Tenant/TableFormDialog/utils.d.ts +41 -0
  389. package/dist/containers/Tenant/TableFormDialog/utils.js +245 -0
  390. package/dist/containers/Tenant/TableFormDialog/utils.js.map +1 -0
  391. package/dist/containers/Tenant/TableFormDialog/validation.d.ts +8 -0
  392. package/dist/containers/Tenant/TableFormDialog/validation.js +308 -0
  393. package/dist/containers/Tenant/TableFormDialog/validation.js.map +1 -0
  394. package/dist/containers/Tenant/Tenant.js +1 -1
  395. package/dist/containers/Tenant/Tenant.js.map +1 -1
  396. package/dist/containers/Tenant/TenantDrawerHealthcheck.js +3 -26
  397. package/dist/containers/Tenant/TenantDrawerHealthcheck.js.map +1 -1
  398. package/dist/containers/Tenant/TenantDrawerRights.js +1 -1
  399. package/dist/containers/Tenant/TenantDrawerRights.js.map +1 -1
  400. package/dist/containers/Tenant/TenantNavigation/useTenantNavigation.js +5 -5
  401. package/dist/containers/Tenant/TenantNavigation/useTenantNavigation.js.map +1 -1
  402. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.d.ts +19 -0
  403. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.js +301 -0
  404. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.js.map +1 -0
  405. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.scss +182 -0
  406. package/dist/containers/Tenant/TopicFormDialog/i18n/en.json +51 -0
  407. package/dist/containers/Tenant/TopicFormDialog/i18n/index.d.ts +2 -0
  408. package/dist/containers/Tenant/TopicFormDialog/i18n/index.js +5 -0
  409. package/dist/containers/Tenant/TopicFormDialog/i18n/index.js.map +1 -0
  410. package/dist/containers/Tenant/TopicFormDialog/utils.d.ts +18 -0
  411. package/dist/containers/Tenant/TopicFormDialog/utils.js +100 -0
  412. package/dist/containers/Tenant/TopicFormDialog/utils.js.map +1 -0
  413. package/dist/containers/Tenant/TopicFormDialog/validation.d.ts +3 -0
  414. package/dist/containers/Tenant/TopicFormDialog/validation.js +88 -0
  415. package/dist/containers/Tenant/TopicFormDialog/validation.js.map +1 -0
  416. package/dist/containers/Tenant/constants.d.ts +0 -2
  417. package/dist/containers/Tenant/constants.js +6 -14
  418. package/dist/containers/Tenant/constants.js.map +1 -1
  419. package/dist/containers/Tenant/i18n/en.json +114 -110
  420. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  421. package/dist/containers/Tenant/utils/controls.js +1 -1
  422. package/dist/containers/Tenant/utils/pathSegmentValidation.d.ts +5 -0
  423. package/dist/containers/Tenant/utils/pathSegmentValidation.js +15 -0
  424. package/dist/containers/Tenant/utils/pathSegmentValidation.js.map +1 -0
  425. package/dist/containers/Tenant/utils/schema.js +32 -32
  426. package/dist/containers/Tenant/utils/schema.js.map +1 -1
  427. package/dist/containers/Tenant/utils/schemaActions.d.ts +4 -0
  428. package/dist/containers/Tenant/utils/schemaActions.js +190 -98
  429. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  430. package/dist/containers/Tenants/TenantsTable.js +2 -2
  431. package/dist/containers/Tenants/TenantsTable.js.map +1 -1
  432. package/dist/containers/VDiskPage/VDiskPage.js +3 -30
  433. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  434. package/dist/containers/VDiskPage/VDiskStorageDetails.js +2 -2
  435. package/dist/containers/VDiskPage/VDiskStorageDetails.js.map +1 -1
  436. package/dist/containers/VDiskPage/useVDiskQueryParams.d.ts +13 -0
  437. package/dist/containers/VDiskPage/useVDiskQueryParams.js +55 -0
  438. package/dist/containers/VDiskPage/useVDiskQueryParams.js.map +1 -0
  439. package/dist/containers/Versions/i18n/index.d.ts +1 -1
  440. package/dist/store/reducers/pdisk/utils.js +4 -4
  441. package/dist/store/reducers/pdisk/utils.js.map +1 -1
  442. package/dist/store/reducers/query/api.d.ts +2 -1
  443. package/dist/store/reducers/query/api.js +107 -48
  444. package/dist/store/reducers/query/api.js.map +1 -1
  445. package/dist/store/reducers/query/parsers/preparePlanData.js +8 -1
  446. package/dist/store/reducers/query/parsers/preparePlanData.js.map +1 -1
  447. package/dist/store/reducers/query/slice.d.ts +8 -9
  448. package/dist/store/reducers/query/slice.js +5 -0
  449. package/dist/store/reducers/query/slice.js.map +1 -1
  450. package/dist/store/reducers/query/streaming/reducers.d.ts +3 -0
  451. package/dist/store/reducers/query/streaming/reducers.js +6 -6
  452. package/dist/store/reducers/query/streaming/reducers.js.map +1 -1
  453. package/dist/store/reducers/query/types.d.ts +8 -4
  454. package/dist/store/reducers/query/utils.d.ts +10 -2
  455. package/dist/store/reducers/query/utils.js +37 -6
  456. package/dist/store/reducers/query/utils.js.map +1 -1
  457. package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +10 -3
  458. package/dist/store/reducers/storage/prepareGroupsDisks.js +43 -6
  459. package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
  460. package/dist/store/reducers/storage/types.d.ts +1 -0
  461. package/dist/store/reducers/storage/utils.js +4 -7
  462. package/dist/store/reducers/storage/utils.js.map +1 -1
  463. package/dist/store/reducers/table/constants.d.ts +6 -0
  464. package/dist/store/reducers/table/constants.js +36 -0
  465. package/dist/store/reducers/table/constants.js.map +1 -0
  466. package/dist/store/reducers/table/table.d.ts +19 -0
  467. package/dist/store/reducers/table/table.js +104 -0
  468. package/dist/store/reducers/table/table.js.map +1 -0
  469. package/dist/store/reducers/table/types.d.ts +193 -0
  470. package/dist/store/reducers/table/types.js +12 -0
  471. package/dist/store/reducers/table/types.js.map +1 -0
  472. package/dist/store/reducers/table/utils.d.ts +17 -0
  473. package/dist/store/reducers/table/utils.js +485 -0
  474. package/dist/store/reducers/table/utils.js.map +1 -0
  475. package/dist/store/reducers/topic/topic.d.ts +1762 -0
  476. package/dist/store/reducers/topic/topic.js +172 -0
  477. package/dist/store/reducers/topic/topic.js.map +1 -0
  478. package/dist/store/reducers/topic/utils.d.ts +23 -0
  479. package/dist/store/reducers/topic/utils.js +75 -0
  480. package/dist/store/reducers/topic/utils.js.map +1 -0
  481. package/dist/styles/mixins.scss +9 -0
  482. package/dist/types/api/pdisk.d.ts +6 -1
  483. package/dist/types/api/pdisk.js.map +1 -1
  484. package/dist/types/api/storage.d.ts +3 -1
  485. package/dist/types/api/storage.js.map +1 -1
  486. package/dist/types/api/topic.d.ts +18 -0
  487. package/dist/types/api/topic.js +8 -0
  488. package/dist/types/api/topic.js.map +1 -1
  489. package/dist/types/api/vdisk.d.ts +8 -0
  490. package/dist/types/api/vdisk.js.map +1 -1
  491. package/dist/uiFactory/types.d.ts +5 -0
  492. package/dist/uiFactory/uiFactory.d.ts +4 -1
  493. package/dist/uiFactory/uiFactory.js +8 -1
  494. package/dist/uiFactory/uiFactory.js.map +1 -1
  495. package/dist/utils/capacityAlerts.d.ts +1 -0
  496. package/dist/utils/capacityAlerts.js +3 -0
  497. package/dist/utils/capacityAlerts.js.map +1 -1
  498. package/dist/utils/constants.d.ts +2 -1
  499. package/dist/utils/constants.js +2 -1
  500. package/dist/utils/constants.js.map +1 -1
  501. package/dist/utils/disks/displayState.d.ts +5 -0
  502. package/dist/utils/disks/displayState.js.map +1 -1
  503. package/dist/utils/disks/iconCalculators.d.ts +1 -3
  504. package/dist/utils/disks/iconCalculators.js +5 -6
  505. package/dist/utils/disks/iconCalculators.js.map +1 -1
  506. package/dist/utils/disks/prepareDisks.d.ts +1 -1
  507. package/dist/utils/disks/prepareDisks.js +44 -3
  508. package/dist/utils/disks/prepareDisks.js.map +1 -1
  509. package/dist/utils/disks/severityCalculators.d.ts +1 -4
  510. package/dist/utils/disks/severityCalculators.js +2 -6
  511. package/dist/utils/disks/severityCalculators.js.map +1 -1
  512. package/dist/utils/disks/types.d.ts +8 -0
  513. package/dist/utils/emptyDataPlaceholder.d.ts +1 -0
  514. package/dist/utils/emptyDataPlaceholder.js +2 -0
  515. package/dist/utils/emptyDataPlaceholder.js.map +1 -0
  516. package/dist/utils/hooks/useSelectedColumns.d.ts +3 -0
  517. package/dist/utils/hooks/useSelectedColumns.js +18 -0
  518. package/dist/utils/hooks/useSelectedColumns.js.map +1 -1
  519. package/dist/utils/hooks/withConfirmation/RunningQueryDialog.js +2 -1
  520. package/dist/utils/hooks/withConfirmation/RunningQueryDialog.js.map +1 -1
  521. package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.js +2 -1
  522. package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.js.map +1 -1
  523. package/dist/utils/query.d.ts +4 -1
  524. package/dist/utils/query.js +34 -1
  525. package/dist/utils/query.js.map +1 -1
  526. package/dist/utils/storageMetrics.d.ts +5 -1
  527. package/dist/utils/storageMetrics.js +35 -4
  528. package/dist/utils/storageMetrics.js.map +1 -1
  529. package/dist/utils/utils.js +2 -1
  530. package/dist/utils/utils.js.map +1 -1
  531. package/package.json +1 -1
  532. package/dist/store/reducers/topic.d.ts +0 -1291
  533. package/dist/store/reducers/topic.js +0 -83
  534. package/dist/store/reducers/topic.js.map +0 -1
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { HelpMark, Text } from '@gravity-ui/uikit';
3
+ import { cn } from '../../../../utils/cn';
4
+ const b = cn('ydb-table-form-dialog');
5
+ export function FormSection({ title, note, children, }) {
6
+ return (_jsxs("section", { className: b('section'), children: [title ? (_jsxs(Text, { as: "div", variant: "subheader-2", className: b('section-title'), children: [title, note ? (_jsx(HelpMark, { className: b('help-mark'), popoverProps: {
7
+ placement: ['bottom', 'right'],
8
+ className: b('help-mark-popup'),
9
+ }, children: note })) : null] })) : null, children] }));
10
+ }
11
+ export function FormRow({ title, note, htmlFor, children, }) {
12
+ let labelTitleNode = null;
13
+ if (title) {
14
+ if (htmlFor) {
15
+ labelTitleNode = (_jsx("label", { className: b('label-title'), htmlFor: htmlFor, children: title }));
16
+ }
17
+ else {
18
+ labelTitleNode = _jsx("span", { className: b('label-title'), children: title });
19
+ }
20
+ }
21
+ return (_jsxs("div", { className: b('row'), children: [_jsxs("div", { className: b('label'), children: [labelTitleNode, note ? (_jsx(HelpMark, { className: b('help-mark'), popoverProps: {
22
+ placement: ['bottom', 'right'],
23
+ className: b('help-mark-popup'),
24
+ }, children: note })) : null] }), _jsx("div", { className: b('row-control'), children: children })] }));
25
+ }
26
+ export function FormFieldError({ message }) {
27
+ if (!message) {
28
+ return null;
29
+ }
30
+ return (_jsx(Text, { color: "danger", variant: "body-1", className: b('field-error'), children: message }));
31
+ }
32
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/TableFormDialog/components/layout.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAC;AAExC,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC;AAEtC,MAAM,UAAU,WAAW,CAAC,EACxB,KAAK,EACL,IAAI,EACJ,QAAQ,GAKX;IACG,OAAO,CACH,mBAAS,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,aAC3B,KAAK,CAAC,CAAC,CAAC,CACL,MAAC,IAAI,IAAC,EAAE,EAAC,KAAK,EAAC,OAAO,EAAC,aAAa,EAAC,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,aAC7D,KAAK,EACL,IAAI,CAAC,CAAC,CAAC,CACJ,KAAC,QAAQ,IACL,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,EACzB,YAAY,EAAE;4BACV,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;4BAC9B,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC;yBAClC,YAEA,IAAI,GACE,CACd,CAAC,CAAC,CAAC,IAAI,IACL,CACV,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,IACH,CACb,CAAC;AACN,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EACpB,KAAK,EACL,IAAI,EACJ,OAAO,EACP,QAAQ,GAMX;IACG,IAAI,cAAc,GAAoB,IAAI,CAAC;IAE3C,IAAI,KAAK,EAAE,CAAC;QACR,IAAI,OAAO,EAAE,CAAC;YACV,cAAc,GAAG,CACb,gBAAO,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,YAC/C,KAAK,GACF,CACX,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,cAAc,GAAG,eAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,YAAG,KAAK,GAAQ,CAAC;QACvE,CAAC;IACL,CAAC;IAED,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,aACpB,eAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACrB,cAAc,EACd,IAAI,CAAC,CAAC,CAAC,CACJ,KAAC,QAAQ,IACL,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,EACzB,YAAY,EAAE;4BACV,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;4BAC9B,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC;yBAClC,YAEA,IAAI,GACE,CACd,CAAC,CAAC,CAAC,IAAI,IACN,EACN,cAAK,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,YAAG,QAAQ,GAAO,IAChD,CACT,CAAC;AACN,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAC,OAAO,EAAqB;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CACH,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,YAC5D,OAAO,GACL,CACV,CAAC;AACN,CAAC"}
@@ -0,0 +1,16 @@
1
+ export declare const TABLE_FORM_DIALOG = "table-form-dialog";
2
+ export declare const ENTITY_NAME_REG_EXP: RegExp;
3
+ export declare const ENTITY_PATH_REG_EXP: RegExp;
4
+ export declare const ENTITY_RENAME_PATH_REG_EXP: RegExp;
5
+ export declare const COLUMN_NAME_REG_EXP: RegExp;
6
+ export declare const MIN_PARTITION_SIZE_MB = 10;
7
+ export declare const MAX_PARTITION_SIZE_MB = 2048;
8
+ export declare const MIN_PARTITIONS_COUNT = 1;
9
+ export declare const MAX_PARTITIONS_COUNT = 35000;
10
+ export declare const MIN_COLUMN_PARTITION_COUNT = 1;
11
+ export declare const MAX_COLUMN_PARTITION_COUNT = 1000;
12
+ export declare const SPLIT_POINT_STRING_TYPES: Set<string>;
13
+ export declare const YDB_TABLE_TYPES: string[];
14
+ export declare const YDB_COLUMN_TABLE_TYPES: string[];
15
+ export declare const YDB_PK_TYPES: Set<string>;
16
+ export declare const YDB_COLUMN_PK_TYPES: Set<string>;
@@ -0,0 +1,99 @@
1
+ export const TABLE_FORM_DIALOG = 'table-form-dialog';
2
+ export const ENTITY_NAME_REG_EXP = /^[a-zA-Z0-9._-]+$/;
3
+ export const ENTITY_PATH_REG_EXP = /^[a-zA-Z0-9._-]+(\/[a-zA-Z0-9._-]+)*$/;
4
+ export const ENTITY_RENAME_PATH_REG_EXP = /^\/?[a-zA-Z0-9._-]+(\/[a-zA-Z0-9._-]+)*$/;
5
+ export const COLUMN_NAME_REG_EXP = /^\w[\w_-]*$/;
6
+ export const MIN_PARTITION_SIZE_MB = 10;
7
+ export const MAX_PARTITION_SIZE_MB = 2048;
8
+ export const MIN_PARTITIONS_COUNT = 1;
9
+ export const MAX_PARTITIONS_COUNT = 35000;
10
+ export const MIN_COLUMN_PARTITION_COUNT = 1;
11
+ export const MAX_COLUMN_PARTITION_COUNT = 1000;
12
+ export const SPLIT_POINT_STRING_TYPES = new Set(['String', 'Utf8']);
13
+ export const YDB_TABLE_TYPES = [
14
+ 'Bool',
15
+ 'Int8',
16
+ 'Int16',
17
+ 'Int32',
18
+ 'Int64',
19
+ 'Uint8',
20
+ 'Uint16',
21
+ 'Uint32',
22
+ 'Uint64',
23
+ 'Float',
24
+ 'Double',
25
+ 'Decimal(22,9)',
26
+ 'String',
27
+ 'Utf8',
28
+ 'Json',
29
+ 'JsonDocument',
30
+ 'Date32',
31
+ 'Date',
32
+ 'Datetime64',
33
+ 'Datetime',
34
+ 'Timestamp64',
35
+ 'Timestamp',
36
+ 'Interval64',
37
+ 'Interval',
38
+ 'Uuid',
39
+ ];
40
+ export const YDB_COLUMN_TABLE_TYPES = [
41
+ 'Int8',
42
+ 'Int16',
43
+ 'Int32',
44
+ 'Int64',
45
+ 'Uint8',
46
+ 'Uint16',
47
+ 'Uint32',
48
+ 'Uint64',
49
+ 'Float',
50
+ 'Double',
51
+ 'String',
52
+ 'Utf8',
53
+ 'Json',
54
+ 'JsonDocument',
55
+ 'Date32',
56
+ 'Date',
57
+ 'Datetime64',
58
+ 'Datetime',
59
+ 'Timestamp64',
60
+ 'Timestamp',
61
+ ];
62
+ export const YDB_PK_TYPES = new Set([
63
+ 'Bool',
64
+ 'Int8',
65
+ 'Int16',
66
+ 'Int32',
67
+ 'Int64',
68
+ 'Uint8',
69
+ 'Uint16',
70
+ 'Uint32',
71
+ 'Uint64',
72
+ 'String',
73
+ 'Utf8',
74
+ 'Date',
75
+ 'Date32',
76
+ 'Datetime',
77
+ 'Datetime64',
78
+ 'Timestamp',
79
+ 'Timestamp64',
80
+ 'Uuid',
81
+ 'Interval64',
82
+ ]);
83
+ export const YDB_COLUMN_PK_TYPES = new Set([
84
+ 'Int32',
85
+ 'Int64',
86
+ 'Uint8',
87
+ 'Uint16',
88
+ 'Uint32',
89
+ 'Uint64',
90
+ 'String',
91
+ 'Utf8',
92
+ 'Date',
93
+ 'Date32',
94
+ 'Datetime',
95
+ 'Datetime64',
96
+ 'Timestamp',
97
+ 'Timestamp64',
98
+ ]);
99
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/containers/Tenant/TableFormDialog/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,uCAAuC,CAAC;AAC3E,MAAM,CAAC,MAAM,0BAA0B,GAAG,0CAA0C,CAAC;AACrF,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAEjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAa;IACrC,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,eAAe;IACf,QAAQ;IACR,MAAM;IACN,MAAM;IACN,cAAc;IACd,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,UAAU;IACV,aAAa;IACb,WAAW;IACX,YAAY;IACZ,UAAU;IACV,MAAM;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAa;IAC5C,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,cAAc;IACd,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,UAAU;IACV,aAAa;IACb,WAAW;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS;IACxC,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,WAAW;IACX,aAAa;IACb,MAAM;IACN,YAAY;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAS;IAC/C,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,WAAW;IACX,aAAa;CAChB,CAAC,CAAC"}
@@ -0,0 +1,143 @@
1
+ {
2
+ "title_create": "Create table",
3
+ "title_update": "Edit table",
4
+ "action_create": "Create",
5
+ "action_update": "Update",
6
+ "action_add": "Add",
7
+ "action_set-value": "Set value",
8
+ "action_cancel": "Cancel",
9
+ "action_delete": "Delete",
10
+ "action_apply": "Apply",
11
+ "action_clear": "Clear",
12
+ "action_select": "Select",
13
+ "action_select-all": "Select all",
14
+ "action_undo": "Undo",
15
+ "alert_create-success": "Table created",
16
+ "alert_create-error": "Failed to create table",
17
+ "alert_update-success": "Table updated",
18
+ "alert_update-error": "Failed to update table",
19
+ "context_field-name": "Use slash-separated path segments. Each segment may contain Latin letters (A-Z, a-z), numbers (0-9), and special characters: ., -, _. Maximum segment length is 255 characters.",
20
+ "error_load-table": "Failed to load table",
21
+ "error_required": "Required field",
22
+ "error_name-pattern": "Can only contain Latin letters, numbers, underscores, dashes, and dots.",
23
+ "error_name-segment-pattern": "Can only contain Latin letters (A-Z, a-z), numbers (0-9), and special characters: ., -, _. Maximum length is 255 characters.",
24
+ "error_name-path-pattern": "Use slash-separated path segments. Each segment may contain Latin letters (A-Z, a-z), numbers (0-9), and special characters: ., -, _. Maximum segment length is 255 characters.",
25
+ "error_rename-with-other-changes": "Rename cannot be submitted together with other table changes. Apply the rename separately, or undo the other changes.",
26
+ "error_column-name-pattern": "Only word characters, underscores and dashes are allowed",
27
+ "error_column-name-duplicate": "Column names must be unique",
28
+ "error_index-name-duplicate": "Index names must be unique",
29
+ "error_maximum-less-minimum": "Maximum must not be less than minimum",
30
+ "error_minimum-greater-maximum": "Minimum must not be greater than maximum",
31
+ "error_partitions-count": "Value must be between 1 and 35000",
32
+ "error_uniform-partitions-first-key-type": "Uniform partitions require the first primary key column to have type Uint32 or Uint64",
33
+ "error_partition-count-range": "Value must be between 1 and 1000",
34
+ "error_columns-empty": "Columns are empty",
35
+ "error_indexes-delete-column": "Columns used by existing secondary indexes cannot be deleted.",
36
+ "error_primary-key-required": "At least one primary key column is required",
37
+ "error_indexes-key": "Incorrect set of columns in the key",
38
+ "error_ttl-column-invalid": "Select an existing column with a supported TTL type",
39
+ "error_partitions-at-keys-invalid": "Invalid split points",
40
+ "error_value-invalid": "Incorrect value in field",
41
+ "button_add-column": "Add column",
42
+ "button_add-index": "Add index",
43
+ "button_add-split-point": "Add split point",
44
+ "column_default": "Default",
45
+ "column_index-key": "Key",
46
+ "column_name": "Name",
47
+ "column_not-null": "NotNull",
48
+ "column_primary-key": "Primary key",
49
+ "column_type": "Type",
50
+ "field_autopartition-by-load": "By load",
51
+ "field_autopartition-by-size": "By size",
52
+ "field_autopartition-by-size-mb": "Autopartitioning by size",
53
+ "field_autopartition-max": "Maximum number of partitions",
54
+ "field_autopartition-min": "Minimum number of partitions",
55
+ "field_explicit-partitions": "Split points",
56
+ "field_key-bloom-filter": "Bloom filter for primary key",
57
+ "field_name": "Name",
58
+ "field_partition-count": "Partition count",
59
+ "field_partition-key": "Partition key",
60
+ "field_partitions-type": "Type",
61
+ "field_ttl-column": "Column",
62
+ "field_ttl-lifetime": "Lifetime",
63
+ "field_ttl-status": "Status",
64
+ "field_ttl-unit": "Unit",
65
+ "field_type": "Type",
66
+ "field_uniform-partitions": "Count",
67
+ "label_autoincrement": "Autoincrement",
68
+ "label_autoincrement-note-type": "Permitted type for autoincrement: Int16, Int32, or Int64",
69
+ "label_column-table": "Column table",
70
+ "label_columns": "Columns",
71
+ "label_indexes": "Secondary indexes",
72
+ "label_info-table-type_column": "A column table is a relational table that stores a set of related data organized into rows and columns. Unlike traditional row-based tables designed for OLTP workloads, column tables are optimized for data analytics and OLAP workloads.",
73
+ "label_info-table-type_row": "A row table always has one or more columns that make up a primary key. Table rows are unique by key, meaning there can only be one row for a single key value. Row tables are always ordered by key. This means that point reads by key and range-based queries by key are performed efficiently (actually using an index). The sequence of columns in a key matters. Tables only consisting of key columns are allowed. You can't create tables without a primary key.",
74
+ "label_items": "Items",
75
+ "label_not-null-note-autoincrement": "Autoincrement columns are always NOT NULL",
76
+ "label_not-null-note-key": "Key columns must have this constraint",
77
+ "label_partitioning": "Partitioning",
78
+ "label_row-table": "Row table",
79
+ "label_section-advanced": "Advanced settings",
80
+ "label_section-autopartition": "Autopartitioning",
81
+ "label_section-partition-policy": "Partition policy",
82
+ "label_section-ttl": "TTL settings",
83
+ "label_search": "Search",
84
+ "label_select-columns": "Select 1 or more columns",
85
+ "label_selected": "Selected",
86
+ "label_selected-count": "Selected: {{count}}",
87
+ "label_non-null": "NonNull",
88
+ "label_ttl-warning": "You don't have columns with the right type",
89
+ "title_split-point": "Split point",
90
+ "context_type-bool": "Can store either true or false",
91
+ "context_type-int8": "Signed integer from −2^7 to 2^7 − 1",
92
+ "context_type-int16": "Signed integer from −2^15 to 2^15 − 1",
93
+ "context_type-int32": "Signed integer from −2^31 to 2^31 − 1",
94
+ "context_type-int64": "Signed integer from −2^63 to 2^63 − 1",
95
+ "context_type-uint8": "Unsigned integer, from 0 to 2^8 − 1",
96
+ "context_type-uint16": "Unsigned integer, from 0 to 2^16 − 1",
97
+ "context_type-uint32": "Unsigned integer, from 0 to 2^32 − 1",
98
+ "context_type-uint64": "Unsigned integer, from 0 to 2^64 − 1",
99
+ "context_type-decimal22-9": "Fixed-precision number — 22 digits, 9 digits after the decimal point",
100
+ "context_type-float": "Floating-point number 4 byte",
101
+ "context_type-double": "Double type have 8 bytes",
102
+ "context_type-string": "Arbitrary byte sequence",
103
+ "context_type-utf8": "Text encoded in UTF-8",
104
+ "context_type-json": "Valid JSON in text representation",
105
+ "context_type-jsondocument": "Valid JSON in binary indexed representation",
106
+ "context_type-date": "Precision up to days, YYYY-MM-DD",
107
+ "context_type-datetime": "Precision up to seconds, YYYY-MM-DDThh:mm:ssZ",
108
+ "context_type-timestamp": "Precision up to microseconds, YYYY-MM-DDThh:mm:ss.SSSZ",
109
+ "context_type-interval": "Time interval (signed), accuracy up to microseconds. The range of values is from -136 years to +136 years. The internal representation is a 64-bit signed integer.",
110
+ "context_type-uuid": "Universally unique identifier (UUID)",
111
+ "tooltip_autopartition-by-load": "A table shard is split into two if it is under high loads for a certain period of time (uses a lot of CPU time)",
112
+ "tooltip_autopartition-by-size": "A table shard is split into two when the specified data size is reached",
113
+ "tooltip_autopartition-max": "The number of table shards above which no splitting by size or load is performed",
114
+ "tooltip_autopartition-min": "The number of table shards below which no shard merge by size or load is performed",
115
+ "tooltip_explicit-partitions": "Shard boundary keys during initial partitioning",
116
+ "tooltip_index-key": "A table may have multiple secondary indexes, and an index may include multiple columns. The sequence of columns in an index matters. A single column may consist of multiple indexes and even be part of a primary key and a secondary index at the same time.",
117
+ "tooltip_index-delete-disabled": "This column is used by an existing secondary index and cannot be deleted in this form.",
118
+ "tooltip_key-bloom-filter": "In some cases, it can speed up key reads",
119
+ "tooltip_partitions-type": "Evenly: For Uint32 and Uint64 key columns, it splits the entire range from 0 to the maximum value of the type into intervals of the same length. It's well suited for even distribution of data across shards when an evenly distributed hash function is used as key values.\nExplicitly: Lets you set shard boundary keys for initial partitioning.",
120
+ "tooltip_primary-key": "A YDB table always has one or more columns that make up a primary key. Table rows are unique by key, meaning there can only be one row for a single key value. YDB tables are always ordered by key. The sequence of columns in a key matters. Tables only consisting of key columns are allowed. You can't create tables without a primary key.",
121
+ "tooltip_section-autopartition": "Automatically split shards when the size or load increases and merge them when the size or load decreases",
122
+ "tooltip_section-ttl": "Automatically delete expired rows from a table.",
123
+ "tooltip_ttl-delete-disabled": "This column is currently used for TTL. Apply a separate update to disable or move TTL before deleting it.",
124
+ "tooltip_ttl-column": "Date, Datetime, Timestamp, Uint32, Uint64 columns are supported.",
125
+ "tooltip_ttl-lifetime": "The row will be considered expired when the value stored in the column is less than or equal to the current time and the lifetime has passed.",
126
+ "tooltip_ttl-unit": "The numbers in the column are interpreted as values from the Unix epoch with a given unit.",
127
+ "value_disabled": "Disabled",
128
+ "value_enabled": "Enabled",
129
+ "value_no": "No",
130
+ "value_yes": "Yes",
131
+ "value_partitions-explicit": "Explicitly",
132
+ "value_partitions-none": "None",
133
+ "value_partitions-uniform": "Evenly",
134
+ "value_megabyte": "MB",
135
+ "value_seconds": "seconds",
136
+ "value_minutes": "minutes",
137
+ "value_hours": "hours",
138
+ "value_days": "days",
139
+ "value_epoch-seconds": "Seconds",
140
+ "value_epoch-milliseconds": "Milliseconds",
141
+ "value_epoch-microseconds": "Microseconds",
142
+ "value_epoch-nanoseconds": "Nanoseconds"
143
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: (key: "field_type" | "action_cancel" | "action_create" | "action_apply" | "value_enabled" | "value_disabled" | "value_no" | "error_required" | "error_minimum-greater-maximum" | "error_maximum-less-minimum" | "title_create" | "title_update" | "action_update" | "action_add" | "action_set-value" | "action_delete" | "action_clear" | "action_select" | "action_select-all" | "action_undo" | "alert_create-success" | "alert_create-error" | "alert_update-success" | "alert_update-error" | "context_field-name" | "error_load-table" | "error_name-pattern" | "error_name-segment-pattern" | "error_name-path-pattern" | "error_rename-with-other-changes" | "error_column-name-pattern" | "error_column-name-duplicate" | "error_index-name-duplicate" | "error_partitions-count" | "error_uniform-partitions-first-key-type" | "error_partition-count-range" | "error_columns-empty" | "error_indexes-delete-column" | "error_primary-key-required" | "error_indexes-key" | "error_ttl-column-invalid" | "error_partitions-at-keys-invalid" | "error_value-invalid" | "button_add-column" | "button_add-index" | "button_add-split-point" | "column_default" | "column_index-key" | "column_name" | "column_not-null" | "column_primary-key" | "column_type" | "field_autopartition-by-load" | "field_autopartition-by-size" | "field_autopartition-by-size-mb" | "field_autopartition-max" | "field_autopartition-min" | "field_explicit-partitions" | "field_key-bloom-filter" | "field_name" | "field_partition-count" | "field_partition-key" | "field_partitions-type" | "field_ttl-column" | "field_ttl-lifetime" | "field_ttl-status" | "field_ttl-unit" | "field_uniform-partitions" | "label_autoincrement" | "label_autoincrement-note-type" | "label_column-table" | "label_columns" | "label_indexes" | "label_info-table-type_column" | "label_info-table-type_row" | "label_items" | "label_not-null-note-autoincrement" | "label_not-null-note-key" | "label_partitioning" | "label_row-table" | "label_section-advanced" | "label_section-autopartition" | "label_section-partition-policy" | "label_section-ttl" | "label_search" | "label_select-columns" | "label_selected" | "label_selected-count" | "label_non-null" | "label_ttl-warning" | "title_split-point" | "context_type-bool" | "context_type-int8" | "context_type-int16" | "context_type-int32" | "context_type-int64" | "context_type-uint8" | "context_type-uint16" | "context_type-uint32" | "context_type-uint64" | "context_type-decimal22-9" | "context_type-float" | "context_type-double" | "context_type-string" | "context_type-utf8" | "context_type-json" | "context_type-jsondocument" | "context_type-date" | "context_type-datetime" | "context_type-timestamp" | "context_type-interval" | "context_type-uuid" | "tooltip_autopartition-by-load" | "tooltip_autopartition-by-size" | "tooltip_autopartition-max" | "tooltip_autopartition-min" | "tooltip_explicit-partitions" | "tooltip_index-key" | "tooltip_index-delete-disabled" | "tooltip_key-bloom-filter" | "tooltip_partitions-type" | "tooltip_primary-key" | "tooltip_section-autopartition" | "tooltip_section-ttl" | "tooltip_ttl-delete-disabled" | "tooltip_ttl-column" | "tooltip_ttl-lifetime" | "tooltip_ttl-unit" | "value_yes" | "value_partitions-explicit" | "value_partitions-none" | "value_partitions-uniform" | "value_megabyte" | "value_seconds" | "value_minutes" | "value_hours" | "value_days" | "value_epoch-seconds" | "value_epoch-milliseconds" | "value_epoch-microseconds" | "value_epoch-nanoseconds", params?: import("@gravity-ui/i18n").Params) => string;
2
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import { registerKeysets } from '../../../../utils/i18n';
2
+ import en from './en.json';
3
+ const COMPONENT = 'ydb-table-form-dialog';
4
+ export default registerKeysets(COMPONENT, { en });
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/TableFormDialog/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAE1C,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { FormMode } from '../types';
3
+ interface GeneralSectionProps {
4
+ mode: FormMode;
5
+ nameInputRef?: React.Ref<HTMLInputElement>;
6
+ }
7
+ export declare function GeneralSection({ mode, nameInputRef }: GeneralSectionProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { HelpMark, Select, TextInput } from '@gravity-ui/uikit';
4
+ import { Controller, useFormContext, useWatch } from 'react-hook-form';
5
+ import { cn } from '../../../../utils/cn';
6
+ import { FormRow, FormSection } from '../components/layout';
7
+ import i18n from '../i18n';
8
+ const b = cn('ydb-table-form-dialog');
9
+ const tableTypeInfo = {
10
+ row: i18n('label_info-table-type_row'),
11
+ column: i18n('label_info-table-type_column'),
12
+ };
13
+ export function GeneralSection({ mode, nameInputRef }) {
14
+ var _a;
15
+ const { control, formState } = useFormContext();
16
+ const type = useWatch({ control, name: 'type' });
17
+ const typeOptions = React.useMemo(() => [
18
+ { value: 'row', content: i18n('label_row-table') },
19
+ { value: 'column', content: i18n('label_column-table') },
20
+ ], []);
21
+ const nameError = (_a = formState.errors.name) === null || _a === void 0 ? void 0 : _a.message;
22
+ const nameDisabled = mode === 'update' && type === 'column';
23
+ const typeDisabled = mode === 'update';
24
+ const tableTypeHelpText = mode === 'create' && type ? tableTypeInfo[type] : undefined;
25
+ const nameHelpText = nameDisabled ? undefined : i18n('context_field-name');
26
+ return (_jsxs(FormSection, { children: [_jsx(FormRow, { title: i18n('field_name'), note: nameHelpText, htmlFor: "table-form-name", children: _jsx(Controller, { control: control, name: "name", render: ({ field }) => {
27
+ var _a;
28
+ return (_jsx(TextInput, { controlRef: nameInputRef, id: "table-form-name", value: (_a = field.value) !== null && _a !== void 0 ? _a : '', onUpdate: field.onChange, autoComplete: false, disabled: nameDisabled, validationState: nameError ? 'invalid' : undefined, errorMessage: nameError, className: b('control'), autoFocus: mode === 'create' }));
29
+ } }) }), _jsx(FormRow, { title: i18n('field_type'), children: _jsxs("div", { className: b('type-select-row'), children: [_jsx(Controller, { control: control, name: "type", render: ({ field }) => (_jsx(Select, { className: b('type-select-control'), value: field.value ? [field.value] : [], options: typeOptions, onUpdate: ([value]) => field.onChange(value), disabled: typeDisabled, width: "max" })) }), tableTypeHelpText ? (_jsx(HelpMark, { className: b('help-mark'), popoverProps: {
30
+ placement: ['bottom', 'right'],
31
+ className: b('help-mark-popup'),
32
+ }, children: tableTypeHelpText })) : null] }) })] }));
33
+ }
34
+ //# sourceMappingURL=GeneralSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeneralSection.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/TableFormDialog/sections/GeneralSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ interface PartitioningSectionProps {
2
+ pkTypes: Set<string>;
3
+ }
4
+ export declare function PartitioningSection({ pkTypes }: PartitioningSectionProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { TextInput } from '@gravity-ui/uikit';
4
+ import { Controller, useFormContext, useWatch } from 'react-hook-form';
5
+ import { cn } from '../../../../utils/cn';
6
+ import { ColumnSelectorField } from '../components/ColumnSelectorField';
7
+ import { FormFieldError, FormRow, FormSection } from '../components/layout';
8
+ import i18n from '../i18n';
9
+ import { acceptIntegerInput, formatOptionalIntegerInput, parseOptionalIntegerInput } from '../utils';
10
+ const b = cn('ydb-table-form-dialog');
11
+ export function PartitioningSection({ pkTypes }) {
12
+ var _a, _b;
13
+ const { control, formState } = useFormContext();
14
+ const columns = useWatch({ control, name: 'columns' });
15
+ const pkColumns = React.useMemo(() => columns.filter(({ key, type }) => key && pkTypes.has(type)), [columns, pkTypes]);
16
+ const partitionKeyError = (_a = formState.errors.partitionKey) === null || _a === void 0 ? void 0 : _a.message;
17
+ const partitionCountError = (_b = formState.errors.partitionCount) === null || _b === void 0 ? void 0 : _b.message;
18
+ return (_jsxs(FormSection, { title: i18n('label_partitioning'), children: [_jsx(FormRow, { title: i18n('field_partition-key'), children: _jsx(Controller, { control: control, name: "partitionKey", render: ({ field }) => {
19
+ var _a;
20
+ return (_jsxs("div", { className: b('control-stack'), children: [_jsx(ColumnSelectorField, { value: (_a = field.value) !== null && _a !== void 0 ? _a : [], onChange: field.onChange, columns: pkColumns, invalid: Boolean(partitionKeyError), className: b('control') }), _jsx(FormFieldError, { message: partitionKeyError })] }));
21
+ } }) }), _jsx(FormRow, { title: i18n('field_partition-count'), children: _jsx(Controller, { control: control, name: "partitionCount", render: ({ field }) => (_jsx(TextInput, { className: b('control'), value: formatOptionalIntegerInput(field.value), onUpdate: (value) => {
22
+ if (!acceptIntegerInput(value)) {
23
+ return;
24
+ }
25
+ field.onChange(parseOptionalIntegerInput(value));
26
+ }, validationState: partitionCountError ? 'invalid' : undefined, errorMessage: partitionCountError })) }) })] }));
27
+ }
28
+ //# sourceMappingURL=PartitioningSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartitioningSection.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/TableFormDialog/sections/PartitioningSection.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAC,mBAAmB,EAAC,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAC1E,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAC,kBAAkB,EAAE,0BAA0B,EAAE,yBAAyB,EAAC,MAAM,UAAU,CAAC;AAEnG,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC;AAMtC,MAAM,UAAU,mBAAmB,CAAC,EAAC,OAAO,EAA2B;;IACnE,MAAM,EAAC,OAAO,EAAE,SAAS,EAAC,GAAG,cAAc,EAAc,CAAC;IAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;IAErD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAC,GAAG,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAC/D,CAAC,OAAO,EAAE,OAAO,CAAC,CACrB,CAAC;IAEF,MAAM,iBAAiB,GAAG,MAAA,SAAS,CAAC,MAAM,CAAC,YAAY,0CAAE,OAAO,CAAC;IACjE,MAAM,mBAAmB,GAAG,MAAA,SAAS,CAAC,MAAM,CAAC,cAAc,0CAAE,OAAO,CAAC;IAErE,OAAO,CACH,MAAC,WAAW,IAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAC1C,KAAC,OAAO,IAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,YACvC,KAAC,UAAU,IACP,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,cAAc,EACnB,MAAM,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;;wBAAC,OAAA,CACjB,eAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,aAC9B,KAAC,mBAAmB,IAChB,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACnC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GACzB,EACF,KAAC,cAAc,IAAC,OAAO,EAAE,iBAAiB,GAAI,IAC5C,CACT,CAAA;qBAAA,GACH,GACI,EACV,KAAC,OAAO,IAAC,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,YACzC,KAAC,UAAU,IACP,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,gBAAgB,EACrB,MAAM,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,CACjB,KAAC,SAAS,IACN,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EACvB,KAAK,EAAE,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,EAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAChB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC7B,OAAO;4BACX,CAAC;4BACD,KAAK,CAAC,QAAQ,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;wBACrD,CAAC,EACD,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC5D,YAAY,EAAE,mBAAmB,GACnC,CACL,GACH,GACI,IACA,CACjB,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { FormMode } from '../types';
2
+ interface SettingsSectionProps {
3
+ mode: FormMode;
4
+ }
5
+ export declare function SettingsSection({ mode }: SettingsSectionProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,141 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Key, Plus, TrashBin } from '@gravity-ui/icons';
4
+ import { Button, Disclosure, HelpMark, Icon, SegmentedRadioGroup, Switch, Text, TextInput, } from '@gravity-ui/uikit';
5
+ import { Controller, useFormContext, useWatch } from 'react-hook-form';
6
+ import { prepareColumnValue } from '../../../../store/reducers/table/utils';
7
+ import { cn } from '../../../../utils/cn';
8
+ import { RangeInputPicker } from '../components/RangeInputPicker';
9
+ import { FormFieldError, FormRow, FormSection } from '../components/layout';
10
+ import { MAX_PARTITION_SIZE_MB, MIN_PARTITION_SIZE_MB } from '../constants';
11
+ import i18n from '../i18n';
12
+ import { PartitionsType } from '../types';
13
+ import { acceptIntegerInput, formatOptionalIntegerInput, parseOptionalIntegerInput, partitionsTypeOptions, } from '../utils';
14
+ import { SplitPointDialog, buildSplitPointEntries } from './SplitPointDialog';
15
+ const b = cn('ydb-table-form-dialog');
16
+ function formatPartitionSizeMark(value) {
17
+ return `${value} ${i18n('value_megabyte')}`;
18
+ }
19
+ export function SettingsSection({ mode }) {
20
+ var _a, _b, _c, _d, _e, _f, _g, _h;
21
+ const { control, setValue, getValues, trigger, formState } = useFormContext();
22
+ const partitionsType = useWatch({ control, name: 'settings.partitionsType' });
23
+ const autoPartitionBySize = useWatch({ control, name: 'settings.autoPartitionBySize' });
24
+ const autoPartitionByLoad = useWatch({ control, name: 'settings.autoPartitionByLoad' });
25
+ const autoPartitionMinPartitions = useWatch({
26
+ control,
27
+ name: 'settings.autoPartitionMinPartitions',
28
+ });
29
+ const autoPartitionMaxPartitions = useWatch({
30
+ control,
31
+ name: 'settings.autoPartitionMaxPartitions',
32
+ });
33
+ const minMaxDisabled = !autoPartitionBySize && !autoPartitionByLoad;
34
+ const uniformError = (_b = (_a = formState.errors.settings) === null || _a === void 0 ? void 0 : _a.uniformPartitions) === null || _b === void 0 ? void 0 : _b.message;
35
+ const minPartitionsError = (_d = (_c = formState.errors.settings) === null || _c === void 0 ? void 0 : _c.autoPartitionMinPartitions) === null || _d === void 0 ? void 0 : _d.message;
36
+ const maxPartitionsError = (_f = (_e = formState.errors.settings) === null || _e === void 0 ? void 0 : _e.autoPartitionMaxPartitions) === null || _f === void 0 ? void 0 : _f.message;
37
+ const partitionsAtKeysError = (_h = (_g = formState.errors.settings) === null || _g === void 0 ? void 0 : _g.partitionsAtKeys) === null || _h === void 0 ? void 0 : _h.message;
38
+ const [splitDialogState, setSplitDialogState] = React.useState({
39
+ open: false,
40
+ index: 0,
41
+ columns: [],
42
+ values: [],
43
+ });
44
+ const splitPointsRaw = useWatch({ control, name: 'settings.partitionsAtKeys' });
45
+ const splitPoints = React.useMemo(() => splitPointsRaw !== null && splitPointsRaw !== void 0 ? splitPointsRaw : [], [splitPointsRaw]);
46
+ const columns = useWatch({ control, name: 'columns' });
47
+ const splitPointPlaceholder = React.useMemo(() => {
48
+ const pkNames = columns
49
+ .filter(({ key }) => Boolean(key))
50
+ .map(({ name }) => name)
51
+ .join(', ');
52
+ return pkNames ? `(${pkNames})` : '';
53
+ }, [columns]);
54
+ const appendSplit = React.useCallback(() => {
55
+ var _a;
56
+ const current = ((_a = getValues('settings.partitionsAtKeys')) !== null && _a !== void 0 ? _a : []);
57
+ setValue('settings.partitionsAtKeys', [...current, []], { shouldValidate: true });
58
+ }, [getValues, setValue]);
59
+ const removeSplit = React.useCallback((index) => {
60
+ var _a;
61
+ const current = ((_a = getValues('settings.partitionsAtKeys')) !== null && _a !== void 0 ? _a : []);
62
+ setValue('settings.partitionsAtKeys', current.filter((_, i) => i !== index), { shouldValidate: true });
63
+ }, [getValues, setValue]);
64
+ const openSplitDialog = React.useCallback((index) => {
65
+ var _a, _b;
66
+ const allColumns = getValues('columns');
67
+ const pkColumns = allColumns.filter(({ key }) => Boolean(key));
68
+ const current = ((_a = getValues('settings.partitionsAtKeys')) !== null && _a !== void 0 ? _a : []);
69
+ const stored = (_b = current[index]) !== null && _b !== void 0 ? _b : [];
70
+ const draftValues = buildSplitPointEntries(pkColumns, stored);
71
+ setSplitDialogState({
72
+ open: true,
73
+ index,
74
+ columns: pkColumns.map(({ name, type, notNull }) => ({ name, type, notNull })),
75
+ values: draftValues,
76
+ });
77
+ }, [getValues]);
78
+ const closeSplitDialog = React.useCallback(() => {
79
+ setSplitDialogState((prev) => ({ ...prev, open: false }));
80
+ }, []);
81
+ const handleSplitSubmit = React.useCallback((index, values) => {
82
+ var _a;
83
+ const current = ((_a = getValues('settings.partitionsAtKeys')) !== null && _a !== void 0 ? _a : []);
84
+ const next = current.map((row, i) => (i === index ? values : row));
85
+ setValue('settings.partitionsAtKeys', next, { shouldValidate: true });
86
+ }, [getValues, setValue]);
87
+ const handleAutoPartitionBySizeUpdate = React.useCallback((enabled, onChange) => {
88
+ if (enabled) {
89
+ const currentSize = getValues('settings.autoPartitionBySizeMb');
90
+ if (typeof currentSize !== 'number' || Number.isNaN(currentSize)) {
91
+ setValue('settings.autoPartitionBySizeMb', MAX_PARTITION_SIZE_MB, {
92
+ shouldDirty: true,
93
+ shouldValidate: true,
94
+ });
95
+ }
96
+ }
97
+ onChange(enabled);
98
+ }, [getValues, setValue]);
99
+ React.useEffect(() => {
100
+ trigger([
101
+ 'settings.autoPartitionMinPartitions',
102
+ 'settings.autoPartitionMaxPartitions',
103
+ ]).catch(() => undefined);
104
+ }, [autoPartitionMaxPartitions, autoPartitionMinPartitions, trigger]);
105
+ return (_jsxs(React.Fragment, { children: [mode === 'create' ? (_jsxs(FormSection, { title: i18n('label_section-partition-policy'), children: [_jsx(FormRow, { title: i18n('field_partitions-type'), note: i18n('tooltip_partitions-type'), children: _jsx(Controller, { control: control, name: "settings.partitionsType", render: ({ field }) => {
106
+ var _a;
107
+ return (_jsx(SegmentedRadioGroup, { value: (_a = field.value) !== null && _a !== void 0 ? _a : PartitionsType.None, onUpdate: field.onChange, children: partitionsTypeOptions.map((option) => (_jsx(SegmentedRadioGroup.Option, { value: option.value, children: option.content }, option.value))) }));
108
+ } }) }), partitionsType === PartitionsType.Uniform ? (_jsx(FormRow, { title: i18n('field_uniform-partitions'), children: _jsx(Controller, { control: control, name: "settings.uniformPartitions", render: ({ field }) => (_jsx(TextInput, { className: b('control'), value: formatOptionalIntegerInput(field.value), onUpdate: (value) => {
109
+ if (!acceptIntegerInput(value)) {
110
+ return;
111
+ }
112
+ field.onChange(parseOptionalIntegerInput(value));
113
+ }, validationState: uniformError ? 'invalid' : undefined, errorMessage: uniformError })) }) })) : null, partitionsType === PartitionsType.Explicit ? (_jsxs("div", { className: b('split-points-field'), children: [_jsxs("div", { className: b('split-points-header'), children: [_jsx(Text, { as: "span", variant: "body-1", className: b('split-points-title'), children: i18n('field_explicit-partitions') }), _jsx(HelpMark, { className: b('help-mark'), popoverProps: {
114
+ placement: ['bottom', 'right'],
115
+ className: b('help-mark-popup'),
116
+ }, children: i18n('tooltip_explicit-partitions') })] }), _jsx("div", { className: b('split-points-content'), children: _jsxs("div", { className: b('split-points'), children: [splitPoints.map((row, index) => {
117
+ const display = row
118
+ .map((column) => prepareColumnValue(column, column.value))
119
+ .join(', ');
120
+ return (_jsxs("div", { className: b('split-point-row'), children: [_jsx(Text, { as: "span", color: "secondary", className: b('split-point-index'), children: `${index + 1}.` }), _jsx(Button, { view: "outlined", onClick: () => openSplitDialog(index), title: i18n('title_split-point'), children: _jsx(Icon, { data: Key, size: 16 }) }), _jsx(TextInput, { className: b('split-point-display'), value: display ? `(${display})` : '', placeholder: splitPointPlaceholder, controlProps: { readOnly: true } }), splitPoints.length > 1 ? (_jsx(Button, { view: "flat", onClick: () => removeSplit(index), title: i18n('action_delete'), children: _jsx(Icon, { data: TrashBin, size: 16 }) })) : null] }, `split-${index}`));
121
+ }), _jsx(FormFieldError, { message: partitionsAtKeysError }), _jsx("div", { children: _jsxs(Button, { onClick: appendSplit, children: [_jsx(Icon, { data: Plus, size: 16 }), i18n('button_add-split-point')] }) })] }) })] })) : null] })) : null, _jsxs(FormSection, { title: i18n('label_section-autopartition'), note: i18n('tooltip_section-autopartition'), children: [_jsx(FormRow, { title: i18n('field_autopartition-by-size'), note: i18n('tooltip_autopartition-by-size'), children: _jsx(Controller, { control: control, name: "settings.autoPartitionBySize", render: ({ field }) => (_jsx("div", { className: b('checkbox-control'), children: _jsx(Switch, { checked: Boolean(field.value), onUpdate: (value) => {
122
+ handleAutoPartitionBySizeUpdate(value, field.onChange);
123
+ } }) })) }) }), _jsx(FormRow, { title: i18n('field_autopartition-by-load'), note: i18n('tooltip_autopartition-by-load'), children: _jsx(Controller, { control: control, name: "settings.autoPartitionByLoad", render: ({ field }) => (_jsx("div", { className: b('checkbox-control'), children: _jsx(Switch, { checked: Boolean(field.value), onUpdate: field.onChange }) })) }) }), _jsx(Disclosure, { summary: _jsx(Text, { as: "span", variant: "subheader-2", children: i18n('label_section-advanced') }), className: b('disclosure'), children: _jsxs("div", { className: b('advanced'), children: [_jsx(FormRow, { title: i18n('field_autopartition-by-size-mb'), children: _jsx(Controller, { control: control, name: "settings.autoPartitionBySizeMb", render: ({ field }) => {
124
+ const value = typeof field.value === 'number' &&
125
+ !Number.isNaN(field.value)
126
+ ? field.value
127
+ : undefined;
128
+ return (_jsx(RangeInputPicker, { className: b('control'), value: value, min: MIN_PARTITION_SIZE_MB, max: MAX_PARTITION_SIZE_MB, step: 1, marks: [MIN_PARTITION_SIZE_MB, MAX_PARTITION_SIZE_MB], markFormat: formatPartitionSizeMark, onUpdate: field.onChange, acceptInputValue: acceptIntegerInput, parseInputValue: Number, disabled: !autoPartitionBySize, endContent: _jsx("span", { className: b('input-suffix'), children: i18n('value_megabyte') }) }));
129
+ } }) }), _jsx(FormRow, { title: i18n('field_autopartition-min'), note: i18n('tooltip_autopartition-min'), children: _jsx(Controller, { control: control, name: "settings.autoPartitionMinPartitions", render: ({ field }) => (_jsx(TextInput, { className: b('control'), value: formatOptionalIntegerInput(field.value), onUpdate: (value) => {
130
+ if (!acceptIntegerInput(value)) {
131
+ return;
132
+ }
133
+ field.onChange(parseOptionalIntegerInput(value));
134
+ }, disabled: minMaxDisabled, validationState: minPartitionsError ? 'invalid' : undefined, errorMessage: minPartitionsError })) }) }), _jsx(FormRow, { title: i18n('field_autopartition-max'), note: i18n('tooltip_autopartition-max'), children: _jsx(Controller, { control: control, name: "settings.autoPartitionMaxPartitions", render: ({ field }) => (_jsx(TextInput, { className: b('control'), value: formatOptionalIntegerInput(field.value), onUpdate: (value) => {
135
+ if (!acceptIntegerInput(value)) {
136
+ return;
137
+ }
138
+ field.onChange(parseOptionalIntegerInput(value));
139
+ }, disabled: minMaxDisabled, validationState: maxPartitionsError ? 'invalid' : undefined, errorMessage: maxPartitionsError })) }) }), _jsx(FormRow, { title: i18n('field_key-bloom-filter'), note: i18n('tooltip_key-bloom-filter'), children: _jsx(Controller, { control: control, name: "settings.keyBloomFilter", render: ({ field }) => (_jsx("div", { className: b('checkbox-control'), children: _jsx(Switch, { checked: Boolean(field.value), onUpdate: field.onChange }) })) }) })] }) })] }), _jsx(SplitPointDialog, { state: splitDialogState, onClose: closeSplitDialog, onSubmit: handleSplitSubmit })] }));
140
+ }
141
+ //# sourceMappingURL=SettingsSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsSection.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/TableFormDialog/sections/SettingsSection.tsx"],"names":[],"mappings":"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"}