ydb-embedded-ui 5.2.1 → 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/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/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 +3 -8
- 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/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 +6 -6
- 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/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 +21 -15
- 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 +2 -2
- 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/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
@@ -1,4 +1,4 @@
|
|
1
|
-
export declare const createDeveloperUILinkWithNodeId: (nodeId: number | string, host?:
|
1
|
+
export declare const createDeveloperUILinkWithNodeId: (nodeId: number | string, host?: string | undefined) => string;
|
2
2
|
interface PDiskDeveloperUILinkParams {
|
3
3
|
nodeId: number | string;
|
4
4
|
pDiskId: number | string;
|
@@ -12,8 +12,8 @@ declare const TOP_QUERIES_SORT_VALUES: {
|
|
12
12
|
readonly UserSID: "UserSID";
|
13
13
|
readonly Duration: "Duration";
|
14
14
|
};
|
15
|
-
|
16
|
-
|
15
|
+
type TopShardsSortValue = ValueOf<typeof TOP_SHARDS_SORT_VALUES>;
|
16
|
+
type TopQueriesSortValue = ValueOf<typeof TOP_QUERIES_SORT_VALUES>;
|
17
17
|
export declare const isSortableTopShardsProperty: (value: string) => value is TopShardsSortValue;
|
18
18
|
export declare const isSortableTopQueriesProperty: (value: string) => value is TopQueriesSortValue;
|
19
19
|
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { TPDiskState } from '../../../types/api/pdisk';
|
2
|
+
import { calculatePDiskSeverity } from '../calculatePDiskSeverity';
|
3
|
+
import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY } from '../constants';
|
4
|
+
describe('PDisk state', () => {
|
5
|
+
it('Should determine severity based on State if space severity is OK', () => {
|
6
|
+
const normalDiskSeverity = calculatePDiskSeverity({ State: TPDiskState.Normal });
|
7
|
+
const erroredDiskSeverity = calculatePDiskSeverity({ State: TPDiskState.ChunkQuotaError });
|
8
|
+
expect(normalDiskSeverity).not.toEqual(erroredDiskSeverity);
|
9
|
+
});
|
10
|
+
it('Should determine severity based on space utilization if state severity is OK', () => {
|
11
|
+
const severity1 = calculatePDiskSeverity({ State: TPDiskState.Normal }, 0);
|
12
|
+
const severity2 = calculatePDiskSeverity({ State: TPDiskState.Normal }, 86);
|
13
|
+
const severity3 = calculatePDiskSeverity({ State: TPDiskState.Normal }, 96);
|
14
|
+
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green);
|
15
|
+
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow);
|
16
|
+
expect(severity3).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
17
|
+
});
|
18
|
+
it('Should determine severity based on max severity of state and space utilization ', () => {
|
19
|
+
const severity1 = calculatePDiskSeverity({ State: TPDiskState.ChunkQuotaError }, 0);
|
20
|
+
const severity2 = calculatePDiskSeverity({ State: TPDiskState.Normal }, 96);
|
21
|
+
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
22
|
+
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
23
|
+
});
|
24
|
+
it('Should display as unavailabe when no State is provided', () => {
|
25
|
+
const severity1 = calculatePDiskSeverity({});
|
26
|
+
const severity2 = calculatePDiskSeverity({ State: TPDiskState.ChunkQuotaError });
|
27
|
+
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
28
|
+
expect(severity2).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
29
|
+
});
|
30
|
+
it('Should display as unavailabe when no State is provided event if space severity is not OK', () => {
|
31
|
+
const severity1 = calculatePDiskSeverity({}, 86);
|
32
|
+
const severity2 = calculatePDiskSeverity({}, 96);
|
33
|
+
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
34
|
+
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
35
|
+
});
|
36
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,142 @@
|
|
1
|
+
import { EFlag } from '../../../types/api/enums';
|
2
|
+
import { EVDiskState } from '../../../types/api/vdisk';
|
3
|
+
import { calculateVDiskSeverity } from '../calculateVDiskSeverity';
|
4
|
+
import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY } from '../constants';
|
5
|
+
describe('VDisk state', () => {
|
6
|
+
it('Should determine severity based on the highest value among VDiskState, DiskSpace and FrontQueues', () => {
|
7
|
+
const severity1 = calculateVDiskSeverity({
|
8
|
+
VDiskId: { Domain: 1 },
|
9
|
+
VDiskState: EVDiskState.OK,
|
10
|
+
DiskSpace: EFlag.Yellow,
|
11
|
+
FrontQueues: EFlag.Green, // severity 1, green
|
12
|
+
});
|
13
|
+
const severity2 = calculateVDiskSeverity({
|
14
|
+
VDiskId: { Domain: 2 },
|
15
|
+
VDiskState: EVDiskState.PDiskError,
|
16
|
+
DiskSpace: EFlag.Yellow,
|
17
|
+
FrontQueues: EFlag.Green, // severity 1, green
|
18
|
+
});
|
19
|
+
const severity3 = calculateVDiskSeverity({
|
20
|
+
VDiskId: { Domain: 3 },
|
21
|
+
VDiskState: EVDiskState.OK,
|
22
|
+
DiskSpace: EFlag.Yellow,
|
23
|
+
FrontQueues: EFlag.Orange, // severity 4, orange
|
24
|
+
});
|
25
|
+
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow);
|
26
|
+
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
27
|
+
expect(severity3).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Orange);
|
28
|
+
});
|
29
|
+
it('Should not pick the highest severity based on FrontQueues value', () => {
|
30
|
+
const severity1 = calculateVDiskSeverity({
|
31
|
+
VDiskId: { Domain: 1 },
|
32
|
+
VDiskState: EVDiskState.OK,
|
33
|
+
DiskSpace: EFlag.Green,
|
34
|
+
FrontQueues: EFlag.Red, // severity 5, red
|
35
|
+
});
|
36
|
+
const severity2 = calculateVDiskSeverity({
|
37
|
+
VDiskId: { Domain: 2 },
|
38
|
+
VDiskState: EVDiskState.OK,
|
39
|
+
DiskSpace: EFlag.Red,
|
40
|
+
FrontQueues: EFlag.Red, // severity 5, red
|
41
|
+
});
|
42
|
+
expect(severity1).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
43
|
+
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
44
|
+
});
|
45
|
+
// prettier-ignore
|
46
|
+
it('Should display as unavailable when no VDiskState is provided', () => {
|
47
|
+
const severity1 = calculateVDiskSeverity({
|
48
|
+
VDiskId: { Domain: 1 }
|
49
|
+
});
|
50
|
+
const severity2 = calculateVDiskSeverity({
|
51
|
+
VDiskId: { Domain: 2 }, VDiskState: EVDiskState.OK
|
52
|
+
});
|
53
|
+
const severity3 = calculateVDiskSeverity({
|
54
|
+
VDiskId: { Domain: 3 }, DiskSpace: EFlag.Green
|
55
|
+
});
|
56
|
+
const severity4 = calculateVDiskSeverity({
|
57
|
+
VDiskId: { Domain: 4 }, FrontQueues: EFlag.Green
|
58
|
+
});
|
59
|
+
const severity5 = calculateVDiskSeverity({
|
60
|
+
VDiskId: { Domain: 5 }, VDiskState: EVDiskState.OK, DiskSpace: EFlag.Green
|
61
|
+
});
|
62
|
+
const severity6 = calculateVDiskSeverity({
|
63
|
+
VDiskId: { Domain: 6 }, VDiskState: EVDiskState.OK, FrontQueues: EFlag.Green
|
64
|
+
});
|
65
|
+
const severity7 = calculateVDiskSeverity({
|
66
|
+
VDiskId: { Domain: 7 }, DiskSpace: EFlag.Green, FrontQueues: EFlag.Green
|
67
|
+
});
|
68
|
+
const severity8 = calculateVDiskSeverity({
|
69
|
+
VDiskId: { Domain: 8 }, VDiskState: EVDiskState.OK, DiskSpace: EFlag.Green, FrontQueues: EFlag.Green
|
70
|
+
});
|
71
|
+
// unavailable disks display with the grey color
|
72
|
+
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
73
|
+
expect(severity2).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
74
|
+
expect(severity3).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
75
|
+
expect(severity4).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
76
|
+
expect(severity5).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
77
|
+
expect(severity6).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
78
|
+
expect(severity7).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
79
|
+
expect(severity8).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
80
|
+
});
|
81
|
+
it('Should display as unavailable when no VDiskState is provided even if DiskSpace or FrontQueues flags are not green', () => {
|
82
|
+
const severity1 = calculateVDiskSeverity({
|
83
|
+
VDiskId: { Domain: 1 },
|
84
|
+
DiskSpace: EFlag.Red,
|
85
|
+
FrontQueues: EFlag.Yellow,
|
86
|
+
});
|
87
|
+
// unavailable disks display with the grey color
|
88
|
+
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
89
|
+
});
|
90
|
+
it('Should display replicating VDisks in OK state with a distinct color', () => {
|
91
|
+
const severity1 = calculateVDiskSeverity({
|
92
|
+
VDiskId: { Domain: 1 },
|
93
|
+
VDiskState: EVDiskState.OK,
|
94
|
+
Replicated: false,
|
95
|
+
});
|
96
|
+
const severity2 = calculateVDiskSeverity({
|
97
|
+
VDiskId: { Domain: 2 },
|
98
|
+
VDiskState: EVDiskState.OK,
|
99
|
+
Replicated: true,
|
100
|
+
});
|
101
|
+
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue);
|
102
|
+
expect(severity2).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue);
|
103
|
+
});
|
104
|
+
it('Should display replicating VDisks in a not-OK state with a regular color', () => {
|
105
|
+
const severity1 = calculateVDiskSeverity({
|
106
|
+
VDiskId: { Domain: 1 },
|
107
|
+
VDiskState: EVDiskState.Initial,
|
108
|
+
Replicated: false,
|
109
|
+
});
|
110
|
+
const severity2 = calculateVDiskSeverity({
|
111
|
+
VDiskId: { Domain: 2 },
|
112
|
+
VDiskState: EVDiskState.PDiskError,
|
113
|
+
Replicated: false,
|
114
|
+
});
|
115
|
+
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow);
|
116
|
+
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
117
|
+
});
|
118
|
+
it('Should always display donor VDisks with a regular color', () => {
|
119
|
+
const severity1 = calculateVDiskSeverity({
|
120
|
+
VDiskId: { Domain: 1 },
|
121
|
+
VDiskState: EVDiskState.OK,
|
122
|
+
Replicated: false,
|
123
|
+
DonorMode: true,
|
124
|
+
});
|
125
|
+
const severity2 = calculateVDiskSeverity({
|
126
|
+
VDiskId: { Domain: 2 },
|
127
|
+
VDiskState: EVDiskState.Initial,
|
128
|
+
Replicated: false,
|
129
|
+
DonorMode: true,
|
130
|
+
});
|
131
|
+
const severity3 = calculateVDiskSeverity({
|
132
|
+
VDiskId: { Domain: 3 },
|
133
|
+
VDiskState: EVDiskState.PDiskError,
|
134
|
+
Replicated: false,
|
135
|
+
DonorMode: true,
|
136
|
+
});
|
137
|
+
expect(severity1).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue);
|
138
|
+
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green);
|
139
|
+
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow);
|
140
|
+
expect(severity3).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
141
|
+
});
|
142
|
+
});
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { EFlag } from '../../types/api/enums';
|
2
|
+
import { generateEvaluator } from '../generateEvaluator';
|
3
|
+
import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY, NOT_AVAILABLE_SEVERITY, PDISK_STATE_SEVERITY, } from './constants';
|
4
|
+
const getUsageSeverityForPDisk = generateEvaluator(85, 95, [EFlag.Green, EFlag.Yellow, EFlag.Red]);
|
5
|
+
export function calculatePDiskSeverity(pDisk, allocatedPercent = 0) {
|
6
|
+
const stateSeverity = getStateSeverity(pDisk.State);
|
7
|
+
const spaceSeverityFlag = getUsageSeverityForPDisk(allocatedPercent);
|
8
|
+
if (stateSeverity === NOT_AVAILABLE_SEVERITY || !spaceSeverityFlag) {
|
9
|
+
return stateSeverity;
|
10
|
+
}
|
11
|
+
return Math.max(stateSeverity, DISK_COLOR_STATE_TO_NUMERIC_SEVERITY[spaceSeverityFlag]);
|
12
|
+
}
|
13
|
+
function getStateSeverity(pDiskState) {
|
14
|
+
return isSeverityKey(pDiskState) ? PDISK_STATE_SEVERITY[pDiskState] : NOT_AVAILABLE_SEVERITY;
|
15
|
+
}
|
16
|
+
function isSeverityKey(key) {
|
17
|
+
return key !== undefined && key in PDISK_STATE_SEVERITY;
|
18
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY, NOT_AVAILABLE_SEVERITY, VDISK_STATE_SEVERITY, } from './constants';
|
2
|
+
import { isFullVDiskData } from './helpers';
|
3
|
+
export function calculateVDiskSeverity(vDisk) {
|
4
|
+
if (!isFullVDiskData(vDisk)) {
|
5
|
+
return NOT_AVAILABLE_SEVERITY;
|
6
|
+
}
|
7
|
+
const { DiskSpace, VDiskState, FrontQueues, Replicated, DonorMode } = vDisk;
|
8
|
+
// if the disk is not available, this determines its status severity regardless of other features
|
9
|
+
if (!VDiskState) {
|
10
|
+
return NOT_AVAILABLE_SEVERITY;
|
11
|
+
}
|
12
|
+
const DiskSpaceSeverity = getColorSeverity(DiskSpace);
|
13
|
+
const VDiskSpaceSeverity = getStateSeverity(VDiskState);
|
14
|
+
const FrontQueuesSeverity = Math.min(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Orange, getColorSeverity(FrontQueues));
|
15
|
+
let severity = Math.max(DiskSpaceSeverity, VDiskSpaceSeverity, FrontQueuesSeverity);
|
16
|
+
// donors are always in the not replicated state since they are leftovers
|
17
|
+
// painting them blue is useless
|
18
|
+
if (!Replicated && !DonorMode && severity === DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green) {
|
19
|
+
severity = DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue;
|
20
|
+
}
|
21
|
+
return severity;
|
22
|
+
}
|
23
|
+
function getStateSeverity(vDiskState) {
|
24
|
+
var _a;
|
25
|
+
if (!vDiskState) {
|
26
|
+
return NOT_AVAILABLE_SEVERITY;
|
27
|
+
}
|
28
|
+
return (_a = VDISK_STATE_SEVERITY[vDiskState]) !== null && _a !== void 0 ? _a : NOT_AVAILABLE_SEVERITY;
|
29
|
+
}
|
30
|
+
function getColorSeverity(color) {
|
31
|
+
var _a;
|
32
|
+
if (!color) {
|
33
|
+
return NOT_AVAILABLE_SEVERITY;
|
34
|
+
}
|
35
|
+
return (_a = DISK_COLOR_STATE_TO_NUMERIC_SEVERITY[color]) !== null && _a !== void 0 ? _a : NOT_AVAILABLE_SEVERITY;
|
36
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import type { EFlag } from '../../types/api/enums';
|
2
|
+
import { EVDiskState } from '../../types/api/vdisk';
|
3
|
+
export declare const DISK_COLOR_STATE_TO_NUMERIC_SEVERITY: Record<EFlag, number>;
|
4
|
+
type SeverityToColor = Record<number, keyof typeof DISK_COLOR_STATE_TO_NUMERIC_SEVERITY>;
|
5
|
+
export declare const DISK_NUMERIC_SEVERITY_TO_STATE_COLOR: SeverityToColor;
|
6
|
+
export declare const NOT_AVAILABLE_SEVERITY: number;
|
7
|
+
export declare const NOT_AVAILABLE_SEVERITY_COLOR: EFlag;
|
8
|
+
export declare const VDISK_STATE_SEVERITY: Record<EVDiskState, number>;
|
9
|
+
export declare const PDISK_STATE_SEVERITY: {
|
10
|
+
Initial: number;
|
11
|
+
Normal: number;
|
12
|
+
InitialFormatRead: number;
|
13
|
+
InitialSysLogRead: number;
|
14
|
+
InitialCommonLogRead: number;
|
15
|
+
InitialFormatReadError: number;
|
16
|
+
InitialSysLogReadError: number;
|
17
|
+
InitialSysLogParseError: number;
|
18
|
+
InitialCommonLogReadError: number;
|
19
|
+
InitialCommonLogParseError: number;
|
20
|
+
CommonLoggerInitError: number;
|
21
|
+
OpenFileError: number;
|
22
|
+
ChunkQuotaError: number;
|
23
|
+
DeviceIoError: number;
|
24
|
+
};
|
25
|
+
export {};
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { TPDiskState } from '../../types/api/pdisk';
|
2
|
+
import { EVDiskState } from '../../types/api/vdisk';
|
3
|
+
// state to numbers to allow ordinal comparison
|
4
|
+
export const DISK_COLOR_STATE_TO_NUMERIC_SEVERITY = {
|
5
|
+
Grey: 0,
|
6
|
+
Green: 1,
|
7
|
+
Blue: 2,
|
8
|
+
Yellow: 3,
|
9
|
+
Orange: 4,
|
10
|
+
Red: 5,
|
11
|
+
};
|
12
|
+
export const DISK_NUMERIC_SEVERITY_TO_STATE_COLOR = Object.entries(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY).reduce((acc, [color, severity]) => (Object.assign(Object.assign({}, acc), { [severity]: color })), {});
|
13
|
+
export const NOT_AVAILABLE_SEVERITY = DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey;
|
14
|
+
export const NOT_AVAILABLE_SEVERITY_COLOR = DISK_NUMERIC_SEVERITY_TO_STATE_COLOR[NOT_AVAILABLE_SEVERITY];
|
15
|
+
export const VDISK_STATE_SEVERITY = {
|
16
|
+
[EVDiskState.Initial]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
|
17
|
+
[EVDiskState.LocalRecoveryError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
18
|
+
[EVDiskState.SyncGuidRecoveryError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
19
|
+
[EVDiskState.SyncGuidRecovery]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
|
20
|
+
[EVDiskState.PDiskError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
21
|
+
[EVDiskState.OK]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green,
|
22
|
+
};
|
23
|
+
export const PDISK_STATE_SEVERITY = {
|
24
|
+
[TPDiskState.Initial]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey,
|
25
|
+
[TPDiskState.Normal]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green,
|
26
|
+
[TPDiskState.InitialFormatRead]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
|
27
|
+
[TPDiskState.InitialSysLogRead]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
|
28
|
+
[TPDiskState.InitialCommonLogRead]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
|
29
|
+
[TPDiskState.InitialFormatReadError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
30
|
+
[TPDiskState.InitialSysLogReadError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
31
|
+
[TPDiskState.InitialSysLogParseError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
32
|
+
[TPDiskState.InitialCommonLogReadError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
33
|
+
[TPDiskState.InitialCommonLogParseError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
34
|
+
[TPDiskState.CommonLoggerInitError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
35
|
+
[TPDiskState.OpenFileError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
36
|
+
[TPDiskState.ChunkQuotaError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
37
|
+
[TPDiskState.DeviceIoError]: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
38
|
+
};
|
@@ -1,4 +1,3 @@
|
|
1
|
-
// TODO: move to utils or index after converting them to TS
|
2
1
|
/**
|
3
2
|
* Parses a binary string containing a bit field into an object with binary values.
|
4
3
|
* This is an implementation based on string manipulation, since JS can only perform
|
@@ -8,7 +7,7 @@
|
|
8
7
|
* @param bitFieldStruct - bit field description, <field => size in bits>, in order starting from the rightmost bit
|
9
8
|
* @returns object with binary values
|
10
9
|
*/
|
11
|
-
|
10
|
+
function parseBitField(binaryString, bitFieldStruct) {
|
12
11
|
const fields = {};
|
13
12
|
Object.entries(bitFieldStruct).reduce((prefixSize, [field, size]) => {
|
14
13
|
const end = binaryString.length - prefixSize;
|
@@ -17,13 +16,12 @@ export const parseBitField = (binaryString, bitFieldStruct) => {
|
|
17
16
|
return prefixSize + size;
|
18
17
|
}, 0);
|
19
18
|
return fields;
|
19
|
+
}
|
20
|
+
export const PDISK_TYPES = {
|
21
|
+
HDD: 'HDD',
|
22
|
+
SSD: 'SSD',
|
23
|
+
MVME: 'NVME',
|
20
24
|
};
|
21
|
-
export var IPDiskType;
|
22
|
-
(function (IPDiskType) {
|
23
|
-
IPDiskType["HDD"] = "HDD";
|
24
|
-
IPDiskType["SSD"] = "SSD";
|
25
|
-
IPDiskType["MVME"] = "NVME";
|
26
|
-
})(IPDiskType || (IPDiskType = {}));
|
27
25
|
// Bear with me.
|
28
26
|
// Disk type is determined by the field Category.
|
29
27
|
// Category is a bit field defined as follows:
|
@@ -37,12 +35,12 @@ export var IPDiskType;
|
|
37
35
|
// SSD -> IsSolidState# 1, TypeExt# 0
|
38
36
|
// NVME -> IsSolidState# 1, TypeExt# 2
|
39
37
|
// Reference on bit fields: https://en.cppreference.com/w/c/language/bit_field
|
40
|
-
export
|
41
|
-
if (!
|
38
|
+
export function getPDiskType(category) {
|
39
|
+
if (!category) {
|
42
40
|
return undefined;
|
43
41
|
}
|
44
42
|
// Category is uint64, too big for Number or bitwise operators, thus BigInt and a custom parser
|
45
|
-
const categotyBin = BigInt(
|
43
|
+
const categotyBin = BigInt(category).toString(2);
|
46
44
|
const categoryBitField = parseBitField(categotyBin, {
|
47
45
|
isSolidState: 1,
|
48
46
|
kind: 55,
|
@@ -51,13 +49,13 @@ export const getPDiskType = (data) => {
|
|
51
49
|
if (categoryBitField.isSolidState === '1') {
|
52
50
|
switch (parseInt(categoryBitField.typeExt, 2)) {
|
53
51
|
case 0:
|
54
|
-
return
|
52
|
+
return PDISK_TYPES.SSD;
|
55
53
|
case 2:
|
56
|
-
return
|
54
|
+
return PDISK_TYPES.MVME;
|
57
55
|
}
|
58
56
|
}
|
59
57
|
else if (categoryBitField.typeExt === '0') {
|
60
|
-
return
|
58
|
+
return PDISK_TYPES.HDD;
|
61
59
|
}
|
62
60
|
return undefined;
|
63
|
-
}
|
61
|
+
}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import type { TVDiskStateInfo, TVSlotId } from '../../types/api/vdisk';
|
2
|
+
export declare function isFullVDiskData(disk: TVDiskStateInfo | TVSlotId): disk is TVDiskStateInfo;
|
3
|
+
export declare function getSeverityColor(severity: number | undefined): import("../../types/api/enums").EFlag;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { DISK_NUMERIC_SEVERITY_TO_STATE_COLOR, NOT_AVAILABLE_SEVERITY_COLOR } from './constants';
|
2
|
+
export function isFullVDiskData(disk) {
|
3
|
+
return 'VDiskId' in disk;
|
4
|
+
}
|
5
|
+
export function getSeverityColor(severity) {
|
6
|
+
if (severity === undefined) {
|
7
|
+
return NOT_AVAILABLE_SEVERITY_COLOR;
|
8
|
+
}
|
9
|
+
return DISK_NUMERIC_SEVERITY_TO_STATE_COLOR[severity] || NOT_AVAILABLE_SEVERITY_COLOR;
|
10
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import type { TPDiskStateInfo } from '../../types/api/pdisk';
|
2
|
+
import type { TVDiskStateInfo } from '../../types/api/vdisk';
|
3
|
+
import type { PreparedPDisk, PreparedVDisk } from './types';
|
4
|
+
export declare function prepareVDiskData(vdiskState?: TVDiskStateInfo): PreparedVDisk;
|
5
|
+
export declare function preparePDiskData(pdiskState?: TPDiskStateInfo): PreparedPDisk;
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { isNumeric } from '../utils';
|
2
|
+
import { calculatePDiskSeverity } from './calculatePDiskSeverity';
|
3
|
+
import { calculateVDiskSeverity } from './calculateVDiskSeverity';
|
4
|
+
import { getPDiskType } from './getPDiskType';
|
5
|
+
export function prepareVDiskData(vdiskState = {}) {
|
6
|
+
var _a;
|
7
|
+
// Prepare PDisk only if it is present
|
8
|
+
const PDisk = vdiskState.PDisk ? preparePDiskData(vdiskState.PDisk) : undefined;
|
9
|
+
const AllocatedPercent = calculateVDiskAllocatedPercent(vdiskState.AllocatedSize, vdiskState.AvailableSize, PDisk === null || PDisk === void 0 ? void 0 : PDisk.AvailableSize);
|
10
|
+
const Donors = (_a = vdiskState.Donors) === null || _a === void 0 ? void 0 : _a.map((donor) => {
|
11
|
+
return prepareVDiskData(Object.assign(Object.assign({}, donor), { DonorMode: true }));
|
12
|
+
});
|
13
|
+
const Severity = calculateVDiskSeverity(vdiskState);
|
14
|
+
return Object.assign(Object.assign({}, vdiskState), { PDisk,
|
15
|
+
AllocatedPercent,
|
16
|
+
Donors,
|
17
|
+
Severity });
|
18
|
+
}
|
19
|
+
export function preparePDiskData(pdiskState = {}) {
|
20
|
+
const { AvailableSize, TotalSize, Category } = pdiskState;
|
21
|
+
const Type = getPDiskType(Category);
|
22
|
+
const AllocatedPercent = calculatePDiskAllocatedPercent(AvailableSize, TotalSize);
|
23
|
+
const Severity = calculatePDiskSeverity(pdiskState, AllocatedPercent);
|
24
|
+
return Object.assign(Object.assign({}, pdiskState), { Type,
|
25
|
+
AllocatedPercent,
|
26
|
+
Severity });
|
27
|
+
}
|
28
|
+
function calculatePDiskAllocatedPercent(available, total) {
|
29
|
+
if (!isNumeric(available) || !isNumeric(total)) {
|
30
|
+
return undefined;
|
31
|
+
}
|
32
|
+
return Math.round(((Number(total) - Number(available)) * 100) / Number(total));
|
33
|
+
}
|
34
|
+
function calculateVDiskAllocatedPercent(allocated, availableOnVDisk, availableOnPDisk) {
|
35
|
+
const available = availableOnVDisk !== null && availableOnVDisk !== void 0 ? availableOnVDisk : availableOnPDisk;
|
36
|
+
if (!isNumeric(allocated) || !isNumeric(available)) {
|
37
|
+
return undefined;
|
38
|
+
}
|
39
|
+
return Math.round((Number(allocated) * 100) / (Number(allocated) + Number(available)));
|
40
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import type { TPDiskStateInfo } from '../../types/api/pdisk';
|
2
|
+
import type { TVDiskStateInfo } from '../../types/api/vdisk';
|
3
|
+
import type { ValueOf } from '../../types/common';
|
4
|
+
import type { PDISK_TYPES } from './getPDiskType';
|
5
|
+
export interface PreparedPDisk extends TPDiskStateInfo {
|
6
|
+
Type?: PDiskType;
|
7
|
+
AllocatedPercent?: number;
|
8
|
+
Severity?: number;
|
9
|
+
}
|
10
|
+
export interface PreparedVDisk extends TVDiskStateInfo {
|
11
|
+
PDisk?: PreparedPDisk;
|
12
|
+
AllocatedPercent?: number;
|
13
|
+
Severity?: number;
|
14
|
+
}
|
15
|
+
export type PDiskType = ValueOf<typeof PDISK_TYPES>;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { useCallback } from 'react';
|
2
|
-
import { useDispatch } from 'react-redux';
|
3
2
|
import { getSettingValue, setSettingValue } from '../../store/reducers/settings/settings';
|
4
3
|
import { useTypedSelector } from './useTypedSelector';
|
4
|
+
import { useTypedDispatch } from './useTypedDispatch';
|
5
5
|
export const useSetting = (key, defaultValue) => {
|
6
|
-
const dispatch =
|
6
|
+
const dispatch = useTypedDispatch();
|
7
7
|
const settingValue = useTypedSelector((state) => {
|
8
8
|
var _a;
|
9
9
|
// Since we type setter value as T, we assume that received value is also T
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { Column as DataTableColumn } from '@gravity-ui/react-data-table';
|
2
2
|
import type { Column as VirtualTableColumn } from '../../components/VirtualTable';
|
3
|
-
export
|
4
|
-
export
|
5
|
-
export
|
3
|
+
export type Column<T> = VirtualTableColumn<T> & DataTableColumn<T>;
|
4
|
+
export type TableColumnsWidthSetup = Record<string, number>;
|
5
|
+
export type HandleTableColumnsResize = (newSetup: TableColumnsWidthSetup) => void;
|
6
6
|
export declare const updateColumnsWidth: <T>(columns: Column<T>[], columnsWidthSetup: TableColumnsWidthSetup) => Column<T>[];
|
7
7
|
export declare const useTableResize: (localStorageKey: string) => [TableColumnsWidthSetup, HandleTableColumnsResize];
|
@@ -3,6 +3,6 @@ interface SortParams {
|
|
3
3
|
sortValue: string | undefined;
|
4
4
|
sortOrder: OrderType | undefined;
|
5
5
|
}
|
6
|
-
export
|
6
|
+
export type HandleSort = (rawValue: SortOrder | SortOrder[] | undefined) => void;
|
7
7
|
export declare const useTableSort: ({ sortValue, sortOrder }: SortParams, onSort: (params: SortParams) => void) => [SortOrder | undefined, HandleSort];
|
8
8
|
export {};
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
package/dist/utils/monaco.d.ts
CHANGED
package/dist/utils/monaco.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import * as monaco from 'monaco-editor';
|
2
|
+
import { createProvideSuggestionsFunction } from './yqlSuggestions/yqlSuggestions';
|
2
3
|
export const LANGUAGE_S_EXPRESSION_ID = 's-expression';
|
3
4
|
function registerSExpressionLanguage() {
|
4
5
|
monaco.languages.register({ id: LANGUAGE_S_EXPRESSION_ID });
|
@@ -57,6 +58,19 @@ function registerSExpressionLanguage() {
|
|
57
58
|
},
|
58
59
|
});
|
59
60
|
}
|
61
|
+
let completionProvider;
|
62
|
+
function disableCodeSuggestions() {
|
63
|
+
if (completionProvider) {
|
64
|
+
completionProvider.dispose();
|
65
|
+
}
|
66
|
+
}
|
67
|
+
export function registerYQLCompletionItemProvider(database) {
|
68
|
+
disableCodeSuggestions();
|
69
|
+
completionProvider = monaco.languages.registerCompletionItemProvider('sql', {
|
70
|
+
triggerCharacters: [' ', '\n', '', ',', '.', '`', '('],
|
71
|
+
provideCompletionItems: createProvideSuggestionsFunction(database),
|
72
|
+
});
|
73
|
+
}
|
60
74
|
export function registerLanguages() {
|
61
75
|
registerSExpressionLanguage();
|
62
76
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
export
|
1
|
+
export type ParsedMonitoringData = {
|
2
2
|
monitoring_url: string;
|
3
3
|
serverless_dashboard: string;
|
4
4
|
dedicated_dashboard: string;
|
@@ -12,8 +12,8 @@ export interface GetMonitoringLinkProps {
|
|
12
12
|
dbType: string;
|
13
13
|
clusterName?: string;
|
14
14
|
}
|
15
|
-
export
|
15
|
+
export type GetMonitoringLink = typeof getMonitoringLink;
|
16
16
|
export declare function getMonitoringLink({ monitoring, dbName, dbType, clusterName, }: GetMonitoringLinkProps): string;
|
17
|
-
export
|
17
|
+
export type GetMonitoringClusterLink = typeof getMonitoringClusterLink;
|
18
18
|
export declare function getMonitoringClusterLink(monitoring: string): string;
|
19
19
|
export declare function parseMonitoringData(monitoring: string): ParsedMonitoringData | undefined;
|
package/dist/utils/nodes.d.ts
CHANGED
@@ -13,7 +13,7 @@ export declare const NodesUptimeFilterTitles: {
|
|
13
13
|
SmallUptime: string;
|
14
14
|
};
|
15
15
|
export declare const isUnavailableNode: (node: NodesPreparedEntity | TSystemStateInfo) => boolean;
|
16
|
-
export declare const prepareNodesMap: (nodesList?: TNodeInfo[]
|
16
|
+
export declare const prepareNodesMap: (nodesList?: TNodeInfo[]) => NodesMap | undefined;
|
17
17
|
export interface PreparedNodeSystemState extends TSystemStateInfo {
|
18
18
|
Rack?: string;
|
19
19
|
DC?: string;
|
@@ -40,5 +40,5 @@ export declare const NODES_SORT_VALUES: {
|
|
40
40
|
readonly CPU: "CPU";
|
41
41
|
readonly LoadAverage: "LoadAverage";
|
42
42
|
};
|
43
|
-
export
|
43
|
+
export type NodesSortValue = ValueOf<typeof NODES_SORT_VALUES>;
|
44
44
|
export declare const isSortableNodesProperty: (value: string) => value is NodesSortValue;
|