ydb-embedded-ui 9.3.1 → 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 +4 -4
- package/dist/components/Drawer/Drawer.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/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/SplitPane/SplitPane.scss +0 -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/Operations/columns.js +2 -2
- package/dist/containers/Operations/columns.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/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/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 +1 -1
- 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/UserSettings/i18n/en.json +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/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,12 +1,15 @@
|
|
1
1
|
import { createSelector } from '@reduxjs/toolkit';
|
2
2
|
import { api } from '../api';
|
3
|
+
import { getLeavesFromTree } from './utils';
|
3
4
|
export const healthcheckApi = api.injectEndpoints({
|
4
5
|
endpoints: (builder) => ({
|
5
6
|
getHealthcheckInfo: builder.query({
|
6
7
|
queryFn: async ({ database, maxLevel }, { signal }) => {
|
7
8
|
try {
|
8
9
|
const data = await window.api.viewer.getHealthcheckInfo({ database, maxLevel }, { signal });
|
9
|
-
return {
|
10
|
+
return {
|
11
|
+
data,
|
12
|
+
};
|
10
13
|
}
|
11
14
|
catch (error) {
|
12
15
|
return { error };
|
@@ -31,47 +34,17 @@ const sortIssues = (data) => {
|
|
31
34
|
return aPriority - bPriority;
|
32
35
|
});
|
33
36
|
};
|
34
|
-
const getReasonsForIssue = ({ issue, data }) => {
|
35
|
-
return sortIssues(data.filter((item) => issue.reason && issue.reason.indexOf(item.id) !== -1));
|
36
|
-
};
|
37
37
|
const getRoots = (data) => {
|
38
38
|
return sortIssues(data.filter((item) => {
|
39
39
|
return !data.find((issue) => issue.reason && issue.reason.indexOf(item.id) !== -1);
|
40
40
|
}));
|
41
41
|
};
|
42
|
-
const getInvertedConsequencesTree = ({ data, roots, }) => {
|
43
|
-
return roots
|
44
|
-
? roots.map((issue) => {
|
45
|
-
const reasonsItems = getInvertedConsequencesTree({
|
46
|
-
roots: getReasonsForIssue({ issue, data }),
|
47
|
-
data,
|
48
|
-
});
|
49
|
-
return {
|
50
|
-
...issue,
|
51
|
-
reasonsItems,
|
52
|
-
};
|
53
|
-
})
|
54
|
-
: [];
|
55
|
-
};
|
56
|
-
const getIssuesStatistics = (data) => {
|
57
|
-
const issuesMap = {};
|
58
|
-
for (const issue of data) {
|
59
|
-
if (!issuesMap[issue.status]) {
|
60
|
-
issuesMap[issue.status] = 0;
|
61
|
-
}
|
62
|
-
issuesMap[issue.status]++;
|
63
|
-
}
|
64
|
-
return Object.entries(issuesMap).sort(([aStatus], [bStatus]) => {
|
65
|
-
const bPriority = mapStatusToPriority[bStatus] || 0;
|
66
|
-
const aPriority = mapStatusToPriority[aStatus] || 0;
|
67
|
-
return aPriority - bPriority;
|
68
|
-
});
|
69
|
-
};
|
70
42
|
const createGetHealthcheckInfoSelector = createSelector((database) => database, (database) => healthcheckApi.endpoints.getHealthcheckInfo.select({ database }));
|
43
|
+
export const selectCheckStatus = createSelector((state) => state, (_state, database) => createGetHealthcheckInfoSelector(database), (state, selectGetPost) => { var _a; return (_a = selectGetPost(state).data) === null || _a === void 0 ? void 0 : _a.self_check_result; });
|
71
44
|
const getIssuesLog = createSelector((state) => state, (_state, database) => createGetHealthcheckInfoSelector(database), (state, selectGetPost) => { var _a; return ((_a = selectGetPost(state).data) === null || _a === void 0 ? void 0 : _a.issue_log) || []; });
|
72
45
|
const selectIssuesTreesRoots = createSelector(getIssuesLog, (issues = []) => getRoots(issues));
|
73
|
-
export const
|
74
|
-
return
|
46
|
+
export const selectLeavesIssues = createSelector([getIssuesLog, selectIssuesTreesRoots], (data = [], roots = []) => {
|
47
|
+
return roots.map((root) => getLeavesFromTree(data, root)).flat();
|
75
48
|
});
|
76
|
-
export const
|
49
|
+
export const selectAllHealthcheckInfo = createSelector((state) => state, (_state, database) => createGetHealthcheckInfoSelector(database), (state, selectGetPost) => selectGetPost(state).data);
|
77
50
|
//# sourceMappingURL=healthcheckInfo.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"healthcheckInfo.js","sourceRoot":"","sources":["../../../../src/store/reducers/healthcheckInfo/healthcheckInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAIhD,OAAO,EAAC,GAAG,EAAC,MAAM,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"healthcheckInfo.js","sourceRoot":"","sources":["../../../../src/store/reducers/healthcheckInfo/healthcheckInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAIhD,OAAO,EAAC,GAAG,EAAC,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC,eAAe,CAAC;IAC9C,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrB,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC;YAC9B,OAAO,EAAE,KAAK,EACV,EAAC,QAAQ,EAAE,QAAQ,EAAwC,EAC3D,EAAC,MAAM,EAAC,EACV,EAAE;gBACA,IAAI,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CACnD,EAAC,QAAQ,EAAE,QAAQ,EAAC,EACpB,EAAC,MAAM,EAAC,CACX,CAAC;oBACF,OAAO;wBACH,IAAI;qBACP,CAAC;gBACN,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,EAAC,KAAK,EAAC,CAAC;gBACnB,CAAC;YACL,CAAC;YACD,YAAY,EAAE,CAAC,KAAK,CAAC;SACxB,CAAC;KACL,CAAC;IACF,gBAAgB,EAAE,OAAO;CAC5B,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAwC;IAC7D,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACX,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAc,EAAE;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAErD,OAAO,SAAS,GAAG,SAAS,CAAC;IACjC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAAgB,EAAc,EAAE;IAC9C,OAAO,UAAU,CACb,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC,CAAC,CACL,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,cAAc,CACnD,CAAC,QAAgB,EAAE,EAAE,CAAC,QAAQ,EAC9B,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,CAAC,CAC/E,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAC3C,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,EAC3B,CAAC,MAAiB,EAAE,QAAgB,EAAE,EAAE,CAAC,gCAAgC,CAAC,QAAQ,CAAC,EACnF,CAAC,KAAgB,EAAE,aAAa,EAAE,EAAE,WAAC,OAAA,MAAA,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,0CAAE,iBAAiB,CAAA,EAAA,CACpF,CAAC;AAEF,MAAM,YAAY,GAAG,cAAc,CAC/B,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,EAC3B,CAAC,MAAiB,EAAE,QAAgB,EAAE,EAAE,CAAC,gCAAgC,CAAC,QAAQ,CAAC,EACnF,CAAC,KAAgB,EAAE,aAAa,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,0CAAE,SAAS,KAAI,EAAE,CAAA,EAAA,CAClF,CAAC;AAEF,MAAM,sBAAsB,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAC5C,CAAC,YAAY,EAAE,sBAAsB,CAAC,EACtC,CAAC,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE;IACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACrE,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CAClD,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,EAC3B,CAAC,MAAiB,EAAE,QAAgB,EAAE,EAAE,CAAC,gCAAgC,CAAC,QAAQ,CAAC,EACnF,CAAC,KAAgB,EAAE,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CACjE,CAAC"}
|
@@ -1,3 +1,6 @@
|
|
1
1
|
import { EFlag } from '../../../types/api/enums';
|
2
|
+
import type { IssueLog } from '../../../types/api/healthcheck';
|
2
3
|
import { StatusFlag } from '../../../types/api/healthcheck';
|
4
|
+
import type { IssuesTree } from './types';
|
3
5
|
export declare const hcStatusToColorFlag: Record<StatusFlag, EFlag>;
|
6
|
+
export declare function getLeavesFromTree(issues: IssueLog[], root: IssueLog): IssuesTree[];
|
@@ -9,4 +9,38 @@ export const hcStatusToColorFlag = {
|
|
9
9
|
[StatusFlag.ORANGE]: EFlag.Orange,
|
10
10
|
[StatusFlag.RED]: EFlag.Red,
|
11
11
|
};
|
12
|
+
export function getLeavesFromTree(issues, root) {
|
13
|
+
const result = [];
|
14
|
+
if (!root.reason || root.reason.length === 0) {
|
15
|
+
return [root];
|
16
|
+
}
|
17
|
+
for (const issueId of root.reason) {
|
18
|
+
const directChild = issues.find((issue) => issue.id === issueId);
|
19
|
+
if (!directChild) {
|
20
|
+
continue;
|
21
|
+
}
|
22
|
+
const stack = [directChild];
|
23
|
+
const directChildType = directChild.type;
|
24
|
+
while (stack.length > 0) {
|
25
|
+
const currentNode = stack.pop();
|
26
|
+
if (!currentNode.reason || currentNode.reason.length === 0) {
|
27
|
+
result.push(currentNode);
|
28
|
+
continue;
|
29
|
+
}
|
30
|
+
for (const reason of currentNode.reason) {
|
31
|
+
const child = issues.find((issue) => issue.id === reason);
|
32
|
+
if (!child) {
|
33
|
+
continue;
|
34
|
+
}
|
35
|
+
const extendedChild = {
|
36
|
+
...child,
|
37
|
+
parent: currentNode,
|
38
|
+
firstParentType: directChildType,
|
39
|
+
};
|
40
|
+
stack.push(extendedChild);
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
return result;
|
45
|
+
}
|
12
46
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/store/reducers/healthcheckInfo/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAC;
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/store/reducers/healthcheckInfo/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAI1D,MAAM,CAAC,MAAM,mBAAmB,GAA8B;IAC1D,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI;IACpC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI;IAC7B,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK;IAC/B,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI;IAC7B,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM;IACjC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM;IACjC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG;CAC9B,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,MAAkB,EAAE,IAAc;IAChE,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,WAAW,GAA2B,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QACzF,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,SAAS;QACb,CAAC;QACD,MAAM,KAAK,GAAiB,CAAC,WAAW,CAAC,CAAC;QAE1C,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC;QAEzC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;YAEjC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACzB,SAAS;YACb,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,KAAK,GAA2B,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;gBAClF,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,SAAS;gBACb,CAAC;gBACD,MAAM,aAAa,GAAG;oBAClB,GAAG,KAAK;oBACR,MAAM,EAAE,WAAW;oBACnB,eAAe,EAAE,eAAe;iBACnC,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/store/reducers/tenant/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;CACpB,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACV,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/store/reducers/tenant/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;CACpB,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACV,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACV,CAAC"}
|
@@ -3,7 +3,7 @@ import type { TTenant } from '../../../types/api/tenant';
|
|
3
3
|
import { EType } from '../../../types/api/tenant';
|
4
4
|
import type { PreparedTenant } from './types';
|
5
5
|
export interface TenantMetricStats<T = string> {
|
6
|
-
name
|
6
|
+
name?: T;
|
7
7
|
usage?: number;
|
8
8
|
limit?: number;
|
9
9
|
used?: number;
|
@@ -22,6 +22,7 @@ export declare const calculateTenantMetrics: (tenant?: TTenant) => {
|
|
22
22
|
memoryStats: TenantMetricStats<string>[];
|
23
23
|
blobStorageStats: TenantStorageStats[];
|
24
24
|
tabletStorageStats: TenantStorageStats[] | undefined;
|
25
|
+
networkStats: TenantMetricStats<string>[] | undefined;
|
25
26
|
};
|
26
27
|
export declare const prepareTenants: (tenants: TTenant[]) => PreparedTenant[];
|
27
28
|
export declare function getMetricStatusFromUsage(usage?: number): "Unspecified" | "Good" | "Warning" | "Danger";
|
@@ -1,6 +1,7 @@
|
|
1
|
+
import { isNil } from 'lodash';
|
1
2
|
import { EType } from '../../../types/api/tenant';
|
2
3
|
import { DEFAULT_DANGER_THRESHOLD, DEFAULT_WARNING_THRESHOLD } from '../../../utils/constants';
|
3
|
-
import { isNumeric } from '../../../utils/utils';
|
4
|
+
import { isNumeric, safeParseNumber } from '../../../utils/utils';
|
4
5
|
import { METRIC_STATUS } from './contants';
|
5
6
|
const getControlPlaneValue = (tenant) => {
|
6
7
|
var _a, _b;
|
@@ -27,7 +28,7 @@ const calculatePoolsStats = (poolsStats) => {
|
|
27
28
|
.filter((stats) => stats !== undefined);
|
28
29
|
};
|
29
30
|
export const calculateTenantMetrics = (tenant = {}) => {
|
30
|
-
const { CoresUsed, MemoryUsed, StorageAllocatedSize, MemoryLimit, StorageAllocatedLimit, PoolStats, Metrics = {}, DatabaseQuotas = {}, StorageUsage, QuotaUsage, } = tenant;
|
31
|
+
const { CoresUsed, MemoryUsed, StorageAllocatedSize, MemoryLimit, StorageAllocatedLimit, PoolStats, Metrics = {}, DatabaseQuotas = {}, StorageUsage, QuotaUsage, NetworkUtilization, NetworkWriteThroughput, } = tenant;
|
31
32
|
const cpu = Number(CoresUsed) * 1000000 || 0;
|
32
33
|
const memory = Number(MemoryUsed) || 0;
|
33
34
|
const blobStorage = Number(StorageAllocatedSize) || 0;
|
@@ -96,6 +97,17 @@ export const calculateTenantMetrics = (tenant = {}) => {
|
|
96
97
|
usage: calculateUsage(memory, memoryLimit),
|
97
98
|
},
|
98
99
|
];
|
100
|
+
const isNetworkStatsAvailabe = !isNil(NetworkUtilization) && !isNil(NetworkWriteThroughput);
|
101
|
+
const networkThroughput = safeParseNumber(NetworkWriteThroughput);
|
102
|
+
const usedNetwork = safeParseNumber(NetworkUtilization) * networkThroughput;
|
103
|
+
const networkStats = isNetworkStatsAvailabe
|
104
|
+
? [
|
105
|
+
{
|
106
|
+
used: usedNetwork,
|
107
|
+
limit: networkThroughput,
|
108
|
+
},
|
109
|
+
]
|
110
|
+
: undefined;
|
99
111
|
return {
|
100
112
|
memory,
|
101
113
|
blobStorage,
|
@@ -108,6 +120,7 @@ export const calculateTenantMetrics = (tenant = {}) => {
|
|
108
120
|
memoryStats,
|
109
121
|
blobStorageStats,
|
110
122
|
tabletStorageStats,
|
123
|
+
networkStats,
|
111
124
|
};
|
112
125
|
};
|
113
126
|
const calculateTenantEntities = (tenant) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/store/reducers/tenants/utils.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/store/reducers/tenants/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/styles/index.scss
CHANGED
@@ -12,4 +12,4 @@ export type SecuritySetting = 'UseLoginProvider' | 'DomainLoginOnly';
|
|
12
12
|
export interface MetaCapabilitiesResponse {
|
13
13
|
Capabilities: Record<Partial<MetaCapability>, number>;
|
14
14
|
}
|
15
|
-
export type MetaCapability = '/meta/clusters' | '/meta/db_clusters' | '/meta/cp_databases' | '/meta/get_config' | '/meta/get_operation' | '/meta/list_operations' | '/meta/list_storage_types' | '/meta/list_resource_presets' | '/meta/create_database' | '/meta/update_database' | '/meta/delete_database' | '/meta/simulate_database' | '/meta/start_database' | '/meta/stop_database';
|
15
|
+
export type MetaCapability = '/meta/clusters' | '/meta/db_clusters' | '/meta/cp_databases' | '/meta/get_config' | '/meta/get_operation' | '/meta/list_operations' | '/meta/list_storage_types' | '/meta/list_resource_presets' | '/meta/create_database' | '/meta/update_database' | '/meta/delete_database' | '/meta/simulate_database' | '/meta/start_database' | '/meta/stop_database' | '/meta/create_cluster' | '/meta/update_cluster' | '/meta/delete_cluster';
|
@@ -24,11 +24,11 @@ interface LocationStoragePDisk {
|
|
24
24
|
path: string;
|
25
25
|
}
|
26
26
|
interface LocationStorageVDisk {
|
27
|
-
id: string;
|
28
|
-
pdisk: LocationStoragePDisk;
|
27
|
+
id: string[];
|
28
|
+
pdisk: LocationStoragePDisk[];
|
29
29
|
}
|
30
30
|
interface LocationStorageGroup {
|
31
|
-
id: string;
|
31
|
+
id: string[];
|
32
32
|
vdisk: LocationStorageVDisk;
|
33
33
|
}
|
34
34
|
interface LocationStoragePool {
|
@@ -44,26 +44,28 @@ interface LocationComputePool {
|
|
44
44
|
}
|
45
45
|
interface LocationComputeTablet {
|
46
46
|
type: string;
|
47
|
-
id
|
47
|
+
id: string[];
|
48
48
|
count: number;
|
49
49
|
}
|
50
50
|
interface LocationComputeSchema {
|
51
|
-
type
|
52
|
-
path
|
51
|
+
type: string;
|
52
|
+
path: string;
|
53
53
|
}
|
54
54
|
interface LocationCompute {
|
55
|
-
node
|
56
|
-
pool
|
55
|
+
node: LocationNode;
|
56
|
+
pool: LocationComputePool;
|
57
57
|
tablet: LocationComputeTablet;
|
58
|
-
schema
|
58
|
+
schema: LocationComputeSchema;
|
59
59
|
}
|
60
60
|
interface LocationDatabase {
|
61
61
|
name: string;
|
62
62
|
}
|
63
|
-
interface Location {
|
64
|
-
storage
|
65
|
-
compute
|
66
|
-
database
|
63
|
+
export interface Location {
|
64
|
+
storage?: LocationStorage;
|
65
|
+
compute?: LocationCompute;
|
66
|
+
database?: LocationDatabase;
|
67
|
+
node?: LocationNode;
|
68
|
+
peer?: LocationNode;
|
67
69
|
}
|
68
70
|
export interface IssueLog {
|
69
71
|
id: string;
|
@@ -73,9 +75,74 @@ export interface IssueLog {
|
|
73
75
|
reason?: string[];
|
74
76
|
type: string;
|
75
77
|
level: number;
|
78
|
+
listed?: number;
|
79
|
+
count?: number;
|
80
|
+
}
|
81
|
+
interface StoragePDiskStatus {
|
82
|
+
id: string;
|
83
|
+
overall: StatusFlag;
|
84
|
+
}
|
85
|
+
interface StorageVDiskStatus {
|
86
|
+
id: string;
|
87
|
+
overall: StatusFlag;
|
88
|
+
vdisk_status: StatusFlag;
|
89
|
+
pdisk: StoragePDiskStatus;
|
90
|
+
}
|
91
|
+
interface StorageGroupStatus {
|
92
|
+
id: string;
|
93
|
+
overall: StatusFlag;
|
94
|
+
vdisks: StorageVDiskStatus[];
|
95
|
+
}
|
96
|
+
interface StoragePoolStatus {
|
97
|
+
id: string;
|
98
|
+
overall: StatusFlag;
|
99
|
+
groups: StorageGroupStatus[];
|
100
|
+
}
|
101
|
+
interface StorageStatus {
|
102
|
+
overall: StatusFlag;
|
103
|
+
pools: StoragePoolStatus[];
|
104
|
+
}
|
105
|
+
interface ComputeTabletStatus {
|
106
|
+
overall: StatusFlag;
|
107
|
+
type: string;
|
108
|
+
state: string;
|
109
|
+
count: number;
|
110
|
+
id: string[];
|
111
|
+
}
|
112
|
+
interface ThreadPoolStatus {
|
113
|
+
overall: StatusFlag;
|
114
|
+
name: string;
|
115
|
+
usage: number;
|
116
|
+
}
|
117
|
+
interface LoadAverageStatus {
|
118
|
+
overall: StatusFlag;
|
119
|
+
load: number;
|
120
|
+
cores: number;
|
121
|
+
}
|
122
|
+
interface ComputeNodeStatus {
|
123
|
+
id: string;
|
124
|
+
overall: StatusFlag;
|
125
|
+
tablets: ComputeTabletStatus[];
|
126
|
+
pools: ThreadPoolStatus[];
|
127
|
+
load: LoadAverageStatus;
|
128
|
+
}
|
129
|
+
interface ComputeStatus {
|
130
|
+
overall: StatusFlag;
|
131
|
+
nodes: ComputeNodeStatus[];
|
132
|
+
tablets: ComputeTabletStatus[];
|
133
|
+
paths_quota_usage: number;
|
134
|
+
shards_quota_usage: number;
|
135
|
+
}
|
136
|
+
interface DatabaseStatus {
|
137
|
+
name: string;
|
138
|
+
overall: StatusFlag;
|
139
|
+
storage: StorageStatus;
|
140
|
+
compute: ComputeStatus;
|
76
141
|
}
|
77
142
|
export interface HealthCheckAPIResponse {
|
78
143
|
self_check_result: SelfCheckResult;
|
79
144
|
issue_log?: IssueLog[];
|
145
|
+
database_status?: DatabaseStatus[];
|
146
|
+
location?: LocationNode;
|
80
147
|
}
|
81
148
|
export {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"healthcheck.js","sourceRoot":"","sources":["../../../src/types/api/healthcheck.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACvB,8CAA2B,CAAA;IAC3B,gCAAa,CAAA;IACb,wCAAqB,CAAA;IACrB,gEAA6C,CAAA;IAC7C,0CAAuB,CAAA;AAC3B,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AAED,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IAClB,yCAA2B,CAAA;IAC3B,2BAAa,CAAA;IACb,6BAAe,CAAA;IACf,2BAAa,CAAA;IACb,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,yBAAW,CAAA;AACf,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB"}
|
1
|
+
{"version":3,"file":"healthcheck.js","sourceRoot":"","sources":["../../../src/types/api/healthcheck.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACvB,8CAA2B,CAAA;IAC3B,gCAAa,CAAA;IACb,wCAAqB,CAAA;IACrB,gEAA6C,CAAA;IAC7C,0CAAuB,CAAA;AAC3B,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AAED,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IAClB,yCAA2B,CAAA;IAC3B,2BAAa,CAAA;IACb,6BAAe,CAAA;IACf,2BAAa,CAAA;IACb,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,yBAAW,CAAA;AACf,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB"}
|
@@ -56,6 +56,10 @@ export interface TTenant {
|
|
56
56
|
DatabaseQuotas?: DatabaseQuotas;
|
57
57
|
StorageUsage?: TStorageUsage[];
|
58
58
|
QuotaUsage?: TStorageUsage[];
|
59
|
+
/** value is float */
|
60
|
+
NetworkUtilization?: number;
|
61
|
+
/** value is uint64 */
|
62
|
+
NetworkWriteThroughput?: string;
|
59
63
|
}
|
60
64
|
export interface THiveDomainStatsStateCount {
|
61
65
|
VolatileState?: ETabletVolatileState;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../src/types/api/tenant.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../src/types/api/tenant.ts"],"names":[],"mappings":"AAgJA,MAAM,CAAN,IAAY,KAOX;AAPD,WAAY,KAAK;IACb,gDAAyC,CAAA;IACzC,8BAAuB,CAAA;IACvB,4BAAqB,CAAA;IACrB,8BAAuB,CAAA;IACvB,gDAAyC,CAAA;IACzC,oCAA6B,CAAA;AACjC,CAAC,EAPW,KAAK,KAAL,KAAK,QAOhB;AAED,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,uFAAiE,CAAA;IACjE,uFAAiE,CAAA;IACjE,uFAAiE,CAAA;IACjE,yFAAmE,CAAA;IACnE,uFAAiE,CAAA;AACrE,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAuBD,MAAM,CAAN,IAAY,KAIX;AAJD,WAAY,KAAK;IACb,sBAAa,CAAA;IACb,oBAAW,CAAA;IACX,oBAAW,CAAA;AACf,CAAC,EAJW,KAAK,KAAL,KAAK,QAIhB"}
|
@@ -1,13 +1,24 @@
|
|
1
|
+
import type { CommonIssueType, GetHealthcheckViewTitles, GetHealthcheckViewsOrder } from '../containers/Tenant/Healthcheck/shared';
|
2
|
+
import type { IssuesTree } from '../store/reducers/healthcheckInfo/types';
|
1
3
|
import type { PreparedTenant } from '../store/reducers/tenants/types';
|
4
|
+
import type { MetaBaseClusterInfo } from '../types/api/meta';
|
2
5
|
import type { GetLogsLink } from '../utils/logs';
|
3
6
|
import type { GetMonitoringClusterLink, GetMonitoringLink } from '../utils/monitoring';
|
4
7
|
export interface UIFactory {
|
5
8
|
onCreateDB?: HandleCreateDB;
|
6
9
|
onEditDB?: HandleEditDB;
|
7
10
|
onDeleteDB?: HandleDeleteDB;
|
11
|
+
onAddCluster?: HandleAddCluster;
|
12
|
+
onEditCluster?: HandleEditCluster;
|
13
|
+
onDeleteCluster?: HandleDeleteCluster;
|
8
14
|
getLogsLink?: GetLogsLink;
|
9
15
|
getMonitoringLink?: GetMonitoringLink;
|
10
16
|
getMonitoringClusterLink?: GetMonitoringClusterLink;
|
17
|
+
healthcheck: {
|
18
|
+
getHealthckechViewTitles: GetHealthcheckViewTitles<CommonIssueType>;
|
19
|
+
getHealthcheckViewsOrder: GetHealthcheckViewsOrder<CommonIssueType>;
|
20
|
+
};
|
21
|
+
countHealthcheckIssuesByType: (issueTrees: IssuesTree[]) => Record<CommonIssueType, number> & Record<string, number>;
|
11
22
|
}
|
12
23
|
export type HandleCreateDB = (params: {
|
13
24
|
clusterName: string;
|
@@ -20,3 +31,10 @@ export type HandleDeleteDB = (params: {
|
|
20
31
|
clusterName: string;
|
21
32
|
databaseData: PreparedTenant;
|
22
33
|
}) => Promise<boolean>;
|
34
|
+
export type HandleAddCluster = () => Promise<boolean>;
|
35
|
+
export type HandleEditCluster = (params: {
|
36
|
+
clusterData: MetaBaseClusterInfo;
|
37
|
+
}) => Promise<boolean>;
|
38
|
+
export type HandleDeleteCluster = (params: {
|
39
|
+
clusterData: MetaBaseClusterInfo;
|
40
|
+
}) => Promise<boolean>;
|
@@ -1,7 +1,13 @@
|
|
1
|
+
import { countHealthcheckIssuesByType, getHealthcheckViewsOrder, getHealthckechViewTitles, } from '../containers/Tenant/Healthcheck/shared';
|
1
2
|
import { getMonitoringClusterLink as getMonitoringClusterLinkDefault, getMonitoringLink as getMonitoringLinkDefault, } from '../utils/monitoring';
|
2
3
|
const uiFactoryBase = {
|
3
4
|
getMonitoringLink: getMonitoringLinkDefault,
|
4
5
|
getMonitoringClusterLink: getMonitoringClusterLinkDefault,
|
6
|
+
healthcheck: {
|
7
|
+
getHealthckechViewTitles,
|
8
|
+
getHealthcheckViewsOrder,
|
9
|
+
},
|
10
|
+
countHealthcheckIssuesByType: countHealthcheckIssuesByType,
|
5
11
|
};
|
6
12
|
export function configureUIFactory(overrides) {
|
7
13
|
Object.assign(uiFactoryBase, overrides);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"uiFactory.js","sourceRoot":"","sources":["../../src/uiFactory/uiFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,IAAI,+BAA+B,EAC3D,iBAAiB,IAAI,wBAAwB,GAChD,MAAM,qBAAqB,CAAC;AAI7B,MAAM,aAAa,GAAc;IAC7B,iBAAiB,EAAE,wBAAwB;IAC3C,wBAAwB,EAAE,+BAA+B;
|
1
|
+
{"version":3,"file":"uiFactory.js","sourceRoot":"","sources":["../../src/uiFactory/uiFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,GAC3B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACH,wBAAwB,IAAI,+BAA+B,EAC3D,iBAAiB,IAAI,wBAAwB,GAChD,MAAM,qBAAqB,CAAC;AAI7B,MAAM,aAAa,GAAc;IAC7B,iBAAiB,EAAE,wBAAwB;IAC3C,wBAAwB,EAAE,+BAA+B;IACzD,WAAW,EAAE;QACT,wBAAwB;QACxB,wBAAwB;KAC3B;IACD,4BAA4B,EAAE,4BAA4B;CAC7D,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,SAAoB;IACnD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE;IAC9C,GAAG,EAAE,GAAG,EAAE;QACN,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAC1F,CAAC;CACJ,CAAC,CAAC"}
|
@@ -1,12 +1,5 @@
|
|
1
|
+
import type { ToastProps } from '@gravity-ui/uikit';
|
1
2
|
import { toaster } from '@gravity-ui/uikit/toaster-singleton-react-18';
|
2
3
|
export { toaster };
|
3
|
-
|
4
|
-
name?: string;
|
5
|
-
title?: string;
|
6
|
-
content?: string;
|
7
|
-
type: 'error' | 'success';
|
8
|
-
autoHiding?: number | false;
|
9
|
-
className?: string;
|
10
|
-
}
|
11
|
-
declare function createToast({ name, title, type, content, autoHiding, className }: CreateToastProps): void;
|
4
|
+
declare function createToast({ name, title, theme, isClosable, autoHiding, ...restProps }: ToastProps): void;
|
12
5
|
export default createToast;
|
@@ -1,14 +1,13 @@
|
|
1
1
|
import { toaster } from '@gravity-ui/uikit/toaster-singleton-react-18';
|
2
2
|
export { toaster };
|
3
|
-
function createToast({ name, title,
|
3
|
+
function createToast({ name, title, theme, isClosable, autoHiding, ...restProps }) {
|
4
4
|
return toaster.add({
|
5
5
|
name: name !== null && name !== void 0 ? name : 'Request succeeded',
|
6
6
|
title: title !== null && title !== void 0 ? title : 'Request succeeded',
|
7
|
-
theme:
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
className,
|
7
|
+
theme: theme !== null && theme !== void 0 ? theme : 'success',
|
8
|
+
isClosable: isClosable !== null && isClosable !== void 0 ? isClosable : true,
|
9
|
+
autoHiding: autoHiding !== null && autoHiding !== void 0 ? autoHiding : (theme === 'success' ? 5000 : false),
|
10
|
+
...restProps,
|
12
11
|
});
|
13
12
|
}
|
14
13
|
export default createToast;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createToast.js","sourceRoot":"","sources":["../../src/utils/createToast.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"createToast.js","sourceRoot":"","sources":["../../src/utils/createToast.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,8CAA8C,CAAC;AAErE,OAAO,EAAC,OAAO,EAAC,CAAC;AAEjB,SAAS,WAAW,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,SAAS,EAAa;IACvF,OAAO,OAAO,CAAC,GAAG,CAAC;QACf,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,mBAAmB;QACjC,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,mBAAmB;QACnC,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,SAAS;QACzB,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI;QAC9B,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9D,GAAG,SAAS;KACf,CAAC,CAAC;AACP,CAAC;AAED,eAAe,WAAW,CAAC"}
|
package/package.json
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/containers/App/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAEpC,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC"}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import type { ClusterDataAggregation } from '../../store/reducers/clusters/types';
|
2
|
-
interface ClustersStatisticsProps {
|
3
|
-
count: number;
|
4
|
-
stats: ClusterDataAggregation;
|
5
|
-
}
|
6
|
-
export declare const ClustersStatistics: ({ count, stats }: ClustersStatisticsProps) => import("react/jsx-runtime").JSX.Element;
|
7
|
-
export {};
|
@@ -1,10 +0,0 @@
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
-
import { ProgressViewer } from '../../components/ProgressViewer/ProgressViewer';
|
3
|
-
import { formatStorageValues } from '../../utils/dataFormatters/dataFormatters';
|
4
|
-
import i18n from './i18n';
|
5
|
-
import { b } from './shared';
|
6
|
-
export const ClustersStatistics = ({ count, stats }) => {
|
7
|
-
const { NodesTotal, NodesAlive, Hosts, Tenants, LoadAverage, NumberOfCpus, StorageUsed, StorageTotal, } = stats;
|
8
|
-
return (_jsxs("div", { className: b('aggregation'), children: [_jsxs("div", { className: b('aggregation-value-container'), children: [_jsx("span", { className: b('aggregation-label'), children: i18n('statistics_clusters') }), count] }), _jsxs("div", { className: b('aggregation-value-container'), children: [_jsx("span", { className: b('aggregation-label'), children: i18n('statistics_hosts') }), Hosts] }), _jsxs("div", { className: b('aggregation-value-container'), children: [_jsx("span", { className: b('aggregation-label'), children: i18n('statistics_tenants') }), Tenants] }), _jsxs("div", { className: b('aggregation-value-container'), children: [_jsx("span", { className: b('aggregation-label'), children: i18n('statistics_nodes') }), _jsx(ProgressViewer, { size: "ns", value: NodesAlive, capacity: NodesTotal, colorizeProgress: true, inverseColorize: true })] }), _jsxs("div", { className: b('aggregation-value-container'), children: [_jsx("span", { className: b('aggregation-label'), children: i18n('statistics_load') }), _jsx(ProgressViewer, { size: "ns", value: LoadAverage, capacity: NumberOfCpus, colorizeProgress: true })] }), _jsxs("div", { className: b('aggregation-value-container'), children: [_jsx("span", { className: b('aggregation-label'), children: i18n('statistics_storage') }), _jsx(ProgressViewer, { size: "ns", value: StorageUsed, capacity: StorageTotal, formatValues: formatStorageValues, colorizeProgress: true })] })] }));
|
9
|
-
};
|
10
|
-
//# sourceMappingURL=ClustersStatistics.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"ClustersStatistics.js","sourceRoot":"","sources":["../../../src/containers/Clusters/ClustersStatistics.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,gDAAgD,CAAC;AAE9E,OAAO,EAAC,mBAAmB,EAAC,MAAM,2CAA2C,CAAC;AAE9E,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,CAAC,EAAC,MAAM,UAAU,CAAC;AAO3B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAC,KAAK,EAAE,KAAK,EAA0B,EAAE,EAAE;IAC1E,MAAM,EACF,UAAU,EACV,UAAU,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,GACf,GAAG,KAAK,CAAC;IAEV,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,aAC5B,eAAK,SAAS,EAAE,CAAC,CAAC,6BAA6B,CAAC,aAC5C,eAAM,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,YAAG,IAAI,CAAC,qBAAqB,CAAC,GAAQ,EAC5E,KAAK,IACJ,EACN,eAAK,SAAS,EAAE,CAAC,CAAC,6BAA6B,CAAC,aAC5C,eAAM,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,YAAG,IAAI,CAAC,kBAAkB,CAAC,GAAQ,EACzE,KAAK,IACJ,EACN,eAAK,SAAS,EAAE,CAAC,CAAC,6BAA6B,CAAC,aAC5C,eAAM,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,YAAG,IAAI,CAAC,oBAAoB,CAAC,GAAQ,EAC3E,OAAO,IACN,EACN,eAAK,SAAS,EAAE,CAAC,CAAC,6BAA6B,CAAC,aAC5C,eAAM,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,YAAG,IAAI,CAAC,kBAAkB,CAAC,GAAQ,EAC1E,KAAC,cAAc,IACX,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,UAAU,EACpB,gBAAgB,EAAE,IAAI,EACtB,eAAe,EAAE,IAAI,GACvB,IACA,EACN,eAAK,SAAS,EAAE,CAAC,CAAC,6BAA6B,CAAC,aAC5C,eAAM,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,YAAG,IAAI,CAAC,iBAAiB,CAAC,GAAQ,EACzE,KAAC,cAAc,IACX,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,IAAI,GACxB,IACA,EACN,eAAK,SAAS,EAAE,CAAC,CAAC,6BAA6B,CAAC,aAC5C,eAAM,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,YAAG,IAAI,CAAC,oBAAoB,CAAC,GAAQ,EAC5E,KAAC,cAAc,IACX,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,mBAAmB,EACjC,gBAAgB,EAAE,IAAI,GACxB,IACA,IACJ,CACT,CAAC;AACN,CAAC,CAAC"}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"controls_status-select-label": "Статус:",
|
3
|
-
"controls_service-select-label": "Сервис:",
|
4
|
-
"controls_version-select-label": "Версия:",
|
5
|
-
"controls_search-placeholder": "Имя кластера, версия или хост",
|
6
|
-
"controls_select-placeholder": "Все",
|
7
|
-
"statistics_clusters": "Кластеры",
|
8
|
-
"statistics_hosts": "Хосты",
|
9
|
-
"statistics_tenants": "Базы данных",
|
10
|
-
"statistics_nodes": "Узлы",
|
11
|
-
"statistics_load": "Нагрузка",
|
12
|
-
"statistics_storage": "Хранилище",
|
13
|
-
"tooltip_no-cluster-data": "Нет данных кластера",
|
14
|
-
"page_title": "Кластеры"
|
15
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"EmptyFilter.js","sourceRoot":"","sources":["../../../../src/containers/Storage/EmptyFilter/EmptyFilter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAE9D,OAAO,IAAI,MAAM,QAAQ,CAAC;AAU1B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EACxB,KAAK,EACL,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,EACjC,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,EACtC,SAAS,EACT,KAAK,GAAG,KAAC,YAAY,IAAC,IAAI,EAAC,UAAU,GAAG,GACzB,EAAE,EAAE,CAAC,CACpB,KAAC,UAAU,IACP,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAC,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,OAAO,EACpB,OAAO,EACH,SAAS,IAAI;QACT,KAAC,MAAM,IAAgB,OAAO,EAAE,SAAS,YACpC,OAAO,IADA,UAAU,CAEb;KACZ,GAEP,CACL,CAAC"}
|