ydb-embedded-ui 22.5.0 → 22.6.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/StickyAutoRefreshControl.d.ts +2 -0
- package/dist/components/AutoRefreshControl/StickyAutoRefreshControl.js +9 -0
- package/dist/components/AutoRefreshControl/StickyAutoRefreshControl.js.map +1 -0
- package/dist/components/AutoRefreshControl/StickyAutoRefreshControl.scss +18 -0
- package/dist/components/HideUnavailableNodesSwitch/HideUnavailableNodesSwitch.d.ts +3 -0
- package/dist/components/HideUnavailableNodesSwitch/HideUnavailableNodesSwitch.js +12 -0
- package/dist/components/HideUnavailableNodesSwitch/HideUnavailableNodesSwitch.js.map +1 -0
- package/dist/components/HideUnavailableNodesSwitch/i18n/en.json +3 -0
- package/dist/components/HideUnavailableNodesSwitch/i18n/index.d.ts +2 -0
- package/dist/components/HideUnavailableNodesSwitch/i18n/index.js +6 -0
- package/dist/components/HideUnavailableNodesSwitch/i18n/index.js.map +1 -0
- package/dist/components/HideUnavailableNodesSwitch/i18n/ru.json +3 -0
- package/dist/components/PageMeta/PageMeta.d.ts +0 -2
- package/dist/components/PageMeta/PageMeta.js +1 -6
- package/dist/components/PageMeta/PageMeta.js.map +1 -1
- package/dist/containers/Node/Node.js +4 -3
- package/dist/containers/Node/Node.js.map +1 -1
- package/dist/containers/Node/Node.scss +14 -2
- package/dist/containers/Nodes/NodesControls/NodesControls.js +2 -1
- package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
- package/dist/containers/Nodes/NodesTable.js +4 -0
- package/dist/containers/Nodes/NodesTable.js.map +1 -1
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +3 -0
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -1
- package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js +9 -1
- package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js.map +1 -1
- package/dist/containers/Nodes/getNodes.js +2 -1
- package/dist/containers/Nodes/getNodes.js.map +1 -1
- package/dist/containers/PDiskPage/PDiskPage.js +5 -14
- package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
- package/dist/containers/PDiskPage/PDiskPage.scss +11 -4
- package/dist/containers/PDiskPage/i18n/en.json +0 -1
- package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js +3 -0
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js +8 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js +2 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js +4 -0
- package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/getNodes.js +2 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/getNodes.js.map +1 -1
- package/dist/containers/Storage/Storage.scss +4 -0
- package/dist/containers/StorageGroupPage/StorageGroupPage.js +4 -15
- package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
- package/dist/containers/StorageGroupPage/StorageGroupPage.scss +14 -9
- package/dist/containers/StorageGroupPage/i18n/en.json +0 -1
- package/dist/containers/StorageGroupPage/i18n/index.d.ts +1 -1
- package/dist/containers/Tablet/Tablet.js +3 -2
- package/dist/containers/Tablet/Tablet.js.map +1 -1
- package/dist/containers/Tablet/Tablet.scss +15 -1
- package/dist/containers/VDiskPage/VDiskPage.js +5 -14
- package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskPage.scss +23 -4
- package/dist/containers/VDiskPage/i18n/en.json +0 -1
- package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
- package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
- package/dist/store/reducers/capabilities/hooks.js +3 -0
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/nodes/types.d.ts +1 -0
- package/dist/store/reducers/storage/types.d.ts +1 -0
- package/dist/types/api/capabilities.d.ts +1 -1
- package/dist/types/api/nodes.d.ts +2 -0
- package/dist/utils/hooks/useHideUnavailableNodes.d.ts +5 -0
- package/dist/utils/hooks/useHideUnavailableNodes.js +21 -0
- package/dist/utils/hooks/useHideUnavailableNodes.js.map +1 -0
- package/package.json +1 -1
- package/src/components/AutoRefreshControl/StickyAutoRefreshControl.scss +18 -0
- package/src/components/AutoRefreshControl/StickyAutoRefreshControl.tsx +15 -0
- package/src/components/HideUnavailableNodesSwitch/HideUnavailableNodesSwitch.tsx +24 -0
- package/src/components/HideUnavailableNodesSwitch/i18n/en.json +3 -0
- package/src/components/HideUnavailableNodesSwitch/i18n/index.ts +7 -0
- package/src/components/HideUnavailableNodesSwitch/i18n/ru.json +3 -0
- package/src/components/PageMeta/PageMeta.tsx +0 -18
- package/src/containers/Node/Node.scss +14 -2
- package/src/containers/Node/Node.tsx +6 -6
- package/src/containers/Nodes/NodesControls/NodesControls.tsx +2 -0
- package/src/containers/Nodes/NodesTable.tsx +4 -0
- package/src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx +3 -0
- package/src/containers/Nodes/PaginatedNodes/NodesComponent.tsx +9 -1
- package/src/containers/Nodes/getNodes.ts +2 -0
- package/src/containers/PDiskPage/PDiskPage.scss +11 -4
- package/src/containers/PDiskPage/PDiskPage.tsx +4 -30
- package/src/containers/PDiskPage/i18n/en.json +0 -1
- package/src/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.tsx +3 -0
- package/src/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.tsx +8 -1
- package/src/containers/Storage/PaginatedStorageNodes/StorageNodesControls.tsx +2 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.tsx +4 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/getNodes.ts +2 -0
- package/src/containers/Storage/Storage.scss +4 -0
- package/src/containers/StorageGroupPage/StorageGroupPage.scss +14 -9
- package/src/containers/StorageGroupPage/StorageGroupPage.tsx +3 -32
- package/src/containers/StorageGroupPage/i18n/en.json +0 -1
- package/src/containers/Tablet/Tablet.scss +15 -1
- package/src/containers/Tablet/Tablet.tsx +21 -15
- package/src/containers/VDiskPage/VDiskPage.scss +23 -4
- package/src/containers/VDiskPage/VDiskPage.tsx +4 -31
- package/src/containers/VDiskPage/i18n/en.json +0 -1
- package/src/store/reducers/capabilities/hooks.ts +4 -0
- package/src/store/reducers/nodes/types.ts +1 -0
- package/src/store/reducers/storage/types.ts +1 -0
- package/src/types/api/capabilities.ts +1 -0
- package/src/types/api/nodes.ts +2 -0
- package/src/utils/hooks/useHideUnavailableNodes.ts +33 -0
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
@use '../../styles/mixins.scss';
|
|
2
|
+
|
|
1
3
|
.ydb-vdisk-page {
|
|
4
|
+
--sticky-tabs-height: 40px;
|
|
5
|
+
--data-table-start: var(--sticky-tabs-height);
|
|
2
6
|
--g-definition-list-item-gap: var(--g-spacing-3);
|
|
3
7
|
position: relative;
|
|
4
8
|
|
|
@@ -6,9 +10,8 @@
|
|
|
6
10
|
overflow-anchor: none;
|
|
7
11
|
|
|
8
12
|
height: 100%;
|
|
9
|
-
padding:
|
|
13
|
+
padding: 0 20px;
|
|
10
14
|
|
|
11
|
-
&__meta,
|
|
12
15
|
&__title,
|
|
13
16
|
&__controls,
|
|
14
17
|
&__storage-details,
|
|
@@ -36,8 +39,8 @@
|
|
|
36
39
|
min-width: 0;
|
|
37
40
|
}
|
|
38
41
|
|
|
39
|
-
&
|
|
40
|
-
|
|
42
|
+
&__title {
|
|
43
|
+
padding-right: 125px;
|
|
41
44
|
}
|
|
42
45
|
|
|
43
46
|
&__controls {
|
|
@@ -53,5 +56,21 @@
|
|
|
53
56
|
|
|
54
57
|
&__tablets-content {
|
|
55
58
|
margin-top: var(--g-spacing-4);
|
|
59
|
+
|
|
60
|
+
.data-table__sticky_moving {
|
|
61
|
+
// Override the table's inline sticky offset.
|
|
62
|
+
top: var(--sticky-tabs-height) !important;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&__tabs {
|
|
67
|
+
z-index: 3;
|
|
68
|
+
|
|
69
|
+
height: var(--sticky-tabs-height);
|
|
70
|
+
margin-bottom: 0;
|
|
71
|
+
padding-right: 125px;
|
|
72
|
+
|
|
73
|
+
@include mixins.sticky-top();
|
|
74
|
+
@include mixins.tabs-wrapper-styles();
|
|
56
75
|
}
|
|
57
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const vDiskPageKeyset: (key: "count" | "storage" | "size" | "tablets" | "node" | "tablet-id" | "action_open-in-developer-ui" | "action_go-to-pdisk" | "
|
|
1
|
+
export declare const vDiskPageKeyset: (key: "count" | "storage" | "size" | "tablets" | "node" | "tablet-id" | "action_open-in-developer-ui" | "action_go-to-pdisk" | "vdisk" | "pdisk" | "channel-id", params?: import("@gravity-ui/i18n").Params) => string;
|
|
@@ -87,6 +87,7 @@ export declare const useDetailedStorageViewAvailable: () => boolean | undefined;
|
|
|
87
87
|
export declare const useNewStorageViewEnabled: () => boolean | undefined;
|
|
88
88
|
export declare const useBlobIndexStatWithVdiskId: () => boolean;
|
|
89
89
|
export declare const useStorageGroupsHandlerHasGrouping: () => boolean;
|
|
90
|
+
export declare const useViewerNodesAliveFilterAvailable: () => boolean;
|
|
90
91
|
export declare const useViewerNodesHandlerHasGrouping: () => boolean;
|
|
91
92
|
export declare const useViewerNodesHandlerHasGroupingBySystemState: () => boolean;
|
|
92
93
|
export declare const useViewerNodesHandlerHasNetworkStats: () => boolean;
|
|
@@ -66,6 +66,9 @@ export const useBlobIndexStatWithVdiskId = () => {
|
|
|
66
66
|
export const useStorageGroupsHandlerHasGrouping = () => {
|
|
67
67
|
return useGetFeatureVersion('/storage/groups') > 4;
|
|
68
68
|
};
|
|
69
|
+
export const useViewerNodesAliveFilterAvailable = () => {
|
|
70
|
+
return useGetFeatureVersion('/viewer/nodes/alive') >= 1;
|
|
71
|
+
};
|
|
69
72
|
export const useViewerNodesHandlerHasGrouping = () => {
|
|
70
73
|
return useGetFeatureVersion('/viewer/nodes') > 6;
|
|
71
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/store/reducers/capabilities/hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/store/reducers/capabilities/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { NodesGroupByField, NodesPeerRole } from '../../../types/api/nodes'
|
|
|
2
2
|
import type { NodesUptimeFilterValues } from '../../../utils/nodes';
|
|
3
3
|
export interface NodesFilters {
|
|
4
4
|
searchValue: string;
|
|
5
|
+
hideUnavailable?: boolean;
|
|
5
6
|
withProblems: boolean;
|
|
6
7
|
uptimeFilter: NodesUptimeFilterValues;
|
|
7
8
|
peerRoleFilter?: NodesPeerRole;
|
|
@@ -18,6 +18,7 @@ export declare const storageTypeSchema: z.ZodCatch<z.ZodEnum<{
|
|
|
18
18
|
export type StorageType = z.infer<typeof storageTypeSchema>;
|
|
19
19
|
export interface PreparedStorageNodeFilters {
|
|
20
20
|
searchValue: string;
|
|
21
|
+
hideUnavailable?: boolean;
|
|
21
22
|
nodesUptimeFilter: NodesUptimeFilterValues;
|
|
22
23
|
visibleEntities: VisibleEntities;
|
|
23
24
|
database?: string;
|
|
@@ -14,7 +14,7 @@ export interface CapabilitiesResponse {
|
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
export type Capability = '/pdisk/info' | '/scheme/directory' | '/storage/groups' | '/viewer/storage_stats' | '/viewer/query' | '/viewer/feature_flags' | '/viewer/config' | '/viewer/cluster' | '/vdisk/blobindexstat' | '/viewer/nodes' | '/viewer/peers' | '/viewer/acl' | '/viewer/topic_data' | '/operation/list';
|
|
17
|
+
export type Capability = '/pdisk/info' | '/scheme/directory' | '/storage/groups' | '/viewer/storage_stats' | '/viewer/query' | '/viewer/feature_flags' | '/viewer/config' | '/viewer/cluster' | '/vdisk/blobindexstat' | '/viewer/nodes' | '/viewer/nodes/alive' | '/viewer/peers' | '/viewer/acl' | '/viewer/topic_data' | '/operation/list';
|
|
18
18
|
export type SecuritySetting = 'UseLoginProvider' | 'DomainLoginOnly';
|
|
19
19
|
export type FeatureSetting = 'EnableAnalyzeLongRunningOperation' | 'EnableTabletDevUiSecurePath';
|
|
20
20
|
export interface MetaCapabilitiesResponse {
|
|
@@ -231,6 +231,8 @@ export interface NodesRequestParams {
|
|
|
231
231
|
uptime?: number;
|
|
232
232
|
/** return nodes with SystemState !== EFlag.Green */
|
|
233
233
|
problems_only?: boolean;
|
|
234
|
+
/** exclude disconnected nodes; requires /viewer/nodes/alive capability */
|
|
235
|
+
alive?: boolean;
|
|
234
236
|
/** filter nodes by id or host */
|
|
235
237
|
filter?: string;
|
|
236
238
|
filter_peer_role?: NodesPeerRole;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BooleanParam, useQueryParam } from 'use-query-params';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { useCapabilitiesLoaded, useViewerNodesAliveFilterAvailable, } from '../../store/reducers/capabilities/hooks';
|
|
5
|
+
const hideUnavailableSchema = z.boolean().catch(false);
|
|
6
|
+
export function useHideUnavailableNodes() {
|
|
7
|
+
const [value, setValue] = useQueryParam('hideUnavailable', BooleanParam);
|
|
8
|
+
const available = useViewerNodesAliveFilterAvailable();
|
|
9
|
+
const capabilitiesLoaded = useCapabilitiesLoaded();
|
|
10
|
+
const hideUnavailable = available && hideUnavailableSchema.parse(value);
|
|
11
|
+
React.useEffect(() => {
|
|
12
|
+
if (capabilitiesLoaded && !available && value !== undefined) {
|
|
13
|
+
setValue(undefined, 'replaceIn');
|
|
14
|
+
}
|
|
15
|
+
}, [available, capabilitiesLoaded, setValue, value]);
|
|
16
|
+
const handleHideUnavailableChange = React.useCallback((checked) => {
|
|
17
|
+
setValue(checked || undefined, 'replaceIn');
|
|
18
|
+
}, [setValue]);
|
|
19
|
+
return { available, hideUnavailable, handleHideUnavailableChange };
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=useHideUnavailableNodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHideUnavailableNodes.js","sourceRoot":"","sources":["../../../src/utils/hooks/useHideUnavailableNodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EACH,qBAAqB,EACrB,kCAAkC,GACrC,MAAM,yCAAyC,CAAC;AAEjD,MAAM,qBAAqB,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAEvD,MAAM,UAAU,uBAAuB;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,kCAAkC,EAAE,CAAC;IACvD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,eAAe,GAAG,SAAS,IAAI,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAExE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,kBAAkB,IAAI,CAAC,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1D,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAErD,MAAM,2BAA2B,GAAG,KAAK,CAAC,WAAW,CACjD,CAAC,OAAgB,EAAE,EAAE;QACjB,QAAQ,CAAC,OAAO,IAAI,SAAS,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC,EACD,CAAC,QAAQ,CAAC,CACb,CAAC;IAEF,OAAO,EAAC,SAAS,EAAE,eAAe,EAAE,2BAA2B,EAAC,CAAC;AACrE,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.ydb-sticky-auto-refresh-control {
|
|
2
|
+
// Match the cluster page: the floating control does not allocate a header row.
|
|
3
|
+
position: sticky;
|
|
4
|
+
z-index: 4;
|
|
5
|
+
top: 74px;
|
|
6
|
+
left: 0;
|
|
7
|
+
|
|
8
|
+
// Keep the initial page inset in the flow.
|
|
9
|
+
margin-bottom: 20px;
|
|
10
|
+
|
|
11
|
+
&__control {
|
|
12
|
+
float: right;
|
|
13
|
+
|
|
14
|
+
margin-top: -54px;
|
|
15
|
+
|
|
16
|
+
background-color: var(--g-color-base-background);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {cn} from '../../utils/cn';
|
|
2
|
+
|
|
3
|
+
import {AutoRefreshControl} from './AutoRefreshControl';
|
|
4
|
+
|
|
5
|
+
import './StickyAutoRefreshControl.scss';
|
|
6
|
+
|
|
7
|
+
const b = cn('ydb-sticky-auto-refresh-control');
|
|
8
|
+
|
|
9
|
+
export function StickyAutoRefreshControl() {
|
|
10
|
+
return (
|
|
11
|
+
<div className={b()}>
|
|
12
|
+
<AutoRefreshControl className={b('control')} />
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {Switch} from '@gravity-ui/uikit';
|
|
2
|
+
|
|
3
|
+
import {useHideUnavailableNodes} from '../../utils/hooks/useHideUnavailableNodes';
|
|
4
|
+
|
|
5
|
+
import i18n from './i18n';
|
|
6
|
+
|
|
7
|
+
export function HideUnavailableNodesSwitch({className}: {className?: string}) {
|
|
8
|
+
const {available, hideUnavailable, handleHideUnavailableChange} = useHideUnavailableNodes();
|
|
9
|
+
|
|
10
|
+
if (!available) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<Switch
|
|
16
|
+
className={className}
|
|
17
|
+
size="m"
|
|
18
|
+
checked={hideUnavailable}
|
|
19
|
+
onUpdate={handleHideUnavailableChange}
|
|
20
|
+
content={i18n('action_hide-unavailable')}
|
|
21
|
+
qa="hide-unavailable-nodes"
|
|
22
|
+
/>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import {Flex} from '@gravity-ui/uikit';
|
|
2
|
-
|
|
3
1
|
import {cn} from '../../utils/cn';
|
|
4
|
-
import {AutoRefreshControl} from '../AutoRefreshControl/AutoRefreshControl';
|
|
5
2
|
import {Skeleton} from '../Skeleton/Skeleton';
|
|
6
3
|
|
|
7
4
|
import './PageMeta.scss';
|
|
@@ -10,7 +7,6 @@ const b = cn('ydb-page-meta');
|
|
|
10
7
|
|
|
11
8
|
interface PageMetaProps {
|
|
12
9
|
items: (string | undefined)[];
|
|
13
|
-
className?: string;
|
|
14
10
|
loading?: boolean;
|
|
15
11
|
}
|
|
16
12
|
|
|
@@ -27,17 +23,3 @@ export function PageMeta({items, loading}: PageMetaProps) {
|
|
|
27
23
|
|
|
28
24
|
return <div className={b('info')}>{renderContent()}</div>;
|
|
29
25
|
}
|
|
30
|
-
|
|
31
|
-
export function PageMetaWithAutorefresh({className, ...rest}: PageMetaProps) {
|
|
32
|
-
return (
|
|
33
|
-
<Flex
|
|
34
|
-
gap={1}
|
|
35
|
-
alignItems="center"
|
|
36
|
-
justifyContent="space-between"
|
|
37
|
-
className={b(null, className)}
|
|
38
|
-
>
|
|
39
|
-
<PageMeta {...rest} />
|
|
40
|
-
<AutoRefreshControl />
|
|
41
|
-
</Flex>
|
|
42
|
-
);
|
|
43
|
-
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
@use '../../styles/mixins';
|
|
2
2
|
|
|
3
3
|
.node {
|
|
4
|
+
--sticky-tabs-height: 40px;
|
|
5
|
+
--data-table-start: var(--sticky-tabs-height);
|
|
4
6
|
--ydb-configs-controls-height: 62px;
|
|
5
|
-
--ydb-configs-container-height: calc(100vh - var(--header-height));
|
|
7
|
+
--ydb-configs-container-height: calc(100vh - var(--header-height) - var(--sticky-tabs-height));
|
|
6
8
|
position: relative;
|
|
7
9
|
|
|
8
10
|
overflow: auto;
|
|
@@ -22,7 +24,11 @@
|
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
&__meta {
|
|
25
|
-
|
|
27
|
+
display: flex;
|
|
28
|
+
align-items: center;
|
|
29
|
+
|
|
30
|
+
min-height: 28px;
|
|
31
|
+
padding-right: 121px;
|
|
26
32
|
}
|
|
27
33
|
|
|
28
34
|
&__tabs,
|
|
@@ -31,6 +37,12 @@
|
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
&__tabs {
|
|
40
|
+
z-index: 3;
|
|
41
|
+
|
|
42
|
+
height: var(--sticky-tabs-height);
|
|
43
|
+
padding-right: 125px;
|
|
44
|
+
|
|
45
|
+
@include mixins.sticky-top();
|
|
34
46
|
@include mixins.tabs-wrapper-styles();
|
|
35
47
|
}
|
|
36
48
|
&__treads {
|
|
@@ -6,12 +6,13 @@ import {Helmet} from 'react-helmet-async';
|
|
|
6
6
|
import {useHistory, useRouteMatch} from 'react-router-dom';
|
|
7
7
|
import {useQueryParams} from 'use-query-params';
|
|
8
8
|
|
|
9
|
+
import {StickyAutoRefreshControl} from '../../components/AutoRefreshControl/StickyAutoRefreshControl';
|
|
9
10
|
import {EntityPageTitle} from '../../components/EntityPageTitle/EntityPageTitle';
|
|
10
11
|
import {ResponseError} from '../../components/Errors/ResponseError';
|
|
11
12
|
import {FullNodeViewer} from '../../components/FullNodeViewer/FullNodeViewer';
|
|
12
13
|
import {InfoViewerSkeleton} from '../../components/InfoViewerSkeleton/InfoViewerSkeleton';
|
|
13
14
|
import {InternalLink} from '../../components/InternalLink';
|
|
14
|
-
import {
|
|
15
|
+
import {PageMeta} from '../../components/PageMeta/PageMeta';
|
|
15
16
|
import routes, {getDefaultNodePath} from '../../routes';
|
|
16
17
|
import {
|
|
17
18
|
useCapabilitiesLoaded,
|
|
@@ -161,6 +162,7 @@ export function Node() {
|
|
|
161
162
|
return (
|
|
162
163
|
<div className={b(null)} ref={container}>
|
|
163
164
|
{<NodePageHelmet node={node} activeTabTitle={activeTab.title} />}
|
|
165
|
+
<StickyAutoRefreshControl />
|
|
164
166
|
{<NodePageMeta node={node} loading={pageLoading} />}
|
|
165
167
|
{<NodePageTitle node={node} />}
|
|
166
168
|
{error ? <ResponseError error={error} className={b('error')} /> : null}
|
|
@@ -206,11 +208,9 @@ function NodePageMeta({node, loading}: NodePageMetaProps) {
|
|
|
206
208
|
const dcItem = node?.DC ? `${i18n('dc')}: ${node.DC}` : undefined;
|
|
207
209
|
|
|
208
210
|
return (
|
|
209
|
-
<
|
|
210
|
-
loading={loading}
|
|
211
|
-
|
|
212
|
-
className={b('meta')}
|
|
213
|
-
/>
|
|
211
|
+
<div className={b('meta')}>
|
|
212
|
+
<PageMeta loading={loading} items={[hostItem, dcItem]} />
|
|
213
|
+
</div>
|
|
214
214
|
);
|
|
215
215
|
}
|
|
216
216
|
|
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import {Select, Text} from '@gravity-ui/uikit';
|
|
4
4
|
|
|
5
5
|
import {EntitiesCount} from '../../../components/EntitiesCount';
|
|
6
|
+
import {HideUnavailableNodesSwitch} from '../../../components/HideUnavailableNodesSwitch/HideUnavailableNodesSwitch';
|
|
6
7
|
import {ProblemFilter} from '../../../components/ProblemFilter/ProblemFilter';
|
|
7
8
|
import {Search} from '../../../components/Search';
|
|
8
9
|
import {UptimeFilter} from '../../../components/UptimeFIlter';
|
|
@@ -102,6 +103,7 @@ export function NodesControls({
|
|
|
102
103
|
/>
|
|
103
104
|
</React.Fragment>
|
|
104
105
|
) : null}
|
|
106
|
+
<HideUnavailableNodesSwitch />
|
|
105
107
|
<EntitiesCount
|
|
106
108
|
current={entitiesCountCurrent}
|
|
107
109
|
total={entitiesCountTotal}
|
|
@@ -14,6 +14,7 @@ import {useClusterWithProxy} from '../../store/reducers/cluster/cluster';
|
|
|
14
14
|
import type {NodesFilters} from '../../store/reducers/nodes/types';
|
|
15
15
|
import type {PreparedStorageNode} from '../../store/reducers/storage/types';
|
|
16
16
|
import type {NodesGroupByField, NodesPeerRole} from '../../types/api/nodes';
|
|
17
|
+
import {useHideUnavailableNodes} from '../../utils/hooks/useHideUnavailableNodes';
|
|
17
18
|
import {getIllustration} from '../../utils/illustrations';
|
|
18
19
|
import {NodesUptimeFilterValues} from '../../utils/nodes';
|
|
19
20
|
import {renderPaginatedTableErrorMessage} from '../../utils/renderPaginatedTableErrorMessage';
|
|
@@ -61,6 +62,7 @@ export function NodesTable({
|
|
|
61
62
|
onDataFetched,
|
|
62
63
|
}: NodesTableProps) {
|
|
63
64
|
const history = useHistory();
|
|
65
|
+
const {hideUnavailable} = useHideUnavailableNodes();
|
|
64
66
|
const SuccessImage = getIllustration('SuccessOperation');
|
|
65
67
|
|
|
66
68
|
const useMetaProxy = useClusterWithProxy();
|
|
@@ -71,6 +73,7 @@ export function NodesTable({
|
|
|
71
73
|
useMetaProxy,
|
|
72
74
|
database,
|
|
73
75
|
searchValue,
|
|
76
|
+
hideUnavailable,
|
|
74
77
|
withProblems,
|
|
75
78
|
uptimeFilter,
|
|
76
79
|
peerRoleFilter,
|
|
@@ -78,6 +81,7 @@ export function NodesTable({
|
|
|
78
81
|
filterGroupBy,
|
|
79
82
|
};
|
|
80
83
|
}, [
|
|
84
|
+
hideUnavailable,
|
|
81
85
|
path,
|
|
82
86
|
databaseFullPath,
|
|
83
87
|
useMetaProxy,
|
|
@@ -14,6 +14,7 @@ import {nodesApi} from '../../../store/reducers/nodes/nodes';
|
|
|
14
14
|
import type {PreparedStorageNode} from '../../../store/reducers/storage/types';
|
|
15
15
|
import type {NodesGroupByField, NodesPeerRole} from '../../../types/api/nodes';
|
|
16
16
|
import {useAutoRefreshInterval} from '../../../utils/hooks';
|
|
17
|
+
import {useHideUnavailableNodes} from '../../../utils/hooks/useHideUnavailableNodes';
|
|
17
18
|
import {useSelectedColumns} from '../../../utils/hooks/useSelectedColumns';
|
|
18
19
|
import {NodesUptimeFilterValues} from '../../../utils/nodes';
|
|
19
20
|
import {TableGroup} from '../../Storage/TableGroup/TableGroup';
|
|
@@ -127,6 +128,7 @@ export function GroupedNodesComponent({
|
|
|
127
128
|
const searchFilter = useDebouncedSearch(searchValue);
|
|
128
129
|
const useMetaProxy = useClusterWithProxy();
|
|
129
130
|
const [autoRefreshInterval] = useAutoRefreshInterval();
|
|
131
|
+
const {hideUnavailable} = useHideUnavailableNodes();
|
|
130
132
|
|
|
131
133
|
const {columnsToShow, columnsToSelect, setColumns} = useSelectedColumns(
|
|
132
134
|
columns,
|
|
@@ -147,6 +149,7 @@ export function GroupedNodesComponent({
|
|
|
147
149
|
{
|
|
148
150
|
path: schemaPathParam,
|
|
149
151
|
database,
|
|
152
|
+
alive: hideUnavailable || undefined,
|
|
150
153
|
filter: searchFilter.trim(),
|
|
151
154
|
filter_peer_role: peerRoleFilter,
|
|
152
155
|
group: groupByParam,
|
|
@@ -9,6 +9,7 @@ import type {NodesColumn} from '../../../components/nodesColumns/types';
|
|
|
9
9
|
import {useViewerNodesHandlerHasGrouping} from '../../../store/reducers/capabilities/hooks';
|
|
10
10
|
import type {PreparedStorageNode} from '../../../store/reducers/storage/types';
|
|
11
11
|
import type {NodesGroupByField} from '../../../types/api/nodes';
|
|
12
|
+
import {useHideUnavailableNodes} from '../../../utils/hooks/useHideUnavailableNodes';
|
|
12
13
|
import {useSelectedColumns} from '../../../utils/hooks/useSelectedColumns';
|
|
13
14
|
import {NodesTable} from '../NodesTable';
|
|
14
15
|
import {useDebouncedSearch} from '../useDebouncedSearch';
|
|
@@ -49,6 +50,7 @@ export function NodesComponent({
|
|
|
49
50
|
);
|
|
50
51
|
const searchFilter = useDebouncedSearch(searchValue);
|
|
51
52
|
const viewerNodesHandlerHasGrouping = useViewerNodesHandlerHasGrouping();
|
|
53
|
+
const {hideUnavailable} = useHideUnavailableNodes();
|
|
52
54
|
|
|
53
55
|
const {columnsToShow, columnsToSelect, setColumns} = useSelectedColumns(
|
|
54
56
|
columns,
|
|
@@ -91,7 +93,13 @@ export function NodesComponent({
|
|
|
91
93
|
}
|
|
92
94
|
tableWrapperProps={{
|
|
93
95
|
scrollContainerRef,
|
|
94
|
-
scrollDependencies: [
|
|
96
|
+
scrollDependencies: [
|
|
97
|
+
searchFilter,
|
|
98
|
+
withProblems,
|
|
99
|
+
uptimeFilter,
|
|
100
|
+
peerRoleFilter,
|
|
101
|
+
hideUnavailable,
|
|
102
|
+
],
|
|
95
103
|
}}
|
|
96
104
|
/>
|
|
97
105
|
);
|
|
@@ -27,6 +27,7 @@ export const getNodes: FetchData<
|
|
|
27
27
|
useMetaProxy,
|
|
28
28
|
database,
|
|
29
29
|
searchValue,
|
|
30
|
+
hideUnavailable,
|
|
30
31
|
withProblems,
|
|
31
32
|
uptimeFilter,
|
|
32
33
|
peerRoleFilter,
|
|
@@ -53,6 +54,7 @@ export const getNodes: FetchData<
|
|
|
53
54
|
path: schemePathParam,
|
|
54
55
|
database,
|
|
55
56
|
filter: searchValue?.trim(),
|
|
57
|
+
alive: hideUnavailable || undefined,
|
|
56
58
|
problems_only: withProblems,
|
|
57
59
|
uptime: getUptimeParamValue(uptimeFilter),
|
|
58
60
|
filter_peer_role: peerRoleFilter,
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
@use '../../styles//mixins.scss';
|
|
2
2
|
|
|
3
3
|
.ydb-pdisk-page {
|
|
4
|
+
--sticky-tabs-height: 40px;
|
|
5
|
+
--data-table-start: var(--sticky-tabs-height);
|
|
4
6
|
position: relative;
|
|
5
7
|
|
|
6
8
|
overflow: auto;
|
|
7
9
|
overflow-anchor: none;
|
|
8
10
|
|
|
9
11
|
height: 100%;
|
|
10
|
-
padding:
|
|
12
|
+
padding: 0 20px;
|
|
11
13
|
|
|
12
|
-
&__meta,
|
|
13
14
|
&__title,
|
|
14
15
|
&__storage-details,
|
|
15
16
|
&__info,
|
|
@@ -32,8 +33,8 @@
|
|
|
32
33
|
min-width: 0;
|
|
33
34
|
}
|
|
34
35
|
|
|
35
|
-
&
|
|
36
|
-
|
|
36
|
+
&__title {
|
|
37
|
+
padding-right: 125px;
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
&__storage-details {
|
|
@@ -56,6 +57,12 @@
|
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
&__tabs {
|
|
60
|
+
z-index: 3;
|
|
61
|
+
|
|
62
|
+
height: var(--sticky-tabs-height);
|
|
63
|
+
padding-right: 125px;
|
|
64
|
+
|
|
65
|
+
@include mixins.sticky-top();
|
|
59
66
|
@include mixins.tabs-wrapper-styles();
|
|
60
67
|
}
|
|
61
68
|
}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import {ArrowRotateLeft, Wrench} from '@gravity-ui/icons';
|
|
4
|
+
import {Flex, Icon, Tab, TabList, TabProvider, Text} from '@gravity-ui/uikit';
|
|
5
5
|
import {skipToken} from '@reduxjs/toolkit/query';
|
|
6
6
|
import {Helmet} from 'react-helmet-async';
|
|
7
|
-
import {useHistory} from 'react-router-dom';
|
|
8
7
|
import {StringParam, useQueryParams} from 'use-query-params';
|
|
9
8
|
import {z} from 'zod';
|
|
10
9
|
|
|
11
|
-
import {
|
|
10
|
+
import {StickyAutoRefreshControl} from '../../components/AutoRefreshControl/StickyAutoRefreshControl';
|
|
12
11
|
import {ButtonWithConfirmDialog} from '../../components/ButtonWithConfirmDialog/ButtonWithConfirmDialog';
|
|
13
12
|
import {CopyableValue} from '../../components/CopyableValue/CopyableValue';
|
|
14
13
|
import {DiskStatusLabel, DiskTypeLabel} from '../../components/DiskStatus/DiskStatus';
|
|
@@ -70,8 +69,6 @@ const pDiskTabSchema = z.nativeEnum(PDISK_TABS_IDS).catch(PDISK_TABS_IDS.spaceDi
|
|
|
70
69
|
|
|
71
70
|
export function PDiskPage() {
|
|
72
71
|
const dispatch = useTypedDispatch();
|
|
73
|
-
const history = useHistory();
|
|
74
|
-
const showBackButton = history.length > 1;
|
|
75
72
|
const hasDeveloperUi = useHasDeveloperUi();
|
|
76
73
|
|
|
77
74
|
const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges();
|
|
@@ -144,26 +141,6 @@ export function PDiskPage() {
|
|
|
144
141
|
);
|
|
145
142
|
};
|
|
146
143
|
|
|
147
|
-
const renderPageMeta = () => {
|
|
148
|
-
if (!showBackButton) {
|
|
149
|
-
return null;
|
|
150
|
-
}
|
|
151
|
-
return (
|
|
152
|
-
<Flex
|
|
153
|
-
className={pdiskPageCn('meta')}
|
|
154
|
-
alignItems="center"
|
|
155
|
-
justifyContent="space-between"
|
|
156
|
-
gap={1}
|
|
157
|
-
>
|
|
158
|
-
<Button size="m" view="outlined" onClick={() => history.goBack()}>
|
|
159
|
-
<Icon data={ArrowLeft} size={16} />
|
|
160
|
-
{pDiskPageKeyset('action_back')}
|
|
161
|
-
</Button>
|
|
162
|
-
<AutoRefreshControl className={pdiskPageCn('refresh-control')} />
|
|
163
|
-
</Flex>
|
|
164
|
-
);
|
|
165
|
-
};
|
|
166
|
-
|
|
167
144
|
const renderPageTitle = () => {
|
|
168
145
|
const statusLabels = [
|
|
169
146
|
{id: 'state', label: getPDiskStateLabel(pDiskData?.State)},
|
|
@@ -199,9 +176,6 @@ export function PDiskPage() {
|
|
|
199
176
|
<DiskTypeLabel type={pDiskData?.Type} size="s" />
|
|
200
177
|
</Flex>
|
|
201
178
|
</Flex>
|
|
202
|
-
{!showBackButton && (
|
|
203
|
-
<AutoRefreshControl className={pdiskPageCn('refresh-control')} />
|
|
204
|
-
)}
|
|
205
179
|
</Flex>
|
|
206
180
|
);
|
|
207
181
|
};
|
|
@@ -310,7 +284,7 @@ export function PDiskPage() {
|
|
|
310
284
|
return (
|
|
311
285
|
<div className={pdiskPageCn(null)} ref={containerRef}>
|
|
312
286
|
{renderHelmet()}
|
|
313
|
-
|
|
287
|
+
<StickyAutoRefreshControl />
|
|
314
288
|
{renderPageTitle()}
|
|
315
289
|
{renderControls()}
|
|
316
290
|
{renderError()}
|