ydb-embedded-ui 9.3.0 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AutoRefreshControl/i18n/index.d.ts +1 -1
- package/dist/components/Drawer/Drawer.d.ts +2 -1
- package/dist/components/Drawer/Drawer.js +10 -6
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/components/Drawer/DrawerContext.d.ts +1 -0
- package/dist/components/Drawer/DrawerContext.js +5 -2
- package/dist/components/Drawer/DrawerContext.js.map +1 -1
- package/dist/{containers/Storage → components}/EmptyFilter/EmptyFilter.js +2 -2
- package/dist/components/EmptyFilter/EmptyFilter.js.map +1 -0
- package/dist/{containers/App → components/EmptyFilter}/i18n/index.js +1 -1
- package/dist/components/EmptyFilter/i18n/index.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.d.ts +1 -0
- package/dist/components/EmptyState/EmptyState.js +1 -0
- package/dist/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/components/EmptyState/EmptyState.scss +9 -0
- package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js +3 -2
- package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js.map +1 -1
- package/dist/components/EnableFullscreenButton/i18n/en.json +3 -0
- package/dist/components/EnableFullscreenButton/i18n/index.d.ts +2 -0
- package/dist/components/EnableFullscreenButton/i18n/index.js +5 -0
- package/dist/components/EnableFullscreenButton/i18n/index.js.map +1 -0
- package/dist/components/FixedHeightQuery/FixedHeightQuery.d.ts +9 -0
- package/dist/components/FixedHeightQuery/FixedHeightQuery.js +23 -0
- package/dist/components/FixedHeightQuery/FixedHeightQuery.js.map +1 -0
- package/dist/components/FixedHeightQuery/FixedHeightQuery.scss +42 -0
- package/dist/components/HealthcheckStatus/HealthcheckStatus.d.ts +8 -0
- package/dist/components/HealthcheckStatus/HealthcheckStatus.js +41 -0
- package/dist/components/HealthcheckStatus/HealthcheckStatus.js.map +1 -0
- package/dist/components/HealthcheckStatus/i18n/en.json +7 -0
- package/dist/components/HealthcheckStatus/i18n/index.d.ts +2 -0
- package/dist/components/HealthcheckStatus/i18n/index.js +5 -0
- package/dist/components/HealthcheckStatus/i18n/index.js.map +1 -0
- package/dist/components/PaginatedTable/PaginatedTable.js +21 -21
- package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
- package/dist/components/PaginatedTable/PaginatedTableContext.d.ts +3 -1
- package/dist/components/PaginatedTable/PaginatedTableContext.js +3 -2
- package/dist/components/PaginatedTable/PaginatedTableContext.js.map +1 -1
- package/dist/components/PaginatedTable/PaginatedTableWithLayout.d.ts +5 -4
- package/dist/components/PaginatedTable/PaginatedTableWithLayout.js +29 -2
- package/dist/components/PaginatedTable/PaginatedTableWithLayout.js.map +1 -1
- package/dist/components/PaginatedTable/TableChunk.d.ts +3 -2
- package/dist/components/PaginatedTable/TableChunk.js +12 -18
- package/dist/components/PaginatedTable/TableChunk.js.map +1 -1
- package/dist/components/PaginatedTable/TableChunksRenderer.d.ts +21 -0
- package/dist/components/PaginatedTable/TableChunksRenderer.js +96 -0
- package/dist/components/PaginatedTable/TableChunksRenderer.js.map +1 -0
- package/dist/components/PaginatedTable/TableRow.d.ts +2 -1
- package/dist/components/PaginatedTable/TableRow.js +4 -4
- package/dist/components/PaginatedTable/TableRow.js.map +1 -1
- package/dist/components/PaginatedTable/requestBatcher.d.ts +28 -0
- package/dist/components/PaginatedTable/requestBatcher.js +128 -0
- package/dist/components/PaginatedTable/requestBatcher.js.map +1 -0
- package/dist/components/PaginatedTable/useScrollBasedChunks.d.ts +8 -2
- package/dist/components/PaginatedTable/useScrollBasedChunks.js +35 -20
- package/dist/components/PaginatedTable/useScrollBasedChunks.js.map +1 -1
- package/dist/components/ProgressViewer/ProgressViewer.d.ts +2 -1
- package/dist/components/ProgressViewer/ProgressViewer.js +3 -2
- package/dist/components/ProgressViewer/ProgressViewer.js.map +1 -1
- package/dist/components/ResizeableDataTable/ResizeableDataTable.d.ts +3 -2
- package/dist/components/ResizeableDataTable/ResizeableDataTable.js +7 -2
- package/dist/components/ResizeableDataTable/ResizeableDataTable.js.map +1 -1
- package/dist/components/SplitPane/SplitPane.scss +0 -1
- package/dist/components/TableWithControlsLayout/TableWithControlsLayout.d.ts +4 -3
- package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js.map +1 -1
- package/dist/containers/App/Content.js +18 -14
- package/dist/containers/App/Content.js.map +1 -1
- package/dist/containers/Clusters/Clusters.js +19 -7
- package/dist/containers/Clusters/Clusters.js.map +1 -1
- package/dist/containers/Clusters/Clusters.scss +7 -53
- package/dist/containers/Clusters/columns.d.ts +18 -1
- package/dist/containers/Clusters/columns.js +43 -9
- package/dist/containers/Clusters/columns.js.map +1 -1
- package/dist/containers/Clusters/i18n/en.json +3 -1
- package/dist/containers/Clusters/i18n/index.d.ts +1 -1
- package/dist/containers/Clusters/i18n/index.js +1 -2
- package/dist/containers/Clusters/i18n/index.js.map +1 -1
- package/dist/containers/Header/Header.d.ts +1 -5
- package/dist/containers/Header/Header.js +14 -10
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Header/Header.scss +1 -1
- package/dist/containers/Header/breadcrumbs.d.ts +3 -1
- package/dist/containers/Header/breadcrumbs.js +18 -6
- package/dist/containers/Header/breadcrumbs.js.map +1 -1
- package/dist/containers/Header/i18n/en.json +3 -1
- package/dist/containers/Header/i18n/index.d.ts +1 -1
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +5 -3
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -1
- package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js +2 -2
- package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js.map +1 -1
- package/dist/containers/Operations/columns.js +2 -2
- package/dist/containers/Operations/columns.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js +4 -2
- package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js +2 -2
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/StorageGroupsEmptyDataMessage.js +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/StorageGroupsEmptyDataMessage.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js +4 -2
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js +2 -2
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/StorageNodesEmptyDataMessage.js +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/StorageNodesEmptyDataMessage.js.map +1 -1
- package/dist/containers/Tablet/components/TabletStorageInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tablets/TabletsTable.js +3 -1
- package/dist/containers/Tablets/TabletsTable.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +30 -29
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.scss +41 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/en.json +8 -6
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.js +1 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.d.ts +3 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.js +9 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.scss +7 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.js +27 -8
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +5 -10
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +1 -5
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +2 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +11 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js +2 -3
- package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useScrollToSelected.d.ts +19 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useScrollToSelected.js +31 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useScrollToSelected.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/utils.js +1 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/utils.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +3 -3
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Healthcheck/Healthcheck.d.ts +9 -0
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js +49 -0
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/Healthcheck.scss +112 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckFilter.d.ts +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckFilter.js +9 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckFilter.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.d.ts +7 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js +25 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.d.ts +9 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js +67 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.d.ts +6 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js +67 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.d.ts +7 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.js +19 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/PoolInfo.d.ts +6 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/PoolInfo.js +12 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/PoolInfo.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.d.ts +9 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js +95 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.d.ts +25 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.js +17 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueTabs.d.ts +8 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueTabs.js +23 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueTabs.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.d.ts +6 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js +41 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckRefresh.d.ts +6 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckRefresh.js +47 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckRefresh.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.d.ts +8 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js +42 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/i18n/en.json +41 -0
- package/dist/containers/Tenant/Healthcheck/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/Healthcheck/i18n/index.js +5 -0
- package/dist/containers/Tenant/Healthcheck/i18n/index.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/shared.d.ts +11 -0
- package/dist/containers/Tenant/Healthcheck/shared.js +36 -0
- package/dist/containers/Tenant/Healthcheck/shared.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/useHealthcheck.d.ts +14 -0
- package/dist/containers/Tenant/Healthcheck/useHealthcheck.js +19 -0
- package/dist/containers/Tenant/Healthcheck/useHealthcheck.js.map +1 -0
- package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js +1 -1
- package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js.map +1 -1
- package/dist/containers/Tenant/Tenant.js +14 -25
- package/dist/containers/Tenant/Tenant.js.map +1 -1
- package/dist/containers/Tenant/TenantDrawerWrappers.d.ts +7 -0
- package/dist/containers/Tenant/TenantDrawerWrappers.js +47 -0
- package/dist/containers/Tenant/TenantDrawerWrappers.js.map +1 -0
- package/dist/containers/Tenant/TenantPages.d.ts +2 -0
- package/dist/containers/Tenant/TenantPages.js.map +1 -1
- package/dist/containers/Tenant/constants.d.ts +4 -0
- package/dist/containers/Tenant/constants.js +18 -0
- package/dist/containers/Tenant/constants.js.map +1 -0
- package/dist/containers/Tenant/i18n/en.json +7 -1
- package/dist/containers/Tenant/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/useTenantQueryParams.d.ts +12 -0
- package/dist/containers/Tenant/useTenantQueryParams.js +39 -0
- package/dist/containers/Tenant/useTenantQueryParams.js.map +1 -0
- package/dist/containers/Tenant/utils/schemaActions.js +2 -2
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/containers/Tenants/Tenants.js +8 -2
- package/dist/containers/Tenants/Tenants.js.map +1 -1
- package/dist/containers/UserSettings/i18n/en.json +1 -1
- package/dist/services/api/streaming.js +1 -0
- package/dist/services/api/streaming.js.map +1 -1
- package/dist/store/reducers/capabilities/hooks.d.ts +3 -0
- package/dist/store/reducers/capabilities/hooks.js +9 -0
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/clusters/selectors.d.ts +1 -2
- package/dist/store/reducers/clusters/selectors.js +0 -28
- package/dist/store/reducers/clusters/selectors.js.map +1 -1
- package/dist/store/reducers/clusters/types.d.ts +0 -10
- package/dist/store/reducers/header/types.d.ts +4 -2
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +631 -331
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.js +8 -35
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.js.map +1 -1
- package/dist/store/reducers/healthcheckInfo/types.d.ts +2 -0
- package/dist/store/reducers/healthcheckInfo/utils.d.ts +3 -0
- package/dist/store/reducers/healthcheckInfo/utils.js +34 -0
- package/dist/store/reducers/healthcheckInfo/utils.js.map +1 -1
- package/dist/store/reducers/tableData.d.ts +1 -0
- package/dist/store/reducers/tableData.js +29 -10
- package/dist/store/reducers/tableData.js.map +1 -1
- package/dist/store/reducers/tenant/constants.d.ts +0 -1
- package/dist/store/reducers/tenant/constants.js +0 -1
- package/dist/store/reducers/tenant/constants.js.map +1 -1
- package/dist/store/reducers/tenants/utils.d.ts +2 -1
- package/dist/store/reducers/tenants/utils.js +15 -2
- package/dist/store/reducers/tenants/utils.js.map +1 -1
- package/dist/styles/index.scss +3 -0
- package/dist/types/api/capabilities.d.ts +1 -1
- package/dist/types/api/healthcheck.d.ts +80 -13
- package/dist/types/api/healthcheck.js +1 -0
- package/dist/types/api/healthcheck.js.map +1 -1
- package/dist/types/api/tenant.d.ts +4 -0
- package/dist/types/api/tenant.js.map +1 -1
- package/dist/uiFactory/types.d.ts +18 -0
- package/dist/uiFactory/uiFactory.js +6 -0
- package/dist/uiFactory/uiFactory.js.map +1 -1
- package/dist/utils/createToast.d.ts +2 -9
- package/dist/utils/createToast.js +5 -6
- package/dist/utils/createToast.js.map +1 -1
- package/package.json +1 -1
- package/dist/containers/App/i18n/en.json +0 -3
- package/dist/containers/App/i18n/index.d.ts +0 -2
- package/dist/containers/App/i18n/index.js.map +0 -1
- package/dist/containers/App/i18n/ru.json +0 -3
- package/dist/containers/Clusters/ClustersStatistics.d.ts +0 -7
- package/dist/containers/Clusters/ClustersStatistics.js +0 -10
- package/dist/containers/Clusters/ClustersStatistics.js.map +0 -1
- package/dist/containers/Clusters/i18n/ru.json +0 -15
- package/dist/containers/Storage/EmptyFilter/EmptyFilter.js.map +0 -1
- package/dist/containers/Storage/EmptyFilter/i18n/index.js +0 -6
- package/dist/containers/Storage/EmptyFilter/i18n/index.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/Healthcheck.scss +0 -106
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.d.ts +0 -6
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.js +0 -34
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.d.ts +0 -7
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.js +0 -37
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.scss +0 -51
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.d.ts +0 -10
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.js +0 -9
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.scss +0 -50
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/index.d.ts +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/index.js +0 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/index.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/ru.json +0 -8
- package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.d.ts +0 -15
- package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.js +0 -20
- package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.js.map +0 -1
- /package/dist/{containers/Storage → components}/EmptyFilter/EmptyFilter.d.ts +0 -0
- /package/dist/{containers/Storage → components}/EmptyFilter/i18n/en.json +0 -0
- /package/dist/{containers/Storage → components}/EmptyFilter/i18n/index.d.ts +0 -0
- /package/dist/{containers/Storage → components}/EmptyFilter/i18n/ru.json +0 -0
@@ -1,29 +1,33 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
2
|
+
import { throttle } from 'lodash';
|
3
|
+
import { rafThrottle } from './utils';
|
4
|
+
const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
5
|
+
// Bad performance in Safari - reduce overscan counts
|
6
|
+
const DEFAULT_RENDER_OVERSCAN = isSafari ? 1 : 2;
|
7
|
+
const DEFAULT_FETCH_OVERSCAN = 4;
|
8
|
+
const THROTTLE_DELAY = 200;
|
9
|
+
export const useScrollBasedChunks = ({ scrollContainerRef, tableRef, totalItems, rowHeight, chunkSize, tableOffset, renderOverscan = DEFAULT_RENDER_OVERSCAN, fetchOverscan = DEFAULT_FETCH_OVERSCAN, }) => {
|
5
10
|
const chunksCount = React.useMemo(() => Math.ceil(totalItems / chunkSize), [chunkSize, totalItems]);
|
6
|
-
const [
|
7
|
-
const [
|
11
|
+
const [visibleStartChunk, setVisibleStartChunk] = React.useState(0);
|
12
|
+
const [visibleEndChunk, setVisibleEndChunk] = React.useState(0);
|
8
13
|
const calculateVisibleRange = React.useCallback(() => {
|
9
14
|
const container = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current;
|
10
15
|
const table = tableRef.current;
|
11
16
|
if (!container || !table) {
|
12
17
|
return null;
|
13
18
|
}
|
14
|
-
const tableOffset = calculateElementOffsetTop(table, container);
|
15
19
|
const containerScroll = container.scrollTop;
|
16
20
|
const visibleStart = Math.max(containerScroll - tableOffset, 0);
|
17
21
|
const visibleEnd = visibleStart + container.clientHeight;
|
18
|
-
const start = Math.max(Math.floor(visibleStart / rowHeight / chunkSize)
|
19
|
-
const end = Math.min(Math.floor(visibleEnd / rowHeight / chunkSize)
|
22
|
+
const start = Math.max(Math.floor(visibleStart / rowHeight / chunkSize), 0);
|
23
|
+
const end = Math.min(Math.floor(visibleEnd / rowHeight / chunkSize), Math.max(chunksCount - 1, 0));
|
20
24
|
return { start, end };
|
21
|
-
}, [scrollContainerRef, tableRef, rowHeight, chunkSize,
|
25
|
+
}, [scrollContainerRef, tableRef, tableOffset, rowHeight, chunkSize, chunksCount]);
|
22
26
|
const updateVisibleChunks = React.useCallback(() => {
|
23
27
|
const newRange = calculateVisibleRange();
|
24
28
|
if (newRange) {
|
25
|
-
|
26
|
-
|
29
|
+
setVisibleStartChunk(newRange.start);
|
30
|
+
setVisibleEndChunk(newRange.end);
|
27
31
|
}
|
28
32
|
}, [calculateVisibleRange]);
|
29
33
|
React.useEffect(() => {
|
@@ -46,19 +50,30 @@ export const useScrollBasedChunks = ({ scrollContainerRef, tableRef, totalItems,
|
|
46
50
|
if (!container) {
|
47
51
|
return undefined;
|
48
52
|
}
|
49
|
-
const throttledHandleScroll =
|
50
|
-
|
53
|
+
const throttledHandleScroll = throttle(handleScroll, THROTTLE_DELAY, {
|
54
|
+
trailing: true,
|
55
|
+
leading: true,
|
56
|
+
});
|
57
|
+
container.addEventListener('scroll', throttledHandleScroll, { passive: true });
|
51
58
|
return () => {
|
52
59
|
container.removeEventListener('scroll', throttledHandleScroll);
|
53
60
|
};
|
54
61
|
}, [handleScroll, scrollContainerRef]);
|
55
62
|
return React.useMemo(() => {
|
56
|
-
//
|
57
|
-
const
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
+
// Calculate render range (visible + render overscan)
|
64
|
+
const renderStartChunk = Math.max(visibleStartChunk - renderOverscan, 0);
|
65
|
+
const renderEndChunk = Math.min(visibleEndChunk + renderOverscan, Math.max(chunksCount - 1, 0));
|
66
|
+
// Calculate fetch range (visible + fetch overscan)
|
67
|
+
const fetchStartChunk = Math.max(visibleStartChunk - fetchOverscan, 0);
|
68
|
+
const fetchEndChunk = Math.min(visibleEndChunk + fetchOverscan, Math.max(chunksCount - 1, 0));
|
69
|
+
// Create chunk states array
|
70
|
+
const chunkStates = Array(chunksCount)
|
71
|
+
.fill(null)
|
72
|
+
.map((_, index) => ({
|
73
|
+
shouldRender: index >= renderStartChunk && index <= renderEndChunk,
|
74
|
+
shouldFetch: index >= fetchStartChunk && index <= fetchEndChunk,
|
75
|
+
}));
|
76
|
+
return chunkStates;
|
77
|
+
}, [chunksCount, visibleStartChunk, visibleEndChunk, renderOverscan, fetchOverscan]);
|
63
78
|
};
|
64
79
|
//# sourceMappingURL=useScrollBasedChunks.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useScrollBasedChunks.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/useScrollBasedChunks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,
|
1
|
+
{"version":3,"file":"useScrollBasedChunks.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/useScrollBasedChunks.ts"],"names":[],"mappings":"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"}
|
@@ -13,6 +13,7 @@ export interface ProgressViewerProps {
|
|
13
13
|
warningThreshold?: number;
|
14
14
|
dangerThreshold?: number;
|
15
15
|
hideCapacity?: boolean;
|
16
|
+
withOverflow?: boolean;
|
16
17
|
}
|
17
|
-
export declare function ProgressViewer({ value, capacity, formatValues, percents, className, size, colorizeProgress, inverseColorize, warningThreshold, dangerThreshold, hideCapacity, }: ProgressViewerProps): import("react/jsx-runtime").JSX.Element;
|
18
|
+
export declare function ProgressViewer({ value, capacity, formatValues, percents, withOverflow, className, size, colorizeProgress, inverseColorize, warningThreshold, dangerThreshold, hideCapacity, }: ProgressViewerProps): import("react/jsx-runtime").JSX.Element;
|
18
19
|
export {};
|
@@ -12,13 +12,14 @@ const formatValue = (value) => {
|
|
12
12
|
const defaultFormatValues = (value, total) => {
|
13
13
|
return [formatValue(value), formatValue(total)];
|
14
14
|
};
|
15
|
-
export function ProgressViewer({ value, capacity, formatValues = defaultFormatValues, percents, className, size = 'xs', colorizeProgress, inverseColorize, warningThreshold, dangerThreshold, hideCapacity, }) {
|
15
|
+
export function ProgressViewer({ value, capacity, formatValues = defaultFormatValues, percents, withOverflow, className, size = 'xs', colorizeProgress, inverseColorize, warningThreshold, dangerThreshold, hideCapacity, }) {
|
16
16
|
const theme = useTheme();
|
17
17
|
let fillWidth = Math.floor((parseFloat(String(value)) / parseFloat(String(capacity))) * 100) || 0;
|
18
|
+
const rawFillWidth = fillWidth;
|
18
19
|
fillWidth = fillWidth > 100 ? 100 : fillWidth;
|
19
20
|
let valueText = value, capacityText = capacity, divider = '/';
|
20
21
|
if (percents) {
|
21
|
-
valueText = fillWidth + '%';
|
22
|
+
valueText = (withOverflow ? rawFillWidth : fillWidth) + '%';
|
22
23
|
capacityText = '';
|
23
24
|
divider = '';
|
24
25
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ProgressViewer.js","sourceRoot":"","sources":["../../../src/components/ProgressViewer/ProgressViewer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAC,uBAAuB,EAAC,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,uBAAuB,CAAC;AAE/B,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;AAShC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE;IACnC,OAAO,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAA+B,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IACrE,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"ProgressViewer.js","sourceRoot":"","sources":["../../../src/components/ProgressViewer/ProgressViewer.tsx"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,9 @@
|
|
1
|
-
import type { DataTableProps } from '@gravity-ui/react-data-table';
|
1
|
+
import type { DataTableProps, SortOrder } from '@gravity-ui/react-data-table';
|
2
2
|
import './ResizeableDataTable.scss';
|
3
3
|
export interface ResizeableDataTableProps<T> extends Omit<DataTableProps<T>, 'theme' | 'onResize'> {
|
4
4
|
columnsWidthLSKey?: string;
|
5
5
|
wrapperClassName?: string;
|
6
6
|
loading?: boolean;
|
7
|
+
onSortChange?: (params: SortOrder | SortOrder[] | undefined) => void;
|
7
8
|
}
|
8
|
-
export declare function ResizeableDataTable<T>({ columnsWidthLSKey, columns, settings, wrapperClassName, loading, ...props }: ResizeableDataTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
9
|
+
export declare function ResizeableDataTable<T>({ columnsWidthLSKey, columns, settings, wrapperClassName, loading, onSort, onSortChange, ...props }: ResizeableDataTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
@@ -1,12 +1,17 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import React from 'react';
|
2
3
|
import DataTable, { updateColumnsWidth } from '@gravity-ui/react-data-table';
|
3
4
|
import { Skeleton } from '@gravity-ui/uikit';
|
4
5
|
import { cn } from '../../utils/cn';
|
5
6
|
import { useTableResize } from '../../utils/hooks/useTableResize';
|
6
7
|
import './ResizeableDataTable.scss';
|
7
8
|
const b = cn('ydb-resizeable-data-table');
|
8
|
-
export function ResizeableDataTable({ columnsWidthLSKey, columns, settings, wrapperClassName, loading, ...props }) {
|
9
|
+
export function ResizeableDataTable({ columnsWidthLSKey, columns, settings, wrapperClassName, loading, onSort, onSortChange, ...props }) {
|
9
10
|
const [tableColumnsWidth, setTableColumnsWidth] = useTableResize(columnsWidthLSKey);
|
11
|
+
const handleSort = React.useCallback((params) => {
|
12
|
+
onSort === null || onSort === void 0 ? void 0 : onSort(params); // Original onSort if provided
|
13
|
+
onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(params); // Expose sort params to parent
|
14
|
+
}, [onSort, onSortChange]);
|
10
15
|
// If loading is true, override the render method of each column to display a Skeleton
|
11
16
|
const processedColumns = loading
|
12
17
|
? columns.map((column) => ({
|
@@ -19,6 +24,6 @@ export function ResizeableDataTable({ columnsWidthLSKey, columns, settings, wrap
|
|
19
24
|
...settings,
|
20
25
|
defaultResizeable: true,
|
21
26
|
};
|
22
|
-
return (_jsx("div", { className: b(null, wrapperClassName), children: _jsx(DataTable, { theme: "yandex-cloud", columns: updatedColumns, onResize: setTableColumnsWidth, settings: newSettings, ...props }) }));
|
27
|
+
return (_jsx("div", { className: b(null, wrapperClassName), children: _jsx(DataTable, { theme: "yandex-cloud", columns: updatedColumns, onResize: setTableColumnsWidth, onSort: handleSort, settings: newSettings, ...props }) }));
|
23
28
|
}
|
24
29
|
//# sourceMappingURL=ResizeableDataTable.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ResizeableDataTable.js","sourceRoot":"","sources":["../../../src/components/ResizeableDataTable/ResizeableDataTable.tsx"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"ResizeableDataTable.js","sourceRoot":"","sources":["../../../src/components/ResizeableDataTable/ResizeableDataTable.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,SAAS,EAAE,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AAEhE,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC;AAS1C,MAAM,UAAU,mBAAmB,CAAI,EACnC,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,MAAM,EACN,YAAY,EACZ,GAAG,KAAK,EACkB;IAC1B,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAEpF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAChC,CAAC,MAA2C,EAAE,EAAE;QAC5C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,MAAM,CAAC,CAAC,CAAC,8BAA8B;QAChD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,MAAM,CAAC,CAAC,CAAC,+BAA+B;IAC3D,CAAC,EACD,CAAC,MAAM,EAAE,YAAY,CAAC,CACzB,CAAC;IAEF,sFAAsF;IACtF,MAAM,gBAAgB,GAAG,OAAO;QAC5B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAiB,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,MAAM;YACT,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,QAAQ,IAAC,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,GAAI;SAC3D,CAAC,CAAC;QACL,CAAC,CAAC,OAAO,CAAC;IAEd,MAAM,cAAc,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAE/E,MAAM,WAAW,GAAa;QAC1B,GAAG,QAAQ;QACX,iBAAiB,EAAE,IAAI;KAC1B,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,YACrC,KAAC,SAAS,IACN,KAAK,EAAC,cAAc,EACpB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,WAAW,KACjB,KAAK,GACX,GACA,CACT,CAAC;AACN,CAAC"}
|
@@ -1,19 +1,20 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import './TableWithControlsLayout.scss';
|
3
3
|
interface TableWithControlsLayoutItemProps {
|
4
|
-
children
|
4
|
+
children: React.ReactNode;
|
5
5
|
renderExtraControls?: () => React.ReactNode;
|
6
6
|
className?: string;
|
7
7
|
fullHeight?: boolean;
|
8
8
|
}
|
9
|
-
export interface
|
9
|
+
export interface TableWrapperProps extends Omit<TableWithControlsLayoutItemProps, 'children'> {
|
10
10
|
loading?: boolean;
|
11
11
|
scrollContainerRef?: React.RefObject<HTMLElement>;
|
12
12
|
scrollDependencies?: any[];
|
13
|
+
children: React.ReactNode;
|
13
14
|
}
|
14
15
|
export declare const TableWithControlsLayout: {
|
15
16
|
({ children, className, fullHeight, }: TableWithControlsLayoutItemProps): import("react/jsx-runtime").JSX.Element;
|
16
17
|
Controls({ children, renderExtraControls, className, }: TableWithControlsLayoutItemProps): import("react/jsx-runtime").JSX.Element;
|
17
|
-
Table({ children, loading, className, scrollContainerRef, scrollDependencies, }:
|
18
|
+
Table({ children, loading, className, scrollContainerRef, scrollDependencies, }: TableWrapperProps): import("react/jsx-runtime").JSX.Element;
|
18
19
|
};
|
19
20
|
export {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TableWithControlsLayout.js","sourceRoot":"","sources":["../../../src/components/TableWithControlsLayout/TableWithControlsLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,OAAO,gCAAgC,CAAC;AAExC,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"TableWithControlsLayout.js","sourceRoot":"","sources":["../../../src/components/TableWithControlsLayout/TableWithControlsLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,OAAO,gCAAgC,CAAC;AAExC,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAC;AAgB/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACpC,QAAQ,EACR,SAAS,EACT,UAAU,GACqB,EAAE,EAAE;IACnC,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,aAAa,EAAE,UAAU,EAAC,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AACvF,CAAC,CAAC;AAEF,uBAAuB,CAAC,QAAQ,GAAG,SAAS,aAAa,CAAC,EACtD,QAAQ,EACR,mBAAmB,EACnB,SAAS,GACsB;IAC/B,OAAO,CACH,MAAC,IAAI,IACD,cAAc,EAAC,eAAe,EAC9B,UAAU,EAAC,QAAQ,EACnB,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAChC,GAAG,EAAE,CAAC,aAEN,cAAK,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,EACzD,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,EAAI,IACrB,CACV,CAAC;AACN,CAAC,CAAC;AAEF,uBAAuB,CAAC,KAAK,GAAG,SAAS,KAAK,CAAC,EAC3C,QAAQ,EACR,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,kBAAkB,GAAG,EAAE,GACP;IAChB,iDAAiD;IACjD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7D,qCAAqC;IACrC,cAAc,CAAC;QACX,iBAAiB;QACjB,kBAAkB;QAClB,YAAY,EAAE,kBAAkB;KACnC,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,KAAC,aAAa,IAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAI,CAAC;IACrD,CAAC;IAED,OAAO,CACH,cAAK,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,YACxD,QAAQ,GACP,CACT,CAAC;AACN,CAAC,CAAC"}
|
@@ -17,7 +17,6 @@ import Authentication from '../Authentication/Authentication';
|
|
17
17
|
import { getClusterPath } from '../Cluster/utils';
|
18
18
|
import Header from '../Header/Header';
|
19
19
|
import { ClusterSlot, ClustersSlot, NodeSlot, PDiskPageSlot, RedirectSlot, RoutesSlot, StorageGroupSlot, TabletSlot, TenantSlot, VDiskPageSlot, } from './appSlots';
|
20
|
-
import i18n from './i18n';
|
21
20
|
import './App.scss';
|
22
21
|
const b = cn('app');
|
23
22
|
const routesSlots = [
|
@@ -91,20 +90,17 @@ export function Content(props) {
|
|
91
90
|
const additionalRoutes = slots.get(RoutesSlot);
|
92
91
|
const redirect = slots.get(RedirectSlot);
|
93
92
|
const redirectProps = (_a = redirect === null || redirect === void 0 ? void 0 : redirect.props) !== null && _a !== void 0 ? _a : (singleClusterMode ? { to: getClusterPath() } : { to: routes.clusters });
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
component: Clusters,
|
104
|
-
slot: ClustersSlot,
|
105
|
-
}), additionalRoutes === null || additionalRoutes === void 0 ? void 0 : additionalRoutes.rendered, _jsxs(Route, { children: [_jsx(Header, { mainPage: mainPage }), _jsxs(Switch, { children: [routesSlots.map((route) => {
|
93
|
+
return (_jsxs(Switch, { children: [additionalRoutes === null || additionalRoutes === void 0 ? void 0 : additionalRoutes.rendered, _jsxs(Route, { children: [_jsx(Header, {}), _jsxs(Switch, { children: [singleClusterMode
|
94
|
+
? null
|
95
|
+
: renderRouteSlot(slots, {
|
96
|
+
path: routes.clusters,
|
97
|
+
exact: true,
|
98
|
+
component: Clusters,
|
99
|
+
slot: ClustersSlot,
|
100
|
+
wrapper: GetMetaCapabilities,
|
101
|
+
}), routesSlots.map((route) => {
|
106
102
|
return renderRouteSlot(slots, route);
|
107
|
-
}), _jsx(Route, { path: redirectProps.from || redirectProps.path, exact: redirectProps.exact, strict: redirectProps.strict, render: () => _jsx(Redirect, { to: redirectProps.to, push: redirectProps.push }) })] })] }
|
103
|
+
}), _jsx(Route, { path: redirectProps.from || redirectProps.path, exact: redirectProps.exact, strict: redirectProps.strict, render: () => _jsx(Redirect, { to: redirectProps.to, push: redirectProps.push }) })] })] })] }));
|
108
104
|
}
|
109
105
|
function DataWrapper({ children }) {
|
110
106
|
return (
|
@@ -128,6 +124,14 @@ function GetCapabilities({ children }) {
|
|
128
124
|
const metaCapabilitiesLoaded = useMetaCapabilitiesLoaded();
|
129
125
|
return (_jsx(LoaderWrapper, { loading: !capabilitiesLoaded || !metaCapabilitiesLoaded, size: "l", children: children }));
|
130
126
|
}
|
127
|
+
// Only for Clusters page, there is no need to request cluster capabilities there (GetCapabilities)
|
128
|
+
// This wrapper is not used in GetCapabilities so the page does not wait for 2 consecutive capabilities requests
|
129
|
+
function GetMetaCapabilities({ children }) {
|
130
|
+
useMetaCapabilitiesQuery();
|
131
|
+
// It is always true if there is no meta, since request finishes with an error
|
132
|
+
const metaCapabilitiesLoaded = useMetaCapabilitiesLoaded();
|
133
|
+
return (_jsx(LoaderWrapper, { loading: !metaCapabilitiesLoaded, size: "l", children: children }));
|
134
|
+
}
|
131
135
|
function ContentWrapper(props) {
|
132
136
|
const { singleClusterMode, isAuthenticated } = props;
|
133
137
|
const authUnavailable = useClusterWithoutAuthInUI();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/containers/App/Content.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,6CAA6C,CAAC;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,8CAA8C,CAAC;AAC3E,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAGhD,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,OAAO,EAAC,iBAAiB,EAAC,MAAM,oDAAoD,CAAC;AACrF,OAAO,EACH,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,GAC3B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,MAAM,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/containers/App/Content.tsx"],"names":[],"mappings":"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"}
|
@@ -1,21 +1,23 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
3
|
import DataTable from '@gravity-ui/react-data-table';
|
4
|
-
import { Select, TableColumnSetup } from '@gravity-ui/uikit';
|
4
|
+
import { Flex, Select, TableColumnSetup, Text } from '@gravity-ui/uikit';
|
5
5
|
import { Helmet } from 'react-helmet-async';
|
6
6
|
import { AutoRefreshControl } from '../../components/AutoRefreshControl/AutoRefreshControl';
|
7
7
|
import { ResponseError } from '../../components/Errors/ResponseError';
|
8
8
|
import { Loader } from '../../components/Loader';
|
9
9
|
import { ResizeableDataTable } from '../../components/ResizeableDataTable/ResizeableDataTable';
|
10
10
|
import { Search } from '../../components/Search';
|
11
|
+
import { useDeleteClusterFeatureAvailable, useEditClusterFeatureAvailable, } from '../../store/reducers/capabilities/hooks';
|
11
12
|
import { changeClustersFilters, clustersApi } from '../../store/reducers/clusters/clusters';
|
12
|
-
import {
|
13
|
+
import { filterClusters, selectClusterNameFilter, selectServiceFilter, selectStatusFilter, selectVersionFilter, } from '../../store/reducers/clusters/selectors';
|
14
|
+
import { setHeaderBreadcrumbs } from '../../store/reducers/header/header';
|
15
|
+
import { uiFactory } from '../../uiFactory/uiFactory';
|
13
16
|
import { DEFAULT_TABLE_SETTINGS } from '../../utils/constants';
|
14
17
|
import { useAutoRefreshInterval, useTypedDispatch, useTypedSelector } from '../../utils/hooks';
|
15
18
|
import { useSelectedColumns } from '../../utils/hooks/useSelectedColumns';
|
16
19
|
import { getMinorVersion } from '../../utils/versions';
|
17
|
-
import {
|
18
|
-
import { CLUSTERS_COLUMNS, CLUSTERS_COLUMNS_WIDTH_LS_KEY } from './columns';
|
20
|
+
import { CLUSTERS_COLUMNS_WIDTH_LS_KEY, getClustersColumns } from './columns';
|
19
21
|
import { CLUSTERS_SELECTED_COLUMNS_KEY, COLUMNS_NAMES, COLUMNS_TITLES, DEFAULT_COLUMNS, } from './constants';
|
20
22
|
import i18n from './i18n';
|
21
23
|
import { b } from './shared';
|
@@ -26,6 +28,11 @@ export function Clusters() {
|
|
26
28
|
pollingInterval: autoRefreshInterval,
|
27
29
|
});
|
28
30
|
const dispatch = useTypedDispatch();
|
31
|
+
React.useEffect(() => {
|
32
|
+
dispatch(setHeaderBreadcrumbs('clusters', {}));
|
33
|
+
}, [dispatch]);
|
34
|
+
const isEditClusterAvailable = useEditClusterFeatureAvailable() && uiFactory.onEditCluster !== undefined;
|
35
|
+
const isDeleteClusterAvailable = useDeleteClusterFeatureAvailable() && uiFactory.onDeleteCluster !== undefined;
|
29
36
|
const clusterName = useTypedSelector(selectClusterNameFilter);
|
30
37
|
const status = useTypedSelector(selectStatusFilter);
|
31
38
|
const service = useTypedSelector(selectServiceFilter);
|
@@ -42,7 +49,10 @@ export function Clusters() {
|
|
42
49
|
const changeVersion = (value) => {
|
43
50
|
dispatch(changeClustersFilters({ version: value }));
|
44
51
|
};
|
45
|
-
const
|
52
|
+
const rawColumns = React.useMemo(() => {
|
53
|
+
return getClustersColumns({ isEditClusterAvailable, isDeleteClusterAvailable });
|
54
|
+
}, [isDeleteClusterAvailable, isEditClusterAvailable]);
|
55
|
+
const { columnsToShow, columnsToSelect, setColumns } = useSelectedColumns(rawColumns, CLUSTERS_SELECTED_COLUMNS_KEY, COLUMNS_TITLES, DEFAULT_COLUMNS, [COLUMNS_NAMES.TITLE]);
|
46
56
|
const clusters = query.data;
|
47
57
|
const { servicesToSelect, versions } = React.useMemo(() => {
|
48
58
|
const clustersServices = new Set();
|
@@ -68,13 +78,15 @@ export function Clusters() {
|
|
68
78
|
const filteredClusters = React.useMemo(() => {
|
69
79
|
return filterClusters(clusters !== null && clusters !== void 0 ? clusters : [], { clusterName, status, service, version });
|
70
80
|
}, [clusterName, clusters, service, status, version]);
|
71
|
-
const aggregation = React.useMemo(() => aggregateClustersInfo(filteredClusters), [filteredClusters]);
|
72
81
|
const statuses = React.useMemo(() => {
|
73
82
|
return Array.from(new Set((clusters !== null && clusters !== void 0 ? clusters : []).map((cluster) => cluster.status).filter(Boolean)))
|
74
83
|
.sort()
|
75
84
|
.map((el) => ({ value: el, content: el }));
|
76
85
|
}, [clusters]);
|
77
|
-
|
86
|
+
const renderPageTitle = () => {
|
87
|
+
return (_jsxs(Flex, { justifyContent: "space-between", children: [_jsxs(Flex, { gap: 2, children: [_jsx(Text, { variant: "header-1", children: i18n('page_title') }), _jsx(Text, { variant: "header-1", color: "secondary", children: clusters === null || clusters === void 0 ? void 0 : clusters.length })] }), _jsx(AutoRefreshControl, { className: b('autorefresh') })] }));
|
88
|
+
};
|
89
|
+
return (_jsxs("div", { className: b(), children: [_jsx(Helmet, { children: _jsx("title", { children: i18n('page_title') }) }), renderPageTitle(), _jsxs(Flex, { children: [_jsx("div", { className: b('control', { wide: true }), children: _jsx(Search, { placeholder: i18n('controls_search-placeholder'), onChange: changeClusterName, value: clusterName }) }), _jsx("div", { className: b('control'), children: _jsx(Select, { multiple: true, filterable: true, hasClear: true, placeholder: i18n('controls_select-placeholder'), label: i18n('controls_status-select-label'), value: status, options: statuses, onUpdate: changeStatus, width: "max" }) }), _jsx("div", { className: b('control'), children: _jsx(Select, { multiple: true, filterable: true, hasClear: true, placeholder: i18n('controls_select-placeholder'), label: i18n('controls_service-select-label'), value: service, options: servicesToSelect, onUpdate: changeService, width: "max" }) }), _jsx("div", { className: b('control'), children: _jsx(Select, { multiple: true, filterable: true, hasClear: true, placeholder: i18n('controls_select-placeholder'), label: i18n('controls_version-select-label'), value: version, options: versions, onUpdate: changeVersion, width: "max" }) }), _jsx("div", { className: b('control'), children: _jsx(TableColumnSetup, { popupWidth: 242, items: columnsToSelect, showStatus: true, onUpdate: setColumns, sortable: false }, "TableColumnSetup") })] }), query.isError ? _jsx(ResponseError, { error: query.error, className: b('error') }) : null, query.isLoading ? _jsx(Loader, { size: "l" }) : null, query.fulfilledTimeStamp ? (_jsx("div", { className: b('table-wrapper'), children: _jsx("div", { className: b('table-content'), children: _jsx(ResizeableDataTable, { columnsWidthLSKey: CLUSTERS_COLUMNS_WIDTH_LS_KEY, wrapperClassName: b('table'), data: filteredClusters, columns: columnsToShow, settings: { ...DEFAULT_TABLE_SETTINGS, dynamicRender: false }, initialSortOrder: {
|
78
90
|
columnId: COLUMNS_NAMES.TITLE,
|
79
91
|
order: DataTable.ASCENDING,
|
80
92
|
} }) }) })) : null] }));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Clusters.js","sourceRoot":"","sources":["../../../src/containers/Clusters/Clusters.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAC,MAAM,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"Clusters.js","sourceRoot":"","sources":["../../../src/containers/Clusters/Clusters.tsx"],"names":[],"mappings":"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"}
|
@@ -2,18 +2,16 @@
|
|
2
2
|
|
3
3
|
.clusters {
|
4
4
|
overflow: auto;
|
5
|
+
gap: var(--g-spacing-4);
|
5
6
|
|
6
|
-
padding
|
7
|
+
padding: var(--g-spacing-4) var(--g-spacing-5) 0;
|
7
8
|
|
8
9
|
@include mixins.body-2-typography();
|
9
10
|
@include mixins.flex-container();
|
11
|
+
|
10
12
|
&__autorefresh {
|
11
13
|
margin-left: auto;
|
12
14
|
}
|
13
|
-
&__cluster {
|
14
|
-
display: flex;
|
15
|
-
align-items: center;
|
16
|
-
}
|
17
15
|
&__cluster-status {
|
18
16
|
width: 18px;
|
19
17
|
height: 18px;
|
@@ -63,11 +61,6 @@
|
|
63
61
|
white-space: normal;
|
64
62
|
}
|
65
63
|
|
66
|
-
&__controls {
|
67
|
-
display: flex;
|
68
|
-
|
69
|
-
margin-bottom: 20px;
|
70
|
-
}
|
71
64
|
&__control {
|
72
65
|
width: 200px;
|
73
66
|
margin-right: 15px;
|
@@ -87,48 +80,6 @@
|
|
87
80
|
transition: none;
|
88
81
|
}
|
89
82
|
|
90
|
-
&__aggregation,
|
91
|
-
&__controls {
|
92
|
-
margin-right: 15px;
|
93
|
-
margin-left: 15px;
|
94
|
-
}
|
95
|
-
|
96
|
-
&__aggregation {
|
97
|
-
display: flex;
|
98
|
-
align-items: center;
|
99
|
-
|
100
|
-
width: max-content;
|
101
|
-
height: 46px;
|
102
|
-
margin-bottom: 20px;
|
103
|
-
padding: 10px 20px;
|
104
|
-
|
105
|
-
border: 1px solid var(--g-color-line-generic);
|
106
|
-
border-radius: 10px;
|
107
|
-
background: var(--g-color-base-generic-ultralight);
|
108
|
-
}
|
109
|
-
|
110
|
-
&__aggregation-value-container {
|
111
|
-
display: flex;
|
112
|
-
align-items: center;
|
113
|
-
|
114
|
-
max-width: 230px;
|
115
|
-
|
116
|
-
font-size: var(--g-text-subheader-3-font-size);
|
117
|
-
line-height: var(--g-text-subheader-3-line-height);
|
118
|
-
}
|
119
|
-
|
120
|
-
&__aggregation-value-container:not(:last-child) {
|
121
|
-
margin-right: 30px;
|
122
|
-
}
|
123
|
-
|
124
|
-
&__aggregation-label {
|
125
|
-
margin-right: 8px;
|
126
|
-
|
127
|
-
font-weight: 200;
|
128
|
-
|
129
|
-
color: var(--g-color-text-complementary);
|
130
|
-
}
|
131
|
-
|
132
83
|
&__text {
|
133
84
|
color: var(--g-color-text-primary);
|
134
85
|
@include mixins.body-2-typography();
|
@@ -147,7 +98,6 @@
|
|
147
98
|
&__table-wrapper {
|
148
99
|
overflow: auto;
|
149
100
|
|
150
|
-
padding-left: 5px;
|
151
101
|
@include mixins.flex-container();
|
152
102
|
}
|
153
103
|
|
@@ -186,4 +136,8 @@
|
|
186
136
|
margin-left: 15px;
|
187
137
|
@include mixins.body-2-typography();
|
188
138
|
}
|
139
|
+
|
140
|
+
&__remove-cluster {
|
141
|
+
color: var(--ydb-color-status-red);
|
142
|
+
}
|
189
143
|
}
|
@@ -1,4 +1,21 @@
|
|
1
1
|
import type { Column } from '@gravity-ui/react-data-table';
|
2
2
|
import type { PreparedCluster } from '../../store/reducers/clusters/types';
|
3
3
|
export declare const CLUSTERS_COLUMNS_WIDTH_LS_KEY = "clustersTableColumnsWidth";
|
4
|
-
|
4
|
+
interface ClustersColumnsParams {
|
5
|
+
isEditClusterAvailable?: boolean;
|
6
|
+
isDeleteClusterAvailable?: boolean;
|
7
|
+
}
|
8
|
+
export declare function getClustersColumns(params: ClustersColumnsParams): (Column<PreparedCluster> | {
|
9
|
+
name: "title";
|
10
|
+
header: "Cluster";
|
11
|
+
width: number;
|
12
|
+
defaultOrder: 1;
|
13
|
+
render: ({ row }: {
|
14
|
+
value?: unknown;
|
15
|
+
row: PreparedCluster;
|
16
|
+
index: number;
|
17
|
+
footer?: boolean;
|
18
|
+
headerData?: boolean;
|
19
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
20
|
+
})[];
|
21
|
+
export {};
|