ydb-embedded-ui 4.25.0 → 4.26.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +7 -0
- package/README.md +39 -0
- package/dist/components/BasicNodeViewer/BasicNodeViewer.scss +3 -11
- package/dist/components/CircularProgressBar/CircularProgressBar.scss +4 -4
- package/dist/components/DateRange/DateRange.scss +3 -3
- package/dist/components/DiagnosticCard/DiagnosticCard.scss +4 -4
- package/dist/components/Divider/Divider.scss +1 -1
- package/dist/components/EmptyState/EmptyState.scss +8 -9
- package/dist/components/EntityStatus/EntityStatus.scss +19 -29
- package/dist/components/ExternalLinkWithIcon/ExternalLinkWithIcon.tsx +2 -2
- package/dist/components/FullNodeViewer/FullNodeViewer.scss +1 -4
- package/dist/components/Fullscreen/Fullscreen.scss +2 -9
- package/dist/components/Icon/Icon.tsx +1 -5
- package/dist/components/InfoViewer/InfoViewer.scss +6 -6
- package/dist/components/LabelWithPopover/LabelWithPopover.tsx +3 -2
- package/dist/components/NodeHostWrapper/NodeHostWrapper.tsx +2 -2
- package/dist/components/PoolBar/PoolBar.scss +6 -6
- package/dist/components/PoolUsage/PoolUsage.scss +15 -17
- package/dist/components/ProgressViewer/ProgressViewer.scss +17 -16
- package/dist/components/QueryExecutionStatus/QueryExecutionStatus.scss +3 -3
- package/dist/components/SpeedMultiMeter/SpeedMultiMeter.scss +5 -5
- package/dist/components/SpeedMultiMeter/SpeedMultiMeter.tsx +12 -13
- package/dist/components/SplitPane/SplitPane.scss +5 -5
- package/dist/components/TableSkeleton/TableSkeleton.scss +1 -1
- package/dist/components/Tablet/Tablet.scss +10 -10
- package/dist/components/TabletsStatistic/TabletsStatistic.scss +13 -13
- package/dist/components/Tag/Tag.scss +3 -3
- package/dist/components/TruncatedQuery/TruncatedQuery.scss +1 -1
- package/dist/components/UsageLabel/UsageLabel.scss +2 -2
- package/dist/components/UsageLabel/UsageLabel.tsx +1 -1
- package/dist/components/VirtualTable/VirtualTable.scss +3 -3
- package/dist/containers/App/App.scss +20 -24
- package/dist/containers/AsideNavigation/AsideNavigation.scss +1 -4
- package/dist/containers/Authentication/Authentication.scss +4 -4
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +4 -6
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.tsx +1 -1
- package/dist/containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.scss +3 -3
- package/dist/containers/Cluster/VersionsBar/VersionsBar.tsx +1 -1
- package/dist/containers/Header/Header.scss +1 -1
- package/dist/containers/Heatmap/Heatmap.scss +3 -5
- package/dist/containers/Heatmap/Histogram/Histogram.scss +6 -6
- package/dist/containers/Node/NodeStructure/NodeStructure.scss +10 -13
- package/dist/containers/Node/NodeStructure/Pdisk.tsx +1 -1
- package/dist/containers/ReduxTooltip/ReduxTooltip.js +1 -1
- package/dist/containers/ReduxTooltip/ReduxTooltip.scss +1 -18
- package/dist/containers/Storage/DiskStateProgressBar/DiskStateProgressBar.scss +23 -23
- package/dist/containers/Storage/PDisk/PDisk.scss +4 -4
- package/dist/containers/Storage/PDiskPopup/PDiskPopup.tsx +1 -1
- package/dist/containers/Storage/Storage.scss +1 -1
- package/dist/containers/Storage/StorageGroups/StorageGroups.scss +1 -1
- package/dist/containers/Storage/UsageFilter/UsageFilter.scss +7 -6
- package/dist/containers/Storage/VDiskPopup/VDiskPopup.scss +1 -1
- package/dist/containers/Storage/VDiskPopup/VDiskPopup.tsx +1 -1
- package/dist/containers/Tablet/Tablet.scss +5 -5
- package/dist/containers/TabletsFilters/TabletsFilters.scss +2 -3
- package/dist/containers/Tenant/Acl/Acl.scss +1 -15
- package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.scss +0 -4
- package/dist/containers/Tenant/Diagnostics/Consumers/TopicStats/ConsumersTopicStats.scss +5 -4
- package/dist/containers/Tenant/Diagnostics/DetailedOverview/DetailedOverview.scss +0 -6
- package/dist/containers/Tenant/Diagnostics/Diagnostics.scss +2 -2
- package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.scss +2 -2
- package/dist/containers/Tenant/Diagnostics/Network/Network.scss +8 -10
- package/dist/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.scss +8 -8
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.scss +1 -5
- package/dist/containers/Tenant/Diagnostics/Partitions/PartitionsControls/PartitionsControls.tsx +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/Healthcheck.scss +12 -12
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.scss +1 -36
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.scss +3 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.scss +7 -7
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +2 -2
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.scss +1 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.scss +4 -8
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.tsx +2 -1
- package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.scss +3 -6
- package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.scss +2 -5
- package/dist/containers/Tenant/Query/Issues/Issues.scss +11 -14
- package/dist/containers/Tenant/Query/Preview/Preview.scss +3 -7
- package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.scss +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.scss +3 -9
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.scss +0 -9
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.tsx +11 -13
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.scss +5 -5
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.tsx +3 -3
- package/dist/containers/Tenant/Tenant.scss +1 -2
- package/dist/containers/Tenant/utils/schemaControls.tsx +2 -2
- package/dist/containers/UserSettings/Setting.tsx +5 -1
- package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.scss +2 -3
- package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.scss +1 -1
- package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.tsx +1 -1
- package/dist/index.tsx +1 -0
- package/dist/styles/mixins.scss +37 -35
- package/dist/styles/themes/dark-hc.scss +296 -0
- package/dist/styles/themes/dark.scss +297 -0
- package/dist/styles/themes/light-hc.scss +289 -0
- package/dist/styles/themes/light.scss +291 -0
- package/dist/styles/themes.scss +73 -0
- package/package.json +7 -6
- package/dist/containers/App/TipPopup/TipPopup.js +0 -66
- package/dist/containers/App/TipPopup/TipPopup.scss +0 -46
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [4.26.0](https://github.com/ydb-platform/ydb-embedded-ui/compare/v4.25.0...v4.26.0) (2023-12-14)
|
4
|
+
|
5
|
+
|
6
|
+
### Features
|
7
|
+
|
8
|
+
* update to uikit5 ([#607](https://github.com/ydb-platform/ydb-embedded-ui/issues/607)) ([ddd263b](https://github.com/ydb-platform/ydb-embedded-ui/commit/ddd263bd39d4de262e6c891dce6c6ff6ba2a3379))
|
9
|
+
|
3
10
|
## [4.25.0](https://github.com/ydb-platform/ydb-embedded-ui/compare/v4.24.0...v4.25.0) (2023-12-07)
|
4
11
|
|
5
12
|
|
package/README.md
CHANGED
@@ -2,6 +2,18 @@
|
|
2
2
|
|
3
3
|
Local viewer for YDB clusters
|
4
4
|
|
5
|
+
[Docs for users](https://ydb.tech/en/docs/maintenance/embedded_monitoring/ydb_monitoring)
|
6
|
+
|
7
|
+
## Preview
|
8
|
+
|
9
|
+
You can preview working UI using YDB docker image. It will be UI with the latest stable ydb version.
|
10
|
+
|
11
|
+
Run on a machine with Docker installed:
|
12
|
+
```
|
13
|
+
docker pull cr.yandex/yc/yandex-docker-local-ydb
|
14
|
+
docker run -dp 8765:8765 cr.yandex/yc/yandex-docker-local-ydb
|
15
|
+
```
|
16
|
+
|
5
17
|
## Development
|
6
18
|
|
7
19
|
1. Run on a machine with Docker installed:
|
@@ -15,6 +27,21 @@ Local viewer for YDB clusters
|
|
15
27
|
|
16
28
|
For API reference, open Swagger UI on http://localhost:8765/viewer/api/.
|
17
29
|
|
30
|
+
### YDB docker images
|
31
|
+
|
32
|
+
[Docs on YDB docker images](https://ydb.tech/en/docs/getting_started/self_hosted/ydb_docker)
|
33
|
+
|
34
|
+
Image `cr.yandex/yc/yandex-docker-local-ydb` corresponds to `:latest` tag. It's the latest stable ydb version.
|
35
|
+
|
36
|
+
To test new features, you can use ydb version that is currently in testing mode with `cr.yandex/yc/yandex-docker-local-ydb:edge` image. Also you can set specific version like `cr.yandex/yc/yandex-docker-local-ydb:23.1`
|
37
|
+
|
38
|
+
### Custom backend in dev mode
|
39
|
+
|
40
|
+
YDB docker represents a single node cluster with only one version, small amount of storage groups, PDisks and VDisks. It may be not enough for development purposes. If you have your own development cluster with sufficient amount of entities, you can run the app in the dev mode with this cluster as backend. To do it, set you host to `REACT_APP_BACKEND` variable in `dev` script. For example:
|
41
|
+
```
|
42
|
+
"dev": "DISABLE_ESLINT_PLUGIN=true TSC_COMPILE_ON_ERROR=true REACT_APP_BACKEND=http://your-cluster-host:8765 npm start"
|
43
|
+
```
|
44
|
+
|
18
45
|
## E2E Tests
|
19
46
|
|
20
47
|
For e2e tests we use `@playwright/tests`. Tests configuration is in `playwright.config.ts`. Tests are set up in `tests` dir.
|
@@ -49,3 +76,15 @@ To test production bundle with latest YDB backend release, do the following:
|
|
49
76
|
1. Build a production bundle with a few tweaks for embedded version: `npm run build:embedded`.
|
50
77
|
2. Invoke `docker run -it --hostname localhost -dp 2135:2135 -p 8765:8765 -v ~/projects/ydb-embedded-ui/build:/ydb_data/node_1/contentmonitoring cr.yandex/yc/yandex-docker-local-ydb:latest`
|
51
78
|
3. Open [embedded YDB UI](http://localhost:8765/monitoring) to view it in the browser.
|
79
|
+
|
80
|
+
### Testing production bundle with specific cluster host
|
81
|
+
|
82
|
+
If you want to test embedded version in production mode, but YDB docker is not enough and you have your own ydb development cluster, you can manually update UI for the specific cluster host.
|
83
|
+
|
84
|
+
It also could be usefull for development purposes, because some operations, that are not 'read-only', like some update queries or tablets restart could be allowed by CORS only for the same origin and so could not be executed in dev mode.
|
85
|
+
|
86
|
+
1. Create production bundle with `npm run build:embedded`
|
87
|
+
2. Copy your build files from `build` folder to `/contentmonitoring` folder on desired cluster host
|
88
|
+
3. Open `http://your-cluster-host:8765/monitoring` to see updated UI
|
89
|
+
|
90
|
+
It's assumed, that you have all the necessary access rights to update files on the host.
|
@@ -1,20 +1,17 @@
|
|
1
1
|
@import '../../styles/mixins.scss';
|
2
2
|
|
3
3
|
.basic-node-viewer {
|
4
|
-
font-size: var(--yc-text-body-2-font-size);
|
5
|
-
line-height: var(--yc-text-body-2-line-height);
|
6
|
-
|
7
4
|
display: flex;
|
8
5
|
align-items: center;
|
9
6
|
|
10
7
|
margin: 15px 0;
|
11
8
|
|
9
|
+
@include body-2-typography();
|
10
|
+
|
12
11
|
&__title {
|
13
12
|
margin: 0 20px 0 0;
|
14
13
|
|
15
|
-
font-size: var(--yc-text-body-2-font-size);
|
16
14
|
font-weight: 600;
|
17
|
-
line-height: var(--yc-text-body-2-line-height);
|
18
15
|
text-transform: uppercase;
|
19
16
|
}
|
20
17
|
|
@@ -25,15 +22,10 @@
|
|
25
22
|
&__label {
|
26
23
|
margin-right: 10px;
|
27
24
|
|
28
|
-
font-size: var(--yc-text-body-2-font-size);
|
29
25
|
line-height: 18px;
|
30
26
|
white-space: nowrap;
|
31
27
|
|
32
|
-
color: var(--
|
33
|
-
|
34
|
-
.yc-root_theme_dark & {
|
35
|
-
color: var(--yc-color-text-hint);
|
36
|
-
}
|
28
|
+
color: var(--g-color-text-hint);
|
37
29
|
}
|
38
30
|
|
39
31
|
&__link {
|
@@ -21,7 +21,7 @@
|
|
21
21
|
}
|
22
22
|
|
23
23
|
&__circle-bg {
|
24
|
-
stroke: var(--
|
24
|
+
stroke: var(--g-color-base-simple-hover);
|
25
25
|
|
26
26
|
fill: none;
|
27
27
|
}
|
@@ -30,13 +30,13 @@
|
|
30
30
|
fill: none;
|
31
31
|
|
32
32
|
&_status_good {
|
33
|
-
stroke: var(--
|
33
|
+
stroke: var(--ydb-color-status-green);
|
34
34
|
}
|
35
35
|
&_status_warning {
|
36
|
-
stroke: var(--
|
36
|
+
stroke: var(--ydb-color-status-yellow);
|
37
37
|
}
|
38
38
|
&_status_danger {
|
39
|
-
stroke: var(--
|
39
|
+
stroke: var(--ydb-color-status-red);
|
40
40
|
}
|
41
41
|
}
|
42
42
|
}
|
@@ -3,9 +3,9 @@
|
|
3
3
|
min-width: 190px;
|
4
4
|
padding: 5px 8px;
|
5
5
|
|
6
|
-
color: var(--
|
7
|
-
border: 1px solid var(--
|
8
|
-
border-radius: var(--
|
6
|
+
color: var(--g-color-text-primary);
|
7
|
+
border: 1px solid var(--g-color-line-generic);
|
8
|
+
border-radius: var(--g-border-radius-m);
|
9
9
|
background: transparent;
|
10
10
|
}
|
11
11
|
}
|
@@ -5,18 +5,18 @@
|
|
5
5
|
padding: 16px;
|
6
6
|
padding-bottom: 28px;
|
7
7
|
|
8
|
-
border: 1px solid var(--
|
8
|
+
border: 1px solid var(--g-color-line-generic);
|
9
9
|
border-radius: 8px;
|
10
10
|
background-color: transparent;
|
11
11
|
|
12
12
|
&_active {
|
13
|
-
border-color: var(--
|
14
|
-
background-color: var(--
|
13
|
+
border-color: var(--g-color-base-info-medium);
|
14
|
+
background-color: var(--g-color-base-selection);
|
15
15
|
}
|
16
16
|
|
17
17
|
&:hover {
|
18
18
|
cursor: pointer;
|
19
19
|
|
20
|
-
box-shadow: 0px 1px 5px var(--
|
20
|
+
box-shadow: 0px 1px 5px var(--g-color-sfx-shadow);
|
21
21
|
}
|
22
22
|
}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
@import '../../styles/mixins.scss';
|
2
|
+
|
1
3
|
.empty-state {
|
2
4
|
padding: 20px;
|
3
5
|
|
@@ -31,10 +33,10 @@
|
|
31
33
|
|
32
34
|
margin-right: 60px;
|
33
35
|
|
34
|
-
color: var(--
|
36
|
+
color: var(--g-color-base-info-light-hover);
|
35
37
|
|
36
|
-
.
|
37
|
-
color: var(--
|
38
|
+
.g-root_theme_dark & {
|
39
|
+
color: var(--g-color-base-generic);
|
38
40
|
}
|
39
41
|
}
|
40
42
|
|
@@ -45,21 +47,18 @@
|
|
45
47
|
font-weight: 500;
|
46
48
|
|
47
49
|
&_size_s {
|
48
|
-
|
49
|
-
line-height: var(--yc-text-subheader-3-line-height);
|
50
|
+
@include lead-typography();
|
50
51
|
}
|
51
52
|
|
52
53
|
&_size_m {
|
53
|
-
|
54
|
-
line-height: var(--yc-text-header-2-line-height);
|
54
|
+
@include header-2-typography();
|
55
55
|
}
|
56
56
|
}
|
57
57
|
|
58
58
|
&__description {
|
59
59
|
grid-area: description;
|
60
60
|
|
61
|
-
|
62
|
-
line-height: var(--yc-text-body-2-line-height);
|
61
|
+
@include body-2-typography();
|
63
62
|
}
|
64
63
|
|
65
64
|
&__actions {
|
@@ -1,3 +1,5 @@
|
|
1
|
+
@import '../../styles/mixins.scss';
|
2
|
+
|
1
3
|
.entity-status {
|
2
4
|
display: inline-flex;
|
3
5
|
align-items: center;
|
@@ -5,11 +7,11 @@
|
|
5
7
|
max-width: 100%;
|
6
8
|
height: 100%;
|
7
9
|
|
8
|
-
|
9
|
-
line-height: var(--yc-text-body-2-line-height);
|
10
|
+
@include body-2-typography();
|
10
11
|
|
11
12
|
&__clipboard-button {
|
12
13
|
display: none;
|
14
|
+
justify-content: center;
|
13
15
|
align-items: center;
|
14
16
|
|
15
17
|
margin-left: 8px;
|
@@ -33,28 +35,22 @@
|
|
33
35
|
a {
|
34
36
|
text-decoration: none;
|
35
37
|
|
36
|
-
color: var(--
|
38
|
+
color: var(--g-color-text-link);
|
37
39
|
}
|
38
40
|
|
39
41
|
a:hover {
|
40
|
-
color: var(--
|
42
|
+
color: var(--g-color-text-link-hover);
|
41
43
|
}
|
42
44
|
|
43
45
|
&__label {
|
44
46
|
margin-right: 2px;
|
45
47
|
|
46
|
-
|
47
|
-
line-height: var(--yc-text-body-2-line-height);
|
48
|
-
|
49
|
-
color: var(--yc-color-text-complementary);
|
48
|
+
color: var(--g-color-text-complementary);
|
50
49
|
|
51
|
-
|
52
|
-
font-size: var(--yc-text-body-2-font-size);
|
53
|
-
line-height: var(--yc-text-body-2-line-height);
|
54
|
-
}
|
50
|
+
@include body-2-typography();
|
55
51
|
|
56
52
|
&_size_l {
|
57
|
-
font-size: var(--
|
53
|
+
font-size: var(--g-text-header-2-font-size);
|
58
54
|
}
|
59
55
|
}
|
60
56
|
|
@@ -108,45 +104,39 @@
|
|
108
104
|
&__status-color {
|
109
105
|
&_state_running,
|
110
106
|
&_state_green {
|
111
|
-
background-color: var(--
|
107
|
+
background-color: var(--ydb-color-status-green);
|
112
108
|
}
|
113
109
|
&_state_yellow {
|
114
|
-
background-color: var(--
|
110
|
+
background-color: var(--ydb-color-status-yellow);
|
115
111
|
}
|
116
112
|
&_state_blue {
|
117
|
-
background-color: var(--
|
113
|
+
background-color: var(--ydb-color-status-blue);
|
118
114
|
}
|
119
|
-
|
120
115
|
&_state_red {
|
121
|
-
background: var(--
|
116
|
+
background-color: var(--ydb-color-status-red);
|
122
117
|
}
|
123
118
|
&_state_gray,
|
124
119
|
&_state_grey {
|
125
|
-
background: var(--
|
120
|
+
background-color: var(--ydb-color-status-grey);
|
126
121
|
}
|
127
122
|
&_state_orange {
|
128
|
-
background: var(--
|
123
|
+
background-color: var(--ydb-color-status-orange);
|
129
124
|
}
|
130
125
|
}
|
131
126
|
|
132
127
|
&__label,
|
133
128
|
&__status-icon {
|
134
129
|
&_state_blue {
|
135
|
-
color: var(--
|
130
|
+
color: var(--ydb-color-status-blue);
|
136
131
|
}
|
137
132
|
&_state_yellow {
|
138
|
-
color: var(--
|
133
|
+
color: var(--ydb-color-status-yellow);
|
139
134
|
}
|
140
135
|
&_state_orange {
|
141
|
-
color: var(--
|
136
|
+
color: var(--ydb-color-status-orange);
|
142
137
|
}
|
143
138
|
&_state_red {
|
144
|
-
color: var(--
|
139
|
+
color: var(--ydb-color-status-red);
|
145
140
|
}
|
146
141
|
}
|
147
|
-
|
148
|
-
&_size_m {
|
149
|
-
font-size: var(--yc-text-body-2-font-size);
|
150
|
-
line-height: var(--yc-text-body-2-line-height);
|
151
|
-
}
|
152
142
|
}
|
@@ -2,7 +2,7 @@ import block from 'bem-cn-lite';
|
|
2
2
|
|
3
3
|
import {Link} from '@gravity-ui/uikit';
|
4
4
|
|
5
|
-
import {
|
5
|
+
import {Icon} from '../Icon/Icon';
|
6
6
|
|
7
7
|
import './ExternalLinkWithIcon.scss';
|
8
8
|
|
@@ -18,7 +18,7 @@ export const ExternalLinkWithIcon = ({title, url}: ExternalLinkWithIconProps) =>
|
|
18
18
|
<Link href={url} target="_blank" className={b()}>
|
19
19
|
{title}
|
20
20
|
{'\u00a0'}
|
21
|
-
<
|
21
|
+
<Icon name="external" viewBox={'0 0 16 16'} width={16} height={16} />
|
22
22
|
</Link>
|
23
23
|
);
|
24
24
|
};
|
@@ -1,8 +1,7 @@
|
|
1
1
|
@import '../../styles/mixins.scss';
|
2
2
|
|
3
3
|
.full-node-viewer {
|
4
|
-
|
5
|
-
line-height: var(--yc-text-body-2-line-height);
|
4
|
+
@include body-2-typography();
|
6
5
|
|
7
6
|
&__common-info {
|
8
7
|
display: flex;
|
@@ -29,8 +28,6 @@
|
|
29
28
|
&__section-title {
|
30
29
|
margin: 15px 0 10px;
|
31
30
|
|
32
|
-
font-size: var(--yc-text-body-2-font-size);
|
33
31
|
font-weight: 600;
|
34
|
-
line-height: var(--yc-text-body-2-line-height);
|
35
32
|
}
|
36
33
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.kv-fullscreen {
|
2
2
|
// should expand to fill the content area, keeping aside navigation visible
|
3
|
-
// counts on .
|
3
|
+
// counts on .gn-aside-header__content to have position: relative, it is set in App.scss
|
4
4
|
position: absolute;
|
5
5
|
z-index: 10;
|
6
6
|
top: 0;
|
@@ -12,19 +12,12 @@
|
|
12
12
|
overflow: hidden;
|
13
13
|
flex-grow: 1;
|
14
14
|
|
15
|
-
background-color: var(--
|
15
|
+
background-color: var(--g-color-base-background);
|
16
16
|
|
17
17
|
&__close-button {
|
18
18
|
position: fixed;
|
19
19
|
z-index: 11;
|
20
20
|
top: 8px;
|
21
21
|
right: 20px;
|
22
|
-
|
23
|
-
.yc-button__text {
|
24
|
-
display: flex;
|
25
|
-
align-items: center;
|
26
|
-
|
27
|
-
margin: 0 6px;
|
28
|
-
}
|
29
22
|
}
|
30
23
|
}
|
@@ -32,8 +32,4 @@ export const Icon = ({
|
|
32
32
|
);
|
33
33
|
};
|
34
34
|
|
35
|
-
|
36
|
-
// IconWrapper overrides displayName to 'Icon', so it will be considered as an icon with right styles
|
37
|
-
export const IconWrapper = (props: IconProps) => <Icon {...props} />;
|
38
|
-
|
39
|
-
IconWrapper.displayName = 'Icon';
|
35
|
+
Icon.displayName = 'Icon';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.info-viewer {
|
2
|
-
--ydb-info-viewer-font-size: var(--
|
3
|
-
--ydb-info-viewer-line-height: var(--
|
2
|
+
--ydb-info-viewer-font-size: var(--g-text-body-2-font-size);
|
3
|
+
--ydb-info-viewer-line-height: var(--g-text-body-2-line-height);
|
4
4
|
--ydb-info-viewer-title-font-weight: 600;
|
5
5
|
--ydb-info-viewer-title-margin: 15px 0 10px;
|
6
6
|
--ydb-info-viewer-items-gap: 7px;
|
@@ -39,7 +39,7 @@
|
|
39
39
|
|
40
40
|
white-space: nowrap;
|
41
41
|
|
42
|
-
color: var(--
|
42
|
+
color: var(--g-color-text-secondary);
|
43
43
|
}
|
44
44
|
|
45
45
|
&__label-text {
|
@@ -58,7 +58,7 @@
|
|
58
58
|
|
59
59
|
margin: 0 2px;
|
60
60
|
|
61
|
-
border-bottom: 1px dotted var(--
|
61
|
+
border-bottom: 1px dotted var(--g-color-text-secondary);
|
62
62
|
}
|
63
63
|
|
64
64
|
&__value {
|
@@ -71,8 +71,8 @@
|
|
71
71
|
|
72
72
|
&_size {
|
73
73
|
&_s {
|
74
|
-
--ydb-info-viewer-font-size: var(--
|
75
|
-
--ydb-info-viewer-line-height: var(--
|
74
|
+
--ydb-info-viewer-font-size: var(--g-text-body-1-font-size);
|
75
|
+
--ydb-info-viewer-line-height: var(--g-text-body-1-line-height);
|
76
76
|
--ydb-info-viewer-title-font-weight: 500;
|
77
77
|
--ydb-info-viewer-title-margin: 0 0 4px;
|
78
78
|
--ydb-info-viewer-items-gap: 4px;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type {ReactNode} from 'react';
|
2
2
|
|
3
|
-
import {HelpPopover} from '@gravity-ui/
|
3
|
+
import {HelpPopover} from '@gravity-ui/components';
|
4
4
|
|
5
5
|
interface LabelWithPopoverProps {
|
6
6
|
text: ReactNode;
|
@@ -16,7 +16,8 @@ export const LabelWithPopover = ({
|
|
16
16
|
contentClassName,
|
17
17
|
}: LabelWithPopoverProps) => (
|
18
18
|
<div className={className}>
|
19
|
-
{text
|
19
|
+
{text}
|
20
|
+
{'\u00a0'}
|
20
21
|
<HelpPopover content={popoverContent} contentClassName={contentClassName} />
|
21
22
|
</div>
|
22
23
|
);
|
@@ -9,7 +9,7 @@ import {isUnavailableNode} from '../../utils/nodes';
|
|
9
9
|
|
10
10
|
import EntityStatus from '../EntityStatus/EntityStatus';
|
11
11
|
import {NodeEndpointsTooltipContent} from '../TooltipsContent';
|
12
|
-
import {
|
12
|
+
import {Icon} from '../Icon';
|
13
13
|
import {CellWithPopover} from '../CellWithPopover/CellWithPopover';
|
14
14
|
|
15
15
|
import './NodeHostWrapper.scss';
|
@@ -56,7 +56,7 @@ export const NodeHostWrapper = ({node, getNodeRef}: NodeHostWrapperProps) => {
|
|
56
56
|
className={b('external-button')}
|
57
57
|
target="_blank"
|
58
58
|
>
|
59
|
-
<
|
59
|
+
<Icon name="external" />
|
60
60
|
</Button>
|
61
61
|
)}
|
62
62
|
</div>
|
@@ -20,13 +20,13 @@
|
|
20
20
|
}
|
21
21
|
|
22
22
|
&_type_normal {
|
23
|
-
border-color: var(--
|
23
|
+
border-color: var(--ydb-color-status-green);
|
24
24
|
}
|
25
25
|
&_type_warning {
|
26
|
-
border-color: var(--
|
26
|
+
border-color: var(--ydb-color-status-yellow);
|
27
27
|
}
|
28
28
|
&_type_danger {
|
29
|
-
border-color: var(--
|
29
|
+
border-color: var(--ydb-color-status-red);
|
30
30
|
}
|
31
31
|
|
32
32
|
&__value {
|
@@ -37,13 +37,13 @@
|
|
37
37
|
min-height: 1px;
|
38
38
|
|
39
39
|
&_type_normal {
|
40
|
-
background-color: var(--
|
40
|
+
background-color: var(--ydb-color-status-green);
|
41
41
|
}
|
42
42
|
&_type_warning {
|
43
|
-
background-color: var(--
|
43
|
+
background-color: var(--ydb-color-status-yellow);
|
44
44
|
}
|
45
45
|
&_type_danger {
|
46
|
-
background-color: var(--
|
46
|
+
background-color: var(--ydb-color-status-red);
|
47
47
|
}
|
48
48
|
}
|
49
49
|
}
|
@@ -1,6 +1,8 @@
|
|
1
|
+
@import '../../styles/mixins.scss';
|
2
|
+
|
1
3
|
.ydb-pool-usage {
|
2
|
-
|
3
|
-
|
4
|
+
@include body-2-typography();
|
5
|
+
|
4
6
|
&__info {
|
5
7
|
display: flex;
|
6
8
|
justify-content: space-between;
|
@@ -8,7 +10,7 @@
|
|
8
10
|
}
|
9
11
|
|
10
12
|
&__pool-name {
|
11
|
-
color: var(--
|
13
|
+
color: var(--g-color-text-primary);
|
12
14
|
}
|
13
15
|
|
14
16
|
&__value {
|
@@ -17,21 +19,17 @@
|
|
17
19
|
}
|
18
20
|
|
19
21
|
&__threads {
|
20
|
-
font-size: var(--
|
22
|
+
font-size: var(--g-text-body-1-font-size);
|
21
23
|
|
22
|
-
color: var(--
|
23
|
-
|
24
|
-
.yc-root_theme_dark & {
|
25
|
-
color: var(--yc-color-text-hint);
|
26
|
-
}
|
24
|
+
color: var(--g-color-text-hint);
|
27
25
|
}
|
28
26
|
|
29
27
|
&__percents {
|
30
28
|
margin-right: 2px;
|
31
29
|
|
32
|
-
font-size: var(--
|
30
|
+
font-size: var(--g-text-body-1-font-size);
|
33
31
|
|
34
|
-
color: var(--
|
32
|
+
color: var(--g-color-text-primary);
|
35
33
|
}
|
36
34
|
|
37
35
|
&__visual {
|
@@ -44,10 +42,10 @@
|
|
44
42
|
|
45
43
|
height: 6px;
|
46
44
|
|
47
|
-
font-size: var(--
|
45
|
+
font-size: var(--g-text-body-2-font-size);
|
48
46
|
|
49
47
|
border-radius: 4px;
|
50
|
-
background-color: var(--
|
48
|
+
background-color: var(--g-color-base-generic-accent);
|
51
49
|
}
|
52
50
|
|
53
51
|
&__usage-line {
|
@@ -58,16 +56,16 @@
|
|
58
56
|
height: 100%;
|
59
57
|
|
60
58
|
&_type_green {
|
61
|
-
background-color: var(--
|
59
|
+
background-color: var(--ydb-color-status-green);
|
62
60
|
}
|
63
61
|
&_type_blue {
|
64
|
-
background-color: var(--
|
62
|
+
background-color: var(--ydb-color-status-blue);
|
65
63
|
}
|
66
64
|
&_type_yellow {
|
67
|
-
background-color: var(--
|
65
|
+
background-color: var(--ydb-color-status-yellow);
|
68
66
|
}
|
69
67
|
&_type_red {
|
70
|
-
background-color: var(--
|
68
|
+
background-color: var(--ydb-color-status-red);
|
71
69
|
}
|
72
70
|
}
|
73
71
|
}
|