ydb-embedded-ui 5.2.0 → 5.3.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/BasicNodeViewer/BasicNodeViewer.js +1 -1
- package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.d.ts +13 -0
- package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js +32 -0
- package/dist/components/CellWithPopover/CellWithPopover.js +1 -11
- package/dist/components/ClipboardButton/ClipboardButton.js +1 -11
- package/dist/components/ComponentsProvider/ComponentsProvider.d.ts +2 -2
- package/dist/components/ComponentsProvider/componentsRegistry.d.ts +1 -1
- package/dist/components/ComponentsProvider/registry.d.ts +3 -3
- package/dist/components/ContentWithPopup/ContentWithPopup.js +1 -11
- package/dist/components/CriticalActionDialog/CriticalActionDialog.d.ts +6 -4
- package/dist/components/CriticalActionDialog/CriticalActionDialog.js +32 -7
- package/dist/components/CriticalActionDialog/CriticalActionDialog.scss +8 -19
- package/dist/components/CriticalActionDialog/i18n/en.json +7 -0
- package/dist/components/CriticalActionDialog/i18n/index.d.ts +1 -0
- package/dist/components/CriticalActionDialog/i18n/index.js +4 -0
- package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js +2 -2
- package/dist/components/EntityStatus/EntityStatus.d.ts +20 -37
- package/dist/components/EntityStatus/EntityStatus.js +17 -66
- package/dist/components/EntityStatus/EntityStatus.scss +1 -57
- package/dist/components/Errors/403/AccessDenied.js +1 -11
- package/dist/components/FormattedBytes/FormattedBytes.d.ts +1 -1
- package/dist/components/FormattedBytes/FormattedBytes.js +1 -11
- package/dist/components/FormattedBytes/utils.d.ts +1 -1
- package/dist/components/FullNodeViewer/FullNodeViewer.js +1 -2
- package/dist/components/Fullscreen/Fullscreen.js +11 -11
- package/dist/components/Illustration/Illustration.js +1 -11
- package/dist/components/InfoViewer/InfoViewer.d.ts +2 -2
- package/dist/components/InfoViewer/InfoViewer.js +1 -1
- package/dist/components/InfoViewer/formatters/cdcStream.d.ts +1 -1
- package/dist/components/InfoViewer/formatters/common.d.ts +1 -1
- package/dist/components/InfoViewer/formatters/pqGroup.d.ts +3 -3
- package/dist/components/InfoViewer/formatters/schema.d.ts +1 -1
- package/dist/components/InfoViewer/formatters/table.d.ts +4 -4
- package/dist/components/InfoViewer/utils.d.ts +3 -3
- package/dist/components/InfoViewerSkeleton/InfoViewerSkeleton.d.ts +7 -0
- package/dist/components/InfoViewerSkeleton/InfoViewerSkeleton.js +7 -0
- package/dist/{containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.scss → components/InfoViewerSkeleton/InfoViewerSkeleton.scss} +1 -9
- package/dist/components/InternalLink/InternalLink.js +1 -11
- package/dist/components/LinkToSchemaObject/LinkToSchemaObject.js +1 -11
- package/dist/components/LinkWithIcon/LinkWithIcon.d.ts +8 -0
- package/dist/components/LinkWithIcon/LinkWithIcon.js +14 -0
- package/dist/components/{ExternalLinkWithIcon/ExternalLinkWithIcon.scss → LinkWithIcon/LinkWithIcon.scss} +1 -1
- package/dist/components/MetricChart/MetricChart.d.ts +2 -1
- package/dist/components/MetricChart/MetricChart.js +8 -3
- package/dist/components/MetricChart/getChartData.d.ts +2 -1
- package/dist/components/MetricChart/getChartData.js +2 -2
- package/dist/components/MetricChart/getDefaultDataFormatter.d.ts +1 -1
- package/dist/components/MetricChart/i18n/en.json +3 -0
- package/dist/components/MetricChart/i18n/index.d.ts +2 -0
- package/dist/components/MetricChart/i18n/index.js +4 -0
- package/dist/components/MetricChart/reducer.d.ts +1 -1
- package/dist/components/MetricChart/types.d.ts +5 -5
- package/dist/components/NodeHostWrapper/NodeHostWrapper.js +1 -1
- package/dist/components/PDiskInfo/PDiskInfo.d.ts +11 -0
- package/dist/components/PDiskInfo/PDiskInfo.js +71 -0
- package/dist/components/PDiskInfo/PDiskInfo.scss +8 -0
- package/dist/components/PDiskInfo/i18n/en.json +14 -0
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -0
- package/dist/components/PDiskInfo/i18n/index.js +4 -0
- package/dist/components/PageMeta/PageMeta.d.ts +8 -0
- package/dist/components/PageMeta/PageMeta.js +7 -0
- package/dist/components/PageMeta/PageMeta.scss +10 -0
- package/dist/components/ProgressViewer/ProgressViewer.d.ts +1 -1
- package/dist/components/QueryResultTable/Cell/Cell.js +2 -2
- package/dist/components/QueryResultTable/QueryResultTable.js +1 -11
- package/dist/components/ShortyString/ShortyString.d.ts +1 -1
- package/dist/components/StatusIcon/StatusIcon.d.ts +12 -0
- package/dist/components/StatusIcon/StatusIcon.js +23 -0
- package/dist/components/StatusIcon/StatusIcon.scss +69 -0
- package/dist/components/Tablet/Tablet.scss +1 -1
- package/dist/components/TabletsOverall/TabletsOverall.js +6 -6
- package/dist/components/TabletsStatistic/TabletsStatistic.d.ts +1 -1
- package/dist/components/TabletsStatistic/TabletsStatistic.scss +1 -1
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/components/UsageLabel/UsageLabel.js +1 -11
- package/dist/components/VirtualTable/TableHead.js +2 -2
- package/dist/components/VirtualTable/reducer.d.ts +2 -2
- package/dist/components/VirtualTable/types.d.ts +13 -13
- package/dist/components/slots/types.d.ts +1 -1
- package/dist/containers/App/App.d.ts +1 -1
- package/dist/containers/App/Content.js +10 -4
- package/dist/containers/App/Providers.d.ts +1 -1
- package/dist/containers/App/appSlots.d.ts +6 -0
- package/dist/containers/App/appSlots.js +1 -0
- package/dist/containers/AppWithClusters/AppWithClusters.d.ts +1 -1
- package/dist/containers/AppWithClusters/AppWithClusters.js +1 -1
- package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js +2 -3
- package/dist/containers/Authentication/Authentication.js +2 -5
- package/dist/containers/Cluster/Cluster.js +4 -5
- package/dist/containers/Cluster/Cluster.scss +3 -0
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +4 -4
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +4 -0
- package/dist/containers/Cluster/ClusterInfo/utils.d.ts +1 -1
- package/dist/containers/Cluster/utils.d.ts +2 -2
- package/dist/containers/Clusters/Clusters.js +2 -4
- package/dist/containers/Clusters/Clusters.scss +1 -1
- package/dist/containers/Clusters/constants.d.ts +1 -1
- package/dist/containers/Clusters/useClustersList.js +2 -2
- package/dist/containers/Clusters/useSelectedColumns.d.ts +1 -1
- package/dist/containers/Header/Header.js +4 -5
- package/dist/containers/Header/breadcrumbs.js +28 -5
- package/dist/containers/Header/i18n/en.json +7 -0
- package/dist/containers/Header/i18n/index.d.ts +1 -0
- package/dist/containers/Header/i18n/index.js +4 -0
- package/dist/containers/Heatmap/Heatmap.js +3 -4
- package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js +1 -1
- package/dist/containers/Node/Node.js +2 -3
- package/dist/containers/Node/NodeStructure/NodeStructure.d.ts +0 -1
- package/dist/containers/Node/NodeStructure/NodeStructure.js +2 -6
- package/dist/containers/Node/NodeStructure/Pdisk.js +9 -65
- package/dist/containers/Node/NodeStructure/Vdisk.d.ts +1 -1
- package/dist/containers/Node/NodeStructure/Vdisk.js +5 -3
- package/dist/containers/Nodes/Nodes.js +2 -3
- package/dist/containers/Nodes/NodesWrapper.js +1 -11
- package/dist/containers/Nodes/getNodes.js +1 -11
- package/dist/containers/Nodes/getNodesColumns.d.ts +1 -1
- package/dist/containers/PDisk/PDisk.d.ts +3 -0
- package/dist/containers/PDisk/PDisk.js +68 -0
- package/dist/containers/PDisk/PDisk.scss +41 -0
- package/dist/containers/PDisk/PDiskGroups.d.ts +10 -0
- package/dist/containers/PDisk/PDiskGroups.js +20 -0
- package/dist/containers/PDisk/i18n/en.json +6 -0
- package/dist/containers/PDisk/i18n/index.d.ts +1 -0
- package/dist/containers/PDisk/i18n/index.js +4 -0
- package/dist/containers/PDisk/shared.d.ts +10 -0
- package/dist/containers/PDisk/shared.js +2 -0
- package/dist/containers/ReduxTooltip/ReduxTooltip.d.ts +1 -1
- package/dist/containers/ReduxTooltip/ReduxTooltip.js +3 -2
- package/dist/containers/Storage/DiskStateProgressBar/DiskStateProgressBar.d.ts +1 -9
- package/dist/containers/Storage/DiskStateProgressBar/DiskStateProgressBar.js +2 -12
- package/dist/containers/Storage/PDisk/PDisk.d.ts +3 -3
- package/dist/containers/Storage/PDisk/PDisk.js +6 -53
- package/dist/containers/Storage/PDiskPopup/PDiskPopup.d.ts +3 -3
- package/dist/containers/Storage/PDiskPopup/PDiskPopup.js +3 -14
- package/dist/containers/Storage/Storage.js +2 -3
- package/dist/containers/Storage/StorageGroups/getGroups.js +1 -11
- package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.d.ts +2 -1
- package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js +22 -8
- package/dist/containers/Storage/StorageNodes/getNodes.js +1 -11
- package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.js +1 -1
- package/dist/containers/Storage/StorageWrapper.js +1 -11
- package/dist/containers/Storage/UsageFilter/UsageFilter.js +1 -1
- package/dist/containers/Storage/VDisk/VDisk.d.ts +2 -3
- package/dist/containers/Storage/VDisk/VDisk.js +4 -64
- package/dist/containers/Storage/VDiskPopup/VDiskPopup.js +2 -12
- package/dist/containers/Storage/VirtualStorage.js +2 -3
- package/dist/containers/Storage/utils/index.d.ts +1 -3
- package/dist/containers/Storage/utils/index.js +0 -6
- package/dist/containers/Tablet/Tablet.js +4 -5
- package/dist/containers/Tablet/TabletControls/TabletControls.d.ts +3 -2
- package/dist/containers/Tablet/TabletControls/TabletControls.js +2 -49
- package/dist/containers/Tablet/TabletTable/TabletTable.js +1 -1
- package/dist/containers/Tablets/Tablets.js +2 -3
- package/dist/containers/TabletsFilters/TabletsFilters.d.ts +2 -2
- package/dist/containers/Tenant/Acl/Acl.js +2 -3
- package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +2 -3
- package/dist/containers/Tenant/Diagnostics/Describe/Describe.js +3 -3
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js +6 -4
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.js +2 -3
- package/dist/containers/Tenant/Diagnostics/Network/Network.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.js +7 -5
- package/dist/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.scss +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +9 -5
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +2 -3
- package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/utils/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/DefaultOverviewContent.d.ts +5 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/DefaultOverviewContent.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/Healthcheck.scss +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +3 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.js +3 -12
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.d.ts +2 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js +2 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js +2 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js +2 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js +2 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.d.ts +2 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js +2 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +6 -7
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js +1 -11
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +2 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js +2 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.js +3 -4
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js +2 -5
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +2 -3
- package/dist/containers/Tenant/Info/ExternalDataSource/ExternalDataSource.js +1 -1
- package/dist/containers/Tenant/Info/ExternalTable/ExternalTable.js +3 -3
- package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.d.ts +1 -0
- package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js +3 -2
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +2 -3
- package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js +2 -3
- package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +3 -3
- package/dist/containers/Tenant/Query/Issues/models.d.ts +1 -1
- package/dist/containers/Tenant/Query/Preview/Preview.js +2 -3
- package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +2 -3
- package/dist/containers/Tenant/Query/Query.js +2 -3
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +8 -12
- package/dist/containers/Tenant/Query/QueryEditor/helpers.d.ts +4 -0
- package/dist/containers/Tenant/Query/QueryEditor/helpers.js +17 -0
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js +4 -4
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +2 -2
- package/dist/containers/Tenant/Query/i18n/en.json +5 -1
- package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/i18n/index.js +2 -5
- package/dist/containers/Tenant/Schema/SchemaTree/SchemaTree.js +5 -3
- package/dist/containers/Tenant/Tenant.js +24 -8
- package/dist/containers/Tenant/utils/index.d.ts +1 -1
- package/dist/containers/Tenant/utils/schema.d.ts +12 -12
- package/dist/containers/Tenant/utils/schemaActions.d.ts +1 -1
- package/dist/containers/Tenants/Tenants.js +3 -4
- package/dist/containers/UserSettings/Setting.d.ts +1 -1
- package/dist/containers/UserSettings/i18n/en.json +4 -0
- package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
- package/dist/containers/UserSettings/settings.d.ts +4 -1
- package/dist/containers/UserSettings/settings.js +21 -6
- package/dist/containers/Versions/NodesTable/NodesTable.js +1 -1
- package/dist/containers/Versions/Versions.js +2 -3
- package/dist/reportWebVitals.d.ts +1 -1
- package/dist/routes.d.ts +5 -2
- package/dist/routes.js +6 -1
- package/dist/services/api.d.ts +8 -7
- package/dist/services/api.js +3 -13
- package/dist/services/settings.d.ts +1 -1
- package/dist/services/settings.js +2 -1
- package/dist/store/configureStore.d.ts +310 -0
- package/dist/store/configureStore.js +56 -0
- package/dist/store/defaultStore.d.ts +168 -0
- package/dist/store/defaultStore.js +2 -0
- package/dist/store/getUrlData.d.ts +3 -3
- package/dist/store/getUrlData.js +4 -4
- package/dist/store/index.d.ts +3 -97
- package/dist/store/index.js +2 -49
- package/dist/store/reducers/authentication/authentication.d.ts +247 -4
- package/dist/store/reducers/authentication/types.d.ts +1 -1
- package/dist/store/reducers/cluster/cluster.d.ts +83 -2
- package/dist/store/reducers/cluster/types.d.ts +3 -3
- package/dist/store/reducers/clusterNodes/clusterNodes.d.ts +83 -2
- package/dist/store/reducers/clusterNodes/types.d.ts +1 -1
- package/dist/store/reducers/clusters/clusters.d.ts +83 -2
- package/dist/store/reducers/clusters/selectors.d.ts +20 -6
- package/dist/store/reducers/clusters/selectors.js +1 -1
- package/dist/store/reducers/clusters/types.d.ts +1 -1
- package/dist/store/reducers/describe.d.ts +165 -3
- package/dist/store/reducers/describe.js +4 -3
- package/dist/store/reducers/executeQuery.d.ts +83 -2
- package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +3 -3
- package/dist/store/reducers/executeTopQueries/types.d.ts +1 -1
- package/dist/store/reducers/explainQuery.d.ts +165 -3
- package/dist/store/reducers/header/header.d.ts +1 -1
- package/dist/store/reducers/header/types.d.ts +7 -4
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +101 -0
- package/dist/store/reducers/{healthcheckInfo.js → healthcheckInfo/healthcheckInfo.js} +2 -2
- package/dist/store/reducers/healthcheckInfo/types.d.ts +19 -0
- package/dist/store/reducers/healthcheckInfo/utils.d.ts +3 -0
- package/dist/store/reducers/healthcheckInfo/utils.js +11 -0
- package/dist/store/reducers/heatmap.d.ts +83 -2
- package/dist/store/reducers/heatmap.js +2 -2
- package/dist/store/reducers/host.d.ts +83 -2
- package/dist/store/reducers/hotKeys/hotKeys.d.ts +1 -1
- package/dist/store/reducers/hotKeys/types.d.ts +1 -1
- package/dist/store/reducers/index.d.ts +95 -45
- package/dist/store/reducers/index.js +4 -2
- package/dist/store/reducers/network/network.d.ts +83 -2
- package/dist/store/reducers/network/types.d.ts +1 -1
- package/dist/store/reducers/node/node.d.ts +165 -3
- package/dist/store/reducers/node/selectors.d.ts +1 -1
- package/dist/store/reducers/node/selectors.js +5 -4
- package/dist/store/reducers/node/types.d.ts +8 -10
- package/dist/store/reducers/node/utils.js +3 -2
- package/dist/store/reducers/nodes/nodes.d.ts +165 -3
- package/dist/store/reducers/nodes/nodes.js +1 -11
- package/dist/store/reducers/nodes/selectors.d.ts +1 -1
- package/dist/store/reducers/nodes/selectors.js +1 -1
- package/dist/store/reducers/nodes/types.d.ts +4 -3
- package/dist/store/reducers/nodes/utils.d.ts +1 -1
- package/dist/store/reducers/nodes/utils.js +3 -2
- package/dist/store/reducers/nodesList.d.ts +83 -2
- package/dist/store/reducers/olapStats.d.ts +83 -2
- package/dist/store/reducers/overview/overview.d.ts +166 -4
- package/dist/store/reducers/overview/overview.js +3 -3
- package/dist/store/reducers/overview/types.d.ts +6 -5
- package/dist/store/reducers/partitions/partitions.d.ts +83 -2
- package/dist/store/reducers/partitions/types.d.ts +1 -1
- package/dist/store/reducers/partitions/utils.d.ts +2 -2
- package/dist/store/reducers/pdisk/pdisk.d.ts +210 -0
- package/dist/store/reducers/pdisk/pdisk.js +64 -0
- package/dist/store/reducers/pdisk/types.d.ts +23 -0
- package/dist/store/reducers/pdisk/types.js +1 -0
- package/dist/store/reducers/pdisk/utils.d.ts +32 -0
- package/dist/store/reducers/pdisk/utils.js +32 -0
- package/dist/store/reducers/preview.d.ts +82 -1
- package/dist/store/reducers/saveQuery.d.ts +3 -3
- package/dist/store/reducers/schema/schema.d.ts +84 -4
- package/dist/store/reducers/schema/schema.js +4 -4
- package/dist/store/reducers/schema/types.d.ts +3 -3
- package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +83 -2
- package/dist/store/reducers/schemaAcl/types.d.ts +1 -1
- package/dist/store/reducers/settings/settings.d.ts +2 -2
- package/dist/store/reducers/settings/types.d.ts +3 -3
- package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +83 -2
- package/dist/store/reducers/shardsWorkload/types.d.ts +1 -1
- package/dist/store/reducers/storage/selectors.d.ts +1 -1
- package/dist/store/reducers/storage/selectors.js +1 -1
- package/dist/store/reducers/storage/storage.d.ts +165 -3
- package/dist/store/reducers/storage/storage.js +1 -11
- package/dist/store/reducers/storage/types.d.ts +10 -10
- package/dist/store/reducers/storage/utils.d.ts +4 -2
- package/dist/store/reducers/storage/utils.js +23 -30
- package/dist/store/reducers/tablet.d.ts +165 -3
- package/dist/store/reducers/tablet.js +1 -1
- package/dist/store/reducers/tablets.d.ts +83 -2
- package/dist/store/reducers/tabletsFilters.d.ts +101 -2
- package/dist/store/reducers/tabletsFilters.js +1 -1
- package/dist/store/reducers/tenant/tenant.d.ts +83 -2
- package/dist/store/reducers/tenant/types.d.ts +6 -6
- package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +83 -2
- package/dist/store/reducers/tenantOverview/executeTopTables/types.d.ts +1 -1
- package/dist/store/reducers/tenantOverview/topNodesByCpu/topNodesByCpu.d.ts +83 -2
- package/dist/store/reducers/tenantOverview/topNodesByCpu/topNodesByCpu.js +1 -11
- package/dist/store/reducers/tenantOverview/topNodesByCpu/types.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/topNodesByLoad/topNodesByLoad.d.ts +83 -2
- package/dist/store/reducers/tenantOverview/topNodesByLoad/topNodesByLoad.js +1 -11
- package/dist/store/reducers/tenantOverview/topNodesByLoad/types.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/topNodesByMemory/topNodesByMemory.d.ts +83 -2
- package/dist/store/reducers/tenantOverview/topNodesByMemory/topNodesByMemory.js +1 -11
- package/dist/store/reducers/tenantOverview/topNodesByMemory/types.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/topQueries/tenantOverviewTopQueries.d.ts +83 -2
- package/dist/store/reducers/tenantOverview/topQueries/types.d.ts +1 -1
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +83 -2
- package/dist/store/reducers/tenantOverview/topShards/types.d.ts +1 -1
- package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.d.ts +83 -2
- package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.js +1 -11
- package/dist/store/reducers/tenantOverview/topStorageGroups/types.d.ts +2 -2
- package/dist/store/reducers/tenants/selectors.d.ts +2 -2
- package/dist/store/reducers/tenants/selectors.js +1 -1
- package/dist/store/reducers/tenants/tenants.d.ts +83 -2
- package/dist/store/reducers/tenants/types.d.ts +2 -2
- package/dist/store/reducers/tenants/utils.d.ts +6 -6
- package/dist/store/reducers/tooltip.d.ts +4 -3
- package/dist/store/reducers/tooltip.js +2 -4
- package/dist/store/reducers/topic.d.ts +83 -3
- package/dist/store/reducers/topic.js +1 -1
- package/dist/store/state-url-mapping.d.ts +5 -3
- package/dist/store/state-url-mapping.js +9 -18
- package/dist/store/utils.d.ts +4 -4
- package/dist/types/additionalProps.d.ts +2 -2
- package/dist/types/api/enums.d.ts +1 -0
- package/dist/types/api/enums.js +1 -0
- package/dist/types/api/error.d.ts +1 -1
- package/dist/types/api/nodes.d.ts +1 -1
- package/dist/types/api/nodesList.d.ts +1 -1
- package/dist/types/api/query.d.ts +19 -19
- package/dist/types/api/render.d.ts +6 -3
- package/dist/types/api/storage.d.ts +1 -1
- package/dist/types/api/tablet.d.ts +1 -1
- package/dist/types/common.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/store/describe.d.ts +3 -3
- package/dist/types/store/executeQuery.d.ts +2 -2
- package/dist/types/store/explainQuery.d.ts +3 -3
- package/dist/types/store/heatmap.d.ts +3 -3
- package/dist/types/store/host.d.ts +1 -1
- package/dist/types/store/nodesList.d.ts +2 -2
- package/dist/types/store/olapStats.d.ts +1 -1
- package/dist/types/store/query.d.ts +5 -5
- package/dist/types/store/tablet.d.ts +3 -3
- package/dist/types/store/tablets.d.ts +2 -2
- package/dist/types/store/tooltip.d.ts +3 -5
- package/dist/types/store/topic.d.ts +1 -1
- package/dist/types/versions.d.ts +2 -2
- package/dist/utils/additionalProps.d.ts +1 -1
- package/dist/utils/additionalProps.js +1 -1
- package/dist/utils/bytesParsers/formatBytes.d.ts +2 -2
- package/dist/utils/bytesParsers/formatBytes.js +1 -11
- package/dist/utils/clusterVersionColors.d.ts +1 -1
- package/dist/utils/clusterVersionColors.js +2 -2
- package/dist/utils/constants.d.ts +2 -1
- package/dist/utils/constants.js +5 -4
- package/dist/utils/dataFormatters/dataFormatters.d.ts +12 -11
- package/dist/utils/developerUI/developerUI.d.ts +1 -1
- package/dist/utils/diagnostics.d.ts +2 -2
- package/dist/utils/disks/__test__/calculatePDiskSeverity.test.d.ts +1 -0
- package/dist/utils/disks/__test__/calculatePDiskSeverity.test.js +36 -0
- package/dist/utils/disks/__test__/calculateVDiskSeverity.test.d.ts +1 -0
- package/dist/utils/disks/__test__/calculateVDiskSeverity.test.js +142 -0
- package/dist/utils/disks/calculatePDiskSeverity.d.ts +2 -0
- package/dist/utils/disks/calculatePDiskSeverity.js +18 -0
- package/dist/utils/disks/calculateVDiskSeverity.d.ts +2 -0
- package/dist/utils/disks/calculateVDiskSeverity.js +36 -0
- package/dist/utils/disks/constants.d.ts +25 -0
- package/dist/utils/disks/constants.js +38 -0
- package/dist/utils/disks/getPDiskType.d.ts +7 -0
- package/dist/utils/{pdisk.js → disks/getPDiskType.js} +13 -15
- package/dist/utils/disks/helpers.d.ts +3 -0
- package/dist/utils/disks/helpers.js +10 -0
- package/dist/utils/disks/prepareDisks.d.ts +5 -0
- package/dist/utils/disks/prepareDisks.js +40 -0
- package/dist/utils/disks/types.d.ts +15 -0
- package/dist/utils/disks/types.js +1 -0
- package/dist/utils/hooks/index.d.ts +1 -0
- package/dist/utils/hooks/index.js +1 -0
- package/dist/utils/hooks/useSetting.js +2 -2
- package/dist/utils/hooks/useTableResize.d.ts +3 -3
- package/dist/utils/hooks/useTableSort.d.ts +1 -1
- package/dist/utils/hooks/useTypedDispatch.d.ts +2 -0
- package/dist/utils/hooks/useTypedDispatch.js +2 -0
- package/dist/utils/hooks/useTypedSelector.d.ts +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/monaco.d.ts +1 -0
- package/dist/utils/monaco.js +14 -0
- package/dist/utils/monitoring.d.ts +3 -3
- package/dist/utils/nodes.d.ts +8 -2
- package/dist/utils/nodes.js +11 -0
- package/dist/utils/prepareBackend.d.ts +2 -2
- package/dist/utils/query.d.ts +2 -2
- package/dist/utils/query.js +1 -11
- package/dist/utils/storage.d.ts +1 -3
- package/dist/utils/storage.js +0 -1
- package/dist/utils/tablet.d.ts +1 -1
- package/dist/utils/timeframes.d.ts +1 -1
- package/dist/utils/typecheckers.d.ts +1 -0
- package/dist/utils/versions/getVersionsColors.d.ts +1 -1
- package/dist/utils/versions/getVersionsColors.js +2 -2
- package/dist/utils/versions/parseNodesToVersionsValues.d.ts +1 -1
- package/dist/utils/yqlSuggestions/constants.d.ts +7 -0
- package/dist/utils/yqlSuggestions/constants.js +696 -0
- package/dist/utils/yqlSuggestions/generateSuggestions.d.ts +27 -0
- package/dist/utils/yqlSuggestions/generateSuggestions.js +252 -0
- package/dist/utils/yqlSuggestions/yqlSuggestions.d.ts +4 -0
- package/dist/utils/yqlSuggestions/yqlSuggestions.js +76 -0
- package/package.json +14 -10
- package/dist/assets/icons/flask.svg +0 -3
- package/dist/assets/icons/star.svg +0 -1
- package/dist/components/ExternalLinkWithIcon/ExternalLinkWithIcon.d.ts +0 -7
- package/dist/components/ExternalLinkWithIcon/ExternalLinkWithIcon.js +0 -9
- package/dist/containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.d.ts +0 -7
- package/dist/containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.js +0 -7
- package/dist/containers/Storage/utils/constants.d.ts +0 -2
- package/dist/containers/Storage/utils/constants.js +0 -2
- package/dist/containers/Tenant/Query/i18n/ru.json +0 -21
- package/dist/store/reducers/healthcheckInfo.d.ts +0 -21
- package/dist/types/store/healthcheck.d.ts +0 -20
- package/dist/utils/pdisk.d.ts +0 -17
- /package/dist/{types/store/healthcheck.js → store/reducers/healthcheckInfo/types.js} +0 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import { Icon } from '@gravity-ui/uikit';
|
3
|
+
import CircleExclamationFillIcon from '@gravity-ui/icons/svgs/circle-exclamation-fill.svg';
|
4
|
+
import CircleInfoFillIcon from '@gravity-ui/icons/svgs/circle-info-fill.svg';
|
5
|
+
import CircleXmarkFillIcon from '@gravity-ui/icons/svgs/circle-xmark-fill.svg';
|
6
|
+
import TriangleExclamationFillIcon from '@gravity-ui/icons/svgs/triangle-exclamation-fill.svg';
|
7
|
+
import { EFlag } from '../../types/api/enums';
|
8
|
+
import { cn } from '../../utils/cn';
|
9
|
+
import './StatusIcon.scss';
|
10
|
+
const b = cn('ydb-status-icon');
|
11
|
+
const icons = {
|
12
|
+
[EFlag.Blue]: CircleInfoFillIcon,
|
13
|
+
[EFlag.Yellow]: CircleExclamationFillIcon,
|
14
|
+
[EFlag.Orange]: TriangleExclamationFillIcon,
|
15
|
+
[EFlag.Red]: CircleXmarkFillIcon,
|
16
|
+
};
|
17
|
+
export function StatusIcon({ status = EFlag.Grey, size = 's', mode = 'color' }) {
|
18
|
+
const modifiers = { state: status.toLowerCase(), size };
|
19
|
+
if (mode === 'icons' && status in icons) {
|
20
|
+
return (_jsx(Icon, { className: b('status-icon', modifiers), data: icons[status] }));
|
21
|
+
}
|
22
|
+
return _jsx("div", { className: b('status-color', modifiers) });
|
23
|
+
}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
.ydb-status-icon {
|
2
|
+
&__status-color {
|
3
|
+
&_state_green {
|
4
|
+
background-color: var(--ydb-color-status-green);
|
5
|
+
}
|
6
|
+
&_state_yellow {
|
7
|
+
background-color: var(--ydb-color-status-yellow);
|
8
|
+
}
|
9
|
+
&_state_blue {
|
10
|
+
background-color: var(--ydb-color-status-blue);
|
11
|
+
}
|
12
|
+
&_state_red {
|
13
|
+
background-color: var(--ydb-color-status-red);
|
14
|
+
}
|
15
|
+
&_state_grey {
|
16
|
+
background-color: var(--ydb-color-status-grey);
|
17
|
+
}
|
18
|
+
&_state_orange {
|
19
|
+
background-color: var(--ydb-color-status-orange);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
&__status-icon {
|
24
|
+
&_state_blue {
|
25
|
+
color: var(--ydb-color-status-blue);
|
26
|
+
}
|
27
|
+
&_state_yellow {
|
28
|
+
color: var(--ydb-color-status-yellow);
|
29
|
+
}
|
30
|
+
&_state_orange {
|
31
|
+
color: var(--ydb-color-status-orange);
|
32
|
+
}
|
33
|
+
&_state_red {
|
34
|
+
color: var(--ydb-color-status-red);
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
&__status-color,
|
39
|
+
&__status-icon {
|
40
|
+
flex-shrink: 0;
|
41
|
+
|
42
|
+
margin-right: 8px;
|
43
|
+
|
44
|
+
border-radius: 3px;
|
45
|
+
&_size_xs {
|
46
|
+
aspect-ratio: 1;
|
47
|
+
|
48
|
+
width: 12px;
|
49
|
+
height: 12px;
|
50
|
+
}
|
51
|
+
&_size_s {
|
52
|
+
aspect-ratio: 1;
|
53
|
+
|
54
|
+
width: 16px;
|
55
|
+
height: 16px;
|
56
|
+
}
|
57
|
+
&_size_m {
|
58
|
+
aspect-ratio: 1;
|
59
|
+
|
60
|
+
width: 18px;
|
61
|
+
height: 18px;
|
62
|
+
}
|
63
|
+
|
64
|
+
&_size_l {
|
65
|
+
width: 27px;
|
66
|
+
height: 27px;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
-
import { useDispatch } from 'react-redux';
|
3
2
|
import cn from 'bem-cn-lite';
|
4
3
|
import { Progress } from '@gravity-ui/uikit';
|
5
4
|
import { hideTooltip, showTooltip } from '../../store/reducers/tooltip';
|
5
|
+
import { useTypedDispatch } from '../../utils/hooks';
|
6
6
|
import { COLORS_PRIORITY } from '../../utils/constants';
|
7
7
|
import './TabletsOverall.scss';
|
8
8
|
// to be able to see problem places with very small percentage, we'll set minimum percentage to 3.
|
@@ -17,12 +17,12 @@ const colors = {
|
|
17
17
|
};
|
18
18
|
const b = cn('kv-tablets-overall');
|
19
19
|
function TabletsOverall({ tablets }) {
|
20
|
-
const dispatch =
|
20
|
+
const dispatch = useTypedDispatch();
|
21
21
|
const tabletsCount = tablets.length;
|
22
|
-
const
|
22
|
+
const subtractPercentsFromMaxPercents = (statesForOverallProgress, subtractValue) => {
|
23
23
|
Object.keys(statesForOverallProgress).some((key) => {
|
24
24
|
if (statesForOverallProgress[key] > 10) {
|
25
|
-
statesForOverallProgress[key] -= minOverallPercentValue -
|
25
|
+
statesForOverallProgress[key] -= minOverallPercentValue - subtractValue;
|
26
26
|
return true;
|
27
27
|
}
|
28
28
|
return false;
|
@@ -51,7 +51,7 @@ function TabletsOverall({ tablets }) {
|
|
51
51
|
// replace percents which are smaller then 3 to 3.
|
52
52
|
Object.keys(statesForOverallProgress).forEach((key) => {
|
53
53
|
if (statesForOverallProgress[key] < minOverallPercentValue) {
|
54
|
-
|
54
|
+
subtractPercentsFromMaxPercents(statesForOverallProgress, statesForOverallProgress[key]);
|
55
55
|
statesForOverallProgress[key] = minOverallPercentValue;
|
56
56
|
}
|
57
57
|
});
|
@@ -61,7 +61,7 @@ function TabletsOverall({ tablets }) {
|
|
61
61
|
colorKey: key,
|
62
62
|
value: statesForOverallProgress[key],
|
63
63
|
}));
|
64
|
-
// sort stack to achieve order "green, orange, yellow, red, blue,
|
64
|
+
// sort stack to achieve order "green, orange, yellow, red, blue, grey"
|
65
65
|
stack.sort((a, b) => COLORS_PRIORITY[b.colorKey] - COLORS_PRIORITY[a.colorKey]);
|
66
66
|
return (_jsxs("div", Object.assign({ className: b('row', { overall: true }) }, { children: [_jsx("span", Object.assign({ className: b('label', { overall: true }) }, { children: "Overall:" })), _jsx("div", Object.assign({ onMouseLeave: () => dispatch(hideTooltip()), onMouseEnter: (e) => dispatch(showTooltip(e.target, tooltipData, 'tabletsOverall')) }, { children: _jsx(Progress, { value: memoryProgress, stack: stack }) }))] })));
|
67
67
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { TTabletStateInfo as TFullTabletStateInfo } from '../../types/api/tablet';
|
2
2
|
import type { TTabletStateInfo as TComputeTabletStateInfo } from '../../types/api/compute';
|
3
3
|
import './TabletsStatistic.scss';
|
4
|
-
|
4
|
+
type Tablets = TFullTabletStateInfo[] | TComputeTabletStateInfo[];
|
5
5
|
interface TabletsStatisticProps {
|
6
6
|
tablets: Tablets;
|
7
7
|
path: string | undefined;
|
@@ -1,14 +1,4 @@
|
|
1
|
-
|
2
|
-
var t = {};
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
-
t[p] = s[p];
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
-
t[p[i]] = s[p[i]];
|
9
|
-
}
|
10
|
-
return t;
|
11
|
-
};
|
1
|
+
import { __rest } from "tslib";
|
12
2
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
13
3
|
import cn from 'bem-cn-lite';
|
14
4
|
import { Label } from '@gravity-ui/uikit';
|
@@ -54,7 +54,7 @@ export const TableHead = ({ columns, onSort, onColumnsResize, defaultSortOrder =
|
|
54
54
|
const columnsWidth = {};
|
55
55
|
entries.forEach((entry) => {
|
56
56
|
var _a;
|
57
|
-
// @ts-
|
57
|
+
// @ts-expect-error ignore custrom property usage
|
58
58
|
const id = (_a = entry.target.attributes[COLUMN_NAME_HTML_ATTRIBUTE]) === null || _a === void 0 ? void 0 : _a.value;
|
59
59
|
columnsWidth[id] = entry.contentRect.width;
|
60
60
|
});
|
@@ -70,7 +70,7 @@ export const TableHead = ({ columns, onSort, onColumnsResize, defaultSortOrder =
|
|
70
70
|
const handleSort = (columnId) => {
|
71
71
|
let newSortParams = {};
|
72
72
|
// Order is changed in following order:
|
73
|
-
// 1. Inactive Sort Order -
|
73
|
+
// 1. Inactive Sort Order - grey icon of default order
|
74
74
|
// 2. Active default order
|
75
75
|
// 3. Active not default order
|
76
76
|
if (columnId === sortParams.columnId) {
|
@@ -2,7 +2,7 @@ import type { Reducer } from 'react';
|
|
2
2
|
import type { IResponseError } from '../../types/api/error';
|
3
3
|
import type { Chunk } from './types';
|
4
4
|
declare const SET_CHUNK_DATA = "infiniteTable/SET_CHUNK_DATA";
|
5
|
-
|
5
|
+
type VirtualTableState<T> = Record<string, Chunk<T> | undefined>;
|
6
6
|
interface SetChunkDataAction<T> {
|
7
7
|
type: typeof SET_CHUNK_DATA;
|
8
8
|
data: {
|
@@ -39,6 +39,6 @@ export declare const removeChunk: (id: string) => {
|
|
39
39
|
export declare const resetChunks: () => {
|
40
40
|
readonly type: "infiniteTable/RESET_CHUNKS";
|
41
41
|
};
|
42
|
-
|
42
|
+
type VirtualTableAction<T> = SetChunkDataAction<T> | ReturnType<typeof setChunkError> | ReturnType<typeof initChunk> | ReturnType<typeof setChunkLoading> | ReturnType<typeof removeChunk> | ReturnType<typeof resetChunks>;
|
43
43
|
export declare const createVirtualTableReducer: <T>() => Reducer<VirtualTableState<T>, VirtualTableAction<T>>;
|
44
44
|
export {};
|
@@ -8,16 +8,16 @@ export interface Chunk<T> {
|
|
8
8
|
data?: T[];
|
9
9
|
error?: IResponseError;
|
10
10
|
}
|
11
|
-
export
|
12
|
-
export
|
13
|
-
export
|
14
|
-
export
|
15
|
-
export
|
16
|
-
export
|
11
|
+
export type GetChunk<T> = (id: number) => Chunk<T> | undefined;
|
12
|
+
export type OnEntry = (id: string) => void;
|
13
|
+
export type OnLeave = (id: string) => void;
|
14
|
+
export type AlignType = typeof LEFT | typeof RIGHT | typeof CENTER;
|
15
|
+
export type SortOrderType = typeof ASCENDING | typeof DESCENDING;
|
16
|
+
export type SortParams = {
|
17
17
|
columnId?: string;
|
18
18
|
sortOrder?: SortOrderType;
|
19
19
|
};
|
20
|
-
export
|
20
|
+
export type OnSort = (params: SortParams) => void;
|
21
21
|
export interface Column<T> {
|
22
22
|
name: string;
|
23
23
|
header?: ReactNode;
|
@@ -36,15 +36,15 @@ export interface VirtualTableData<T> {
|
|
36
36
|
total: number;
|
37
37
|
found: number;
|
38
38
|
}
|
39
|
-
export
|
40
|
-
export
|
39
|
+
export type FetchData<T> = (limit: number, offset: number, sortParams?: SortParams) => Promise<VirtualTableData<T>>;
|
40
|
+
export type OnError = (error?: IResponseError) => void;
|
41
41
|
interface ControlsParams {
|
42
42
|
totalEntities: number;
|
43
43
|
foundEntities: number;
|
44
44
|
inited: boolean;
|
45
45
|
}
|
46
|
-
export
|
47
|
-
export
|
48
|
-
export
|
49
|
-
export
|
46
|
+
export type RenderControls = (params: ControlsParams) => ReactNode;
|
47
|
+
export type RenderEmptyDataMessage = () => ReactNode;
|
48
|
+
export type RenderErrorMessage = (error: IResponseError) => ReactNode;
|
49
|
+
export type GetRowClassName<T> = (row: T) => string | undefined;
|
50
50
|
export {};
|
@@ -7,7 +7,7 @@ export interface SlotItem<Props = {}, Type = unknown> {
|
|
7
7
|
ref?: React.Ref<Type>;
|
8
8
|
rendered: ExtractChildrenType<Props>;
|
9
9
|
}
|
10
|
-
|
10
|
+
type ExtractChildrenType<Props> = Props extends {
|
11
11
|
children: infer Children;
|
12
12
|
} ? Children : Props extends {
|
13
13
|
children?: infer Children;
|
@@ -2,12 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
3
3
|
import { Switch, Route, Redirect } from 'react-router-dom';
|
4
4
|
import cn from 'bem-cn-lite';
|
5
|
-
import { connect
|
5
|
+
import { connect } from 'react-redux';
|
6
6
|
import routes from '../../routes';
|
7
7
|
import { Clusters } from '../Clusters/Clusters';
|
8
8
|
import Cluster from '../Cluster/Cluster';
|
9
9
|
import Tenant from '../Tenant/Tenant';
|
10
10
|
import Node from '../Node/Node';
|
11
|
+
import { PDisk } from '../PDisk/PDisk';
|
11
12
|
import { Tablet } from '../Tablet';
|
12
13
|
import TabletsFilters from '../TabletsFilters/TabletsFilters';
|
13
14
|
import Header from '../Header/Header';
|
@@ -15,8 +16,8 @@ import Authentication from '../Authentication/Authentication';
|
|
15
16
|
import { getUser } from '../../store/reducers/authentication/authentication';
|
16
17
|
import { getClusterPath } from '../Cluster/utils';
|
17
18
|
import { useSlots } from '../../components/slots';
|
18
|
-
import { useTypedSelector } from '../../utils/hooks';
|
19
|
-
import { ClusterSlot, ClustersSlot, NodeSlot, RedirectSlot, RoutesSlot, TabletSlot, TabletsFiltersSlot, TenantSlot, } from './appSlots';
|
19
|
+
import { useTypedSelector, useTypedDispatch } from '../../utils/hooks';
|
20
|
+
import { ClusterSlot, ClustersSlot, NodeSlot, PDiskSlot, RedirectSlot, RoutesSlot, TabletSlot, TabletsFiltersSlot, TenantSlot, } from './appSlots';
|
20
21
|
import i18n from './i18n';
|
21
22
|
import './App.scss';
|
22
23
|
const b = cn('app');
|
@@ -36,6 +37,11 @@ const routesSlots = [
|
|
36
37
|
slot: NodeSlot,
|
37
38
|
component: Node,
|
38
39
|
},
|
40
|
+
{
|
41
|
+
path: routes.pDisk,
|
42
|
+
slot: PDiskSlot,
|
43
|
+
component: PDisk,
|
44
|
+
},
|
39
45
|
{
|
40
46
|
path: routes.tablet,
|
41
47
|
slot: TabletSlot,
|
@@ -87,7 +93,7 @@ export function Content(props) {
|
|
87
93
|
}), _jsx(Redirect, Object.assign({}, redirectProps))] })] }, "single-cluster")] }));
|
88
94
|
}
|
89
95
|
function GetUser() {
|
90
|
-
const dispatch =
|
96
|
+
const dispatch = useTypedDispatch();
|
91
97
|
const { isAuthenticated, isInternalUser } = useTypedSelector((state) => ({
|
92
98
|
isAuthenticated: state.authentication.isAuthenticated,
|
93
99
|
isInternalUser: Boolean(state.authentication.user),
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import type { Store } from '
|
2
|
+
import type { Store } from '@reduxjs/toolkit';
|
3
3
|
import type { History } from 'history';
|
4
4
|
import type { ComponentsRegistry } from '../../components/ComponentsProvider/componentsRegistry';
|
5
5
|
interface ProvidersProps {
|
@@ -2,6 +2,7 @@ import type { RedirectProps, RouteComponentProps } from 'react-router';
|
|
2
2
|
import type Cluster from '../Cluster/Cluster';
|
3
3
|
import type { Clusters } from '../Clusters/Clusters';
|
4
4
|
import type Node from '../Node/Node';
|
5
|
+
import type { PDisk } from '../PDisk/PDisk';
|
5
6
|
import type { Tablet } from '../Tablet';
|
6
7
|
import type TabletsFilters from '../TabletsFilters/TabletsFilters';
|
7
8
|
import type Tenant from '../Tenant/Tenant';
|
@@ -25,6 +26,11 @@ export declare const NodeSlot: import("../../components/slots/types").SlotCompon
|
|
25
26
|
component: typeof Node;
|
26
27
|
} & RouteComponentProps) => React.ReactNode);
|
27
28
|
}, never>;
|
29
|
+
export declare const PDiskSlot: import("../../components/slots/types").SlotComponent<{
|
30
|
+
children: import("react").ReactNode | ((props: {
|
31
|
+
component: typeof PDisk;
|
32
|
+
} & RouteComponentProps) => React.ReactNode);
|
33
|
+
}, never>;
|
28
34
|
export declare const TabletSlot: import("../../components/slots/types").SlotComponent<{
|
29
35
|
children: import("react").ReactNode | ((props: {
|
30
36
|
component: typeof Tablet;
|
@@ -3,6 +3,7 @@ export const ClustersSlot = createSlot('clusters');
|
|
3
3
|
export const ClusterSlot = createSlot('cluster');
|
4
4
|
export const TenantSlot = createSlot('tenant');
|
5
5
|
export const NodeSlot = createSlot('node');
|
6
|
+
export const PDiskSlot = createSlot('pDisk');
|
6
7
|
export const TabletSlot = createSlot('tablet');
|
7
8
|
export const TabletsFiltersSlot = createSlot('tabletsFilters');
|
8
9
|
export const RoutesSlot = createSlot('routes');
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { History } from 'history';
|
2
|
-
import type { Store } from '
|
2
|
+
import type { Store } from '@reduxjs/toolkit';
|
3
3
|
import type { GetMonitoringClusterLink, GetMonitoringLink } from '../../utils/monitoring';
|
4
4
|
import { YDBEmbeddedUISettings } from '../UserSettings/settings';
|
5
5
|
import React from 'react';
|
@@ -8,7 +8,7 @@ import { settings } from '../UserSettings/settings';
|
|
8
8
|
import { USE_CLUSTER_BALANCER_AS_BACKEND_KEY } from '../../utils/constants';
|
9
9
|
import i18n from './i18n';
|
10
10
|
const defaultUserSettings = settings;
|
11
|
-
defaultUserSettings[
|
11
|
+
defaultUserSettings[2].sections[0].settings.push({
|
12
12
|
title: i18n('settings.useClusterBalancerAsBackend.title'),
|
13
13
|
helpPopoverContent: i18n('settings.useClusterBalancerAsBackend.popover'),
|
14
14
|
settingKey: USE_CLUSTER_BALANCER_AS_BACKEND_KEY,
|
@@ -1,9 +1,8 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useHistory } from 'react-router';
|
3
|
-
import { useDispatch } from 'react-redux';
|
4
3
|
import { Button, Icon } from '@gravity-ui/uikit';
|
5
4
|
import routes, { createHref } from '../../../routes';
|
6
|
-
import { useTypedSelector } from '../../../utils/hooks';
|
5
|
+
import { useTypedSelector, useTypedDispatch } from '../../../utils/hooks';
|
7
6
|
import { logout } from '../../../store/reducers/authentication/authentication';
|
8
7
|
import { cn } from '../../../utils/cn';
|
9
8
|
import signOutIcon from '@gravity-ui/icons/svgs/arrow-right-from-square.svg';
|
@@ -17,7 +16,7 @@ export function YdbInternalUser() {
|
|
17
16
|
const handleLoginClick = () => {
|
18
17
|
history.push(createHref(routes.auth, undefined, { returnUrl: encodeURIComponent(location.href) }));
|
19
18
|
};
|
20
|
-
const dispatch =
|
19
|
+
const dispatch = useTypedDispatch();
|
21
20
|
const handleLogout = () => {
|
22
21
|
dispatch(logout);
|
23
22
|
};
|
@@ -1,11 +1,10 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useEffect, useState } from 'react';
|
3
|
-
import { useDispatch } from 'react-redux';
|
4
3
|
import { useHistory, useLocation } from 'react-router';
|
5
4
|
import cn from 'bem-cn-lite';
|
6
5
|
import { Button, TextInput, Icon, Link as ExternalLink } from '@gravity-ui/uikit';
|
7
6
|
import { authenticate } from '../../store/reducers/authentication/authentication';
|
8
|
-
import { useTypedSelector } from '../../utils/hooks';
|
7
|
+
import { useTypedSelector, useTypedDispatch } from '../../utils/hooks';
|
9
8
|
import { parseQuery } from '../../routes';
|
10
9
|
import ydbLogoIcon from '../../assets/icons/ydb.svg';
|
11
10
|
import showIcon from '../../assets/icons/show.svg';
|
@@ -14,7 +13,7 @@ import closeIcon from '../../assets/icons/close.svg';
|
|
14
13
|
import './Authentication.scss';
|
15
14
|
const b = cn('authentication');
|
16
15
|
function Authentication({ closable = false }) {
|
17
|
-
const dispatch =
|
16
|
+
const dispatch = useTypedDispatch();
|
18
17
|
const history = useHistory();
|
19
18
|
const location = useLocation();
|
20
19
|
const { returnUrl } = parseQuery(location);
|
@@ -42,8 +41,6 @@ function Authentication({ closable = false }) {
|
|
42
41
|
setPasswordError('');
|
43
42
|
};
|
44
43
|
const onLoginClick = () => {
|
45
|
-
// @ts-expect-error
|
46
|
-
// typed dispatch required, remove error expectation after adding it
|
47
44
|
dispatch(authenticate(login, pass)).then(() => {
|
48
45
|
if (returnUrl) {
|
49
46
|
const decodedUrl = decodeURIComponent(returnUrl.toString());
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useEffect, useMemo, useRef } from 'react';
|
3
3
|
import { Redirect, Switch, Route, useLocation, useRouteMatch } from 'react-router';
|
4
|
-
import { useDispatch } from 'react-redux';
|
5
4
|
import { Helmet } from 'react-helmet-async';
|
6
5
|
import cn from 'bem-cn-lite';
|
7
6
|
import qs from 'qs';
|
@@ -11,13 +10,13 @@ import { setHeaderBreadcrumbs } from '../../store/reducers/header/header';
|
|
11
10
|
import { getClusterInfo, updateDefaultClusterTab } from '../../store/reducers/cluster/cluster';
|
12
11
|
import { getClusterNodes } from '../../store/reducers/clusterNodes/clusterNodes';
|
13
12
|
import { parseNodesToVersionsValues, parseVersionsToVersionToColorMap } from '../../utils/versions';
|
14
|
-
import { useAutofetcher, useTypedSelector } from '../../utils/hooks';
|
13
|
+
import { useAutofetcher, useTypedSelector, useTypedDispatch } from '../../utils/hooks';
|
15
14
|
import { InternalLink } from '../../components/InternalLink';
|
16
15
|
import { Tenants } from '../Tenants/Tenants';
|
17
16
|
import { StorageWrapper } from '../Storage/StorageWrapper';
|
18
17
|
import { NodesWrapper } from '../Nodes/NodesWrapper';
|
19
18
|
import { Versions } from '../Versions/Versions';
|
20
|
-
import EntityStatus from '../../components/EntityStatus/EntityStatus';
|
19
|
+
import { EntityStatus } from '../../components/EntityStatus/EntityStatus';
|
21
20
|
import { CLUSTER_DEFAULT_TITLE } from '../../utils/constants';
|
22
21
|
import { ClusterInfo } from './ClusterInfo/ClusterInfo';
|
23
22
|
import { clusterTabs, clusterTabsIds, getClusterPath, isClusterTab } from './utils';
|
@@ -26,7 +25,7 @@ const b = cn('cluster');
|
|
26
25
|
function Cluster({ additionalClusterProps, additionalTenantsProps, additionalNodesProps, additionalVersionsProps, }) {
|
27
26
|
var _a, _b;
|
28
27
|
const container = useRef(null);
|
29
|
-
const dispatch =
|
28
|
+
const dispatch = useTypedDispatch();
|
30
29
|
const activeTabId = useClusterTab();
|
31
30
|
const location = useLocation();
|
32
31
|
const queryParams = qs.parse(location.search, {
|
@@ -74,7 +73,7 @@ function Cluster({ additionalClusterProps, additionalTenantsProps, additionalNod
|
|
74
73
|
.pathname }, { children: _jsx(Versions, { versionToColor: versionToColor }) })), _jsx(Redirect, { to: getLocationObjectFromHref(getClusterPath(activeTabId)) })] }) })] })));
|
75
74
|
}
|
76
75
|
function useClusterTab() {
|
77
|
-
const dispatch =
|
76
|
+
const dispatch = useTypedDispatch();
|
78
77
|
const defaultTab = useTypedSelector((state) => state.cluster.defaultClusterTab);
|
79
78
|
const match = useRouteMatch(routes.cluster);
|
80
79
|
const { activeTab: activeTabFromParams } = (match === null || match === void 0 ? void 0 : match.params) || {};
|
@@ -5,15 +5,15 @@ import InfoViewer from '../../../components/InfoViewer/InfoViewer';
|
|
5
5
|
import { Tags } from '../../../components/Tags';
|
6
6
|
import { Tablet } from '../../../components/Tablet';
|
7
7
|
import { ResponseError } from '../../../components/Errors/ResponseError';
|
8
|
-
import {
|
8
|
+
import { LinkWithIcon } from '../../../components/LinkWithIcon/LinkWithIcon';
|
9
9
|
import { ContentWithPopup } from '../../../components/ContentWithPopup/ContentWithPopup';
|
10
|
+
import { InfoViewerSkeleton } from '../../../components/InfoViewerSkeleton/InfoViewerSkeleton';
|
10
11
|
import { backend, customBackend } from '../../../store';
|
11
12
|
import { formatStorageValues } from '../../../utils/dataFormatters/dataFormatters';
|
12
13
|
import { useTypedSelector } from '../../../utils/hooks';
|
13
14
|
import { formatBytes, getSizeWithSignificantDigits } from '../../../utils/bytesParsers';
|
14
15
|
import { DEVELOPER_UI_TITLE } from '../../../utils/constants';
|
15
16
|
import { VersionsBar } from '../VersionsBar/VersionsBar';
|
16
|
-
import { ClusterInfoSkeleton } from '../ClusterInfoSkeleton/ClusterInfoSkeleton';
|
17
17
|
import i18n from '../i18n';
|
18
18
|
import { compareTablets } from './utils';
|
19
19
|
import './ClusterInfo.scss';
|
@@ -94,7 +94,7 @@ const getInfo = (cluster, versionsValues, groupsStats, additionalInfo, links) =>
|
|
94
94
|
}
|
95
95
|
info.push(...additionalInfo, {
|
96
96
|
label: i18n('links'),
|
97
|
-
value: (_jsx("div", Object.assign({ className: b('links') }, { children: links.map(({ title, url }) => (_jsx(
|
97
|
+
value: (_jsx("div", Object.assign({ className: b('links') }, { children: links.map(({ title, url }) => (_jsx(LinkWithIcon, { title: title, url: url }, title))) }))),
|
98
98
|
}, {
|
99
99
|
label: i18n('versions'),
|
100
100
|
value: _jsx(VersionsBar, { versionsValues: versionsValues }),
|
@@ -114,7 +114,7 @@ export const ClusterInfo = ({ cluster = {}, versionsValues = [], groupsStats = {
|
|
114
114
|
]);
|
115
115
|
const getContent = () => {
|
116
116
|
if (loading) {
|
117
|
-
return _jsx(
|
117
|
+
return _jsx(InfoViewerSkeleton, { className: b('skeleton'), rows: 9 });
|
118
118
|
}
|
119
119
|
if (error) {
|
120
120
|
_jsx(ResponseError, { error: error, className: b('error') });
|
@@ -1,2 +1,2 @@
|
|
1
1
|
import { TTabletStateInfo } from '../../../types/api/tablet';
|
2
|
-
export declare const compareTablets: (tablet1: TTabletStateInfo, tablet2: TTabletStateInfo) =>
|
2
|
+
export declare const compareTablets: (tablet1: TTabletStateInfo, tablet2: TTabletStateInfo) => 0 | 1 | -1;
|
@@ -6,7 +6,7 @@ export declare const clusterTabsIds: {
|
|
6
6
|
readonly storage: "storage";
|
7
7
|
readonly versions: "versions";
|
8
8
|
};
|
9
|
-
export
|
9
|
+
export type ClusterTab = ValueOf<typeof clusterTabsIds>;
|
10
10
|
export declare const clusterTabs: ({
|
11
11
|
id: "overview";
|
12
12
|
title: string;
|
@@ -24,4 +24,4 @@ export declare const clusterTabs: ({
|
|
24
24
|
title: string;
|
25
25
|
})[];
|
26
26
|
export declare function isClusterTab(tab: any): tab is ClusterTab;
|
27
|
-
export declare const getClusterPath: (activeTab?: ClusterTab
|
27
|
+
export declare const getClusterPath: (activeTab?: ClusterTab, query?: {}) => string;
|
@@ -1,14 +1,12 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useCallback, useMemo } from 'react';
|
3
|
-
import { useDispatch } from 'react-redux';
|
4
3
|
import { Helmet } from 'react-helmet-async';
|
5
4
|
import DataTable from '@gravity-ui/react-data-table';
|
6
5
|
import { TableColumnSetup, Select } from '@gravity-ui/uikit';
|
7
6
|
import { Search } from '../../components/Search';
|
8
7
|
import { Loader } from '../../components/Loader';
|
9
8
|
import { DEFAULT_TABLE_SETTINGS } from '../../utils/constants';
|
10
|
-
import { useAutofetcher } from '../../utils/hooks';
|
11
|
-
import { useTypedSelector } from '../../utils/hooks/useTypedSelector';
|
9
|
+
import { useAutofetcher, useTypedSelector, useTypedDispatch } from '../../utils/hooks';
|
12
10
|
import { fetchClustersList, changeClustersFilters } from '../../store/reducers/clusters/clusters';
|
13
11
|
import { selectClustersList, selectLoadingFlag, selectClusterNameFilter, selectStatusFilter, selectServiceFilter, selectVersionFilter, selectVersions, selectFilteredClusters, selectClustersAggregation, } from '../../store/reducers/clusters/selectors';
|
14
12
|
import { COLUMNS_NAMES, COLUMNS_TITLES, CLUSTER_STATUSES, DEFAULT_COLUMNS, SELECTED_COLUMNS_KEY, } from './constants';
|
@@ -19,7 +17,7 @@ import { b } from './shared';
|
|
19
17
|
import i18n from './i18n';
|
20
18
|
import './Clusters.scss';
|
21
19
|
export function Clusters() {
|
22
|
-
const dispatch =
|
20
|
+
const dispatch = useTypedDispatch();
|
23
21
|
const loading = useTypedSelector(selectLoadingFlag);
|
24
22
|
const clusters = useTypedSelector(selectClustersList);
|
25
23
|
const filteredClusters = useTypedSelector(selectFilteredClusters);
|
@@ -15,7 +15,7 @@ export declare const COLUMNS_NAMES: {
|
|
15
15
|
readonly DESCRIPTION: "description";
|
16
16
|
readonly BALANCER: "balancer";
|
17
17
|
};
|
18
|
-
export declare const DEFAULT_COLUMNS: ("nodes" | "storage" | "
|
18
|
+
export declare const DEFAULT_COLUMNS: ("nodes" | "storage" | "tenants" | "versions" | "status" | "service" | "title" | "hosts" | "balancer" | "load" | "owner")[];
|
19
19
|
export declare const COLUMNS_TITLES: {
|
20
20
|
readonly title: "Cluster";
|
21
21
|
readonly versions: "Versions";
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import {
|
2
|
+
import { useTypedDispatch } from '../../utils/hooks';
|
3
3
|
import { fetchClustersList } from '../../store/reducers/clusters/clusters';
|
4
4
|
export function useClustersList() {
|
5
|
-
const dispatch =
|
5
|
+
const dispatch = useTypedDispatch();
|
6
6
|
React.useEffect(() => {
|
7
7
|
dispatch(fetchClustersList());
|
8
8
|
}, [dispatch]);
|