ydb-embedded-ui 15.2.0 → 15.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/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/Search/Search.js +5 -1
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/Search/__test__/Search.test.d.ts +1 -0
- package/dist/components/Search/__test__/Search.test.js +43 -0
- package/dist/components/Search/__test__/Search.test.js.map +1 -0
- package/dist/components/VDisk/VDiskWithDonorsStack.js +1 -6
- package/dist/components/VDisk/VDiskWithDonorsStack.js.map +1 -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/i18n/en.json +3 -1
- package/dist/containers/Cluster/i18n/index.d.ts +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/Header/Header.js +3 -3
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Header/i18n/en.json +2 -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/Storage/i18n/en.json +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/__test__/DiagnosticsPages.test.js +26 -0
- package/dist/containers/Tenant/Diagnostics/__test__/DiagnosticsPages.test.js.map +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 +35 -7
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditorZeroTabsState.d.ts +6 -0
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditorZeroTabsState.js +11 -0
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditorZeroTabsState.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditorZeroTabsState.scss +52 -0
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js +10 -4
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.d.ts +4 -4
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.js +10 -1
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +3 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
- package/dist/containers/Tenant/Query/i18n/en.json +1 -0
- package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
- package/dist/routes.d.ts +1 -0
- package/dist/routes.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/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/query/__test__/SessionStorageMigration.test.js +6 -4
- package/dist/store/reducers/query/__test__/SessionStorageMigration.test.js.map +1 -1
- package/dist/store/reducers/query/__test__/zeroTabsState.test.d.ts +1 -0
- package/dist/store/reducers/query/__test__/zeroTabsState.test.js +48 -0
- package/dist/store/reducers/query/__test__/zeroTabsState.test.js.map +1 -0
- package/dist/store/reducers/query/slice.d.ts +4 -4
- package/dist/store/reducers/query/slice.js +31 -23
- package/dist/store/reducers/query/slice.js.map +1 -1
- package/dist/store/reducers/query/types.d.ts +1 -1
- package/dist/store/reducers/query/utils.d.ts +1 -1
- package/dist/store/reducers/query/utils.js +3 -1
- package/dist/store/reducers/query/utils.js.map +1 -1
- package/dist/types/api/healthcheck.d.ts +2 -0
- package/package.json +1 -1
|
@@ -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,13 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
2
3
|
import { cn } from '../../utils/cn';
|
|
3
4
|
import { DebouncedTextInput } from '../DebouncedInput/DebouncedTextInput';
|
|
4
5
|
import './Search.scss';
|
|
5
6
|
const b = cn('ydb-search');
|
|
6
7
|
export const Search = ({ onChange, value = '', width, className, debounce, inputRef, ...props }) => {
|
|
7
|
-
|
|
8
|
+
const onUpdate = React.useCallback((newValue) => {
|
|
9
|
+
onChange(newValue.trim());
|
|
10
|
+
}, [onChange]);
|
|
11
|
+
return (_jsx(DebouncedTextInput, { debounce: debounce, hasClear: true, autoFocus: true, controlRef: inputRef, style: { width }, className: b(null, className), value: value, onUpdate: onUpdate, ...props }));
|
|
8
12
|
};
|
|
9
13
|
//# sourceMappingURL=Search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../src/components/Search/Search.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../src/components/Search/Search.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AAExE,OAAO,eAAe,CAAC;AAEvB,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;AAU3B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACnB,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACE,EAAE,EAAE;IACd,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAC,QAAgB,EAAE,EAAE;QACjB,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC,EACD,CAAC,QAAQ,CAAC,CACb,CAAC;IAEF,OAAO,CACH,KAAC,kBAAkB,IACf,QAAQ,EAAE,QAAQ,EAClB,QAAQ,QACR,SAAS,QACT,UAAU,EAAE,QAAQ,EACpB,KAAK,EAAE,EAAC,KAAK,EAAC,EACd,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,KACd,KAAK,GACX,CACL,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import userEvent from '@testing-library/user-event';
|
|
4
|
+
import { Search } from '../Search';
|
|
5
|
+
describe('Search', () => {
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
jest.useFakeTimers();
|
|
8
|
+
});
|
|
9
|
+
afterEach(() => {
|
|
10
|
+
jest.useRealTimers();
|
|
11
|
+
});
|
|
12
|
+
it('trims leading and trailing whitespace from the onChange value', async () => {
|
|
13
|
+
const onChange = jest.fn();
|
|
14
|
+
const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime });
|
|
15
|
+
render(_jsx(Search, { onChange: onChange, value: "" }));
|
|
16
|
+
const input = screen.getByRole('textbox');
|
|
17
|
+
await user.type(input, ' hello ');
|
|
18
|
+
jest.runAllTimers();
|
|
19
|
+
const lastCall = onChange.mock.calls[onChange.mock.calls.length - 1];
|
|
20
|
+
expect(lastCall[0]).toBe('hello');
|
|
21
|
+
});
|
|
22
|
+
it('preserves internal spaces in the onChange value', async () => {
|
|
23
|
+
const onChange = jest.fn();
|
|
24
|
+
const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime });
|
|
25
|
+
render(_jsx(Search, { onChange: onChange, value: "" }));
|
|
26
|
+
const input = screen.getByRole('textbox');
|
|
27
|
+
await user.type(input, 'hello world');
|
|
28
|
+
jest.runAllTimers();
|
|
29
|
+
const lastCall = onChange.mock.calls[onChange.mock.calls.length - 1];
|
|
30
|
+
expect(lastCall[0]).toBe('hello world');
|
|
31
|
+
});
|
|
32
|
+
it('calls onChange with empty string for whitespace-only input', async () => {
|
|
33
|
+
const onChange = jest.fn();
|
|
34
|
+
const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime });
|
|
35
|
+
render(_jsx(Search, { onChange: onChange, value: "" }));
|
|
36
|
+
const input = screen.getByRole('textbox');
|
|
37
|
+
await user.type(input, ' ');
|
|
38
|
+
jest.runAllTimers();
|
|
39
|
+
const lastCall = onChange.mock.calls[onChange.mock.calls.length - 1];
|
|
40
|
+
expect(lastCall[0]).toBe('');
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=Search.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Search.test.js","sourceRoot":"","sources":["../../../../src/components/Search/__test__/Search.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { stringifyVdiskId } from '../../utils/dataFormatters/dataFormatters';
|
|
4
|
-
import { isFullVDiskData } from '../../utils/disks/helpers';
|
|
5
3
|
import { Stack } from '../Stack/Stack';
|
|
6
4
|
import { VDisk } from './VDisk';
|
|
7
5
|
const diskInStackPlacement = ['left', 'right'];
|
|
@@ -37,10 +35,7 @@ export function VDiskWithDonorsStack({ data, className, stackClassName, withIcon
|
|
|
37
35
|
highlighted: isHighlighted,
|
|
38
36
|
};
|
|
39
37
|
const mainDiskPlacement = (donors === null || donors === void 0 ? void 0 : donors.length) ? diskInStackPlacement : undefined;
|
|
40
|
-
const content = donors && donors.length > 0 ? (_jsxs(Stack, { className: stackClassName, children: [_jsx(VDisk, { placement: mainDiskPlacement, data: data, ...mainVDiskProps }), donors.map((donor) => {
|
|
41
|
-
const isFullData = isFullVDiskData(donor);
|
|
42
|
-
return (_jsx(VDisk, { data: donor, placement: diskInStackPlacement, ...donorVDiskProps }, stringifyVdiskId(isFullData ? donor.VDiskId : donor)));
|
|
43
|
-
})] })) : (_jsx(VDisk, { data: data, withIcon: withIcon, ...mainVDiskProps }));
|
|
38
|
+
const content = donors && donors.length > 0 ? (_jsxs(Stack, { className: stackClassName, children: [_jsx(VDisk, { placement: mainDiskPlacement, data: data, ...mainVDiskProps }), donors.map((donor, index) => (_jsx(VDisk, { data: donor, placement: diskInStackPlacement, ...donorVDiskProps }, `${index}-${donor.StringifiedId}`)))] })) : (_jsx(VDisk, { data: data, withIcon: withIcon, ...mainVDiskProps }));
|
|
44
39
|
return _jsx("div", { className: className, children: content });
|
|
45
40
|
}
|
|
46
41
|
//# sourceMappingURL=VDiskWithDonorsStack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDiskWithDonorsStack.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDiskWithDonorsStack.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"VDiskWithDonorsStack.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDiskWithDonorsStack.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAGrC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAW9B,MAAM,oBAAoB,GAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE/D,MAAM,UAAU,oBAAoB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,YAAY,EACzB,GAAG,SAAS,EACY;IACxB,MAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC;IAE5B,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;IACpC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,gBAAgB,KAAK,OAAO,CAAC,CAAC;IAEvE,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,OAAO,EAAE,CAAC;YACV,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEnC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,SAAS,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,cAAc,GAAwB;QACxC,GAAG,SAAS;QACZ,QAAQ;QACR,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,eAAe;KAC/B,CAAC;IAEF,wFAAwF;IACxF,6EAA6E;IAC7E,gEAAgE;IAChE,0EAA0E;IAC1E,MAAM,eAAe,GAAwB;QACzC,GAAG,SAAS;QACZ,QAAQ;QACR,WAAW,EAAE,aAAa;KAC7B,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,MAAM,OAAO,GACT,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1B,MAAC,KAAK,IAAC,SAAS,EAAE,cAAc,aAC5B,KAAC,KAAK,IAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,KAAM,cAAc,GAAI,EACtE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,KAAC,KAAK,IAEF,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,oBAAoB,KAC3B,eAAe,IAHd,GAAG,KAAK,IAAI,KAAK,CAAC,aAAa,EAAE,CAIxC,CACL,CAAC,IACE,CACX,CAAC,CAAC,CAAC,CACA,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,KAAM,cAAc,GAAI,CAChE,CAAC;IAEN,OAAO,cAAK,SAAS,EAAE,SAAS,YAAG,OAAO,GAAO,CAAC;AACtD,CAAC"}
|
|
@@ -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 {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { ArrowDownToLine } from '@gravity-ui/icons';
|
|
4
|
+
import { ActionTooltip, Button, Flex, Icon, Text } from '@gravity-ui/uikit';
|
|
5
|
+
import { BooleanParam, StringParam, useQueryParams } from 'use-query-params';
|
|
6
|
+
import { DrawerWrapper } from '../../components/Drawer';
|
|
7
|
+
import { EnableFullscreenButton } from '../../components/EnableFullscreenButton/EnableFullscreenButton';
|
|
8
|
+
import { selectAllHealthcheckInfo, selectCheckStatus, } from '../../store/reducers/healthcheckInfo/healthcheckInfo';
|
|
9
|
+
import { createAndDownloadJsonFile } from '../../utils/downloadFile';
|
|
10
|
+
import { useTypedSelector } from '../../utils/hooks';
|
|
11
|
+
import { Healthcheck } from '../Tenant/Healthcheck/Healthcheck';
|
|
12
|
+
import { HEALTHCHECK_RESULT_TO_TEXT } from '../Tenant/constants';
|
|
13
|
+
import i18n from './i18n';
|
|
14
|
+
export function useClusterHealthcheckQueryParams() {
|
|
15
|
+
const [{ showHealthcheck, issuesFilter, view }, setQueryParams] = useQueryParams({
|
|
16
|
+
showHealthcheck: BooleanParam,
|
|
17
|
+
issuesFilter: StringParam,
|
|
18
|
+
view: StringParam,
|
|
19
|
+
});
|
|
20
|
+
const handleShowHealthcheckChange = React.useCallback((value) => {
|
|
21
|
+
setQueryParams({ showHealthcheck: value || undefined }, 'replaceIn');
|
|
22
|
+
}, [setQueryParams]);
|
|
23
|
+
const handleIssuesFilterChange = React.useCallback((value) => {
|
|
24
|
+
setQueryParams({ issuesFilter: value }, 'replaceIn');
|
|
25
|
+
}, [setQueryParams]);
|
|
26
|
+
const handleHealthcheckViewChange = React.useCallback((value) => {
|
|
27
|
+
setQueryParams({ view: value }, 'replaceIn');
|
|
28
|
+
}, [setQueryParams]);
|
|
29
|
+
return {
|
|
30
|
+
showHealthcheck,
|
|
31
|
+
handleShowHealthcheckChange,
|
|
32
|
+
issuesFilter,
|
|
33
|
+
handleIssuesFilterChange,
|
|
34
|
+
view,
|
|
35
|
+
handleHealthcheckViewChange,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export function ClusterDrawerHealthcheck({ children, database }) {
|
|
39
|
+
const { handleShowHealthcheckChange, showHealthcheck, handleIssuesFilterChange, handleHealthcheckViewChange, } = useClusterHealthcheckQueryParams();
|
|
40
|
+
const healthcheckStatus = useTypedSelector((state) => selectCheckStatus(state, database));
|
|
41
|
+
const healthcheckData = useTypedSelector((state) => selectAllHealthcheckInfo(state, database));
|
|
42
|
+
const handleCloseDrawer = React.useCallback(() => {
|
|
43
|
+
handleShowHealthcheckChange(false);
|
|
44
|
+
handleIssuesFilterChange(undefined);
|
|
45
|
+
handleHealthcheckViewChange(undefined);
|
|
46
|
+
}, [handleShowHealthcheckChange, handleIssuesFilterChange, handleHealthcheckViewChange]);
|
|
47
|
+
const renderDrawerContent = React.useCallback(() => {
|
|
48
|
+
return _jsx(Healthcheck, { database: database });
|
|
49
|
+
}, [database]);
|
|
50
|
+
return (_jsx(DrawerWrapper, { isDrawerVisible: Boolean(showHealthcheck) && Boolean(database), onCloseDrawer: handleCloseDrawer, renderDrawerContent: renderDrawerContent, drawerId: "cluster-healthcheck-details", storageKey: "cluster-healthcheck-details-drawer-width", detectClickOutside: true, hideVeil: false, isPercentageWidth: true, drawerControls: [
|
|
51
|
+
{
|
|
52
|
+
type: 'custom',
|
|
53
|
+
key: 'download',
|
|
54
|
+
node: (_jsx(ActionTooltip, { title: i18n('action_download-healthcheck'), children: _jsx(Button, { view: "flat", disabled: !healthcheckData, onClick: (e) => {
|
|
55
|
+
e.stopPropagation();
|
|
56
|
+
createAndDownloadJsonFile(healthcheckData, `${database}-healthcheck-${new Date().getTime()}`);
|
|
57
|
+
}, children: _jsx(Icon, { data: ArrowDownToLine }) }) })),
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
type: 'custom',
|
|
61
|
+
node: _jsx(EnableFullscreenButton, { view: "flat" }),
|
|
62
|
+
key: 'fullscreen',
|
|
63
|
+
},
|
|
64
|
+
{ type: 'close' },
|
|
65
|
+
], title: _jsx(DrawerTitle, { status: healthcheckStatus }), children: children }));
|
|
66
|
+
}
|
|
67
|
+
function DrawerTitle({ status }) {
|
|
68
|
+
return (_jsxs(Flex, { direction: "column", children: [_jsx(Text, { variant: "subheader-2", children: i18n('title_healthcheck-dashboard') }), _jsx(Text, { color: "secondary", children: status && HEALTHCHECK_RESULT_TO_TEXT[status] })] }));
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=ClusterDrawerHealthcheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClusterDrawerHealthcheck.js","sourceRoot":"","sources":["../../../src/containers/Cluster/ClusterDrawerHealthcheck.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,sBAAsB,EAAC,MAAM,gEAAgE,CAAC;AACtG,OAAO,EACH,wBAAwB,EACxB,iBAAiB,GACpB,MAAM,sDAAsD,CAAC;AAE9D,OAAO,EAAC,yBAAyB,EAAC,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAC,0BAA0B,EAAC,MAAM,qBAAqB,CAAC;AAE/D,OAAO,IAAI,MAAM,QAAQ,CAAC;AAO1B,MAAM,UAAU,gCAAgC;IAC5C,MAAM,CAAC,EAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAC,EAAE,cAAc,CAAC,GAAG,cAAc,CAAC;QAC3E,eAAe,EAAE,YAAY;QAC7B,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,WAAW;KACpB,CAAC,CAAC;IAEH,MAAM,2BAA2B,GAAG,KAAK,CAAC,WAAW,CACjD,CAAC,KAAe,EAAE,EAAE;QAChB,cAAc,CAAC,EAAC,eAAe,EAAE,KAAK,IAAI,SAAS,EAAC,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC,EACD,CAAC,cAAc,CAAC,CACnB,CAAC;IAEF,MAAM,wBAAwB,GAAG,KAAK,CAAC,WAAW,CAC9C,CAAC,KAAc,EAAE,EAAE;QACf,cAAc,CAAC,EAAC,YAAY,EAAE,KAAK,EAAC,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC,EACD,CAAC,cAAc,CAAC,CACnB,CAAC;IAEF,MAAM,2BAA2B,GAAG,KAAK,CAAC,WAAW,CACjD,CAAC,KAAc,EAAE,EAAE;QACf,cAAc,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,EACD,CAAC,cAAc,CAAC,CACnB,CAAC;IAEF,OAAO;QACH,eAAe;QACf,2BAA2B;QAC3B,YAAY;QACZ,wBAAwB;QACxB,IAAI;QACJ,2BAA2B;KAC9B,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAgC;IACxF,MAAM,EACF,2BAA2B,EAC3B,eAAe,EACf,wBAAwB,EACxB,2BAA2B,GAC9B,GAAG,gCAAgC,EAAE,CAAC;IAEvC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1F,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE/F,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7C,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACnC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,2BAA2B,EAAE,wBAAwB,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAEzF,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,OAAO,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC;IAC/C,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACH,KAAC,aAAa,IACV,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAC9D,aAAa,EAAE,iBAAiB,EAChC,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAC,6BAA6B,EACtC,UAAU,EAAC,0CAA0C,EACrD,kBAAkB,QAClB,QAAQ,EAAE,KAAK,EACf,iBAAiB,QACjB,cAAc,EAAE;YACZ;gBACI,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,UAAU;gBACf,IAAI,EAAE,CACF,KAAC,aAAa,IAAC,KAAK,EAAE,IAAI,CAAC,6BAA6B,CAAC,YACrD,KAAC,MAAM,IACH,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,CAAC,eAAe,EAC1B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;4BACX,CAAC,CAAC,eAAe,EAAE,CAAC;4BACpB,yBAAyB,CACrB,eAAe,EACf,GAAG,QAAQ,gBAAgB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,CAAC;wBACN,CAAC,YAED,KAAC,IAAI,IAAC,IAAI,EAAE,eAAe,GAAI,GAC1B,GACG,CACnB;aACJ;YACD;gBACI,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,KAAC,sBAAsB,IAAC,IAAI,EAAC,MAAM,GAAG;gBAC5C,GAAG,EAAE,YAAY;aACpB;YACD,EAAC,IAAI,EAAE,OAAO,EAAC;SAClB,EACD,KAAK,EAAE,KAAC,WAAW,IAAC,MAAM,EAAE,iBAAiB,GAAI,YAEhD,QAAQ,GACG,CACnB,CAAC;AACN,CAAC;AAMD,SAAS,WAAW,CAAC,EAAC,MAAM,EAAmB;IAC3C,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,aACpB,KAAC,IAAI,IAAC,OAAO,EAAC,aAAa,YAAE,IAAI,CAAC,6BAA6B,CAAC,GAAQ,EACxE,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,YAAE,MAAM,IAAI,0BAA0B,CAAC,MAAM,CAAC,GAAQ,IAC1E,CACV,CAAC;AACN,CAAC"}
|
|
@@ -33,5 +33,7 @@
|
|
|
33
33
|
"tab_versions": "Versions",
|
|
34
34
|
"tab_tablets": "Tablets",
|
|
35
35
|
"tab_events": "Events",
|
|
36
|
-
"tab_configs": "Configs"
|
|
36
|
+
"tab_configs": "Configs",
|
|
37
|
+
"title_healthcheck-dashboard": "Healthcheck Dashboard",
|
|
38
|
+
"action_download-healthcheck": "Download healthcheck data"
|
|
37
39
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key: "title_allocated" | "title_available-one" | "title_available-other" | "context_storage-group-allocation-progress" | "link_cores" | "link_logging" | "link_slo-logs" | "title_cpu" | "title_storage-groups" | "title_memory" | "title_network" | "title_links" | "title_details" | "title_bridge" | "label_overview" | "field_state" | "field_nodes" | "context_cpu" | "context_memory" | "title_storage-by-type" | "title_storage" | "context_network" | "context_cpu-description" | "context_memory-description" | "context_storage-by-type-description" | "context_storage-total-description" | "context_network-description" | "tab_databases" | "tab_nodes" | "tab_storage" | "tab_network" | "tab_versions" | "tab_tablets" | "tab_events" | "tab_configs", params?: import("@gravity-ui/i18n").Params) => string;
|
|
1
|
+
declare const _default: (key: "title_allocated" | "title_available-one" | "title_available-other" | "context_storage-group-allocation-progress" | "link_cores" | "link_logging" | "link_slo-logs" | "title_cpu" | "title_storage-groups" | "title_memory" | "title_network" | "title_links" | "title_details" | "title_bridge" | "label_overview" | "field_state" | "field_nodes" | "context_cpu" | "context_memory" | "title_storage-by-type" | "title_storage" | "context_network" | "context_cpu-description" | "context_memory-description" | "context_storage-by-type-description" | "context_storage-total-description" | "context_network-description" | "tab_databases" | "tab_nodes" | "tab_storage" | "tab_network" | "tab_versions" | "tab_tablets" | "tab_events" | "tab_configs" | "title_healthcheck-dashboard" | "action_download-healthcheck", params?: import("@gravity-ui/i18n").Params) => string;
|
|
2
2
|
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface ClusterDrawerHealthcheckProps {
|
|
3
|
+
clusterName?: string;
|
|
4
|
+
isVisible: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare function ClusterDrawerHealthcheck({ clusterName, isVisible, onClose, children, }: ClusterDrawerHealthcheckProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { ArrowDownToLine } from '@gravity-ui/icons';
|
|
4
|
+
import { ActionTooltip, Button, Flex, Icon, Text } from '@gravity-ui/uikit';
|
|
5
|
+
import { DrawerWrapper } from '../../components/Drawer';
|
|
6
|
+
import { EnableFullscreenButton } from '../../components/EnableFullscreenButton/EnableFullscreenButton';
|
|
7
|
+
import { selectAllClusterHealthcheckInfo, selectClusterCheckStatus, } from '../../store/reducers/healthcheckInfo/healthcheckInfo';
|
|
8
|
+
import { createAndDownloadJsonFile } from '../../utils/downloadFile';
|
|
9
|
+
import { useTypedSelector } from '../../utils/hooks';
|
|
10
|
+
import { Healthcheck } from '../Tenant/Healthcheck/Healthcheck';
|
|
11
|
+
import { HEALTHCHECK_RESULT_TO_TEXT } from '../Tenant/constants';
|
|
12
|
+
import tenantI18n from '../Tenant/i18n';
|
|
13
|
+
import { useTenantQueryParams } from '../Tenant/useTenantQueryParams';
|
|
14
|
+
export function ClusterDrawerHealthcheck({ clusterName, isVisible, onClose, children, }) {
|
|
15
|
+
const { handleIssuesFilterChange, handleHealthcheckViewChange } = useTenantQueryParams();
|
|
16
|
+
const healthcheckStatus = useTypedSelector((state) => selectClusterCheckStatus(state, clusterName || ''));
|
|
17
|
+
const healthcheckData = useTypedSelector((state) => selectAllClusterHealthcheckInfo(state, clusterName || ''));
|
|
18
|
+
const handleCloseDrawer = React.useCallback(() => {
|
|
19
|
+
onClose();
|
|
20
|
+
handleIssuesFilterChange(undefined);
|
|
21
|
+
handleHealthcheckViewChange(undefined);
|
|
22
|
+
}, [onClose, handleIssuesFilterChange, handleHealthcheckViewChange]);
|
|
23
|
+
const renderDrawerContent = React.useCallback(() => {
|
|
24
|
+
if (!clusterName) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return _jsx(Healthcheck, { clusterName: clusterName });
|
|
28
|
+
}, [clusterName]);
|
|
29
|
+
return (_jsx(DrawerWrapper, { isDrawerVisible: isVisible && Boolean(clusterName), onCloseDrawer: handleCloseDrawer, renderDrawerContent: renderDrawerContent, drawerId: "cluster-healthcheck-details", storageKey: "cluster-healthcheck-details-drawer-width", detectClickOutside: true, hideVeil: false, isPercentageWidth: true, drawerControls: [
|
|
30
|
+
{
|
|
31
|
+
type: 'custom',
|
|
32
|
+
key: 'download',
|
|
33
|
+
node: (_jsx(ActionTooltip, { title: tenantI18n('label_download'), children: _jsx(Button, { view: "flat", disabled: !healthcheckData, onClick: (e) => {
|
|
34
|
+
e.stopPropagation();
|
|
35
|
+
createAndDownloadJsonFile(healthcheckData, `${clusterName}-cluster-healthcheck-${new Date().getTime()}`);
|
|
36
|
+
}, children: _jsx(Icon, { data: ArrowDownToLine }) }) })),
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
type: 'custom',
|
|
40
|
+
node: _jsx(EnableFullscreenButton, { view: "flat" }),
|
|
41
|
+
key: 'fullscreen',
|
|
42
|
+
},
|
|
43
|
+
{ type: 'close' },
|
|
44
|
+
], title: _jsx(DrawerTitle, { clusterName: clusterName, status: healthcheckStatus }), children: children }));
|
|
45
|
+
}
|
|
46
|
+
function DrawerTitle({ clusterName, status }) {
|
|
47
|
+
return (_jsxs(Flex, { direction: "column", children: [_jsxs(Text, { variant: "subheader-2", children: [tenantI18n('label_healthcheck-dashboard'), clusterName ? `: ${clusterName}` : ''] }), _jsx(Text, { color: "secondary", children: status && HEALTHCHECK_RESULT_TO_TEXT[status] })] }));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=ClusterDrawerHealthcheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClusterDrawerHealthcheck.js","sourceRoot":"","sources":["../../../src/containers/Clusters/ClusterDrawerHealthcheck.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ import { DEFAULT_TABLE_SETTINGS } from '../../utils/constants';
|
|
|
16
16
|
import { useAutoRefreshInterval, useTypedDispatch, useTypedSelector } from '../../utils/hooks';
|
|
17
17
|
import { useSelectedColumns } from '../../utils/hooks/useSelectedColumns';
|
|
18
18
|
import { getMinorVersion } from '../../utils/versions';
|
|
19
|
+
import { ClusterDrawerHealthcheck } from './ClusterDrawerHealthcheck';
|
|
19
20
|
import { CLUSTERS_COLUMNS_WIDTH_LS_KEY, getClustersColumns } from './columns';
|
|
20
21
|
import { CLUSTERS_SELECTED_COLUMNS_KEY, COLUMNS_NAMES, COLUMNS_TITLES, DEFAULT_COLUMNS, } from './constants';
|
|
21
22
|
import i18n from './i18n';
|
|
@@ -46,9 +47,22 @@ export function Clusters({ scrollContainerRef }) {
|
|
|
46
47
|
const changeVersion = (value) => {
|
|
47
48
|
dispatch(changeClustersFilters({ version: value }));
|
|
48
49
|
};
|
|
50
|
+
const [healthcheckClusterName, setHealthcheckClusterName] = React.useState(undefined);
|
|
51
|
+
const handleStatusClick = React.useCallback((row) => {
|
|
52
|
+
if (row.name) {
|
|
53
|
+
setHealthcheckClusterName(row.name);
|
|
54
|
+
}
|
|
55
|
+
}, []);
|
|
56
|
+
const handleDrawerClose = React.useCallback(() => {
|
|
57
|
+
setHealthcheckClusterName(undefined);
|
|
58
|
+
}, []);
|
|
49
59
|
const rawColumns = React.useMemo(() => {
|
|
50
|
-
return getClustersColumns({
|
|
51
|
-
|
|
60
|
+
return getClustersColumns({
|
|
61
|
+
isEditClusterAvailable,
|
|
62
|
+
isDeleteClusterAvailable,
|
|
63
|
+
onStatusClick: handleStatusClick,
|
|
64
|
+
});
|
|
65
|
+
}, [isDeleteClusterAvailable, isEditClusterAvailable, handleStatusClick]);
|
|
52
66
|
const { columnsToShow, columnsToSelect, setColumns } = useSelectedColumns(rawColumns, CLUSTERS_SELECTED_COLUMNS_KEY, COLUMNS_TITLES, DEFAULT_COLUMNS, [COLUMNS_NAMES.TITLE]);
|
|
53
67
|
const clusters = query.data;
|
|
54
68
|
const { servicesToSelect, versions } = React.useMemo(() => {
|
|
@@ -98,6 +112,6 @@ export function Clusters({ scrollContainerRef }) {
|
|
|
98
112
|
order: DataTable.ASCENDING,
|
|
99
113
|
} }));
|
|
100
114
|
};
|
|
101
|
-
return (_jsxs(TableWithControlsLayout, { fullHeight: true, className: b(null), children: [_jsx(TableWithControlsLayout.Controls, { className: b('controls'), renderExtraControls: renderColumnSetup, children: renderControls() }), query.isError ? _jsx(ResponseError, { error: query.error }) : null, renderClustersCount(), _jsx(TableWithControlsLayout.Table, { scrollContainerRef: scrollContainerRef, className: b('table-wrapper'), children: renderContent() })] }));
|
|
115
|
+
return (_jsx(ClusterDrawerHealthcheck, { clusterName: healthcheckClusterName, isVisible: Boolean(healthcheckClusterName), onClose: handleDrawerClose, children: _jsxs(TableWithControlsLayout, { fullHeight: true, className: b(null), children: [_jsx(TableWithControlsLayout.Controls, { className: b('controls'), renderExtraControls: renderColumnSetup, children: renderControls() }), query.isError ? _jsx(ResponseError, { error: query.error }) : null, renderClustersCount(), _jsx(TableWithControlsLayout.Table, { scrollContainerRef: scrollContainerRef, className: b('table-wrapper'), children: renderContent() })] }) }));
|
|
102
116
|
}
|
|
103
117
|
//# sourceMappingURL=Clusters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clusters.js","sourceRoot":"","sources":["../../../src/containers/Clusters/Clusters.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAC,mBAAmB,EAAC,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAC,MAAM,EAAC,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oDAAoD,CAAC;AACpF,OAAO,EAAC,uBAAuB,EAAC,MAAM,kEAAkE,CAAC;AACzG,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,qBAAqB,EAAE,WAAW,EAAC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EACH,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAC,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAC,6BAA6B,EAAE,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAC5E,OAAO,EACH,6BAA6B,EAC7B,aAAa,EACb,cAAc,EACd,eAAe,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,CAAC,EAAC,MAAM,UAAU,CAAC;AAE3B,OAAO,iBAAiB,CAAC;AAMzB,MAAM,UAAU,QAAQ,CAAC,EAAC,kBAAkB,EAAgB;IACxD,MAAM,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,EAAE,CAAC;IACvD,MAAM,KAAK,GAAG,WAAW,CAAC,uBAAuB,CAAC,SAAS,EAAE;QACzD,eAAe,EAAE,mBAAmB;KACvC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IAEpC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,sBAAsB,GAAG,eAAe,IAAI,SAAS,CAAC,aAAa,KAAK,SAAS,CAAC;IACxF,MAAM,wBAAwB,GAAG,eAAe,IAAI,SAAS,CAAC,eAAe,KAAK,SAAS,CAAC;IAE5F,MAAM,WAAW,GAAG,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,EAAE;QACrC,QAAQ,CAAC,qBAAqB,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,KAAe,EAAE,EAAE;QACtC,QAAQ,CAAC,qBAAqB,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;QACxC,QAAQ,CAAC,qBAAqB,CAAC,EAAC,WAAW,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,KAAe,EAAE,EAAE;QACtC,QAAQ,CAAC,qBAAqB,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"Clusters.js","sourceRoot":"","sources":["../../../src/containers/Clusters/Clusters.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare function getFirstVersion(preparedVersions: PreparedVersion[]): st
|
|
|
11
11
|
interface ClustersColumnsParams {
|
|
12
12
|
isEditClusterAvailable?: boolean;
|
|
13
13
|
isDeleteClusterAvailable?: boolean;
|
|
14
|
+
onStatusClick?: (row: PreparedCluster) => void;
|
|
14
15
|
}
|
|
15
16
|
export declare function getClustersColumns(params: ClustersColumnsParams): (Column<PreparedCluster> | {
|
|
16
17
|
name: "title";
|
|
@@ -56,7 +56,7 @@ export function getFirstVersion(preparedVersions) {
|
|
|
56
56
|
});
|
|
57
57
|
return versions[0] || undefined;
|
|
58
58
|
}
|
|
59
|
-
function getTitleColumn({ isEditClusterAvailable, isDeleteClusterAvailable }) {
|
|
59
|
+
function getTitleColumn({ isEditClusterAvailable, isDeleteClusterAvailable, onStatusClick, }) {
|
|
60
60
|
return {
|
|
61
61
|
name: COLUMNS_NAMES.TITLE,
|
|
62
62
|
header: COLUMNS_TITLES[COLUMNS_NAMES.TITLE],
|
|
@@ -99,10 +99,15 @@ function getTitleColumn({ isEditClusterAvailable, isDeleteClusterAvailable }) {
|
|
|
99
99
|
};
|
|
100
100
|
const renderStatus = () => {
|
|
101
101
|
var _a;
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
const statusLabel = clusterStatus ? (_jsx(EntityStatus.Label, { status: clusterStatus, size: "xs" })) : (_jsx(EntityStatus.Label, { status: EFlag.Grey, note: ((_a = row.cluster) === null || _a === void 0 ? void 0 : _a.error) || i18n('tooltip_no-cluster-data'), size: "xs" }));
|
|
103
|
+
if (!onStatusClick || !clusterStatus) {
|
|
104
|
+
return statusLabel;
|
|
104
105
|
}
|
|
105
|
-
return (_jsx(
|
|
106
|
+
return (_jsx("button", { type: "button", className: b('status-button'), onClickCapture: (e) => {
|
|
107
|
+
e.stopPropagation();
|
|
108
|
+
e.preventDefault();
|
|
109
|
+
onStatusClick(row);
|
|
110
|
+
}, children: statusLabel }));
|
|
106
111
|
};
|
|
107
112
|
const renderBalancer = () => {
|
|
108
113
|
if (!cleanedBalancer) {
|