ydb-embedded-ui 15.3.0 → 15.5.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/__mocks__/svgMock.d.ts +2 -0
- package/dist/__mocks__/svgMock.js +2 -0
- package/dist/__mocks__/svgMock.js.map +1 -0
- package/dist/assets/icons/monium.svg +3 -0
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +11 -0
- package/dist/components/DropdownMenu/DropdownMenu.js +32 -0
- package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.scss +14 -0
- package/dist/components/DropdownMenu/index.d.ts +2 -0
- package/dist/components/DropdownMenu/index.js +2 -0
- package/dist/components/DropdownMenu/index.js.map +1 -0
- package/dist/components/EntityStatusNew/EntityStatus.d.ts +2 -1
- package/dist/components/EntityStatusNew/EntityStatus.js +3 -2
- package/dist/components/EntityStatusNew/EntityStatus.js.map +1 -1
- package/dist/components/EntityStatusNew/EntityStatus.scss +4 -0
- package/dist/components/LinkWithIcon/LinkWithIcon.d.ts +4 -1
- package/dist/components/LinkWithIcon/LinkWithIcon.js +7 -6
- package/dist/components/LinkWithIcon/LinkWithIcon.js.map +1 -1
- package/dist/containers/App/Content.js +3 -2
- package/dist/containers/App/Content.js.map +1 -1
- package/dist/containers/App/legacyRedirects.d.ts +13 -0
- package/dist/containers/App/legacyRedirects.js +14 -0
- package/dist/containers/App/legacyRedirects.js.map +1 -0
- package/dist/containers/App/legacyRedirects.test.d.ts +1 -0
- package/dist/containers/App/legacyRedirects.test.js +52 -0
- package/dist/containers/App/legacyRedirects.test.js.map +1 -0
- package/dist/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.d.ts +6 -0
- package/dist/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.js +8 -3
- package/dist/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.js.map +1 -1
- package/dist/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.scss +2 -1
- package/dist/containers/Cluster/Cluster.js +13 -9
- package/dist/containers/Cluster/Cluster.js.map +1 -1
- package/dist/containers/Cluster/ClusterDrawerHealthcheck.d.ts +15 -0
- package/dist/containers/Cluster/ClusterDrawerHealthcheck.js +70 -0
- package/dist/containers/Cluster/ClusterDrawerHealthcheck.js.map +1 -0
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +10 -10
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +2 -1
- package/dist/containers/Cluster/i18n/en.json +3 -4
- package/dist/containers/Cluster/i18n/index.d.ts +1 -1
- package/dist/containers/Cluster/utils.d.ts +2 -2
- package/dist/containers/Cluster/utils.js +1 -1
- package/dist/containers/Cluster/utils.js.map +1 -1
- package/dist/containers/Clusters/ClusterDrawerHealthcheck.d.ts +9 -0
- package/dist/containers/Clusters/ClusterDrawerHealthcheck.js +49 -0
- package/dist/containers/Clusters/ClusterDrawerHealthcheck.js.map +1 -0
- package/dist/containers/Clusters/Clusters.js +17 -3
- package/dist/containers/Clusters/Clusters.js.map +1 -1
- package/dist/containers/Clusters/Clusters.scss +11 -0
- package/dist/containers/Clusters/columns.d.ts +1 -0
- package/dist/containers/Clusters/columns.js +9 -4
- package/dist/containers/Clusters/columns.js.map +1 -1
- package/dist/containers/Clusters/i18n/en.json +1 -2
- package/dist/containers/Clusters/i18n/index.d.ts +1 -1
- package/dist/containers/Header/ClusterMonitoringControl.d.ts +6 -0
- package/dist/containers/Header/ClusterMonitoringControl.js +7 -0
- package/dist/containers/Header/ClusterMonitoringControl.js.map +1 -0
- package/dist/containers/Header/ClusterRightControls.d.ts +9 -0
- package/dist/containers/Header/ClusterRightControls.js +48 -0
- package/dist/containers/Header/ClusterRightControls.js.map +1 -0
- package/dist/containers/Header/ClustersHomeControls.d.ts +1 -0
- package/dist/containers/Header/ClustersHomeControls.js +13 -0
- package/dist/containers/Header/ClustersHomeControls.js.map +1 -0
- package/dist/containers/Header/DatabaseRightControls.d.ts +12 -0
- package/dist/containers/Header/DatabaseRightControls.js +15 -0
- package/dist/containers/Header/DatabaseRightControls.js.map +1 -0
- package/dist/containers/Header/GlobalRightControls.d.ts +1 -0
- package/dist/containers/Header/GlobalRightControls.js +9 -0
- package/dist/containers/Header/GlobalRightControls.js.map +1 -0
- package/dist/containers/Header/Header.d.ts +1 -1
- package/dist/containers/Header/Header.js +27 -191
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Header/HeaderActionsMenu.js +6 -7
- package/dist/containers/Header/HeaderActionsMenu.js.map +1 -1
- package/dist/containers/Header/HeaderBreadcrumbs.d.ts +8 -0
- package/dist/containers/Header/HeaderBreadcrumbs.js +12 -0
- package/dist/containers/Header/HeaderBreadcrumbs.js.map +1 -0
- package/dist/containers/Header/HeaderLeftControls.d.ts +8 -0
- package/dist/containers/Header/HeaderLeftControls.js +15 -0
- package/dist/containers/Header/HeaderLeftControls.js.map +1 -0
- package/dist/containers/Header/HeaderRightControls.d.ts +20 -0
- package/dist/containers/Header/HeaderRightControls.js +14 -0
- package/dist/containers/Header/HeaderRightControls.js.map +1 -0
- package/dist/containers/Header/constants.js +3 -0
- package/dist/containers/Header/constants.js.map +1 -0
- package/dist/containers/Header/hooks/useClusterData.d.ts +38 -0
- package/dist/containers/Header/hooks/useClusterData.js +46 -0
- package/dist/containers/Header/hooks/useClusterData.js.map +1 -0
- package/dist/containers/Header/hooks/useDatabaseData.d.ts +14 -0
- package/dist/containers/Header/hooks/useDatabaseData.js +36 -0
- package/dist/containers/Header/hooks/useDatabaseData.js.map +1 -0
- package/dist/containers/Header/hooks/useHeaderBreadcrumbs.d.ts +22 -0
- package/dist/containers/Header/hooks/useHeaderBreadcrumbs.js +35 -0
- package/dist/containers/Header/hooks/useHeaderBreadcrumbs.js.map +1 -0
- package/dist/containers/Header/hooks/useHeaderClusterLinks.d.ts +2 -0
- package/dist/containers/Header/hooks/useHeaderClusterLinks.js +11 -0
- package/dist/containers/Header/hooks/useHeaderClusterLinks.js.map +1 -0
- package/dist/containers/Header/hooks/useHeaderData.d.ts +19 -0
- package/dist/containers/Header/hooks/useHeaderData.js +29 -0
- package/dist/containers/Header/hooks/useHeaderData.js.map +1 -0
- package/dist/containers/Header/hooks/useHeaderPageContext.d.ts +19 -0
- package/dist/containers/Header/hooks/useHeaderPageContext.js +48 -0
- package/dist/containers/Header/hooks/useHeaderPageContext.js.map +1 -0
- package/dist/containers/Header/i18n/en.json +5 -2
- package/dist/containers/Header/i18n/index.d.ts +1 -1
- package/dist/containers/HomePage/HomePage.js +2 -1
- package/dist/containers/HomePage/HomePage.js.map +1 -1
- package/dist/containers/HomePage/HomePage.scss +5 -0
- package/dist/containers/Node/NodePages.d.ts +1 -0
- package/dist/containers/Node/NodePages.js +1 -0
- package/dist/containers/Node/NodePages.js.map +1 -1
- package/dist/containers/Tablets/Tablets.js +43 -3
- package/dist/containers/Tablets/Tablets.js.map +1 -1
- package/dist/containers/Tablets/TabletsTable.d.ts +6 -1
- package/dist/containers/Tablets/TabletsTable.js +12 -2
- package/dist/containers/Tablets/TabletsTable.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +2 -1
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +18 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +5 -0
- package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/__test__/DiagnosticsPages.test.js +26 -0
- package/dist/containers/Tenant/Diagnostics/__test__/DiagnosticsPages.test.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Healthcheck/Healthcheck.d.ts +9 -3
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js +18 -3
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/HealthcheckContext.d.ts +11 -0
- package/dist/containers/Tenant/Healthcheck/HealthcheckContext.js +6 -0
- package/dist/containers/Tenant/Healthcheck/HealthcheckContext.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js +3 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js +15 -6
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.js +3 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js +5 -2
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/i18n/en.json +1 -0
- package/dist/containers/Tenant/Healthcheck/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Healthcheck/useHealthcheck.d.ts +3 -0
- package/dist/containers/Tenant/Healthcheck/useHealthcheck.js +16 -1
- package/dist/containers/Tenant/Healthcheck/useHealthcheck.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +16 -4
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/QueryInfoDropdown.d.ts +0 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/QueryInfoDropdown.js +3 -4
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/QueryInfoDropdown.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.d.ts +2 -7
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js +9 -15
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js.map +1 -1
- package/dist/containers/Tenant/TenantNavigation/useTenantNavigation.js +24 -6
- package/dist/containers/Tenant/TenantNavigation/useTenantNavigation.js.map +1 -1
- package/dist/containers/Tenant/TenantPages.d.ts +2 -2
- package/dist/containers/Tenant/TenantPages.js.map +1 -1
- package/dist/containers/Tenants/TenantsTable.js +1 -1
- package/dist/containers/Tenants/TenantsTable.js.map +1 -1
- package/dist/containers/Tenants/i18n/en.json +1 -0
- package/dist/containers/Tenants/i18n/index.d.ts +1 -1
- package/dist/containers/UserSettings/i18n/en.json +1 -1
- package/dist/routes.d.ts +6 -2
- package/dist/routes.js +20 -6
- package/dist/routes.js.map +1 -1
- package/dist/routes.test.js +37 -1
- package/dist/routes.test.js.map +1 -1
- package/dist/services/api/meta.d.ts +4 -0
- package/dist/services/api/meta.js +3 -0
- package/dist/services/api/meta.js.map +1 -1
- package/dist/store/reducers/cluster/__test__/parseFields.test.js +73 -1
- package/dist/store/reducers/cluster/__test__/parseFields.test.js.map +1 -1
- package/dist/store/reducers/cluster/cluster.d.ts +2 -1
- package/dist/store/reducers/cluster/cluster.js +2 -1
- package/dist/store/reducers/cluster/cluster.js.map +1 -1
- package/dist/store/reducers/cluster/parseFields.d.ts +2 -1
- package/dist/store/reducers/cluster/parseFields.js +19 -0
- package/dist/store/reducers/cluster/parseFields.js.map +1 -1
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +1482 -0
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.js +23 -0
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.js.map +1 -1
- package/dist/store/reducers/healthcheckInfo/utils.d.ts +2 -1
- package/dist/store/reducers/healthcheckInfo/utils.js +8 -1
- package/dist/store/reducers/healthcheckInfo/utils.js.map +1 -1
- package/dist/store/reducers/tenant/constants.d.ts +2 -1
- package/dist/store/reducers/tenant/constants.js +4 -1
- package/dist/store/reducers/tenant/constants.js.map +1 -1
- package/dist/store/state-url-mapping.d.ts +94 -0
- package/dist/store/state-url-mapping.js +54 -94
- package/dist/store/state-url-mapping.js.map +1 -1
- package/dist/types/additionalProps.d.ts +16 -2
- package/dist/types/api/healthcheck.d.ts +2 -0
- package/dist/types/api/meta.d.ts +9 -0
- package/dist/utils/clusterLinks/__test__/resolveClusterLinks.test.d.ts +1 -0
- package/dist/utils/clusterLinks/__test__/resolveClusterLinks.test.js +503 -0
- package/dist/utils/clusterLinks/__test__/resolveClusterLinks.test.js.map +1 -0
- package/dist/utils/clusterLinks/clusterLinkConstants.d.ts +12 -0
- package/dist/utils/clusterLinks/clusterLinkConstants.js +23 -0
- package/dist/utils/clusterLinks/clusterLinkConstants.js.map +1 -0
- package/dist/utils/clusterLinks/i18n/en.json +8 -0
- package/dist/utils/clusterLinks/i18n/index.d.ts +2 -0
- package/dist/utils/clusterLinks/i18n/index.js +5 -0
- package/dist/utils/clusterLinks/i18n/index.js.map +1 -0
- package/dist/utils/clusterLinks/resolveClusterLinks.d.ts +34 -0
- package/dist/utils/clusterLinks/resolveClusterLinks.js +198 -0
- package/dist/utils/clusterLinks/resolveClusterLinks.js.map +1 -0
- package/dist/utils/clusterLinks/useClusterLinks.d.ts +2 -0
- package/dist/utils/clusterLinks/useClusterLinks.js +10 -0
- package/dist/utils/clusterLinks/useClusterLinks.js.map +1 -0
- package/dist/utils/queryParams.d.ts +4 -0
- package/dist/utils/queryParams.js +14 -0
- package/dist/utils/queryParams.js.map +1 -0
- package/package.json +1 -1
- package/dist/assets/icons/monitoring.svg +0 -9
- package/dist/containers/Cluster/ClusterInfo/utils/useClusterLinks.d.ts +0 -2
- package/dist/containers/Cluster/ClusterInfo/utils/useClusterLinks.js +0 -29
- package/dist/containers/Cluster/ClusterInfo/utils/useClusterLinks.js.map +0 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/QueryInfoDropdown.scss +0 -17
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/shared.js +0 -3
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/shared.js.map +0 -1
- /package/dist/containers/{Tenant/Query/QueryResult/components/QueryInfoDropdown/shared.d.ts → Header/constants.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svgMock.js","sourceRoot":"","sources":["../../src/__mocks__/svgMock.ts"],"names":[],"mappings":"AAAA,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { DropdownMenuItem, DropdownMenuProps as GravityDropdownMenuProps, IconProps } from '@gravity-ui/uikit';
|
|
3
|
+
import './DropdownMenu.scss';
|
|
4
|
+
export interface DropdownMenuItemWithDescription<T = HTMLElement> extends Omit<DropdownMenuItem<T>, 'text' | 'iconStart'> {
|
|
5
|
+
description?: React.ReactNode;
|
|
6
|
+
iconStart?: IconProps['data'];
|
|
7
|
+
}
|
|
8
|
+
export interface DropdownMenuProps<T = HTMLElement> extends Omit<GravityDropdownMenuProps<T>, 'items'> {
|
|
9
|
+
items: (DropdownMenuItemWithDescription<T> | DropdownMenuItemWithDescription<T>[])[];
|
|
10
|
+
}
|
|
11
|
+
export declare function DropdownMenu<T = HTMLElement>({ items, ...props }: DropdownMenuProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Flex, DropdownMenu as GravityDropdownMenu, Icon, Text } from '@gravity-ui/uikit';
|
|
4
|
+
import { cn } from '../../utils/cn';
|
|
5
|
+
import './DropdownMenu.scss';
|
|
6
|
+
const b = cn('ydb-dropdown-menu');
|
|
7
|
+
function renderMenuItemText({ title, description, }) {
|
|
8
|
+
return (_jsxs(Flex, { direction: "column", className: b('item-content'), children: [_jsx(Text, { className: b('item-title'), children: title }), description ? (_jsx(Text, { color: "secondary", className: b('item-description'), children: description })) : null] }));
|
|
9
|
+
}
|
|
10
|
+
function mapMenuItem(item) {
|
|
11
|
+
const { title, description, iconStart, className, ...restItem } = item;
|
|
12
|
+
return {
|
|
13
|
+
...restItem,
|
|
14
|
+
text: renderMenuItemText({ title, description }),
|
|
15
|
+
iconStart: iconStart ? (_jsx(Icon, { data: iconStart, className: b('icon', { 'with-description': Boolean(description) }) })) : undefined,
|
|
16
|
+
className: [className, b('menu-item', { 'with-description': Boolean(description) })]
|
|
17
|
+
.filter(Boolean)
|
|
18
|
+
.join(' '),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function DropdownMenu({ items, ...props }) {
|
|
22
|
+
const mappedItems = React.useMemo(() => {
|
|
23
|
+
return items.map((group) => {
|
|
24
|
+
if (Array.isArray(group)) {
|
|
25
|
+
return group.map(mapMenuItem);
|
|
26
|
+
}
|
|
27
|
+
return mapMenuItem(group);
|
|
28
|
+
});
|
|
29
|
+
}, [items]);
|
|
30
|
+
return _jsx(GravityDropdownMenu, { ...props, items: mappedItems });
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=DropdownMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownMenu.js","sourceRoot":"","sources":["../../../src/components/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAC,IAAI,EAAE,YAAY,IAAI,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAExF,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;AAalC,SAAS,kBAAkB,CAAC,EACxB,KAAK,EACL,WAAW,GACkD;IAC7D,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,aACjD,KAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,YAAG,KAAK,GAAQ,EAC/C,WAAW,CAAC,CAAC,CAAC,CACX,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,YACnD,WAAW,GACT,CACV,CAAC,CAAC,CAAC,IAAI,IACL,CACV,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAChB,IAAwC;IAExC,MAAM,EAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAC,GAAG,IAAI,CAAC;IAErE,OAAO;QACH,GAAG,QAAQ;QACX,IAAI,EAAE,kBAAkB,CAAC,EAAC,KAAK,EAAE,WAAW,EAAC,CAAC;QAC9C,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CACnB,KAAC,IAAI,IACD,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,EAAC,CAAC,GAClE,CACL,CAAC,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,EAAC,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC;aAC7E,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC;KACM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,YAAY,CAAkB,EAAC,KAAK,EAAE,GAAG,KAAK,EAAuB;IACjF,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAuC,GAAG,EAAE;QACzE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,KAAC,mBAAmB,OAAK,KAAK,EAAE,KAAK,EAAE,WAAW,GAAI,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
.ydb-dropdown-menu {
|
|
2
|
+
&__item-content {
|
|
3
|
+
padding: var(--g-spacing-1) 0;
|
|
4
|
+
}
|
|
5
|
+
&__icon {
|
|
6
|
+
margin-right: calc(var(--g-spacing-1) + var(--g-spacing-half));
|
|
7
|
+
}
|
|
8
|
+
&__icon_with-description {
|
|
9
|
+
margin-top: calc(var(--g-spacing-1) + var(--g-spacing-half));
|
|
10
|
+
}
|
|
11
|
+
&__menu-item_with-description {
|
|
12
|
+
align-items: flex-start;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DropdownMenu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC"}
|
|
@@ -9,8 +9,9 @@ interface EntityStatusLabelProps {
|
|
|
9
9
|
withStatusName?: boolean;
|
|
10
10
|
size?: LabelProps['size'];
|
|
11
11
|
iconSize?: number;
|
|
12
|
+
onClick?: () => void;
|
|
12
13
|
}
|
|
13
|
-
declare function EntityStatusLabel({ children, status, withStatusName, note, size, iconSize, }: EntityStatusLabelProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
declare function EntityStatusLabel({ children, status, withStatusName, note, size, iconSize, onClick, }: EntityStatusLabelProps): import("react/jsx-runtime").JSX.Element;
|
|
14
15
|
interface EntityStatusProps {
|
|
15
16
|
children?: React.ReactNode;
|
|
16
17
|
className?: string;
|
|
@@ -35,9 +35,10 @@ const EFlagToStatusName = {
|
|
|
35
35
|
return i18n('title_blue');
|
|
36
36
|
},
|
|
37
37
|
};
|
|
38
|
-
function EntityStatusLabel({ children, status, withStatusName = true, note, size = 'm', iconSize = 14, }) {
|
|
38
|
+
function EntityStatusLabel({ children, status, withStatusName = true, note, size = 'm', iconSize = 14, onClick, }) {
|
|
39
39
|
const theme = EFlagToLabelTheme[status];
|
|
40
|
-
|
|
40
|
+
const isClickable = Boolean(onClick);
|
|
41
|
+
return (_jsx(ActionTooltip, { title: EFlagToDescription[status], disabled: Boolean(note), children: _jsx(Label, { theme: theme === 'orange' ? undefined : theme, icon: _jsx(StatusIcon, { size: iconSize, status: status }), size: size, className: b({ orange: theme === 'orange', clickable: isClickable }), onClick: onClick, interactive: isClickable, children: _jsxs(Flex, { gap: "2", wrap: "nowrap", children: [children, withStatusName ? EFlagToStatusName[status] : null, note && _jsx(HelpMark, { className: b('note'), children: note })] }) }) }));
|
|
41
42
|
}
|
|
42
43
|
export function EntityStatus({ className, children }) {
|
|
43
44
|
return (_jsx(Flex, { gap: "2", wrap: "nowrap", alignItems: "center", className: b(null, className), children: children }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityStatus.js","sourceRoot":"","sources":["../../../src/components/EntityStatusNew/EntityStatus.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAEvD,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAE3C,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC;AAEtC,MAAM,iBAAiB,GAAkD;IACrE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ;IACrB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM;IACpB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS;IACxB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS;IACvB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ;IACxB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS;CAC5B,CAAC;AAEF,MAAM,iBAAiB,GAA0B;IAC7C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"EntityStatus.js","sourceRoot":"","sources":["../../../src/components/EntityStatusNew/EntityStatus.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import type { IconData } from '@gravity-ui/uikit';
|
|
1
2
|
import './LinkWithIcon.scss';
|
|
2
3
|
interface ExternalLinkWithIconProps {
|
|
3
4
|
title: string;
|
|
4
5
|
url: string;
|
|
5
6
|
external?: boolean;
|
|
6
7
|
className?: string;
|
|
8
|
+
icon?: IconData;
|
|
9
|
+
description?: string;
|
|
7
10
|
}
|
|
8
|
-
export declare const LinkWithIcon: ({ title, url, external, className, }: ExternalLinkWithIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const LinkWithIcon: ({ title, url, external, className, icon, description, }: ExternalLinkWithIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
12
|
export {};
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { ArrowUpRightFromSquare } from '@gravity-ui/icons';
|
|
4
|
-
import { Link } from '@gravity-ui/uikit';
|
|
4
|
+
import { ActionTooltip, Icon, Link } from '@gravity-ui/uikit';
|
|
5
5
|
import { cn } from '../../utils/cn';
|
|
6
6
|
import { InternalLink } from '../InternalLink';
|
|
7
7
|
import './LinkWithIcon.scss';
|
|
8
8
|
const b = cn('ydb-link-with-icon');
|
|
9
|
-
export const LinkWithIcon = ({ title, url, external = true, className, }) => {
|
|
10
|
-
const linkContent = (_jsxs(React.Fragment, { children: [title, '\u00a0', _jsx(ArrowUpRightFromSquare, {})] }));
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
export const LinkWithIcon = ({ title, url, external = true, className, icon, description, }) => {
|
|
10
|
+
const linkContent = (_jsxs(React.Fragment, { children: [icon ? _jsx(Icon, { data: icon, size: 16 }) : null, icon ? '\u00a0' : null, title, '\u00a0', _jsx(ArrowUpRightFromSquare, {})] }));
|
|
11
|
+
const link = external ? (_jsx(Link, { href: url, target: "_blank", className: b(null, className), children: linkContent })) : (_jsx(InternalLink, { to: url, className: b(null, className), children: linkContent }));
|
|
12
|
+
if (description) {
|
|
13
|
+
return (_jsx(ActionTooltip, { title: description, placement: ['top', 'bottom'], children: link }));
|
|
13
14
|
}
|
|
14
|
-
return
|
|
15
|
+
return link;
|
|
15
16
|
};
|
|
16
17
|
//# sourceMappingURL=LinkWithIcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkWithIcon.js","sourceRoot":"","sources":["../../../src/components/LinkWithIcon/LinkWithIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"LinkWithIcon.js","sourceRoot":"","sources":["../../../src/components/LinkWithIcon/LinkWithIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;AAWnC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EACzB,KAAK,EACL,GAAG,EACH,QAAQ,GAAG,IAAI,EACf,SAAS,EACT,IAAI,EACJ,WAAW,GACa,EAAE,EAAE;IAC5B,MAAM,WAAW,GAAG,CAChB,MAAC,KAAK,CAAC,QAAQ,eACV,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,EAC5C,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EACtB,KAAK,EACL,QAAQ,EACT,KAAC,sBAAsB,KAAG,IACb,CACpB,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CACpB,KAAC,IAAI,IAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,YACzD,WAAW,GACT,CACV,CAAC,CAAC,CAAC,CACA,KAAC,YAAY,IAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,YAC/C,WAAW,GACD,CAClB,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,CACH,KAAC,aAAa,IAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,YAC1D,IAAI,GACO,CACnB,CAAC;IACN,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { Unauthenticated } from '../../components/Errors/401';
|
|
|
6
6
|
import { AccessDenied } from '../../components/Errors/403';
|
|
7
7
|
import { LoaderWrapper } from '../../components/LoaderWrapper/LoaderWrapper';
|
|
8
8
|
import { useSlots } from '../../components/slots';
|
|
9
|
-
import routes, { getClusterPath } from '../../routes';
|
|
9
|
+
import routes, { CLUSTER, getClusterPath } from '../../routes';
|
|
10
10
|
import { useAllCapabilitiesLoaded, useCapabilitiesQuery, useClusterWithoutAuthInUI, useMetaCapabilitiesLoaded, useMetaCapabilitiesQuery, } from '../../store/reducers/capabilities/hooks';
|
|
11
11
|
import { nodesListApi } from '../../store/reducers/nodesList';
|
|
12
12
|
import { cn } from '../../utils/cn';
|
|
@@ -18,6 +18,7 @@ import Authentication from '../Authentication/Authentication';
|
|
|
18
18
|
import { GetUser } from '../GetUserWrapper/GetUserWrapper';
|
|
19
19
|
import { Header } from '../Header/Header';
|
|
20
20
|
import { ClusterSlot, HomePageSlot, NodeSlot, PDiskPageSlot, RedirectSlot, RoutesSlot, StorageGroupSlot, TabletSlot, TenantSlot, VDiskPageSlot, } from './appSlots';
|
|
21
|
+
import { getLegacyClusterTenantsRedirect, getLegacyTenantRedirect } from './legacyRedirects';
|
|
21
22
|
import './App.scss';
|
|
22
23
|
const b = cn('app');
|
|
23
24
|
const routesSlots = [
|
|
@@ -99,7 +100,7 @@ export function Content(props) {
|
|
|
99
100
|
const additionalRoutes = slots.get(RoutesSlot);
|
|
100
101
|
const redirect = slots.get(RedirectSlot);
|
|
101
102
|
const redirectProps = (_a = redirect === null || redirect === void 0 ? void 0 : redirect.props) !== null && _a !== void 0 ? _a : (singleClusterMode ? { to: getClusterPath() } : { to: routes.homePage });
|
|
102
|
-
return (_jsxs(Switch, { children: [additionalRoutes === null || additionalRoutes === void 0 ? void 0 : additionalRoutes.rendered, _jsxs(Route, { children: [_jsx(Header, {}), _jsxs(Switch, { children: [singleClusterMode
|
|
103
|
+
return (_jsxs(Switch, { children: [additionalRoutes === null || additionalRoutes === void 0 ? void 0 : additionalRoutes.rendered, _jsxs(Route, { children: [_jsx(Header, {}), _jsxs(Switch, { children: [_jsx(Route, { path: `/:environment?/${CLUSTER}/tenants`, exact: true, render: ({ location }) => (_jsx(Redirect, { to: getLegacyClusterTenantsRedirect(location) })) }), _jsx(Route, { path: routes.legacyTenant, render: ({ location }) => _jsx(Redirect, { to: getLegacyTenantRedirect(location) }) }), singleClusterMode
|
|
103
104
|
? null
|
|
104
105
|
: multiClusterRoutes.map((route) => {
|
|
105
106
|
return renderRouteSlot(slots, route);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/containers/App/Content.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,8CAA8C,CAAC;AAC3E,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAGhD,OAAO,MAAM,EAAE,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/containers/App/Content.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Location } from 'history';
|
|
2
|
+
type LegacyRedirectLocation = Pick<Location, 'pathname' | 'search' | 'hash'>;
|
|
3
|
+
export declare function getLegacyClusterTenantsRedirect(location: LegacyRedirectLocation): {
|
|
4
|
+
pathname: string;
|
|
5
|
+
search: string;
|
|
6
|
+
hash: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function getLegacyTenantRedirect(location: LegacyRedirectLocation): {
|
|
9
|
+
pathname: string;
|
|
10
|
+
search: string;
|
|
11
|
+
hash: string;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
function makeRedirectLocation(location, pathname) {
|
|
2
|
+
return {
|
|
3
|
+
pathname,
|
|
4
|
+
search: location.search,
|
|
5
|
+
hash: location.hash,
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export function getLegacyClusterTenantsRedirect(location) {
|
|
9
|
+
return makeRedirectLocation(location, location.pathname.replace(/\/cluster\/tenants(\/|$)/, '/cluster/databases$1'));
|
|
10
|
+
}
|
|
11
|
+
export function getLegacyTenantRedirect(location) {
|
|
12
|
+
return makeRedirectLocation(location, location.pathname.replace(/\/tenant(\/|$)/, '/database$1'));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=legacyRedirects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacyRedirects.js","sourceRoot":"","sources":["../../../src/containers/App/legacyRedirects.ts"],"names":[],"mappings":"AAIA,SAAS,oBAAoB,CAAC,QAAgC,EAAE,QAAgB;IAC5E,OAAO;QACH,QAAQ;QACR,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;KACtB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,QAAgC;IAC5E,OAAO,oBAAoB,CACvB,QAAQ,EACR,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CAChF,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAgC;IACpE,OAAO,oBAAoB,CACvB,QAAQ,EACR,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAC7D,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { getLegacyClusterTenantsRedirect, getLegacyTenantRedirect } from './legacyRedirects';
|
|
2
|
+
describe('legacyRedirects', () => {
|
|
3
|
+
describe('getLegacyClusterTenantsRedirect', () => {
|
|
4
|
+
test('redirects legacy cluster tenants tab to databases and preserves URL parts', () => {
|
|
5
|
+
expect(getLegacyClusterTenantsRedirect({
|
|
6
|
+
pathname: '/cluster/tenants',
|
|
7
|
+
search: '?clusterName=my-cluster&backend=http%3A%2F%2Flocalhost%3A8765',
|
|
8
|
+
hash: '#health',
|
|
9
|
+
})).toEqual({
|
|
10
|
+
pathname: '/cluster/databases',
|
|
11
|
+
search: '?clusterName=my-cluster&backend=http%3A%2F%2Flocalhost%3A8765',
|
|
12
|
+
hash: '#health',
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
test('keeps the environment prefix when redirecting cluster tenants tab', () => {
|
|
16
|
+
expect(getLegacyClusterTenantsRedirect({
|
|
17
|
+
pathname: '/cloud-prod/cluster/tenants',
|
|
18
|
+
search: '?clusterName=my-cluster',
|
|
19
|
+
hash: '',
|
|
20
|
+
})).toEqual({
|
|
21
|
+
pathname: '/cloud-prod/cluster/databases',
|
|
22
|
+
search: '?clusterName=my-cluster',
|
|
23
|
+
hash: '',
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
describe('getLegacyTenantRedirect', () => {
|
|
28
|
+
test('redirects legacy tenant page to database and preserves URL parts', () => {
|
|
29
|
+
expect(getLegacyTenantRedirect({
|
|
30
|
+
pathname: '/tenant',
|
|
31
|
+
search: '?schema=%2Flocal&database=%2Flocal&tenantPage=diagnostics',
|
|
32
|
+
hash: '#queries',
|
|
33
|
+
})).toEqual({
|
|
34
|
+
pathname: '/database',
|
|
35
|
+
search: '?schema=%2Flocal&database=%2Flocal&tenantPage=diagnostics',
|
|
36
|
+
hash: '#queries',
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
test('keeps the environment prefix when redirecting tenant page', () => {
|
|
40
|
+
expect(getLegacyTenantRedirect({
|
|
41
|
+
pathname: '/cloud-prod/tenant',
|
|
42
|
+
search: '?database=%2Fprod',
|
|
43
|
+
hash: '',
|
|
44
|
+
})).toEqual({
|
|
45
|
+
pathname: '/cloud-prod/database',
|
|
46
|
+
search: '?database=%2Fprod',
|
|
47
|
+
hash: '',
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=legacyRedirects.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacyRedirects.test.js","sourceRoot":"","sources":["../../../src/containers/App/legacyRedirects.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,+BAA+B,EAAE,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAE3F,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC7C,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;YACnF,MAAM,CACF,+BAA+B,CAAC;gBAC5B,QAAQ,EAAE,kBAAkB;gBAC5B,MAAM,EAAE,+DAA+D;gBACvE,IAAI,EAAE,SAAS;aAClB,CAAC,CACL,CAAC,OAAO,CAAC;gBACN,QAAQ,EAAE,oBAAoB;gBAC9B,MAAM,EAAE,+DAA+D;gBACvE,IAAI,EAAE,SAAS;aAClB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mEAAmE,EAAE,GAAG,EAAE;YAC3E,MAAM,CACF,+BAA+B,CAAC;gBAC5B,QAAQ,EAAE,6BAA6B;gBACvC,MAAM,EAAE,yBAAyB;gBACjC,IAAI,EAAE,EAAE;aACX,CAAC,CACL,CAAC,OAAO,CAAC;gBACN,QAAQ,EAAE,+BAA+B;gBACzC,MAAM,EAAE,yBAAyB;gBACjC,IAAI,EAAE,EAAE;aACX,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACrC,IAAI,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC1E,MAAM,CACF,uBAAuB,CAAC;gBACpB,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,2DAA2D;gBACnE,IAAI,EAAE,UAAU;aACnB,CAAC,CACL,CAAC,OAAO,CAAC;gBACN,QAAQ,EAAE,WAAW;gBACrB,MAAM,EAAE,2DAA2D;gBACnE,IAAI,EAAE,UAAU;aACnB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,CACF,uBAAuB,CAAC;gBACpB,QAAQ,EAAE,oBAAoB;gBAC9B,MAAM,EAAE,mBAAmB;gBAC3B,IAAI,EAAE,EAAE;aACX,CAAC,CACL,CAAC,OAAO,CAAC;gBACN,QAAQ,EAAE,sBAAsB;gBAChC,MAAM,EAAE,mBAAmB;gBAC3B,IAAI,EAAE,EAAE;aACX,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import type { AdditionalClusterProps } from '../../../types/additionalProps';
|
|
1
2
|
import type { GetClusterLinks, GetDatabaseLinks } from '../../../uiFactory/types';
|
|
2
3
|
import type { GetLogsLink } from '../../../utils/logs';
|
|
3
4
|
import type { GetMonitoringClusterLink, GetMonitoringLink } from '../../../utils/monitoring';
|
|
4
5
|
import type { Cluster } from '../../Cluster/Cluster';
|
|
5
6
|
import './ExtendedCluster.scss';
|
|
7
|
+
interface GetAdditionalClusterProps {
|
|
8
|
+
getMonitoringClusterLink?: GetMonitoringClusterLink;
|
|
9
|
+
getClusterLinks?: GetClusterLinks;
|
|
10
|
+
}
|
|
11
|
+
export declare const useAdditionalClusterProps: ({ getMonitoringClusterLink, getClusterLinks, }: GetAdditionalClusterProps) => AdditionalClusterProps;
|
|
6
12
|
interface ExtendedClusterProps {
|
|
7
13
|
component: typeof Cluster;
|
|
8
14
|
getMonitoringLink?: GetMonitoringLink;
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { ClipboardButton } from '@gravity-ui/uikit';
|
|
3
3
|
import { useClusterBaseInfo } from '../../../store/reducers/cluster/cluster';
|
|
4
4
|
import { cn } from '../../../utils/cn';
|
|
5
|
+
import { MONITORING_UI_TITLE } from '../../../utils/constants';
|
|
5
6
|
import { getCleanBalancerValue } from '../../../utils/parseBalancer';
|
|
6
7
|
import { useAdditionalTenantsProps } from '../utils/useAdditionalTenantsProps';
|
|
7
8
|
import './ExtendedCluster.scss';
|
|
@@ -10,10 +11,10 @@ const getAdditionalBalancerInfo = (balancer) => {
|
|
|
10
11
|
const cleanedValue = getCleanBalancerValue(balancer);
|
|
11
12
|
return {
|
|
12
13
|
label: 'Balancer',
|
|
13
|
-
value: (_jsxs("div", { className: b('balancer'), children: [cleanedValue, _jsx(ClipboardButton, { text: cleanedValue, size: "
|
|
14
|
+
value: (_jsxs("div", { className: b('balancer'), children: [cleanedValue, _jsx(ClipboardButton, { view: "flat-secondary", text: cleanedValue, size: "xs", className: b('clipboard-button') })] })),
|
|
14
15
|
};
|
|
15
16
|
};
|
|
16
|
-
const useAdditionalClusterProps = ({ getMonitoringClusterLink, getClusterLinks, }) => {
|
|
17
|
+
export const useAdditionalClusterProps = ({ getMonitoringClusterLink, getClusterLinks, }) => {
|
|
17
18
|
const clusterInfo = useClusterBaseInfo();
|
|
18
19
|
const { name: clusterName, balancer, monitoring } = clusterInfo;
|
|
19
20
|
const additionalClusterProps = {};
|
|
@@ -21,7 +22,11 @@ const useAdditionalClusterProps = ({ getMonitoringClusterLink, getClusterLinks,
|
|
|
21
22
|
if (monitoring && getMonitoringClusterLink) {
|
|
22
23
|
const clusterLink = getMonitoringClusterLink(monitoring, clusterName);
|
|
23
24
|
if (clusterLink) {
|
|
24
|
-
additionalClusterProps.links.push({
|
|
25
|
+
additionalClusterProps.links.push({
|
|
26
|
+
title: MONITORING_UI_TITLE,
|
|
27
|
+
url: clusterLink,
|
|
28
|
+
context: 'monitoring',
|
|
29
|
+
});
|
|
25
30
|
}
|
|
26
31
|
}
|
|
27
32
|
if (getClusterLinks) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedCluster.js","sourceRoot":"","sources":["../../../../src/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAG3E,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExtendedCluster.js","sourceRoot":"","sources":["../../../../src/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAG3E,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAC,yBAAyB,EAAC,MAAM,oCAAoC,CAAC;AAE7E,OAAO,wBAAwB,CAAC;AAEhC,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAEjC,MAAM,yBAAyB,GAAG,CAAC,QAAgB,EAAE,EAAE;IACnD,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAErD,OAAO;QACH,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,aACxB,YAAY,EACb,KAAC,eAAe,IACZ,IAAI,EAAC,gBAAgB,EACrB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAClC,IACA,CACT;KACJ,CAAC;AACN,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACtC,wBAAwB,EACxB,eAAe,GACS,EAAE,EAAE;IAC5B,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IACzC,MAAM,EAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAC,GAAG,WAAW,CAAC;IAE9D,MAAM,sBAAsB,GAA2B,EAAE,CAAC;IAC1D,sBAAsB,CAAC,KAAK,GAAG,EAAE,CAAC;IAClC,IAAI,UAAU,IAAI,wBAAwB,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEtE,IAAI,WAAW,EAAE,CAAC;YACd,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC9B,KAAK,EAAE,mBAAmB;gBAC1B,GAAG,EAAE,WAAW;gBAChB,OAAO,EAAE,YAAY;aACxB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,eAAe,CAAC,EAAC,WAAW,EAAC,CAAC,CAAC;QACpD,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,sBAAsB,CAAC,IAAI,GAAG,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,sBAAsB,CAAC;AAClC,CAAC,CAAC;AAUF,MAAM,UAAU,eAAe,CAAC,EAC5B,SAAS,EAAE,gBAAgB,EAC3B,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,gBAAgB,EAChB,eAAe,GACI;IACnB,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,EAAE,YACf,KAAC,gBAAgB,IACb,sBAAsB,EAAE,yBAAyB,CAAC;gBAC9C,wBAAwB;gBACxB,eAAe;aAClB,CAAC,EACF,sBAAsB,EAAE,yBAAyB,CAAC;gBAC9C,iBAAiB;gBACjB,WAAW;gBACX,gBAAgB;aACnB,CAAC,GACJ,GACA,CACT,CAAC;AACN,CAAC"}
|
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
height: 100%;
|
|
5
5
|
|
|
6
6
|
&__balancer {
|
|
7
|
+
--g-button-height: var(--g-text-body-1-line-height);
|
|
7
8
|
display: flex;
|
|
8
9
|
flex-direction: row;
|
|
9
10
|
align-items: center;
|
|
10
11
|
}
|
|
11
12
|
&__clipboard-button {
|
|
12
|
-
margin-left:
|
|
13
|
+
margin-left: var(--g-spacing-half);
|
|
13
14
|
}
|
|
14
15
|
}
|
|
@@ -7,7 +7,6 @@ import { StringParam, useQueryParams } from 'use-query-params';
|
|
|
7
7
|
import { AutoRefreshControl } from '../../components/AutoRefreshControl/AutoRefreshControl';
|
|
8
8
|
import { DrawerContextProvider } from '../../components/Drawer/DrawerContext';
|
|
9
9
|
import { EntityStatus } from '../../components/EntityStatusNew/EntityStatus';
|
|
10
|
-
import { EFlagToDescription } from '../../components/EntityStatusNew/utils';
|
|
11
10
|
import { InternalLink } from '../../components/InternalLink';
|
|
12
11
|
import { NetworkTable } from '../../components/NetworkTable/NetworkTable';
|
|
13
12
|
import { useShouldShowClusterNetworkTable } from '../../components/NetworkTable/hooks';
|
|
@@ -29,6 +28,7 @@ import { PaginatedStorage } from '../Storage/PaginatedStorage';
|
|
|
29
28
|
import { TabletsTable } from '../Tablets/TabletsTable';
|
|
30
29
|
import { TenantsClusterTab } from '../Tenants/TenantsClusterTab';
|
|
31
30
|
import { VersionsContainer } from '../Versions/Versions';
|
|
31
|
+
import { ClusterDrawerHealthcheck, useClusterHealthcheckQueryParams, } from './ClusterDrawerHealthcheck';
|
|
32
32
|
import { ClusterOverview } from './ClusterOverview/ClusterOverview';
|
|
33
33
|
import { clusterTabs, clusterTabsIds, isClusterTab, useShouldShowEventsTab } from './utils';
|
|
34
34
|
import './Cluster.scss';
|
|
@@ -45,6 +45,7 @@ export function Cluster({ additionalClusterProps, additionalTenantsProps }) {
|
|
|
45
45
|
const [autoRefreshInterval] = useAutoRefreshInterval();
|
|
46
46
|
const dispatch = useTypedDispatch();
|
|
47
47
|
const { activeTabId, onClusterTabClick } = useClusterTab();
|
|
48
|
+
const { handleShowHealthcheckChange } = useClusterHealthcheckQueryParams();
|
|
48
49
|
const [{ clusterName, backend }] = useQueryParams({
|
|
49
50
|
clusterName: StringParam,
|
|
50
51
|
backend: StringParam,
|
|
@@ -73,22 +74,25 @@ export function Cluster({ additionalClusterProps, additionalTenantsProps }) {
|
|
|
73
74
|
}
|
|
74
75
|
return clusterTabs.filter((el) => !skippedTabs.includes(el.id));
|
|
75
76
|
}, [shouldShowEventsTab, shouldShowNetworkTable, showConfigs]);
|
|
77
|
+
const handleStatusClick = React.useCallback(() => {
|
|
78
|
+
handleShowHealthcheckChange(true);
|
|
79
|
+
}, [handleShowHealthcheckChange]);
|
|
76
80
|
const getClusterTitle = () => {
|
|
77
81
|
if (infoLoading) {
|
|
78
82
|
return _jsx(Skeleton, { className: b('title-skeleton') });
|
|
79
83
|
}
|
|
80
84
|
const clusterStatus = (cluster === null || cluster === void 0 ? void 0 : cluster.Overall) || EFlag.Grey;
|
|
81
|
-
return (_jsxs(EntityStatus, { className: b('title'), children: [clusterTitle, _jsx(EntityStatus.Label, { status: clusterStatus,
|
|
85
|
+
return (_jsxs(EntityStatus, { className: b('title'), children: [clusterTitle, _jsx(EntityStatus.Label, { status: clusterStatus, onClick: handleStatusClick })] }));
|
|
82
86
|
};
|
|
83
87
|
const activeTab = React.useMemo(() => actualClusterTabs.find(({ id }) => id === activeTabId), [activeTabId, actualClusterTabs]);
|
|
84
88
|
const { appTitle } = useAppTitle();
|
|
85
|
-
return (_jsx(DrawerContextProvider, { children: _jsxs("div", { className: b(), ref: container, children: [_jsx(Helmet, { defaultTitle: `${clusterTitle} — ${appTitle}`, titleTemplate: `%s — ${clusterTitle} — ${appTitle}`, children: activeTab ? _jsx("title", { children: activeTab.title }) : null }), _jsx("div", { className: b('header'), children: getClusterTitle() }), _jsx("div", { className: b('sticky-wrapper'), children: _jsx(AutoRefreshControl, { className: b('auto-refresh-control') }) }), isClusterDashboardAvailable && (_jsx("div", { className: b('dashboard'), children: _jsx(ClusterOverview, { cluster: cluster !== null && cluster !== void 0 ? cluster : {}, groupStats: groupsStats, loading: infoLoading, error: clusterError || (cluster === null || cluster === void 0 ? void 0 : cluster.error), additionalClusterProps: additionalClusterProps }) })), _jsx("div", { className: b('tabs-sticky-wrapper'), children: _jsx(TabProvider, { value: activeTabId, children: _jsx(TabList, { size: "l", children: actualClusterTabs.map(({ id, title }) => {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
return (_jsx(DrawerContextProvider, { children: _jsx(ClusterDrawerHealthcheck, { database: (cluster === null || cluster === void 0 ? void 0 : cluster.Domain) || '', children: _jsxs("div", { className: b(), ref: container, children: [_jsx(Helmet, { defaultTitle: `${clusterTitle} — ${appTitle}`, titleTemplate: `%s — ${clusterTitle} — ${appTitle}`, children: activeTab ? _jsx("title", { children: activeTab.title }) : null }), _jsx("div", { className: b('header'), children: getClusterTitle() }), _jsx("div", { className: b('sticky-wrapper'), children: _jsx(AutoRefreshControl, { className: b('auto-refresh-control') }) }), isClusterDashboardAvailable && (_jsx("div", { className: b('dashboard'), children: _jsx(ClusterOverview, { cluster: cluster !== null && cluster !== void 0 ? cluster : {}, groupStats: groupsStats, loading: infoLoading, error: clusterError || (cluster === null || cluster === void 0 ? void 0 : cluster.error), additionalClusterProps: additionalClusterProps }) })), _jsx("div", { className: b('tabs-sticky-wrapper'), children: _jsx(TabProvider, { value: activeTabId, children: _jsx(TabList, { size: "l", children: actualClusterTabs.map(({ id, title }) => {
|
|
90
|
+
const path = getClusterPath({ activeTab: id }, {
|
|
91
|
+
clusterName,
|
|
92
|
+
backend,
|
|
93
|
+
});
|
|
94
|
+
return (_jsx(Tab, { value: id, children: _jsx(InternalLink, { view: "primary", as: "tab", to: path, "data-cluster-tab-id": id, onClick: onClusterTabClick, children: title }) }, id));
|
|
95
|
+
}) }) }) }), _jsx("div", { className: b('content'), children: _jsxs(Switch, { children: [_jsx(Route, { path: getLocationObjectFromHref(getClusterPath({ activeTab: clusterTabsIds.tablets })).pathname, children: _jsx(TabletsTable, { loading: infoLoading, tablets: clusterTablets, scrollContainerRef: container }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath({ activeTab: clusterTabsIds.tenants })).pathname, children: _jsx(TenantsClusterTab, { additionalTenantsProps: additionalTenantsProps, scrollContainerRef: container }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath({ activeTab: clusterTabsIds.nodes })).pathname, children: _jsx(Nodes, { scrollContainerRef: container }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath({ activeTab: clusterTabsIds.storage })).pathname, children: _jsx(PaginatedStorage, { scrollContainerRef: container }) }), shouldShowNetworkTable && (_jsx(Route, { path: getLocationObjectFromHref(getClusterPath({ activeTab: clusterTabsIds.network })).pathname, children: _jsx(NetworkTable, { scrollContainerRef: container }) })), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath({ activeTab: clusterTabsIds.versions })).pathname, children: _jsx(VersionsContainer, { cluster: cluster, loading: infoLoading }) }), shouldShowEventsTab && (_jsx(Route, { path: getLocationObjectFromHref(getClusterPath({ activeTab: clusterTabsIds.events })).pathname, children: (_a = uiFactory.renderEvents) === null || _a === void 0 ? void 0 : _a.call(uiFactory, { scrollContainerRef: container }) })), showConfigs && (_jsx(Route, { path: getLocationObjectFromHref(getClusterPath({ activeTab: clusterTabsIds.configs })).pathname, children: _jsx(Configs, { className: b('cluster-configs'), scrollContainerRef: container }) })), _jsx(Route, { render: () => (_jsx(Redirect, { to: getLocationObjectFromHref(getClusterPath({ activeTab: activeTabId })) })) })] }) })] }) }) }));
|
|
92
96
|
}
|
|
93
97
|
function useClusterTab() {
|
|
94
98
|
const dispatch = useTypedDispatch();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cluster.js","sourceRoot":"","sources":["../../../src/containers/Cluster/Cluster.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAC,kBAAkB,EAAC,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EAAC,qBAAqB,EAAC,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAC,YAAY,EAAC,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"Cluster.js","sourceRoot":"","sources":["../../../src/containers/Cluster/Cluster.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface ClusterDrawerHealthcheckProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
database: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function useClusterHealthcheckQueryParams(): {
|
|
7
|
+
showHealthcheck: boolean | null | undefined;
|
|
8
|
+
handleShowHealthcheckChange: (value?: boolean) => void;
|
|
9
|
+
issuesFilter: string | null | undefined;
|
|
10
|
+
handleIssuesFilterChange: (value?: string) => void;
|
|
11
|
+
view: string | null | undefined;
|
|
12
|
+
handleHealthcheckViewChange: (value?: string) => void;
|
|
13
|
+
};
|
|
14
|
+
export declare function ClusterDrawerHealthcheck({ children, database }: ClusterDrawerHealthcheckProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|