ydb-embedded-ui 18.3.2 → 18.4.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 (383) 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/DiskCapacityInfo/DiskCapacityInfo.d.ts +21 -0
  6. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js +129 -0
  7. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js.map +1 -0
  8. package/dist/components/DiskCapacityInfo/i18n/en.json +7 -0
  9. package/dist/components/DiskCapacityInfo/i18n/index.d.ts +2 -0
  10. package/dist/components/DiskCapacityInfo/i18n/index.js +5 -0
  11. package/dist/components/DiskCapacityInfo/i18n/index.js.map +1 -0
  12. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.d.ts +8 -1
  13. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +24 -14
  14. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
  15. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +144 -0
  16. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.d.ts +9 -0
  17. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.js +8 -0
  18. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.js.map +1 -0
  19. package/dist/components/HelpMarkWithDocs/i18n/en.json +3 -0
  20. package/dist/components/HelpMarkWithDocs/i18n/index.d.ts +1 -0
  21. package/dist/components/HelpMarkWithDocs/i18n/index.js +5 -0
  22. package/dist/components/HelpMarkWithDocs/i18n/index.js.map +1 -0
  23. package/dist/components/PDiskInfo/PDiskInfo.d.ts +1 -0
  24. package/dist/components/PDiskInfo/PDiskInfo.js +51 -14
  25. package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
  26. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  27. package/dist/components/PDiskPopup/PDiskPopup.d.ts +1 -1
  28. package/dist/components/PDiskPopup/PDiskPopup.js +13 -4
  29. package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
  30. package/dist/components/StorageGroupInfo/StorageGroupInfo.js +120 -2
  31. package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
  32. package/dist/components/StorageGroupInfo/i18n/en.json +2 -1
  33. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  34. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.d.ts +5 -2
  35. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js +4 -3
  36. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js.map +1 -1
  37. package/dist/components/VDisk/VDisk.js +44 -10
  38. package/dist/components/VDisk/VDisk.js.map +1 -1
  39. package/dist/components/VDisk/i18n/en.json +6 -1
  40. package/dist/components/VDisk/i18n/index.d.ts +1 -1
  41. package/dist/components/VDiskInfo/VDiskInfo.js +117 -67
  42. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  43. package/dist/components/VDiskInfo/getVDiskCapacityColumns.d.ts +11 -0
  44. package/dist/components/VDiskInfo/getVDiskCapacityColumns.js +52 -0
  45. package/dist/components/VDiskInfo/getVDiskCapacityColumns.js.map +1 -0
  46. package/dist/components/VDiskPopup/VDiskPopup.d.ts +5 -0
  47. package/dist/components/VDiskPopup/VDiskPopup.js +18 -7
  48. package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
  49. package/dist/components/YDBDefinitionList/YDBDefinitionList.d.ts +2 -1
  50. package/dist/components/YDBDefinitionList/YDBDefinitionList.js +2 -2
  51. package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
  52. package/dist/components/capacityMetricsColumns/columns.js +19 -24
  53. package/dist/components/capacityMetricsColumns/columns.js.map +1 -1
  54. package/dist/components/capacityMetricsColumns/constants.d.ts +11 -0
  55. package/dist/components/capacityMetricsColumns/constants.js +25 -0
  56. package/dist/components/capacityMetricsColumns/constants.js.map +1 -1
  57. package/dist/components/capacityMetricsColumns/formatters.d.ts +1 -0
  58. package/dist/components/capacityMetricsColumns/formatters.js +9 -0
  59. package/dist/components/capacityMetricsColumns/formatters.js.map +1 -0
  60. package/dist/components/capacityMetricsColumns/i18n/en.json +9 -1
  61. package/dist/components/capacityMetricsColumns/i18n/index.d.ts +1 -1
  62. package/dist/components/nodesColumns/constants.js +1 -1
  63. package/dist/components/nodesColumns/constants.js.map +1 -1
  64. package/dist/containers/App/NavigationWrapper.js +1 -1
  65. package/dist/containers/App/NavigationWrapper.js.map +1 -1
  66. package/dist/containers/AsideNavigation/i18n/en.json +1 -1
  67. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +1 -1
  68. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
  69. package/dist/containers/Storage/Disks/Disks.d.ts +2 -2
  70. package/dist/containers/Storage/Disks/Disks.js +13 -10
  71. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  72. package/dist/containers/Storage/Disks/Disks.scss +20 -0
  73. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.d.ts +2 -0
  74. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.js +46 -0
  75. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.js.map +1 -0
  76. package/dist/containers/Storage/Disks/constants.d.ts +5 -0
  77. package/dist/containers/Storage/Disks/constants.js +11 -0
  78. package/dist/containers/Storage/Disks/constants.js.map +1 -0
  79. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +8 -15
  80. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
  81. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.d.ts +2 -2
  82. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +37 -9
  83. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  84. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +5 -0
  85. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +31 -1
  86. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
  87. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +39 -24
  88. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
  89. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/en.json +1 -0
  90. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
  91. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/types.d.ts +1 -0
  92. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js +18 -9
  93. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -1
  94. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +1 -1
  95. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +1 -1
  96. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.scss +13 -0
  97. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js +96 -2
  98. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js.map +1 -1
  99. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +2 -5
  100. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -1
  101. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +2 -0
  102. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js +6 -1
  103. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js.map +1 -1
  104. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js +3 -3
  105. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js.map +1 -1
  106. package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +13 -0
  107. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
  108. package/dist/containers/Storage/useStorageQueryParams.js +9 -4
  109. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  110. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js +45 -5
  111. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js.map +1 -1
  112. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +1 -1
  113. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js.map +1 -1
  114. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js +12 -13
  115. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js.map +1 -1
  116. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.d.ts +1 -1
  117. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js +2 -2
  118. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js.map +1 -1
  119. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js +3 -3
  120. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js.map +1 -1
  121. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/en.json +1 -2
  122. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/index.d.ts +1 -1
  123. package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js +1 -1
  124. package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js.map +1 -1
  125. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +1 -1
  126. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js.map +1 -1
  127. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +5 -2
  128. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  129. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.d.ts +1 -1
  130. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +36 -15
  131. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
  132. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.d.ts +14 -0
  133. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.js +38 -0
  134. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.js.map +1 -0
  135. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.d.ts +1 -1
  136. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js +3 -2
  137. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js.map +1 -1
  138. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.d.ts +10 -1
  139. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +12 -8
  140. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  141. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/en.json +15 -1
  142. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
  143. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/types.d.ts +3 -1
  144. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js +1 -1
  145. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js.map +1 -1
  146. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +1 -1
  147. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -1
  148. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js +1 -1
  149. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js.map +1 -1
  150. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicProbeQuery.js +1 -1
  151. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicProbeQuery.js.map +1 -1
  152. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.js +10 -6
  153. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.js.map +1 -1
  154. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.scss +57 -6
  155. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.scss +31 -0
  156. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +58 -0
  157. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
  158. package/dist/containers/Tenant/Query/Issues/Issues.js +3 -3
  159. package/dist/containers/Tenant/Query/Issues/Issues.js.map +1 -1
  160. package/dist/containers/Tenant/Query/Issues/helpers.d.ts +3 -0
  161. package/dist/containers/Tenant/Query/Issues/helpers.js +40 -0
  162. package/dist/containers/Tenant/Query/Issues/helpers.js.map +1 -1
  163. package/dist/containers/Tenant/Query/Issues/helpers.test.d.ts +1 -0
  164. package/dist/containers/Tenant/Query/Issues/helpers.test.js +94 -0
  165. package/dist/containers/Tenant/Query/Issues/helpers.test.js.map +1 -0
  166. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js +1 -1
  167. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js.map +1 -1
  168. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js +1 -1
  169. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js.map +1 -1
  170. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +141 -73
  171. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
  172. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.scss +8 -0
  173. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.d.ts +4 -2
  174. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js +187 -20
  175. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js.map +1 -1
  176. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.d.ts +9 -0
  177. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.js +154 -0
  178. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.js.map +1 -0
  179. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.d.ts +1 -0
  180. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js +153 -0
  181. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js.map +1 -0
  182. package/dist/containers/Tenant/Query/QueryEditor/types.d.ts +5 -0
  183. package/dist/containers/Tenant/Query/QueryEditor/types.js +2 -0
  184. package/dist/containers/Tenant/Query/QueryEditor/types.js.map +1 -0
  185. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.d.ts +5 -0
  186. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.js +13 -0
  187. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.js.map +1 -0
  188. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.d.ts +6 -3
  189. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js +10 -5
  190. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js.map +1 -1
  191. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.scss +18 -5
  192. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.d.ts +3 -2
  193. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +23 -12
  194. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
  195. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.scss +19 -0
  196. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +14 -21
  197. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
  198. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.d.ts +6 -2
  199. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js +6 -2
  200. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js.map +1 -1
  201. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.d.ts +2 -0
  202. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js +1 -1
  203. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js.map +1 -1
  204. package/dist/containers/Tenant/Query/QueryResult/constants.d.ts +3 -0
  205. package/dist/containers/Tenant/Query/QueryResult/constants.js +35 -0
  206. package/dist/containers/Tenant/Query/QueryResult/constants.js.map +1 -1
  207. package/dist/containers/Tenant/Query/i18n/en.json +5 -2
  208. package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
  209. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.d.ts +1 -1
  210. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js +1 -13
  211. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js.map +1 -1
  212. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.d.ts +19 -0
  213. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.js +225 -0
  214. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.js.map +1 -0
  215. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.scss +589 -0
  216. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.d.ts +1 -0
  217. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.js +179 -0
  218. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.js.map +1 -0
  219. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.d.ts +11 -0
  220. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.js +84 -0
  221. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.js.map +1 -0
  222. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.scss +175 -0
  223. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.d.ts +19 -0
  224. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.js +115 -0
  225. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.js.map +1 -0
  226. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.scss +22 -0
  227. package/dist/containers/Tenant/TableFormDialog/components/layout.d.ts +15 -0
  228. package/dist/containers/Tenant/TableFormDialog/components/layout.js +32 -0
  229. package/dist/containers/Tenant/TableFormDialog/components/layout.js.map +1 -0
  230. package/dist/containers/Tenant/TableFormDialog/constants.d.ts +16 -0
  231. package/dist/containers/Tenant/TableFormDialog/constants.js +99 -0
  232. package/dist/containers/Tenant/TableFormDialog/constants.js.map +1 -0
  233. package/dist/containers/Tenant/TableFormDialog/i18n/en.json +143 -0
  234. package/dist/containers/Tenant/TableFormDialog/i18n/index.d.ts +2 -0
  235. package/dist/containers/Tenant/TableFormDialog/i18n/index.js +5 -0
  236. package/dist/containers/Tenant/TableFormDialog/i18n/index.js.map +1 -0
  237. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.d.ts +8 -0
  238. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.js +34 -0
  239. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.js.map +1 -0
  240. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.d.ts +5 -0
  241. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.js +28 -0
  242. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.js.map +1 -0
  243. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.d.ts +6 -0
  244. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.js +141 -0
  245. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.js.map +1 -0
  246. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.d.ts +22 -0
  247. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.js +97 -0
  248. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.js.map +1 -0
  249. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.d.ts +6 -0
  250. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.js +70 -0
  251. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.js.map +1 -0
  252. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.d.ts +11 -0
  253. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.js +181 -0
  254. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.js.map +1 -0
  255. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.d.ts +1 -0
  256. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.js +42 -0
  257. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.js.map +1 -0
  258. package/dist/containers/Tenant/TableFormDialog/types.d.ts +26 -0
  259. package/dist/containers/Tenant/TableFormDialog/types.js +3 -0
  260. package/dist/containers/Tenant/TableFormDialog/types.js.map +1 -0
  261. package/dist/containers/Tenant/TableFormDialog/utils.d.ts +41 -0
  262. package/dist/containers/Tenant/TableFormDialog/utils.js +245 -0
  263. package/dist/containers/Tenant/TableFormDialog/utils.js.map +1 -0
  264. package/dist/containers/Tenant/TableFormDialog/validation.d.ts +8 -0
  265. package/dist/containers/Tenant/TableFormDialog/validation.js +308 -0
  266. package/dist/containers/Tenant/TableFormDialog/validation.js.map +1 -0
  267. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.d.ts +19 -0
  268. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.js +296 -0
  269. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.js.map +1 -0
  270. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.scss +182 -0
  271. package/dist/containers/Tenant/TopicFormDialog/i18n/en.json +51 -0
  272. package/dist/containers/Tenant/TopicFormDialog/i18n/index.d.ts +2 -0
  273. package/dist/containers/Tenant/TopicFormDialog/i18n/index.js +5 -0
  274. package/dist/containers/Tenant/TopicFormDialog/i18n/index.js.map +1 -0
  275. package/dist/containers/Tenant/TopicFormDialog/utils.d.ts +18 -0
  276. package/dist/containers/Tenant/TopicFormDialog/utils.js +100 -0
  277. package/dist/containers/Tenant/TopicFormDialog/utils.js.map +1 -0
  278. package/dist/containers/Tenant/TopicFormDialog/validation.d.ts +3 -0
  279. package/dist/containers/Tenant/TopicFormDialog/validation.js +88 -0
  280. package/dist/containers/Tenant/TopicFormDialog/validation.js.map +1 -0
  281. package/dist/containers/Tenant/i18n/en.json +5 -1
  282. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  283. package/dist/containers/Tenant/utils/pathSegmentValidation.d.ts +5 -0
  284. package/dist/containers/Tenant/utils/pathSegmentValidation.js +15 -0
  285. package/dist/containers/Tenant/utils/pathSegmentValidation.js.map +1 -0
  286. package/dist/containers/Tenant/utils/schemaActions.d.ts +4 -0
  287. package/dist/containers/Tenant/utils/schemaActions.js +103 -14
  288. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  289. package/dist/containers/VDiskPage/VDiskPage.js +3 -30
  290. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  291. package/dist/containers/VDiskPage/useVDiskQueryParams.d.ts +13 -0
  292. package/dist/containers/VDiskPage/useVDiskQueryParams.js +55 -0
  293. package/dist/containers/VDiskPage/useVDiskQueryParams.js.map +1 -0
  294. package/dist/store/reducers/pdisk/utils.js +4 -4
  295. package/dist/store/reducers/pdisk/utils.js.map +1 -1
  296. package/dist/store/reducers/query/api.d.ts +2 -1
  297. package/dist/store/reducers/query/api.js +107 -48
  298. package/dist/store/reducers/query/api.js.map +1 -1
  299. package/dist/store/reducers/query/parsers/preparePlanData.js +8 -1
  300. package/dist/store/reducers/query/parsers/preparePlanData.js.map +1 -1
  301. package/dist/store/reducers/query/slice.d.ts +8 -9
  302. package/dist/store/reducers/query/slice.js +5 -0
  303. package/dist/store/reducers/query/slice.js.map +1 -1
  304. package/dist/store/reducers/query/streaming/reducers.d.ts +3 -0
  305. package/dist/store/reducers/query/streaming/reducers.js +6 -6
  306. package/dist/store/reducers/query/streaming/reducers.js.map +1 -1
  307. package/dist/store/reducers/query/types.d.ts +8 -4
  308. package/dist/store/reducers/query/utils.d.ts +10 -2
  309. package/dist/store/reducers/query/utils.js +37 -6
  310. package/dist/store/reducers/query/utils.js.map +1 -1
  311. package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +10 -3
  312. package/dist/store/reducers/storage/prepareGroupsDisks.js +43 -6
  313. package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
  314. package/dist/store/reducers/storage/types.d.ts +1 -0
  315. package/dist/store/reducers/storage/utils.js +4 -7
  316. package/dist/store/reducers/storage/utils.js.map +1 -1
  317. package/dist/store/reducers/table/constants.d.ts +6 -0
  318. package/dist/store/reducers/table/constants.js +36 -0
  319. package/dist/store/reducers/table/constants.js.map +1 -0
  320. package/dist/store/reducers/table/table.d.ts +19 -0
  321. package/dist/store/reducers/table/table.js +104 -0
  322. package/dist/store/reducers/table/table.js.map +1 -0
  323. package/dist/store/reducers/table/types.d.ts +193 -0
  324. package/dist/store/reducers/table/types.js +12 -0
  325. package/dist/store/reducers/table/types.js.map +1 -0
  326. package/dist/store/reducers/table/utils.d.ts +17 -0
  327. package/dist/store/reducers/table/utils.js +485 -0
  328. package/dist/store/reducers/table/utils.js.map +1 -0
  329. package/dist/store/reducers/topic/topic.d.ts +1762 -0
  330. package/dist/store/reducers/topic/topic.js +172 -0
  331. package/dist/store/reducers/topic/topic.js.map +1 -0
  332. package/dist/store/reducers/topic/utils.d.ts +23 -0
  333. package/dist/store/reducers/topic/utils.js +75 -0
  334. package/dist/store/reducers/topic/utils.js.map +1 -0
  335. package/dist/types/api/pdisk.d.ts +6 -1
  336. package/dist/types/api/pdisk.js.map +1 -1
  337. package/dist/types/api/storage.d.ts +3 -1
  338. package/dist/types/api/storage.js.map +1 -1
  339. package/dist/types/api/topic.d.ts +18 -0
  340. package/dist/types/api/topic.js +8 -0
  341. package/dist/types/api/topic.js.map +1 -1
  342. package/dist/types/api/vdisk.d.ts +8 -0
  343. package/dist/types/api/vdisk.js.map +1 -1
  344. package/dist/uiFactory/types.d.ts +5 -0
  345. package/dist/uiFactory/uiFactory.d.ts +4 -1
  346. package/dist/uiFactory/uiFactory.js +8 -1
  347. package/dist/uiFactory/uiFactory.js.map +1 -1
  348. package/dist/utils/capacityAlerts.d.ts +1 -0
  349. package/dist/utils/capacityAlerts.js +3 -0
  350. package/dist/utils/capacityAlerts.js.map +1 -1
  351. package/dist/utils/constants.d.ts +1 -1
  352. package/dist/utils/constants.js +1 -1
  353. package/dist/utils/constants.js.map +1 -1
  354. package/dist/utils/disks/displayState.d.ts +5 -0
  355. package/dist/utils/disks/displayState.js.map +1 -1
  356. package/dist/utils/disks/iconCalculators.d.ts +1 -3
  357. package/dist/utils/disks/iconCalculators.js +5 -6
  358. package/dist/utils/disks/iconCalculators.js.map +1 -1
  359. package/dist/utils/disks/prepareDisks.d.ts +1 -1
  360. package/dist/utils/disks/prepareDisks.js +44 -3
  361. package/dist/utils/disks/prepareDisks.js.map +1 -1
  362. package/dist/utils/disks/severityCalculators.d.ts +1 -4
  363. package/dist/utils/disks/severityCalculators.js +2 -6
  364. package/dist/utils/disks/severityCalculators.js.map +1 -1
  365. package/dist/utils/disks/types.d.ts +8 -0
  366. package/dist/utils/emptyDataPlaceholder.d.ts +1 -0
  367. package/dist/utils/emptyDataPlaceholder.js +2 -0
  368. package/dist/utils/emptyDataPlaceholder.js.map +1 -0
  369. package/dist/utils/hooks/useSelectedColumns.d.ts +3 -0
  370. package/dist/utils/hooks/useSelectedColumns.js +18 -0
  371. package/dist/utils/hooks/useSelectedColumns.js.map +1 -1
  372. package/dist/utils/query.d.ts +4 -1
  373. package/dist/utils/query.js +34 -1
  374. package/dist/utils/query.js.map +1 -1
  375. package/dist/utils/storageMetrics.d.ts +5 -1
  376. package/dist/utils/storageMetrics.js +35 -4
  377. package/dist/utils/storageMetrics.js.map +1 -1
  378. package/dist/utils/utils.js +2 -1
  379. package/dist/utils/utils.js.map +1 -1
  380. package/package.json +1 -1
  381. package/dist/store/reducers/topic.d.ts +0 -1291
  382. package/dist/store/reducers/topic.js +0 -83
  383. package/dist/store/reducers/topic.js.map +0 -1
