ydb-embedded-ui 4.8.1 → 4.8.2
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +7 -0
- package/dist/components/Tablet/Tablet.tsx +2 -13
- package/dist/containers/Header/breadcrumbs.ts +22 -6
- package/dist/containers/Tablet/Tablet.tsx +2 -11
- package/dist/containers/TabletsFilters/TabletsFilters.js +8 -3
- package/dist/store/reducers/header/types.ts +0 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [4.8.2](https://github.com/ydb-platform/ydb-embedded-ui/compare/v4.8.1...v4.8.2) (2023-06-27)
|
4
|
+
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
* **breadcrumbs:** update tenant and tablet params ([#443](https://github.com/ydb-platform/ydb-embedded-ui/issues/443)) ([b0d31ac](https://github.com/ydb-platform/ydb-embedded-ui/commit/b0d31acce6d6e97d759180c885e6aea3b762a91c))
|
9
|
+
|
3
10
|
## [4.8.1](https://github.com/ydb-platform/ydb-embedded-ui/compare/v4.8.0...v4.8.1) (2023-06-26)
|
4
11
|
|
5
12
|
|
@@ -18,21 +18,10 @@ interface TabletProps {
|
|
18
18
|
}
|
19
19
|
|
20
20
|
export const Tablet = ({tablet = {}, tenantName}: TabletProps) => {
|
21
|
-
const {TabletId: id, NodeId
|
21
|
+
const {TabletId: id, NodeId} = tablet;
|
22
22
|
const status = tablet.Overall?.toLowerCase();
|
23
23
|
|
24
|
-
const tabletPath =
|
25
|
-
id &&
|
26
|
-
createHref(
|
27
|
-
routes.tablet,
|
28
|
-
{id},
|
29
|
-
{
|
30
|
-
nodeId: NodeId,
|
31
|
-
type: Type,
|
32
|
-
state: State,
|
33
|
-
tenantName,
|
34
|
-
},
|
35
|
-
);
|
24
|
+
const tabletPath = id && createHref(routes.tablet, {id}, {nodeId: NodeId, tenantName});
|
36
25
|
|
37
26
|
return (
|
38
27
|
<ContentWithPopup
|
@@ -10,10 +10,15 @@ import type {
|
|
10
10
|
TabletsBreadcrumbsOptions,
|
11
11
|
TenantBreadcrumbsOptions,
|
12
12
|
} from '../../store/reducers/header/types';
|
13
|
+
import {
|
14
|
+
TENANT_DIAGNOSTICS_TABS_IDS,
|
15
|
+
TENANT_PAGE,
|
16
|
+
TENANT_PAGES_IDS,
|
17
|
+
} from '../../store/reducers/tenant/constants';
|
13
18
|
import routes, {createHref} from '../../routes';
|
14
19
|
|
15
20
|
import {getClusterPath} from '../Cluster/utils';
|
16
|
-
import {getTenantPath} from '../Tenant/TenantPages';
|
21
|
+
import {TenantTabsGroups, getTenantPath} from '../Tenant/TenantPages';
|
17
22
|
import {getDefaultNodePath} from '../Node/NodePages';
|
18
23
|
|
19
24
|
const prepareTenantName = (tenantName: string) => {
|
@@ -61,10 +66,16 @@ const getNodeBreadcrumbs = (options: NodeBreadcrumbsOptions, query = {}): RawBre
|
|
61
66
|
// Compute nodes have tenantName, storage nodes doesn't
|
62
67
|
const isStorageNode = !tenantName;
|
63
68
|
|
69
|
+
const newQuery = {
|
70
|
+
...query,
|
71
|
+
[TENANT_PAGE]: TENANT_PAGES_IDS.diagnostics,
|
72
|
+
[TenantTabsGroups.diagnosticsTab]: TENANT_DIAGNOSTICS_TABS_IDS.nodes,
|
73
|
+
};
|
74
|
+
|
64
75
|
if (isStorageNode) {
|
65
76
|
breadcrumbs = getClusterBreadcrumbs(options, query);
|
66
77
|
} else {
|
67
|
-
breadcrumbs = getTenantBreadcrumbs(options,
|
78
|
+
breadcrumbs = getTenantBreadcrumbs(options, newQuery);
|
68
79
|
}
|
69
80
|
|
70
81
|
const text = nodeId ? `Node ${nodeId}` : 'Node';
|
@@ -79,21 +90,26 @@ const getTabletsBreadcrubms = (
|
|
79
90
|
options: TabletsBreadcrumbsOptions,
|
80
91
|
query = {},
|
81
92
|
): RawBreadcrumbItem[] => {
|
82
|
-
const {tenantName, nodeIds
|
93
|
+
const {tenantName, nodeIds} = options;
|
94
|
+
|
95
|
+
const newQuery = {
|
96
|
+
...query,
|
97
|
+
[TENANT_PAGE]: TENANT_PAGES_IDS.diagnostics,
|
98
|
+
[TenantTabsGroups.diagnosticsTab]: TENANT_DIAGNOSTICS_TABS_IDS.tablets,
|
99
|
+
};
|
83
100
|
|
84
101
|
let breadcrumbs: RawBreadcrumbItem[];
|
85
102
|
|
86
103
|
// Cluster system tablets don't have tenantName
|
87
104
|
if (tenantName) {
|
88
|
-
breadcrumbs = getTenantBreadcrumbs(options,
|
105
|
+
breadcrumbs = getTenantBreadcrumbs(options, newQuery);
|
89
106
|
} else {
|
90
107
|
breadcrumbs = getClusterBreadcrumbs(options, query);
|
91
108
|
}
|
92
109
|
|
93
110
|
const link = createHref(routes.tabletsFilters, undefined, {
|
111
|
+
...query,
|
94
112
|
nodeIds,
|
95
|
-
state,
|
96
|
-
type,
|
97
113
|
path: tenantName,
|
98
114
|
});
|
99
115
|
|
@@ -48,16 +48,9 @@ export const Tablet = () => {
|
|
48
48
|
error,
|
49
49
|
} = useTypedSelector((state) => state.tablet);
|
50
50
|
|
51
|
-
const {
|
52
|
-
nodeId: queryNodeId,
|
53
|
-
type: queryType,
|
54
|
-
state: queryState,
|
55
|
-
tenantName: queryTenantName,
|
56
|
-
} = parseQuery(location);
|
51
|
+
const {nodeId: queryNodeId, tenantName: queryTenantName} = parseQuery(location);
|
57
52
|
|
58
53
|
const nodeId = tablet.NodeId?.toString() || queryNodeId?.toString();
|
59
|
-
const tabletState = tablet.State || queryState?.toString();
|
60
|
-
const tabletType = tablet.Type || queryType?.toString();
|
61
54
|
const tenantName = tenantPath || queryTenantName?.toString();
|
62
55
|
|
63
56
|
// NOTE: should be reviewed when migrating to React 18
|
@@ -84,13 +77,11 @@ export const Tablet = () => {
|
|
84
77
|
dispatch(
|
85
78
|
setHeaderBreadcrumbs('tablet', {
|
86
79
|
nodeIds: nodeId ? [nodeId] : [],
|
87
|
-
state: tabletState,
|
88
|
-
type: tabletType,
|
89
80
|
tenantName,
|
90
81
|
tabletId: id,
|
91
82
|
}),
|
92
83
|
);
|
93
|
-
}, [dispatch, tenantName, id, nodeId
|
84
|
+
}, [dispatch, tenantName, id, nodeId]);
|
94
85
|
|
95
86
|
const renderExternalLinks = (link: {name: string; path: string}, index: number) => {
|
96
87
|
return (
|
@@ -81,10 +81,15 @@ class TabletsFilters extends React.Component {
|
|
81
81
|
});
|
82
82
|
const {nodeIds, type, path, state} = queryParams;
|
83
83
|
const nodes = TabletsFilters.parseNodes(nodeIds);
|
84
|
-
const stateFilter = TabletsFilters.getStateFiltersFromColor(state);
|
85
84
|
|
86
|
-
|
87
|
-
|
85
|
+
if (state) {
|
86
|
+
const stateFilter = TabletsFilters.getStateFiltersFromColor(state);
|
87
|
+
setStateFilter(stateFilter);
|
88
|
+
}
|
89
|
+
|
90
|
+
if (type) {
|
91
|
+
setTypeFilter([type]);
|
92
|
+
}
|
88
93
|
|
89
94
|
this.setState({nodeFilter: nodes, tenantPath: path}, () => {
|
90
95
|
this.makeRequest();
|
@@ -19,8 +19,6 @@ export interface NodeBreadcrumbsOptions extends TenantBreadcrumbsOptions {
|
|
19
19
|
|
20
20
|
export interface TabletsBreadcrumbsOptions extends TenantBreadcrumbsOptions {
|
21
21
|
nodeIds?: string[] | number[];
|
22
|
-
state?: string;
|
23
|
-
type?: string;
|
24
22
|
}
|
25
23
|
|
26
24
|
export interface TabletBreadcrumbsOptions extends TabletsBreadcrumbsOptions {
|