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.
- package/README.md +5 -4
- package/dist/components/ConfirmationDialog/ConfirmationDialog.d.ts +1 -0
- package/dist/components/ConfirmationDialog/ConfirmationDialog.js +3 -2
- package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/dist/components/CriticalActionDialog/CriticalActionDialog.js +1 -1
- package/dist/components/CriticalActionDialog/CriticalActionDialog.js.map +1 -1
- package/dist/components/DiskCapacityInfo/DiskCapacityInfo.d.ts +21 -0
- package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js +129 -0
- package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js.map +1 -0
- package/dist/components/DiskCapacityInfo/i18n/en.json +7 -0
- package/dist/components/DiskCapacityInfo/i18n/index.d.ts +2 -0
- package/dist/components/DiskCapacityInfo/i18n/index.js +5 -0
- package/dist/components/DiskCapacityInfo/i18n/index.js.map +1 -0
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.d.ts +8 -1
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +24 -14
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +146 -2
- package/dist/components/Drawer/index.d.ts +1 -0
- package/dist/components/Drawer/index.js.map +1 -1
- package/dist/components/EntityStatusNew/EntityStatus.js +3 -3
- package/dist/components/EntityStatusNew/EntityStatus.js.map +1 -1
- package/dist/components/EntityStatusNew/EntityStatus.scss +4 -7
- package/dist/components/EntityStatusNew/i18n/en.json +4 -4
- package/dist/components/Graph/Graph.js +3 -1
- package/dist/components/Graph/Graph.js.map +1 -1
- package/dist/components/Graph/colors.d.ts +10 -0
- package/dist/components/Graph/colors.js +53 -0
- package/dist/components/Graph/colors.js.map +1 -0
- package/dist/components/Graph/colors.test.d.ts +1 -0
- package/dist/components/Graph/colors.test.js +60 -0
- package/dist/components/Graph/colors.test.js.map +1 -0
- package/dist/components/HealthcheckStatus/HealthcheckStatus.d.ts +1 -0
- package/dist/components/HealthcheckStatus/HealthcheckStatus.js +8 -36
- package/dist/components/HealthcheckStatus/HealthcheckStatus.js.map +1 -1
- package/dist/components/HealthcheckStatus/HealthcheckStatus.scss +7 -0
- package/dist/components/HealthcheckStatus/config.d.ts +11 -0
- package/dist/components/HealthcheckStatus/config.js +51 -0
- package/dist/components/HealthcheckStatus/config.js.map +1 -0
- package/dist/components/HealthcheckStatus/i18n/en.json +3 -3
- package/dist/components/HealthcheckStatus/i18n/index.d.ts +1 -1
- package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.d.ts +9 -0
- package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.js +8 -0
- package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.js.map +1 -0
- package/dist/components/HelpMarkWithDocs/i18n/en.json +3 -0
- package/dist/components/HelpMarkWithDocs/i18n/index.d.ts +1 -0
- package/dist/components/HelpMarkWithDocs/i18n/index.js +5 -0
- package/dist/components/HelpMarkWithDocs/i18n/index.js.map +1 -0
- package/dist/components/InfoViewer/schemaInfo/i18n/index.d.ts +1 -1
- package/dist/components/InfoViewer/schemaInfo/utils.js +1 -1
- package/dist/components/InfoViewer/schemaInfo/utils.js.map +1 -1
- package/dist/components/PDiskInfo/PDiskInfo.d.ts +1 -0
- package/dist/components/PDiskInfo/PDiskInfo.js +51 -14
- package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/PDiskPopup/PDiskPopup.d.ts +1 -1
- package/dist/components/PDiskPopup/PDiskPopup.js +15 -6
- package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
- package/dist/components/PoolBar/PoolBar.scss +10 -10
- package/dist/components/StatusIcon/StatusIcon.js +7 -7
- package/dist/components/StatusIcon/StatusIcon.js.map +1 -1
- package/dist/components/StatusIcon/StatusIcon.scss +2 -2
- package/dist/components/StatusIconNew/StatusIcon.js +7 -7
- package/dist/components/StatusIconNew/StatusIcon.js.map +1 -1
- package/dist/components/StorageGroupInfo/StorageGroupInfo.js +120 -2
- package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
- package/dist/components/StorageGroupInfo/i18n/en.json +2 -1
- package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
- package/dist/components/TitleWithHelpmark/TitleWithHelpmark.d.ts +5 -2
- package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js +4 -3
- package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js.map +1 -1
- package/dist/components/VDisk/VDisk.js +44 -10
- package/dist/components/VDisk/VDisk.js.map +1 -1
- package/dist/components/VDisk/i18n/en.json +6 -1
- package/dist/components/VDisk/i18n/index.d.ts +1 -1
- package/dist/components/VDiskInfo/VDiskInfo.js +117 -67
- package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
- package/dist/components/VDiskInfo/getVDiskCapacityColumns.d.ts +11 -0
- package/dist/components/VDiskInfo/getVDiskCapacityColumns.js +52 -0
- package/dist/components/VDiskInfo/getVDiskCapacityColumns.js.map +1 -0
- package/dist/components/VDiskPopup/VDiskPopup.d.ts +5 -0
- package/dist/components/VDiskPopup/VDiskPopup.js +20 -9
- package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
- package/dist/components/YDBDefinitionList/YDBDefinitionList.d.ts +2 -1
- package/dist/components/YDBDefinitionList/YDBDefinitionList.js +2 -2
- package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
- package/dist/components/capacityMetricsColumns/columns.js +19 -24
- package/dist/components/capacityMetricsColumns/columns.js.map +1 -1
- package/dist/components/capacityMetricsColumns/constants.d.ts +11 -0
- package/dist/components/capacityMetricsColumns/constants.js +25 -0
- package/dist/components/capacityMetricsColumns/constants.js.map +1 -1
- package/dist/components/capacityMetricsColumns/formatters.d.ts +1 -0
- package/dist/components/capacityMetricsColumns/formatters.js +9 -0
- package/dist/components/capacityMetricsColumns/formatters.js.map +1 -0
- package/dist/components/capacityMetricsColumns/i18n/en.json +9 -1
- package/dist/components/capacityMetricsColumns/i18n/index.d.ts +1 -1
- package/dist/components/nodesColumns/constants.js +1 -1
- package/dist/components/nodesColumns/constants.js.map +1 -1
- package/dist/containers/App/App.scss +6 -6
- package/dist/containers/App/NavigationWrapper.js +1 -1
- package/dist/containers/App/NavigationWrapper.js.map +1 -1
- package/dist/containers/AsideNavigation/Navigation.scss +0 -1
- package/dist/containers/AsideNavigation/i18n/en.json +1 -1
- package/dist/containers/Authentication/Authentication.js +2 -1
- package/dist/containers/Authentication/Authentication.js.map +1 -1
- package/dist/containers/Cluster/ClusterDrawerHealthcheck.js +3 -26
- package/dist/containers/Cluster/ClusterDrawerHealthcheck.js.map +1 -1
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +1 -1
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
- package/dist/containers/Clusters/ClusterDrawerHealthcheck.js +3 -26
- package/dist/containers/Clusters/ClusterDrawerHealthcheck.js.map +1 -1
- package/dist/containers/Storage/Disks/Disks.d.ts +2 -2
- package/dist/containers/Storage/Disks/Disks.js +17 -14
- package/dist/containers/Storage/Disks/Disks.js.map +1 -1
- package/dist/containers/Storage/Disks/Disks.scss +20 -0
- package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.d.ts +2 -0
- package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.js +46 -0
- package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.js.map +1 -0
- package/dist/containers/Storage/Disks/constants.d.ts +5 -0
- package/dist/containers/Storage/Disks/constants.js +11 -0
- package/dist/containers/Storage/Disks/constants.js.map +1 -0
- package/dist/containers/Storage/PDisk/PDisk.d.ts +2 -1
- package/dist/containers/Storage/PDisk/PDisk.js +2 -2
- package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
- package/dist/containers/Storage/PDisks/PDisks.js +2 -1
- package/dist/containers/Storage/PDisks/PDisks.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +8 -15
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.d.ts +2 -2
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +37 -9
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +5 -0
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +31 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +39 -24
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/en.json +1 -0
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/types.d.ts +1 -0
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js +18 -9
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.scss +16 -2
- package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js +96 -2
- package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +2 -5
- package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +2 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js +6 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js +3 -3
- package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +13 -0
- package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/useStorageQueryParams.js +9 -4
- package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
- package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js +45 -5
- package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js.map +1 -1
- package/dist/containers/Storage/utils/index.d.ts +2 -1
- package/dist/containers/Storage/utils/index.js +13 -0
- package/dist/containers/Storage/utils/index.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.js +2 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.js +2 -0
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +1 -1
- package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Network/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.js +4 -4
- package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSpecificSchemaObjectInfo.js +4 -4
- package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSpecificSchemaObjectInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js +2 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js +15 -13
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js +2 -2
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js +3 -3
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/en.json +1 -2
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TopicInfo/TopicInfo.js +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TopicInfo/TopicInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/utils/showMoveOffsetConfirmation.js +2 -0
- package/dist/containers/Tenant/Diagnostics/Partitions/utils/showMoveOffsetConfirmation.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/utils/showSpecifyOffsetConfirmation.js +6 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/utils/showSpecifyOffsetConfirmation.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +13 -16
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.scss +12 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.scss +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.js +9 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.js +9 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.js +9 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.js +9 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.d.ts +2 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.js +8 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.js +7 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.scss +5 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +5 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +36 -15
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.d.ts +14 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.js +38 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js +3 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.scss +6 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.d.ts +10 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +12 -8
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/en.json +15 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/types.d.ts +3 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +13 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/getData.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/getData.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/useTopicProbeQuery.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/useTopicProbeQuery.js.map +1 -1
- package/dist/containers/Tenant/EntityTitle/EntityTitle.js +1 -1
- package/dist/containers/Tenant/GrantAccess/components/Footer.js +2 -1
- package/dist/containers/Tenant/GrantAccess/components/Footer.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.d.ts +18 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js +29 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawerTitle.d.ts +8 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawerTitle.js +10 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawerTitle.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js +7 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js +6 -5
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/utils.d.ts +1 -0
- package/dist/containers/Tenant/Healthcheck/utils.js +5 -0
- package/dist/containers/Tenant/Healthcheck/utils.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.js +14 -9
- package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.scss +57 -6
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +22 -22
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.scss +31 -0
- package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +58 -0
- package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
- package/dist/containers/Tenant/Query/Issues/Issues.js +3 -3
- package/dist/containers/Tenant/Query/Issues/Issues.js.map +1 -1
- package/dist/containers/Tenant/Query/Issues/helpers.d.ts +3 -0
- package/dist/containers/Tenant/Query/Issues/helpers.js +40 -0
- package/dist/containers/Tenant/Query/Issues/helpers.js.map +1 -1
- package/dist/containers/Tenant/Query/Issues/helpers.test.d.ts +1 -0
- package/dist/containers/Tenant/Query/Issues/helpers.test.js +94 -0
- package/dist/containers/Tenant/Query/Issues/helpers.test.js.map +1 -0
- package/dist/containers/Tenant/Query/NewSQL/NewSQL.js +1 -1
- package/dist/containers/Tenant/Query/NewSQL/NewSQL.js.map +1 -1
- package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js +1 -1
- package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js.map +1 -1
- package/dist/containers/Tenant/Query/QueriesHistory/columns.js +2 -2
- package/dist/containers/Tenant/Query/QueriesHistory/columns.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.scss +24 -64
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js +2 -1
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +141 -73
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.scss +13 -2
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.d.ts +4 -2
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js +187 -20
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.d.ts +9 -0
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.js +154 -0
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.d.ts +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js +153 -0
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/types.d.ts +5 -0
- package/dist/containers/Tenant/Query/QueryEditor/types.js +2 -0
- package/dist/containers/Tenant/Query/QueryEditor/types.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.d.ts +5 -0
- package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.js +13 -0
- package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.d.ts +6 -3
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js +12 -6
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.scss +18 -5
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.d.ts +3 -2
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +23 -12
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.scss +19 -0
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +14 -21
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.d.ts +6 -2
- package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js +6 -2
- package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.d.ts +2 -0
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/constants.d.ts +3 -0
- package/dist/containers/Tenant/Query/QueryResult/constants.js +35 -0
- package/dist/containers/Tenant/Query/QueryResult/constants.js.map +1 -1
- package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +2 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js.map +1 -1
- package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js +2 -1
- package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js.map +1 -1
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js +2 -0
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js.map +1 -1
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +2 -1
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js.map +1 -1
- package/dist/containers/Tenant/Query/i18n/en.json +5 -2
- package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/utils/isQueryCancelledError.d.ts +1 -1
- package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js +1 -13
- package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js.map +1 -1
- package/dist/containers/Tenant/TableFormDialog/TableFormDialog.d.ts +19 -0
- package/dist/containers/Tenant/TableFormDialog/TableFormDialog.js +227 -0
- package/dist/containers/Tenant/TableFormDialog/TableFormDialog.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/TableFormDialog.scss +589 -0
- package/dist/containers/Tenant/TableFormDialog/columnValueValidation.d.ts +1 -0
- package/dist/containers/Tenant/TableFormDialog/columnValueValidation.js +179 -0
- package/dist/containers/Tenant/TableFormDialog/columnValueValidation.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.d.ts +11 -0
- package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.js +85 -0
- package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.scss +175 -0
- package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.d.ts +19 -0
- package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.js +115 -0
- package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.scss +22 -0
- package/dist/containers/Tenant/TableFormDialog/components/layout.d.ts +15 -0
- package/dist/containers/Tenant/TableFormDialog/components/layout.js +32 -0
- package/dist/containers/Tenant/TableFormDialog/components/layout.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/constants.d.ts +16 -0
- package/dist/containers/Tenant/TableFormDialog/constants.js +99 -0
- package/dist/containers/Tenant/TableFormDialog/constants.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/i18n/en.json +143 -0
- package/dist/containers/Tenant/TableFormDialog/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/TableFormDialog/i18n/index.js +5 -0
- package/dist/containers/Tenant/TableFormDialog/i18n/index.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.d.ts +8 -0
- package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.js +34 -0
- package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.d.ts +5 -0
- package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.js +28 -0
- package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.d.ts +6 -0
- package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.js +141 -0
- package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.d.ts +22 -0
- package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.js +98 -0
- package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.d.ts +6 -0
- package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.js +70 -0
- package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.d.ts +11 -0
- package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.js +181 -0
- package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.d.ts +1 -0
- package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.js +42 -0
- package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/types.d.ts +26 -0
- package/dist/containers/Tenant/TableFormDialog/types.js +3 -0
- package/dist/containers/Tenant/TableFormDialog/types.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/utils.d.ts +41 -0
- package/dist/containers/Tenant/TableFormDialog/utils.js +245 -0
- package/dist/containers/Tenant/TableFormDialog/utils.js.map +1 -0
- package/dist/containers/Tenant/TableFormDialog/validation.d.ts +8 -0
- package/dist/containers/Tenant/TableFormDialog/validation.js +308 -0
- package/dist/containers/Tenant/TableFormDialog/validation.js.map +1 -0
- package/dist/containers/Tenant/Tenant.js +1 -1
- package/dist/containers/Tenant/Tenant.js.map +1 -1
- package/dist/containers/Tenant/TenantDrawerHealthcheck.js +3 -26
- package/dist/containers/Tenant/TenantDrawerHealthcheck.js.map +1 -1
- package/dist/containers/Tenant/TenantDrawerRights.js +1 -1
- package/dist/containers/Tenant/TenantDrawerRights.js.map +1 -1
- package/dist/containers/Tenant/TenantNavigation/useTenantNavigation.js +5 -5
- package/dist/containers/Tenant/TenantNavigation/useTenantNavigation.js.map +1 -1
- package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.d.ts +19 -0
- package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.js +301 -0
- package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.js.map +1 -0
- package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.scss +182 -0
- package/dist/containers/Tenant/TopicFormDialog/i18n/en.json +51 -0
- package/dist/containers/Tenant/TopicFormDialog/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/TopicFormDialog/i18n/index.js +5 -0
- package/dist/containers/Tenant/TopicFormDialog/i18n/index.js.map +1 -0
- package/dist/containers/Tenant/TopicFormDialog/utils.d.ts +18 -0
- package/dist/containers/Tenant/TopicFormDialog/utils.js +100 -0
- package/dist/containers/Tenant/TopicFormDialog/utils.js.map +1 -0
- package/dist/containers/Tenant/TopicFormDialog/validation.d.ts +3 -0
- package/dist/containers/Tenant/TopicFormDialog/validation.js +88 -0
- package/dist/containers/Tenant/TopicFormDialog/validation.js.map +1 -0
- package/dist/containers/Tenant/constants.d.ts +0 -2
- package/dist/containers/Tenant/constants.js +6 -14
- package/dist/containers/Tenant/constants.js.map +1 -1
- package/dist/containers/Tenant/i18n/en.json +114 -110
- package/dist/containers/Tenant/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/utils/controls.js +1 -1
- package/dist/containers/Tenant/utils/pathSegmentValidation.d.ts +5 -0
- package/dist/containers/Tenant/utils/pathSegmentValidation.js +15 -0
- package/dist/containers/Tenant/utils/pathSegmentValidation.js.map +1 -0
- package/dist/containers/Tenant/utils/schema.js +32 -32
- package/dist/containers/Tenant/utils/schema.js.map +1 -1
- package/dist/containers/Tenant/utils/schemaActions.d.ts +4 -0
- package/dist/containers/Tenant/utils/schemaActions.js +190 -98
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/containers/Tenants/TenantsTable.js +2 -2
- package/dist/containers/Tenants/TenantsTable.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskPage.js +3 -30
- package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskStorageDetails.js +2 -2
- package/dist/containers/VDiskPage/VDiskStorageDetails.js.map +1 -1
- package/dist/containers/VDiskPage/useVDiskQueryParams.d.ts +13 -0
- package/dist/containers/VDiskPage/useVDiskQueryParams.js +55 -0
- package/dist/containers/VDiskPage/useVDiskQueryParams.js.map +1 -0
- package/dist/containers/Versions/i18n/index.d.ts +1 -1
- package/dist/store/reducers/pdisk/utils.js +4 -4
- package/dist/store/reducers/pdisk/utils.js.map +1 -1
- package/dist/store/reducers/query/api.d.ts +2 -1
- package/dist/store/reducers/query/api.js +107 -48
- package/dist/store/reducers/query/api.js.map +1 -1
- package/dist/store/reducers/query/parsers/preparePlanData.js +8 -1
- package/dist/store/reducers/query/parsers/preparePlanData.js.map +1 -1
- package/dist/store/reducers/query/slice.d.ts +8 -9
- package/dist/store/reducers/query/slice.js +5 -0
- package/dist/store/reducers/query/slice.js.map +1 -1
- package/dist/store/reducers/query/streaming/reducers.d.ts +3 -0
- package/dist/store/reducers/query/streaming/reducers.js +6 -6
- package/dist/store/reducers/query/streaming/reducers.js.map +1 -1
- package/dist/store/reducers/query/types.d.ts +8 -4
- package/dist/store/reducers/query/utils.d.ts +10 -2
- package/dist/store/reducers/query/utils.js +37 -6
- package/dist/store/reducers/query/utils.js.map +1 -1
- package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +10 -3
- package/dist/store/reducers/storage/prepareGroupsDisks.js +43 -6
- package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
- package/dist/store/reducers/storage/types.d.ts +1 -0
- package/dist/store/reducers/storage/utils.js +4 -7
- package/dist/store/reducers/storage/utils.js.map +1 -1
- package/dist/store/reducers/table/constants.d.ts +6 -0
- package/dist/store/reducers/table/constants.js +36 -0
- package/dist/store/reducers/table/constants.js.map +1 -0
- package/dist/store/reducers/table/table.d.ts +19 -0
- package/dist/store/reducers/table/table.js +104 -0
- package/dist/store/reducers/table/table.js.map +1 -0
- package/dist/store/reducers/table/types.d.ts +193 -0
- package/dist/store/reducers/table/types.js +12 -0
- package/dist/store/reducers/table/types.js.map +1 -0
- package/dist/store/reducers/table/utils.d.ts +17 -0
- package/dist/store/reducers/table/utils.js +485 -0
- package/dist/store/reducers/table/utils.js.map +1 -0
- package/dist/store/reducers/topic/topic.d.ts +1762 -0
- package/dist/store/reducers/topic/topic.js +172 -0
- package/dist/store/reducers/topic/topic.js.map +1 -0
- package/dist/store/reducers/topic/utils.d.ts +23 -0
- package/dist/store/reducers/topic/utils.js +75 -0
- package/dist/store/reducers/topic/utils.js.map +1 -0
- package/dist/styles/mixins.scss +9 -0
- package/dist/types/api/pdisk.d.ts +6 -1
- package/dist/types/api/pdisk.js.map +1 -1
- package/dist/types/api/storage.d.ts +3 -1
- package/dist/types/api/storage.js.map +1 -1
- package/dist/types/api/topic.d.ts +18 -0
- package/dist/types/api/topic.js +8 -0
- package/dist/types/api/topic.js.map +1 -1
- package/dist/types/api/vdisk.d.ts +8 -0
- package/dist/types/api/vdisk.js.map +1 -1
- package/dist/uiFactory/types.d.ts +5 -0
- package/dist/uiFactory/uiFactory.d.ts +4 -1
- package/dist/uiFactory/uiFactory.js +8 -1
- package/dist/uiFactory/uiFactory.js.map +1 -1
- package/dist/utils/capacityAlerts.d.ts +1 -0
- package/dist/utils/capacityAlerts.js +3 -0
- package/dist/utils/capacityAlerts.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -1
- package/dist/utils/constants.js +2 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/disks/displayState.d.ts +5 -0
- package/dist/utils/disks/displayState.js.map +1 -1
- package/dist/utils/disks/iconCalculators.d.ts +1 -3
- package/dist/utils/disks/iconCalculators.js +5 -6
- package/dist/utils/disks/iconCalculators.js.map +1 -1
- package/dist/utils/disks/prepareDisks.d.ts +1 -1
- package/dist/utils/disks/prepareDisks.js +44 -3
- package/dist/utils/disks/prepareDisks.js.map +1 -1
- package/dist/utils/disks/severityCalculators.d.ts +1 -4
- package/dist/utils/disks/severityCalculators.js +2 -6
- package/dist/utils/disks/severityCalculators.js.map +1 -1
- package/dist/utils/disks/types.d.ts +8 -0
- package/dist/utils/emptyDataPlaceholder.d.ts +1 -0
- package/dist/utils/emptyDataPlaceholder.js +2 -0
- package/dist/utils/emptyDataPlaceholder.js.map +1 -0
- package/dist/utils/hooks/useSelectedColumns.d.ts +3 -0
- package/dist/utils/hooks/useSelectedColumns.js +18 -0
- package/dist/utils/hooks/useSelectedColumns.js.map +1 -1
- package/dist/utils/hooks/withConfirmation/RunningQueryDialog.js +2 -1
- package/dist/utils/hooks/withConfirmation/RunningQueryDialog.js.map +1 -1
- package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.js +2 -1
- package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.js.map +1 -1
- package/dist/utils/query.d.ts +4 -1
- package/dist/utils/query.js +34 -1
- package/dist/utils/query.js.map +1 -1
- package/dist/utils/storageMetrics.d.ts +5 -1
- package/dist/utils/storageMetrics.js +35 -4
- package/dist/utils/storageMetrics.js.map +1 -1
- package/dist/utils/utils.js +2 -1
- package/dist/utils/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/store/reducers/topic.d.ts +0 -1291
- package/dist/store/reducers/topic.js +0 -83
- 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 @@
|
|
|
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,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":"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"}
|
|
@@ -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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"}
|