@@ -0,0 +1,22 @@
1
+ import type { ColumnValueField } from '../../../../store/reducers/table/types';
2
+ import type { Column, ColumnField } from '../types';
3
+ interface SplitPointDraftRow {
4
+ column: Column;
5
+ id: string;
6
+ isDefined: boolean;
7
+ value: string;
8
+ }
9
+ export interface SplitPointDialogState {
10
+ open: boolean;
11
+ index: number;
12
+ columns: Column[];
13
+ values: SplitPointDraftRow[];
14
+ }
15
+ interface SplitPointDialogProps {
16
+ state: SplitPointDialogState;
17
+ onClose: () => void;
18
+ onSubmit: (index: number, values: ColumnValueField[]) => void;
19
+ }
20
+ export declare function SplitPointDialog({ state, onClose, onSubmit }: SplitPointDialogProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function buildSplitPointEntries(pkColumns: ColumnField[], storedValues: ColumnValueField[] | undefined): SplitPointDraftRow[];
22
+ export {};
@@ -0,0 +1,97 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Checkbox, Dialog, Label, Popover, TextArea, TextInput } from '@gravity-ui/uikit';
4
+ import { cn } from '../../../../utils/cn';
5
+ import { isValueForTypeValid } from '../columnValueValidation';
6
+ import { SPLIT_POINT_STRING_TYPES } from '../constants';
7
+ import i18n from '../i18n';
8
+ import { generateColumnId, getColumnTypeDescription } from '../utils';
9
+ const b = cn('ydb-table-form-dialog');
10
+ function isColumnValueMustBeDefined(column) {
11
+ return !column.autoincrement;
12
+ }
13
+ function getNotDefinedValue(column) {
14
+ const fallback = column.autoincrement ? 'AUTO INCREMENT' : 'NULL';
15
+ return column.defaultValue === undefined ? fallback : String(column.defaultValue);
16
+ }
17
+ function isRowInvalid(row) {
18
+ return row.isDefined && !isValueForTypeValid(row.value, row.column.type);
19
+ }
20
+ function SplitPointValueControl({ row, invalid, errorMessage, isStringType, onChange, onBlur, }) {
21
+ if (!row.isDefined) {
22
+ const notDefinedValue = getNotDefinedValue(row.column);
23
+ return (_jsx(TextInput, { className: b('split-point-input', { null: notDefinedValue === 'NULL' }), value: notDefinedValue, disabled: true }));
24
+ }
25
+ if (isStringType) {
26
+ return (_jsx(TextArea, { className: b('split-point-input'), value: row.value, onUpdate: (value) => onChange(row.id, value), onBlur: () => onBlur(row.id), minRows: 2, validationState: invalid ? 'invalid' : undefined, errorMessage: errorMessage }));
27
+ }
28
+ return (_jsx(TextInput, { className: b('split-point-input'), value: row.value, onUpdate: (value) => onChange(row.id, value), onBlur: () => onBlur(row.id), validationState: invalid ? 'invalid' : undefined, errorMessage: errorMessage }));
29
+ }
30
+ export function SplitPointDialog({ state, onClose, onSubmit }) {
31
+ const [draftValues, setDraftValues] = React.useState(state.values);
32
+ const [touched, setTouched] = React.useState({});
33
+ React.useEffect(() => {
34
+ setDraftValues(state.values);
35
+ setTouched({});
36
+ }, [state.values]);
37
+ const handleChange = (id, value) => {
38
+ setDraftValues((prev) => prev.map((row) => (row.id === id ? { ...row, value } : row)));
39
+ };
40
+ const handleBlur = (id) => {
41
+ setTouched((prev) => ({ ...prev, [id]: true }));
42
+ };
43
+ const handleToggleDefined = (id, isDefined) => {
44
+ setDraftValues((prev) => prev.map((row) => (row.id === id ? { ...row, isDefined } : row)));
45
+ };
46
+ const markAllTouched = React.useCallback(() => {
47
+ setTouched(Object.fromEntries(draftValues.map((row) => [row.id, true])));
48
+ }, [draftValues]);
49
+ const hasErrors = draftValues.some(isRowInvalid);
50
+ const handleSubmit = () => {
51
+ if (hasErrors) {
52
+ markAllTouched();
53
+ return;
54
+ }
55
+ onSubmit(state.index, draftValues.map((row) => ({
56
+ id: row.id,
57
+ isDefined: row.isDefined,
58
+ value: row.isDefined ? row.value : null,
59
+ name: row.column.name,
60
+ type: row.column.type,
61
+ notNull: row.column.notNull,
62
+ })));
63
+ onClose();
64
+ };
65
+ const primaryKeyNames = state.columns.map((column) => column.name).join(', ');
66
+ return (_jsxs(Dialog, { open: state.open, onClose: onClose, size: "s", className: b('split-point-dialog'), disableHeightTransition: true, children: [_jsx(Dialog.Header, { caption: i18n('title_split-point') }), _jsxs(Dialog.Body, { className: b('split-point-body'), children: [primaryKeyNames ? (_jsxs("div", { className: b('split-point-pk'), children: [_jsxs("span", { className: b('split-point-pk-label'), children: [i18n('column_primary-key'), ":"] }), ' ', _jsx("span", { children: primaryKeyNames })] })) : null, _jsx("div", { className: b('split-point-fields'), children: draftValues.map((row) => {
67
+ const { type } = row.column;
68
+ const typeDescription = getColumnTypeDescription(type);
69
+ const isStringType = SPLIT_POINT_STRING_TYPES.has(type);
70
+ const showDefinedToggle = !isColumnValueMustBeDefined(row.column);
71
+ const invalid = Boolean(touched[row.id]) && isRowInvalid(row);
72
+ const errorMessage = invalid ? i18n('error_value-invalid') : undefined;
73
+ const typeText = `(${type})`;
74
+ const typeLabel = typeDescription ? (_jsx(Popover, { content: typeDescription, placement: "top", hasArrow: true, className: b('split-point-type-popover'), children: _jsx("span", { className: b('split-point-type'), children: typeText }) })) : (_jsx("span", { className: b('split-point-type'), children: typeText }));
75
+ return (_jsxs("div", { className: b('split-point-dialog-row'), children: [_jsx("div", { className: b('split-point-meta'), children: _jsxs("div", { className: b('split-point-label'), children: [_jsx("span", { children: row.column.name }), typeLabel, row.column.notNull ? (_jsx(Label, { theme: "unknown", size: "xs", className: b('not-null-label'), children: i18n('label_non-null') })) : null] }) }), _jsxs("div", { className: b('split-point-control'), children: [showDefinedToggle ? (_jsx("div", { className: b('split-point-toggle'), children: _jsx(Checkbox, { checked: row.isDefined, title: i18n('action_set-value'), onUpdate: (checked) => handleToggleDefined(row.id, checked) }) })) : null, _jsx("div", { className: b('split-point-value'), children: _jsx(SplitPointValueControl, { row: row, invalid: invalid, errorMessage: errorMessage, isStringType: isStringType, onChange: handleChange, onBlur: handleBlur }) })] })] }, row.id));
76
+ }) })] }), _jsx(Dialog.Footer, { textButtonApply: i18n('action_add'), textButtonCancel: i18n('action_cancel'), onClickButtonApply: handleSubmit, onClickButtonCancel: onClose })] }));
77
+ }
78
+ export function buildSplitPointEntries(pkColumns, storedValues) {
79
+ return pkColumns.map((column, idx) => {
80
+ var _a, _b;
81
+ const stored = storedValues === null || storedValues === void 0 ? void 0 : storedValues[idx];
82
+ return {
83
+ column: {
84
+ name: column.name,
85
+ type: column.type,
86
+ notNull: column.notNull,
87
+ key: column.key,
88
+ autoincrement: column.autoincrement,
89
+ defaultValue: column.defaultValue,
90
+ },
91
+ id: (_a = stored === null || stored === void 0 ? void 0 : stored.id) !== null && _a !== void 0 ? _a : generateColumnId(),
92
+ isDefined: (_b = stored === null || stored === void 0 ? void 0 : stored.isDefined) !== null && _b !== void 0 ? _b : isColumnValueMustBeDefined(column),
93
+ value: (stored === null || stored === void 0 ? void 0 : stored.value) === null || (stored === null || stored === void 0 ? void 0 : stored.value) === undefined ? '' : String(stored.value),
94
+ };
95
+ });
96
+ }
97
+ //# sourceMappingURL=SplitPointDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitPointDialog.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/TableFormDialog/sections/SplitPointDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { OriginalTableInfo } from '../types';
2
+ interface TTLSectionProps {
3
+ originalInfo?: OriginalTableInfo;
4
+ }
5
+ export declare function TTLSection({ originalInfo }: TTLSectionProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { SegmentedRadioGroup, Select, TextInput } from '@gravity-ui/uikit';
4
+ import { Controller, useFormContext, useWatch } from 'react-hook-form';
5
+ import { cn } from '../../../../utils/cn';
6
+ import { FormFieldError, FormRow, FormSection } from '../components/layout';
7
+ import i18n from '../i18n';
8
+ import { acceptIntegerInput, epochModeOptions, formatOptionalIntegerInput, getAvailableTtlColumns, isValidTtlNumType, lifetimeUnitOptions, parseOptionalIntegerInput, ttlStatusOptions, } from '../utils';
9
+ const b = cn('ydb-table-form-dialog');
10
+ function formatEpochModeValue(value) {
11
+ const normalized = value
12
+ .replace(/^UNIT_/, '')
13
+ .toLowerCase()
14
+ .replace(/_/g, ' ');
15
+ return normalized ? normalized[0].toUpperCase() + normalized.slice(1) : value;
16
+ }
17
+ export function TTLSection({ originalInfo }) {
18
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
19
+ const { control, setValue, formState } = useFormContext();
20
+ const status = useWatch({ control, name: 'settings.ttl.status' });
21
+ const column = useWatch({ control, name: 'settings.ttl.column' });
22
+ const columnWithEpochMode = useWatch({ control, name: 'settings.ttl.columnWithEpochMode' });
23
+ const formColumns = useWatch({ control, name: 'columns' });
24
+ const deletedColumns = useWatch({ control, name: 'deletedColumns' });
25
+ const enabled = status === 'enabled';
26
+ const isEpochMode = Boolean(columnWithEpochMode);
27
+ const ttlColumns = React.useMemo(() => {
28
+ return getAvailableTtlColumns(originalInfo === null || originalInfo === void 0 ? void 0 : originalInfo.columns, formColumns, deletedColumns);
29
+ }, [originalInfo, formColumns, deletedColumns]);
30
+ const columnOptions = React.useMemo(() => ttlColumns.length === 0
31
+ ? [
32
+ {
33
+ value: '',
34
+ content: i18n('label_ttl-warning'),
35
+ disabled: true,
36
+ },
37
+ ]
38
+ : ttlColumns.map(({ name }) => ({ value: name, content: name })), [ttlColumns]);
39
+ const renderEpochModeSelectedOption = React.useCallback((option) => {
40
+ var _a;
41
+ return (_jsx(React.Fragment, { children: (_a = option.content) !== null && _a !== void 0 ? _a : formatEpochModeValue(option.value) }));
42
+ }, []);
43
+ React.useEffect(() => {
44
+ var _a;
45
+ if (!enabled || !column) {
46
+ return;
47
+ }
48
+ const matchedType = (_a = ttlColumns.find(({ name }) => name === column)) === null || _a === void 0 ? void 0 : _a.type;
49
+ if (!matchedType) {
50
+ setValue('settings.ttl.columnWithEpochMode', false, { shouldValidate: false });
51
+ setValue('settings.ttl.epochMode', undefined, { shouldValidate: false });
52
+ return;
53
+ }
54
+ const withEpochMode = isValidTtlNumType(matchedType);
55
+ setValue('settings.ttl.columnWithEpochMode', withEpochMode, { shouldValidate: false });
56
+ if (!withEpochMode) {
57
+ setValue('settings.ttl.epochMode', undefined, { shouldValidate: false });
58
+ }
59
+ }, [enabled, column, ttlColumns, setValue]);
60
+ const columnError = (_c = (_b = (_a = formState.errors.settings) === null || _a === void 0 ? void 0 : _a.ttl) === null || _b === void 0 ? void 0 : _b.column) === null || _c === void 0 ? void 0 : _c.message;
61
+ const epochError = (_f = (_e = (_d = formState.errors.settings) === null || _d === void 0 ? void 0 : _d.ttl) === null || _e === void 0 ? void 0 : _e.epochMode) === null || _f === void 0 ? void 0 : _f.message;
62
+ const lifetimeError = (_j = (_h = (_g = formState.errors.settings) === null || _g === void 0 ? void 0 : _g.ttl) === null || _h === void 0 ? void 0 : _h.lifetime) === null || _j === void 0 ? void 0 : _j.message;
63
+ return (_jsxs(FormSection, { title: i18n('label_section-ttl'), note: i18n('tooltip_section-ttl'), children: [_jsx(FormRow, { title: i18n('field_ttl-status'), children: _jsx(Controller, { control: control, name: "settings.ttl.status", render: ({ field }) => (_jsx(SegmentedRadioGroup, { value: field.value, onUpdate: (value) => field.onChange(value), children: ttlStatusOptions.map((option) => (_jsx(SegmentedRadioGroup.Option, { value: option.value, children: option.content }, option.value))) })) }) }), enabled ? (_jsxs(React.Fragment, { children: [_jsx(FormRow, { title: i18n('field_ttl-column'), note: i18n('tooltip_ttl-column'), children: _jsx(Controller, { control: control, name: "settings.ttl.column", render: ({ field }) => (_jsxs("div", { className: b('control-stack'), children: [_jsx(Select, { className: b('control'), value: field.value ? [field.value] : [], options: columnOptions, placeholder: i18n('action_select'), onUpdate: ([value]) => field.onChange(value), width: "max", validationState: columnError ? 'invalid' : undefined }), _jsx(FormFieldError, { message: columnError })] })) }) }), isEpochMode ? (_jsx(FormRow, { title: i18n('field_ttl-unit'), note: i18n('tooltip_ttl-unit'), children: _jsx(Controller, { control: control, name: "settings.ttl.epochMode", render: ({ field }) => (_jsxs("div", { className: b('control-stack'), children: [_jsx(Select, { className: b('control'), value: field.value ? [field.value] : [], options: epochModeOptions, onUpdate: ([value]) => field.onChange(value), width: "max", validationState: epochError ? 'invalid' : undefined, renderSelectedOption: renderEpochModeSelectedOption }), _jsx(FormFieldError, { message: epochError })] })) }) })) : null, _jsx(FormRow, { title: i18n('field_ttl-lifetime'), note: i18n('tooltip_ttl-lifetime'), children: _jsxs("div", { className: b('ttl-lifetime'), children: [_jsx(Controller, { control: control, name: "settings.ttl.lifetime", render: ({ field }) => (_jsx(TextInput, { className: b('ttl-lifetime-input'), value: formatOptionalIntegerInput(field.value), onUpdate: (value) => {
64
+ if (!acceptIntegerInput(value)) {
65
+ return;
66
+ }
67
+ field.onChange(parseOptionalIntegerInput(value));
68
+ }, validationState: lifetimeError ? 'invalid' : undefined, errorMessage: lifetimeError })) }), _jsx(Controller, { control: control, name: "settings.ttl.unit", render: ({ field }) => (_jsx(Select, { className: b('ttl-lifetime-select'), value: field.value ? [field.value] : ['seconds'], options: lifetimeUnitOptions, onUpdate: ([value]) => field.onChange(value) })) })] }) })] })) : null] }));
69
+ }
70
+ //# sourceMappingURL=TTLSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TTLSection.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/TableFormDialog/sections/TTLSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { FormMode, OriginalTableInfo, TableType } from '../types';
2
+ interface YdbColumnsSectionProps {
3
+ mode: FormMode;
4
+ tableType: TableType;
5
+ types: string[];
6
+ pkTypes: Set<string>;
7
+ keyNullable: boolean;
8
+ originalInfo?: OriginalTableInfo;
9
+ }
10
+ export declare function YdbColumnsSection({ mode, tableType, types, pkTypes, keyNullable, originalInfo, }: YdbColumnsSectionProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,181 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { ArrowUturnCcwLeft, Plus, TrashBin } from '@gravity-ui/icons';
4
+ import { Button, Checkbox, HelpMark, Icon, Popover, Select, Text, TextInput, } from '@gravity-ui/uikit';
5
+ import { Controller, useFieldArray, useFormContext, useWatch } from 'react-hook-form';
6
+ import { cn } from '../../../../utils/cn';
7
+ import { FormFieldError, FormSection } from '../components/layout';
8
+ import i18n from '../i18n';
9
+ import { generateColumnId, getAutoincrementDisabledMessage, getNotNullDisabledMessage, isSerialCompatible, } from '../utils';
10
+ const b = cn('ydb-table-form-dialog');
11
+ export function YdbColumnsSection({ mode, tableType, types, pkTypes, keyNullable, originalInfo, }) {
12
+ var _a, _b, _c;
13
+ const { control, setValue, formState } = useFormContext();
14
+ const { fields, append, remove } = useFieldArray({ control, name: 'columns' });
15
+ const { fields: deletedFields, append: appendDeleted, remove: removeDeleted, } = useFieldArray({ control, name: 'deletedColumns', keyName: 'rhfKey' });
16
+ const columnsFieldError = formState.errors.columns;
17
+ const columnsError = (_b = (_a = columnsFieldError === null || columnsFieldError === void 0 ? void 0 : columnsFieldError.root) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : columnsFieldError === null || columnsFieldError === void 0 ? void 0 : columnsFieldError.message;
18
+ const originalColumns = React.useMemo(() => { var _a; return (_a = originalInfo === null || originalInfo === void 0 ? void 0 : originalInfo.columns) !== null && _a !== void 0 ? _a : []; }, [originalInfo === null || originalInfo === void 0 ? void 0 : originalInfo.columns]);
19
+ const primaryOriginalColumns = React.useMemo(() => originalColumns.filter((column) => column.key), [originalColumns]);
20
+ const nonPrimaryOriginalColumns = React.useMemo(() => originalColumns.filter((column) => !column.key), [originalColumns]);
21
+ const typeOptions = React.useMemo(() => types.map((type) => ({ value: type, content: type })), [types]);
22
+ const handleAddColumn = React.useCallback(() => {
23
+ append({
24
+ _id: generateColumnId(),
25
+ name: '',
26
+ type: 'Utf8',
27
+ notNull: false,
28
+ defaultValue: '',
29
+ withDefaultValue: false,
30
+ });
31
+ }, [append]);
32
+ const handleTypeChange = React.useCallback((index, nextType) => {
33
+ if (!nextType) {
34
+ return;
35
+ }
36
+ if (!pkTypes.has(nextType)) {
37
+ setValue(`columns.${index}.key`, false, { shouldValidate: true });
38
+ }
39
+ if (!isSerialCompatible(nextType)) {
40
+ setValue(`columns.${index}.autoincrement`, false, { shouldValidate: true });
41
+ }
42
+ }, [pkTypes, setValue]);
43
+ const handleKeyChange = React.useCallback((index, nextKey) => {
44
+ if (!keyNullable && nextKey) {
45
+ setValue(`columns.${index}.notNull`, true, { shouldValidate: true });
46
+ }
47
+ if (!nextKey) {
48
+ setValue(`columns.${index}.autoincrement`, false, { shouldValidate: true });
49
+ }
50
+ }, [keyNullable, setValue]);
51
+ const handleAutoincrementChange = React.useCallback((index, value) => {
52
+ if (value) {
53
+ setValue(`columns.${index}.notNull`, true, { shouldValidate: true });
54
+ }
55
+ }, [setValue]);
56
+ const handleDeleteOriginalColumn = React.useCallback((column) => {
57
+ appendDeleted(column);
58
+ }, [appendDeleted]);
59
+ const showHeader = fields.length > 0 ||
60
+ primaryOriginalColumns.length > 0 ||
61
+ nonPrimaryOriginalColumns.length > 0;
62
+ const currentTtlColumn = originalInfo === null || originalInfo === void 0 ? void 0 : originalInfo.ttlColumn;
63
+ const indexedColumns = React.useMemo(() => {
64
+ const columns = new Set();
65
+ originalInfo === null || originalInfo === void 0 ? void 0 : originalInfo.indexes.forEach((index) => {
66
+ index.columns.forEach((column) => {
67
+ columns.add(column);
68
+ });
69
+ });
70
+ return columns;
71
+ }, [originalInfo === null || originalInfo === void 0 ? void 0 : originalInfo.indexes]);
72
+ const primaryKeyColumnNames = primaryOriginalColumns.map((column) => column.name);
73
+ const partitionKeyColumnNames = (_c = originalInfo === null || originalInfo === void 0 ? void 0 : originalInfo.partitionKey) !== null && _c !== void 0 ? _c : [];
74
+ const showDefaultColumn = tableType === 'row';
75
+ return (_jsxs(FormSection, { title: i18n('label_columns'), children: [mode === 'update' ? (_jsxs("div", { className: b('special-columns'), children: [_jsx(SpecialColumnLabel, { label: i18n('column_primary-key'), columns: primaryKeyColumnNames }), (originalInfo === null || originalInfo === void 0 ? void 0 : originalInfo.type) === 'column' ? (_jsx(SpecialColumnLabel, { label: i18n('field_partition-key'), columns: partitionKeyColumnNames })) : null] })) : null, _jsxs("div", { className: b('columns-table', {
76
+ update: mode === 'update',
77
+ 'no-default': !showDefaultColumn,
78
+ }), children: [showHeader ? (_jsxs(React.Fragment, { children: [_jsxs("div", { className: b('columns-head'), children: [_jsx("div", { className: b('columns-head-cell'), children: i18n('column_name') }), _jsx("div", { className: b('columns-head-cell'), children: i18n('column_type') }), mode === 'create' ? (_jsxs("div", { className: b('columns-head-cell'), children: [i18n('column_primary-key'), _jsx(HelpMark, { className: b('help-mark'), popoverProps: {
79
+ placement: ['bottom', 'top'],
80
+ className: b('help-mark-popup'),
81
+ }, children: i18n('tooltip_primary-key') })] })) : null, _jsx("div", { className: b('columns-head-cell'), children: i18n('column_not-null') }), showDefaultColumn ? (_jsx("div", { className: b('columns-head-cell'), children: i18n('column_default') })) : null, _jsx("div", {})] }), _jsx("hr", { className: b('columns-separator') })] })) : null, mode === 'update' && primaryOriginalColumns.length > 0 ? (_jsxs(React.Fragment, { children: [primaryOriginalColumns.map((column) => (_jsx(PrimaryColumnRow, { column: column, showDefaultColumn: showDefaultColumn }, `pk-${column.name}`))), _jsx("hr", { className: b('columns-separator') })] })) : null, mode === 'update' && nonPrimaryOriginalColumns.length > 0 ? (_jsxs(React.Fragment, { children: [nonPrimaryOriginalColumns.map((column) => {
82
+ const deletedIndex = deletedFields.findIndex((deleted) => deleted.name === column.name);
83
+ const isDeleting = deletedIndex >= 0;
84
+ return (_jsx(NonPrimaryColumnRow, { column: column, showDefaultColumn: showDefaultColumn, isDeleting: isDeleting, deleteDisabledMessage: getDeleteDisabledMessage({
85
+ columnName: column.name,
86
+ currentTtlColumn,
87
+ indexedColumns,
88
+ }), onDelete: () => handleDeleteOriginalColumn(column), onUndo: () => removeDeleted(deletedIndex) }, `existing-${column.name}`));
89
+ }), _jsx("hr", { className: b('columns-separator') })] })) : null, fields.map((field, index) => (_jsx(EditableColumnRow, { index: index, mode: mode, showDefaultColumn: showDefaultColumn, typeOptions: typeOptions, pkTypes: pkTypes, keyNullable: keyNullable, onTypeChange: (value) => handleTypeChange(index, value), onKeyChange: (value) => handleKeyChange(index, value), onAutoincrementChange: (value) => handleAutoincrementChange(index, value), onRemove: () => remove(index) }, field.id))), _jsx(FormFieldError, { message: columnsError }), _jsx("div", { children: _jsxs(Button, { onClick: handleAddColumn, children: [_jsx(Icon, { data: Plus, size: 16 }), i18n('button_add-column')] }) })] })] }));
90
+ }
91
+ function ActionButtonWithPopover({ content, children, }) {
92
+ if (!content) {
93
+ return children;
94
+ }
95
+ return (_jsx(Popover, { content: content, placement: "top", hasArrow: true, className: b('ttl-delete-popover'), children: _jsx("span", { className: b('columns-action-popover-target'), children: children }) }));
96
+ }
97
+ function getDeleteDisabledMessage({ columnName, currentTtlColumn, indexedColumns, }) {
98
+ const messages = [];
99
+ if (currentTtlColumn === columnName) {
100
+ messages.push(i18n('tooltip_ttl-delete-disabled'));
101
+ }
102
+ if (indexedColumns.has(columnName)) {
103
+ messages.push(i18n('tooltip_index-delete-disabled'));
104
+ }
105
+ return messages.join(' ');
106
+ }
107
+ function SpecialColumnLabel({ label, columns }) {
108
+ if (!columns.length) {
109
+ return null;
110
+ }
111
+ return (_jsxs("div", { className: b('special-column'), children: [_jsxs("span", { className: b('special-column-label'), children: [label, ":"] }), " ", columns.join(', ')] }));
112
+ }
113
+ function formatDefaultValue(column) {
114
+ if (column.autoincrement) {
115
+ return i18n('label_autoincrement');
116
+ }
117
+ if (typeof column.defaultValue === 'undefined') {
118
+ return '';
119
+ }
120
+ return String(column.defaultValue);
121
+ }
122
+ function PrimaryColumnRow({ column, showDefaultColumn, }) {
123
+ return (_jsxs("div", { className: b('columns-row', { readonly: true }), children: [_jsx("div", { className: b('columns-cell', { name: true }), children: column.name }), _jsx("div", { className: b('columns-cell', { type: true }), children: column.type }), _jsx("div", { className: b('columns-cell', { 'not-null': true }), children: column.notNull ? i18n('value_yes') : i18n('value_no') }), showDefaultColumn ? (_jsx("div", { className: b('columns-cell', { default: true }), children: formatDefaultValue(column) })) : null, _jsx("div", {})] }));
124
+ }
125
+ function NonPrimaryColumnRow({ column, showDefaultColumn, isDeleting, deleteDisabledMessage, onDelete, onUndo, }) {
126
+ return (_jsxs("div", { className: b('columns-row', { readonly: true, deleting: isDeleting }), children: [_jsx("div", { className: b('columns-cell', { name: true }), children: column.name }), _jsx("div", { className: b('columns-cell', { type: true }), children: column.type }), _jsx("div", { className: b('columns-cell', { 'not-null': true }), children: column.notNull ? i18n('value_yes') : i18n('value_no') }), showDefaultColumn ? (_jsx("div", { className: b('columns-cell', { default: true }), children: formatDefaultValue(column) })) : null, _jsx("div", { className: b('columns-cell', { action: true }), children: isDeleting ? (_jsx(Button, { view: "flat", size: "m", onClick: onUndo, title: i18n('action_undo'), children: _jsx(Icon, { data: ArrowUturnCcwLeft, size: 16 }) })) : (_jsx(ActionButtonWithPopover, { content: deleteDisabledMessage, children: _jsx(Button, { view: "flat", size: "m", onClick: onDelete, disabled: Boolean(deleteDisabledMessage), title: deleteDisabledMessage !== null && deleteDisabledMessage !== void 0 ? deleteDisabledMessage : i18n('action_delete'), children: _jsx(Icon, { data: TrashBin, size: 16 }) }) })) })] }));
127
+ }
128
+ function EditableColumnRow({ index, mode, showDefaultColumn, typeOptions, pkTypes, keyNullable, onTypeChange, onKeyChange, onAutoincrementChange, onRemove, }) {
129
+ var _a, _b, _c, _d;
130
+ const { control, clearErrors, formState, setValue, trigger } = useFormContext();
131
+ const column = useWatch({ control, name: `columns.${index}` });
132
+ const defaultValueFieldName = `columns.${index}.defaultValue`;
133
+ const revalidateColumns = React.useCallback(() => {
134
+ trigger(['columns', 'settings']).catch(() => undefined);
135
+ }, [trigger]);
136
+ const handleDefaultValueUpdate = React.useCallback((value) => {
137
+ setValue(defaultValueFieldName, value, {
138
+ shouldDirty: true,
139
+ shouldValidate: false,
140
+ });
141
+ clearErrors(defaultValueFieldName);
142
+ }, [clearErrors, defaultValueFieldName, setValue]);
143
+ const columnErrors = (_a = formState.errors.columns) === null || _a === void 0 ? void 0 : _a[index];
144
+ const nameError = (_b = columnErrors === null || columnErrors === void 0 ? void 0 : columnErrors.name) === null || _b === void 0 ? void 0 : _b.message;
145
+ const typeError = (_c = columnErrors === null || columnErrors === void 0 ? void 0 : columnErrors.type) === null || _c === void 0 ? void 0 : _c.message;
146
+ const defaultValueError = (_d = columnErrors === null || columnErrors === void 0 ? void 0 : columnErrors.defaultValue) === null || _d === void 0 ? void 0 : _d.message;
147
+ const notNullDisabledMessage = getNotNullDisabledMessage(column, keyNullable);
148
+ const autoincrementDisabledMessage = getAutoincrementDisabledMessage(column);
149
+ const keyDisabled = !pkTypes.has(column.type);
150
+ let defaultValueControl = null;
151
+ if (mode === 'create' && showDefaultColumn) {
152
+ if (column.key) {
153
+ defaultValueControl = (_jsx("div", { className: b('checkbox-control'), children: _jsx(Controller, { control: control, name: `columns.${index}.autoincrement`, render: ({ field }) => (_jsx(Checkbox, { size: "l", checked: Boolean(field.value), disabled: Boolean(autoincrementDisabledMessage), title: autoincrementDisabledMessage, onUpdate: (value) => {
154
+ field.onChange(value);
155
+ onAutoincrementChange(value);
156
+ }, children: _jsx(Text, { variant: "body-1", children: i18n('label_autoincrement') }) })) }) }));
157
+ }
158
+ else {
159
+ defaultValueControl = (_jsxs("div", { className: b('default-row'), children: [_jsx("div", { className: b('default-value-toggle'), children: _jsx(Controller, { control: control, name: `columns.${index}.withDefaultValue`, render: ({ field }) => (_jsx(Checkbox, { size: "l", checked: Boolean(field.value), onUpdate: field.onChange })) }) }), _jsx("div", { className: b('default-value-input'), children: _jsx(Controller, { control: control, name: `columns.${index}.defaultValue`, render: ({ field }) => (_jsx(TextInput, { value: field.value === undefined ? '' : String(field.value), onUpdate: handleDefaultValueUpdate, onBlur: () => {
160
+ field.onBlur();
161
+ trigger(defaultValueFieldName).catch(() => undefined);
162
+ }, disabled: !column.withDefaultValue, validationState: defaultValueError ? 'invalid' : undefined })) }) }), defaultValueError ? (_jsx("div", { className: b('default-value-error'), children: _jsx(FormFieldError, { message: defaultValueError }) })) : null] }));
163
+ }
164
+ }
165
+ return (_jsxs("div", { className: b('columns-row'), children: [_jsx("div", { className: b('columns-cell', { name: true }), children: _jsx(Controller, { control: control, name: `columns.${index}.name`, render: ({ field }) => {
166
+ var _a;
167
+ return (_jsx(TextInput, { value: (_a = field.value) !== null && _a !== void 0 ? _a : '', onUpdate: field.onChange, validationState: nameError ? 'invalid' : undefined, errorMessage: nameError, autoComplete: false }));
168
+ } }) }), _jsx("div", { className: b('columns-cell', { type: true }), children: _jsx(Controller, { control: control, name: `columns.${index}.type`, render: ({ field }) => (_jsx(Select, { value: field.value ? [field.value] : [], options: typeOptions, filterable: typeOptions.length > 9, width: "max", popupClassName: b('columns-type-popup'), onUpdate: ([value]) => {
169
+ field.onChange(value);
170
+ onTypeChange(value);
171
+ revalidateColumns();
172
+ }, validationState: typeError ? 'invalid' : undefined })) }) }), mode === 'create' ? (_jsx("div", { className: b('columns-cell', { key: true }), children: _jsx(Controller, { control: control, name: `columns.${index}.key`, render: ({ field }) => (_jsx(Checkbox, { size: "l", checked: Boolean(field.value), disabled: keyDisabled, onUpdate: (value) => {
173
+ field.onChange(value);
174
+ onKeyChange(value);
175
+ revalidateColumns();
176
+ } })) }) })) : null, _jsx("div", { className: b('columns-cell', { 'not-null': true }), children: mode === 'create' ? (_jsx(Controller, { control: control, name: `columns.${index}.notNull`, render: ({ field }) => (_jsx(Checkbox, { size: "l", checked: Boolean(field.value), disabled: Boolean(notNullDisabledMessage), title: notNullDisabledMessage, onUpdate: field.onChange })) })) : null }), showDefaultColumn ? (_jsx("div", { className: b('columns-cell', { default: true }), children: defaultValueControl })) : null, _jsx("div", { className: b('columns-cell', { action: true }), children: _jsx(Button, { view: "flat", size: "m", onClick: () => {
177
+ onRemove();
178
+ revalidateColumns();
179
+ }, title: i18n('action_delete'), children: _jsx(Icon, { data: TrashBin, size: 16 }) }) })] }));
180
+ }
181
+ //# sourceMappingURL=YdbColumnsSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YdbColumnsSection.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function YdbIndexesSection(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Plus, TrashBin } from '@gravity-ui/icons';
4
+ import { Button, HelpMark, Icon, TextInput } from '@gravity-ui/uikit';
5
+ import { Controller, useFieldArray, useFormContext, useWatch } from 'react-hook-form';
6
+ import { cn } from '../../../../utils/cn';
7
+ import { ColumnSelectorField } from '../components/ColumnSelectorField';
8
+ import { FormFieldError, FormSection } from '../components/layout';
9
+ import { YDB_PK_TYPES } from '../constants';
10
+ import i18n from '../i18n';
11
+ const b = cn('ydb-table-form-dialog');
12
+ export function YdbIndexesSection() {
13
+ const { control, formState } = useFormContext();
14
+ const { fields: newIndexFields, append, remove, } = useFieldArray({
15
+ control,
16
+ name: 'secondaryIndexes',
17
+ });
18
+ const formColumns = useWatch({ control, name: 'columns' });
19
+ const availableColumns = React.useMemo(() => {
20
+ return formColumns.filter(({ name, type }) => Boolean(name) && YDB_PK_TYPES.has(type));
21
+ }, [formColumns]);
22
+ const hasAnyIndex = newIndexFields.length > 0;
23
+ const handleAddIndex = React.useCallback(() => {
24
+ append({ name: '', key: [] });
25
+ }, [append]);
26
+ return (_jsx(FormSection, { title: i18n('label_indexes'), children: _jsxs("div", { className: b('indexes-table'), children: [hasAnyIndex ? (_jsxs("div", { className: b('indexes-head'), children: [_jsx("div", { children: i18n('column_name') }), _jsxs("div", { className: b('columns-head-cell'), children: [i18n('column_index-key'), _jsx(HelpMark, { className: b('help-mark'), popoverProps: {
27
+ placement: ['bottom', 'top'],
28
+ className: b('help-mark-popup'),
29
+ }, children: i18n('tooltip_index-key') })] }), _jsx("div", {})] })) : null, newIndexFields.map((field, index) => {
30
+ var _a, _b, _c, _d, _e, _f;
31
+ const nameError = (_c = (_b = (_a = formState.errors.secondaryIndexes) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b.name) === null || _c === void 0 ? void 0 : _c.message;
32
+ const keyError = (_f = (_e = (_d = formState.errors.secondaryIndexes) === null || _d === void 0 ? void 0 : _d[index]) === null || _e === void 0 ? void 0 : _e.key) === null || _f === void 0 ? void 0 : _f.message;
33
+ return (_jsxs("div", { className: b('indexes-row'), children: [_jsx("div", { className: b('indexes-cell', { name: true }), children: _jsx(Controller, { control: control, name: `secondaryIndexes.${index}.name`, render: ({ field: nameField }) => {
34
+ var _a;
35
+ return (_jsx(TextInput, { className: b('control'), value: (_a = nameField.value) !== null && _a !== void 0 ? _a : '', onUpdate: nameField.onChange, validationState: nameError ? 'invalid' : undefined, errorMessage: nameError }));
36
+ } }) }), _jsx("div", { className: b('indexes-cell', { key: true }), children: _jsx(Controller, { control: control, name: `secondaryIndexes.${index}.key`, render: ({ field: keyField }) => {
37
+ var _a;
38
+ return (_jsxs("div", { className: b('control-stack'), children: [_jsx(ColumnSelectorField, { value: (_a = keyField.value) !== null && _a !== void 0 ? _a : [], onChange: keyField.onChange, columns: availableColumns, invalid: Boolean(keyError), className: b('control') }), _jsx(FormFieldError, { message: keyError })] }));
39
+ } }) }), _jsx("div", { className: b('indexes-cell', { action: true }), children: _jsx(Button, { view: "flat", size: "m", onClick: () => remove(index), title: i18n('action_delete'), children: _jsx(Icon, { data: TrashBin, size: 16 }) }) })] }, field.id));
40
+ }), _jsx("div", { children: _jsxs(Button, { onClick: handleAddIndex, children: [_jsx(Icon, { data: Plus, size: 16 }), i18n('button_add-index')] }) })] }) }));
41
+ }
42
+ //# sourceMappingURL=YdbIndexesSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YdbIndexesSection.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { Column, ColumnField, SecondaryIndex, TTLSettings, TableFormValues, TableSettings } from '../../../store/reducers/table/types';
2
+ import { PartitionsType } from '../../../store/reducers/table/types';
3
+ import type { TEvDescribeSchemeResult } from '../../../types/api/schema/schema';
4
+ export type FormMode = 'create' | 'update';
5
+ export type TableType = TableFormValues['type'];
6
+ export type { Column, ColumnField, TableFormValues as FormValues, SecondaryIndex, TTLSettings, TableSettings, };
7
+ export { PartitionsType };
8
+ export interface OriginalTableInfo {
9
+ name: string;
10
+ type: 'row' | 'column';
11
+ columns: Column[];
12
+ partitionKey: string[];
13
+ indexes: Array<{
14
+ name: string;
15
+ columns: string[];
16
+ }>;
17
+ hasTtl: boolean;
18
+ ttlColumn?: string;
19
+ hasMinPartitions: boolean;
20
+ hasMaxPartitions: boolean;
21
+ }
22
+ export interface TableFormSharedProps {
23
+ mode: FormMode;
24
+ originalTable?: TEvDescribeSchemeResult;
25
+ originalInfo?: OriginalTableInfo;
26
+ }
@@ -0,0 +1,3 @@
1
+ import { PartitionsType } from '../../../store/reducers/table/types';
2
+ export { PartitionsType };
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/containers/Tenant/TableFormDialog/types.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAC;AAcnE,OAAO,EAAC,cAAc,EAAC,CAAC"}