ydb-embedded-ui 12.24.1 → 12.26.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.
Files changed (101) hide show
  1. package/dist/components/JsonViewer/JsonViewer.d.ts +5 -12
  2. package/dist/components/JsonViewer/JsonViewer.js +29 -168
  3. package/dist/components/JsonViewer/JsonViewer.js.map +1 -1
  4. package/dist/components/JsonViewer/JsonViewer.scss +21 -79
  5. package/dist/components/JsonViewer/components/Filter.d.ts +1 -0
  6. package/dist/components/JsonViewer/components/Filter.js +3 -2
  7. package/dist/components/JsonViewer/components/Filter.js.map +1 -1
  8. package/dist/components/JsonViewer/i18n/en.json +2 -8
  9. package/dist/components/JsonViewer/i18n/index.d.ts +1 -1
  10. package/dist/components/VDiskInfo/VDiskInfo.js +2 -2
  11. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  12. package/dist/components/VDiskPopup/VDiskPopup.js +2 -2
  13. package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
  14. package/dist/containers/Clusters/columns.js +2 -2
  15. package/dist/containers/Clusters/columns.js.map +1 -1
  16. package/dist/containers/Clusters/utils.js +6 -3
  17. package/dist/containers/Clusters/utils.js.map +1 -1
  18. package/dist/containers/Configs/Configs.scss +0 -1
  19. package/dist/containers/Configs/components/Config/Config.d.ts +1 -0
  20. package/dist/containers/Configs/components/Config/Config.js +5 -3
  21. package/dist/containers/Configs/components/Config/Config.js.map +1 -1
  22. package/dist/containers/Configs/components/Config/Config.scss +18 -0
  23. package/dist/containers/Operations/columns.js +21 -26
  24. package/dist/containers/Operations/columns.js.map +1 -1
  25. package/dist/containers/Operations/constants.d.ts +0 -2
  26. package/dist/containers/Operations/constants.js +0 -2
  27. package/dist/containers/Operations/constants.js.map +1 -1
  28. package/dist/containers/Operations/i18n/en.json +1 -1
  29. package/dist/containers/Operations/i18n/index.d.ts +1 -1
  30. package/dist/containers/Storage/PaginatedStorage.js +2 -1
  31. package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
  32. package/dist/containers/Storage/i18n/index.d.ts +1 -1
  33. package/dist/containers/Storage/useStorageQueryParams.d.ts +3 -2
  34. package/dist/containers/Storage/useStorageQueryParams.js +19 -4
  35. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  36. package/dist/containers/Tenant/Diagnostics/Consumers/TopicStats/ConsumersTopicStats.js +3 -3
  37. package/dist/containers/Tenant/Diagnostics/Consumers/columns/columns.js +4 -4
  38. package/dist/containers/Tenant/Diagnostics/Describe/Describe.d.ts +2 -1
  39. package/dist/containers/Tenant/Diagnostics/Describe/Describe.js +3 -5
  40. package/dist/containers/Tenant/Diagnostics/Describe/Describe.js.map +1 -1
  41. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +2 -2
  42. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  43. package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js +6 -6
  44. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.d.ts +1 -1
  45. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +2 -2
  46. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
  47. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.d.ts +3 -1
  48. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js +3 -3
  49. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js.map +1 -1
  50. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.scss +5 -0
  51. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicDataSection.d.ts +2 -1
  52. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicDataSection.js +2 -2
  53. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicDataSection.js.map +1 -1
  54. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.d.ts +3 -1
  55. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.js +7 -9
  56. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.js.map +1 -1
  57. package/dist/containers/Tenant/Query/QueryResult/components/QueryJSONViewer/QueryJSONViewer.js +5 -3
  58. package/dist/containers/Tenant/Query/QueryResult/components/QueryJSONViewer/QueryJSONViewer.js.map +1 -1
  59. package/dist/store/reducers/cluster/parseFields.js +1 -0
  60. package/dist/store/reducers/cluster/parseFields.js.map +1 -1
  61. package/dist/store/reducers/clusters/types.d.ts +1 -0
  62. package/dist/store/reducers/clusters/utils.js +1 -0
  63. package/dist/store/reducers/clusters/utils.js.map +1 -1
  64. package/dist/store/reducers/settings/constants.d.ts +2 -0
  65. package/dist/store/reducers/settings/constants.js +3 -0
  66. package/dist/store/reducers/settings/constants.js.map +1 -1
  67. package/dist/types/api/meta.d.ts +1 -0
  68. package/dist/utils/dataFormatters/__test__/{formatUptime.test.js → formatDuration.test.js} +20 -20
  69. package/dist/utils/dataFormatters/__test__/formatDuration.test.js.map +1 -0
  70. package/dist/utils/dataFormatters/dataFormatters.d.ts +3 -3
  71. package/dist/utils/dataFormatters/dataFormatters.js +6 -6
  72. package/package.json +6 -1
  73. package/dist/components/JsonViewer/components/Cell.d.ts +0 -17
  74. package/dist/components/JsonViewer/components/Cell.js +0 -103
  75. package/dist/components/JsonViewer/components/Cell.js.map +0 -1
  76. package/dist/components/JsonViewer/components/FullValueDialog.d.ts +0 -8
  77. package/dist/components/JsonViewer/components/FullValueDialog.js +0 -14
  78. package/dist/components/JsonViewer/components/FullValueDialog.js.map +0 -1
  79. package/dist/components/JsonViewer/components/HighlightedText.d.ts +0 -15
  80. package/dist/components/JsonViewer/components/HighlightedText.js +0 -30
  81. package/dist/components/JsonViewer/components/HighlightedText.js.map +0 -1
  82. package/dist/components/JsonViewer/components/ToggleCollapseButton.d.ts +0 -8
  83. package/dist/components/JsonViewer/components/ToggleCollapseButton.js +0 -8
  84. package/dist/components/JsonViewer/components/ToggleCollapseButton.js.map +0 -1
  85. package/dist/components/JsonViewer/unipika/StructuredYsonTypes.d.ts +0 -51
  86. package/dist/components/JsonViewer/unipika/StructuredYsonTypes.js +0 -2
  87. package/dist/components/JsonViewer/unipika/StructuredYsonTypes.js.map +0 -1
  88. package/dist/components/JsonViewer/unipika/flattenUnipika.d.ts +0 -44
  89. package/dist/components/JsonViewer/unipika/flattenUnipika.js +0 -254
  90. package/dist/components/JsonViewer/unipika/flattenUnipika.js.map +0 -1
  91. package/dist/components/JsonViewer/unipika/unipika.d.ts +0 -13
  92. package/dist/components/JsonViewer/unipika/unipika.js +0 -32
  93. package/dist/components/JsonViewer/unipika/unipika.js.map +0 -1
  94. package/dist/components/JsonViewer/utils.d.ts +0 -2
  95. package/dist/components/JsonViewer/utils.js +0 -5
  96. package/dist/components/JsonViewer/utils.js.map +0 -1
  97. package/dist/containers/Tenant/Diagnostics/TopicData/FullValue.d.ts +0 -7
  98. package/dist/containers/Tenant/Diagnostics/TopicData/FullValue.js +0 -14
  99. package/dist/containers/Tenant/Diagnostics/TopicData/FullValue.js.map +0 -1
  100. package/dist/utils/dataFormatters/__test__/formatUptime.test.js.map +0 -1
  101. /package/dist/utils/dataFormatters/__test__/{formatUptime.test.d.ts → formatDuration.test.d.ts} +0 -0
package/package.json CHANGED
@@ -1,10 +1,14 @@
1
1
  {
2
2
  "name": "ydb-embedded-ui",
3
- "version": "12.24.1",
3
+ "version": "12.26.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
7
7
  "main": "dist/lib.js",
8
+ "engines": {
9
+ "node": ">=22.0",
10
+ "npm": "^10.0.0"
11
+ },
8
12
  "repository": {
9
13
  "type": "git",
10
14
  "url": "git@github.com:ydb-platform/ydb-embedded-ui.git"
@@ -23,6 +27,7 @@
23
27
  "@gravity-ui/navigation": "^3.3.9",
24
28
  "@gravity-ui/paranoid": "^3.0.0",
25
29
  "@gravity-ui/react-data-table": "^2.2.1",
30
+ "@gravity-ui/react-unipika": "^0.5.1",
26
31
  "@gravity-ui/table": "^1.10.1",
27
32
  "@gravity-ui/uikit": "^7.23.0",
28
33
  "@gravity-ui/unipika": "^5.2.1",
@@ -1,17 +0,0 @@
1
- import type { UnipikaSettings } from '../unipika/StructuredYsonTypes';
2
- import type { SearchInfo, UnipikaFlattenTreeItem } from '../unipika/flattenUnipika';
3
- interface CellProps {
4
- matched: SearchInfo;
5
- row: UnipikaFlattenTreeItem;
6
- settings?: UnipikaSettings;
7
- collapsedState?: {
8
- readonly [key: string]: boolean;
9
- };
10
- onToggleCollapse: (path: string) => void;
11
- filter?: string;
12
- index: number;
13
- showFullText: (index: number) => void;
14
- maxValueWidth?: number;
15
- }
16
- export declare function Cell(props: CellProps): import("react/jsx-runtime").JSX.Element;
17
- export {};
@@ -1,103 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from 'react';
3
- import { Icon } from '@gravity-ui/uikit';
4
- import fill_ from 'lodash/fill';
5
- import { MultiHighlightedText } from '../components/HighlightedText';
6
- import { ToggleCollapseButton } from '../components/ToggleCollapseButton';
7
- import { block } from '../constants';
8
- import i18n from '../i18n';
9
- import { defaultUnipikaSettings, unipika } from '../unipika/unipika';
10
- import { getHightLightedClassName } from '../utils';
11
- import ArrowUpRightFromSquareIcon from '@gravity-ui/icons/svgs/arrow-up-right-from-square.svg';
12
- export function Cell(props) {
13
- const { row: { level, open, close, key, value, hasDelimiter, path, collapsed, depth }, settings, onToggleCollapse, matched, filter, showFullText, index, } = props;
14
- const handleToggleCollapse = React.useCallback(() => {
15
- if (!path) {
16
- return;
17
- }
18
- onToggleCollapse(path);
19
- }, [path, onToggleCollapse]);
20
- const handleShowFullText = React.useCallback(() => {
21
- showFullText(index);
22
- }, [showFullText, index]);
23
- return (_jsxs("div", { className: block('cell', 'unipika'), children: [getLevelOffsetSpaces(level), path && (_jsx(ToggleCollapseButton, { collapsed: collapsed, path: path, onToggle: handleToggleCollapse })), _jsx(Key, { text: key, settings: settings, matched: matched === null || matched === void 0 ? void 0 : matched.keyMatch, filter: filter }), open && _jsx(OpenClose, { type: open, settings: settings }), depth !== undefined && (_jsx("span", { className: 'unipika', children: i18n('context_items-count', { count: depth }) })), value !== undefined && (_jsx(Value, { text: value, settings: settings, matched: matched === null || matched === void 0 ? void 0 : matched.valueMatch, filter: filter, showFullText: handleShowFullText, maxValueWidth: props.maxValueWidth })), collapsed && depth === undefined && _jsx("span", { className: 'unipika', children: "..." }), close && _jsx(OpenClose, { type: close, settings: settings, close: true }), hasDelimiter && _jsx(AdditionalText, { text: ',' })] }));
24
- }
25
- function Key(props) {
26
- const text = renderKeyWithFilter(props);
27
- return text ? (_jsxs(React.Fragment, { children: [text, _jsx(AdditionalText, { text: ': ' })] })) : null;
28
- }
29
- function Value(props) {
30
- var _a;
31
- return (_jsx(React.Fragment, { children: renderValueWithFilter(props, block('value', { type: (_a = props.text) === null || _a === void 0 ? void 0 : _a.$type })) }));
32
- }
33
- function renderValueWithFilter(props, className) {
34
- var _a;
35
- if ('string' === ((_a = props.text) === null || _a === void 0 ? void 0 : _a.$type)) {
36
- return renderStringWithFilter(props, className);
37
- }
38
- return renderWithFilter(props, block('value'));
39
- }
40
- function renderStringWithFilter(props, className) {
41
- const { text, settings = defaultUnipikaSettings, matched = [], filter, showFullText, maxValueWidth = Infinity, } = props;
42
- const tmp = unipika.format(text, { ...settings, maxStringSize: 10, asHTML: false });
43
- const length = tmp.length;
44
- const visible = tmp.substring(1, Math.min(length - 1, maxValueWidth + 1));
45
- const truncated = visible.length < tmp.length - 2;
46
- let hasHiddenMatch = false;
47
- if (truncated) {
48
- for (let i = matched.length - 1; i >= 0; --i) {
49
- if (visible.length < matched[i] + ((filter === null || filter === void 0 ? void 0 : filter.length) || 0)) {
50
- hasHiddenMatch = true;
51
- break;
52
- }
53
- }
54
- }
55
- return (_jsxs("span", { children: [_jsx(MultiHighlightedText, { className: getHightLightedClassName(className), text: visible, starts: matched, length: filter === null || filter === void 0 ? void 0 : filter.length }), truncated && (_jsxs("span", { className: block('filtered', {
56
- highlighted: hasHiddenMatch,
57
- clickable: true,
58
- }), onClick: showFullText, children: ['\u2026', _jsx(Icon, { data: ArrowUpRightFromSquareIcon })] }))] }));
59
- }
60
- function renderKeyWithFilter(props) {
61
- if (!(props === null || props === void 0 ? void 0 : props.text)) {
62
- return null;
63
- }
64
- return renderStringWithFilter(props, block('key'));
65
- }
66
- function renderWithFilter(props, className) {
67
- const { text, filter, settings, matched } = props;
68
- let res = null;
69
- if (matched && filter) {
70
- const tmp = unipika.format(text, { ...settings, asHTML: false });
71
- res = (_jsx(MultiHighlightedText, { className: getHightLightedClassName(className), text: tmp, starts: matched, length: filter === null || filter === void 0 ? void 0 : filter.length }));
72
- }
73
- else {
74
- res = text ? formatValue(text, settings) : undefined;
75
- }
76
- return res ? res : null;
77
- }
78
- function AdditionalText({ text }) {
79
- return _jsx("span", { children: text });
80
- }
81
- function OpenClose(props) {
82
- const { type, close } = props;
83
- switch (type) {
84
- case 'array':
85
- return _jsx(AdditionalText, { text: close ? ']' : '[' });
86
- case 'object':
87
- return _jsx(AdditionalText, { text: close ? '}' : '{' });
88
- }
89
- }
90
- function formatValue(value, settings = defaultUnipikaSettings) {
91
- const __html = unipika.formatValue(value, { ...defaultUnipikaSettings, ...settings }, 0);
92
- return _jsx("span", { className: 'unipika', dangerouslySetInnerHTML: { __html } });
93
- }
94
- const OFFSETS_BY_LEVEL = {};
95
- function getLevelOffsetSpaces(level) {
96
- let res = OFFSETS_BY_LEVEL[level];
97
- if (!res) {
98
- const __html = fill_(Array(level * 3), '&nbsp;').join('');
99
- res = OFFSETS_BY_LEVEL[level] = _jsx("span", { dangerouslySetInnerHTML: { __html } });
100
- }
101
- return res;
102
- }
103
- //# sourceMappingURL=Cell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cell.js","sourceRoot":"","sources":["../../../../src/components/JsonViewer/components/Cell.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- interface FullValueDialogProps {
2
- onClose: () => void;
3
- length: number;
4
- text: string;
5
- starts: number[];
6
- }
7
- export declare function FullValueDialog({ onClose, text, starts, length }: FullValueDialogProps): import("react/jsx-runtime").JSX.Element;
8
- export {};
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Dialog, Flex } from '@gravity-ui/uikit';
3
- import { block } from '../constants';
4
- import i18n from '../i18n';
5
- import { getHightLightedClassName } from '../utils';
6
- import { MultiHighlightedText } from './HighlightedText';
7
- export function FullValueDialog({ onClose, text, starts, length }) {
8
- //if dialog opens from Drawer, outside click should not close Drawer
9
- const handleClickOutside = (e) => {
10
- e.stopPropagation();
11
- };
12
- return (_jsxs(Dialog, { open: true, onClose: onClose, onOutsideClick: handleClickOutside, children: [_jsx(Dialog.Header, { caption: i18n('description_full-value') }), _jsx(Dialog.Divider, {}), _jsx(Dialog.Body, { children: _jsx(Flex, { direction: "column", gap: 2, width: "70vw", maxHeight: "80vh", children: _jsx("div", { className: block('full-value'), children: _jsx(MultiHighlightedText, { className: getHightLightedClassName(), starts: starts, text: text, length: length }) }) }) })] }));
13
- }
14
- //# sourceMappingURL=FullValueDialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FullValueDialog.js","sourceRoot":"","sources":["../../../../src/components/JsonViewer/components/FullValueDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACnC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAC,wBAAwB,EAAC,MAAM,UAAU,CAAC;AAElD,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AASvD,MAAM,UAAU,eAAe,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAuB;IACjF,oEAAoE;IACpE,MAAM,kBAAkB,GAAG,CAAC,CAAa,EAAE,EAAE;QACzC,CAAC,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC,CAAC;IACF,OAAO,CACH,MAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,aACpE,KAAC,MAAM,CAAC,MAAM,IAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,GAAI,EAC1D,KAAC,MAAM,CAAC,OAAO,KAAG,EAClB,KAAC,MAAM,CAAC,IAAI,cACR,KAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM,YAC1D,cAAK,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,YAC/B,KAAC,oBAAoB,IACjB,SAAS,EAAE,wBAAwB,EAAE,EACrC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GAChB,GACA,GACH,GACG,IACT,CACZ,CAAC;AACN,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { NoStrictEntityMods } from '@bem-react/classname';
2
- interface Props {
3
- className: (mods?: NoStrictEntityMods) => string;
4
- text: string;
5
- start?: number;
6
- length?: number;
7
- hasComa?: boolean;
8
- markBegin?: boolean;
9
- }
10
- export default function HighlightedText({ className, text, start, length, hasComa }: Props): import("react/jsx-runtime").JSX.Element;
11
- interface MultiProps extends Omit<Props, 'start'> {
12
- starts: Array<number>;
13
- }
14
- export declare function MultiHighlightedText({ className, text, starts, length, hasComa }: MultiProps): import("react/jsx-runtime").JSX.Element;
15
- export {};
@@ -1,30 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from 'react';
3
- export default function HighlightedText({ className, text, start, length, hasComa }) {
4
- const comma = hasComa ? _jsx(React.Fragment, { children: ",\u00A0" }) : null;
5
- if (length && typeof start === 'number' && start >= 0 && start < text.length) {
6
- const begin = text.substring(0, start);
7
- const highlighted = text.substring(start, start + length);
8
- const end = text.substring(start + length);
9
- return (_jsxs(React.Fragment, { children: [begin && _jsx("span", { className: className(), children: begin }), _jsx("span", { className: className({ highlighted: true }), children: highlighted }), end && _jsx("span", { className: className(), children: end }), comma] }));
10
- }
11
- return (_jsxs("span", { className: className(), children: [text, comma] }));
12
- }
13
- export function MultiHighlightedText({ className, text, starts, length, hasComa }) {
14
- if (!length || !starts.length) {
15
- const comma = hasComa ? _jsx(React.Fragment, { children: ",\u00A0" }) : null;
16
- return (_jsxs("span", { className: className(), children: [text, comma] }));
17
- }
18
- const substrs = [];
19
- for (let i = 0, pos = 0; i < starts.length && pos < text.length; ++i) {
20
- const isLast = i === starts.length - 1;
21
- const to = starts[i] + (isLast ? text.length : length);
22
- const substr = text.substring(pos, to);
23
- if (substr) {
24
- substrs.push(_jsx(HighlightedText, { className: className, text: substr, start: starts[i] - pos, length: length, hasComa: isLast && hasComa }));
25
- }
26
- pos = to;
27
- }
28
- return _jsx(React.Fragment, { children: substrs });
29
- }
30
- //# sourceMappingURL=HighlightedText.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HighlightedText.js","sourceRoot":"","sources":["../../../../src/components/JsonViewer/components/HighlightedText.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAQ;IACpF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,KAAC,KAAK,CAAC,QAAQ,0BAAyB,CAAC,CAAC,CAAC,IAAI,CAAC;IAExE,IAAI,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QAE3C,OAAO,CACH,MAAC,KAAK,CAAC,QAAQ,eACV,KAAK,IAAI,eAAM,SAAS,EAAE,SAAS,EAAE,YAAG,KAAK,GAAQ,EACtD,eAAM,SAAS,EAAE,SAAS,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,YAAG,WAAW,GAAQ,EACpE,GAAG,IAAI,eAAM,SAAS,EAAE,SAAS,EAAE,YAAG,GAAG,GAAQ,EACjD,KAAK,IACO,CACpB,CAAC;IACN,CAAC;IAED,OAAO,CACH,gBAAM,SAAS,EAAE,SAAS,EAAE,aACvB,IAAI,EACJ,KAAK,IACH,CACV,CAAC;AACN,CAAC;AAMD,MAAM,UAAU,oBAAoB,CAAC,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAa;IACvF,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,KAAC,KAAK,CAAC,QAAQ,0BAAyB,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,OAAO,CACH,gBAAM,SAAS,EAAE,SAAS,EAAE,aACvB,IAAI,EACJ,KAAK,IACH,CACV,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CACR,KAAC,eAAe,IACZ,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,IAAI,OAAO,GAC5B,CACL,CAAC;QACN,CAAC;QACD,GAAG,GAAG,EAAE,CAAC;IACb,CAAC;IACD,OAAO,KAAC,KAAK,CAAC,QAAQ,cAAE,OAAO,GAAkB,CAAC;AACtD,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { UnipikaFlattenTreeItem } from '../unipika/flattenUnipika';
2
- interface ToggleCollapseProps {
3
- collapsed?: boolean;
4
- path?: UnipikaFlattenTreeItem['path'];
5
- onToggle: () => void;
6
- }
7
- export declare function ToggleCollapseButton(props: ToggleCollapseProps): import("react/jsx-runtime").JSX.Element;
8
- export {};
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Button } from '@gravity-ui/uikit';
3
- import { block } from '../constants';
4
- export function ToggleCollapseButton(props) {
5
- const { collapsed, onToggle, path } = props;
6
- return (_jsx("span", { title: path, className: block('collapsed'), children: _jsx(Button, { onClick: onToggle, view: "flat-secondary", size: 'xs', children: _jsx(Button.Icon, { children: _jsx("span", { className: 'unipika', children: collapsed ? '[+]' : '[-]' }) }) }) }));
7
- }
8
- //# sourceMappingURL=ToggleCollapseButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToggleCollapseButton.js","sourceRoot":"","sources":["../../../../src/components/JsonViewer/components/ToggleCollapseButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AASnC,MAAM,UAAU,oBAAoB,CAAC,KAA0B;IAC3D,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IAC1C,OAAO,CACH,eAAM,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,YAC5C,KAAC,MAAM,IAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAC,gBAAgB,EAAC,IAAI,EAAE,IAAI,YACvD,KAAC,MAAM,CAAC,IAAI,cACR,eAAM,SAAS,EAAE,SAAS,YAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAQ,GACpD,GACT,GACN,CACV,CAAC;AACN,CAAC"}
@@ -1,51 +0,0 @@
1
- export type UnipikaSettings = {
2
- nonBreakingIndent?: boolean;
3
- escapeWhitespace?: boolean;
4
- escapeYQLStrings?: boolean;
5
- binaryAsHex?: boolean;
6
- showDecoded?: boolean;
7
- decodeUTF8?: boolean;
8
- format?: string;
9
- indent?: number;
10
- compact?: boolean;
11
- asHTML?: boolean;
12
- break?: boolean;
13
- maxListSize?: number;
14
- maxStringSize?: number;
15
- omitStructNull?: boolean;
16
- treatValAsData?: boolean;
17
- validateSrcUrl?: (taggedTypeUrl: string) => boolean;
18
- normalizeUrl?: (url?: string) => string;
19
- };
20
- interface BaseUnipikaValue {
21
- $attributes?: UnipikaMap['$value'];
22
- }
23
- export type UnipikaValue = UnipikaMap | UnipikaList | UnipikaString | UnipikaPrimitive;
24
- export interface UnipikaMap extends BaseUnipikaValue {
25
- $type: 'map';
26
- $value: Array<[UnipikaMapKey, UnipikaValue]>;
27
- }
28
- interface UnipikaType<Type, Value> extends BaseUnipikaValue {
29
- $type: Type;
30
- $value: Value;
31
- }
32
- export interface UnipikaMapKey extends BaseUnipikaValue {
33
- $key: true;
34
- $type: 'string';
35
- $value: string;
36
- $decoded_value?: string;
37
- }
38
- export interface UnipikaList extends BaseUnipikaValue {
39
- $type: 'list';
40
- $value: Array<UnipikaValue>;
41
- }
42
- export type UnipikaString = UnipikaType<'string', string> & {
43
- $decoded_value?: string;
44
- };
45
- /**
46
- * Actually there might be another primitive types but at this level
47
- * it is enought to know that there are specific interfaces for 'map', 'list' and 'string',
48
- * and similar structure for all rest types.
49
- */
50
- export type UnipikaPrimitive = UnipikaType<'null' | 'boolean' | 'number' | 'double' | 'int64', string | number | boolean | null>;
51
- export {};
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=StructuredYsonTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StructuredYsonTypes.js","sourceRoot":"","sources":["../../../../src/components/JsonViewer/unipika/StructuredYsonTypes.ts"],"names":[],"mappings":""}
@@ -1,44 +0,0 @@
1
- import type { UnipikaMapKey, UnipikaPrimitive, UnipikaSettings, UnipikaString, UnipikaValue } from './StructuredYsonTypes';
2
- export type BlockType = 'object' | 'array';
3
- export interface UnipikaFlattenTreeItem {
4
- level: number;
5
- open?: BlockType;
6
- close?: BlockType;
7
- depth?: number;
8
- path?: string;
9
- key?: UnipikaMapKey;
10
- value?: UnipikaString | UnipikaPrimitive;
11
- hasDelimiter?: boolean;
12
- collapsed?: boolean;
13
- }
14
- export type UnipikaFlattenTree = Array<UnipikaFlattenTreeItem>;
15
- interface FlattenUnipikaOptions {
16
- collapsedState?: CollapsedState;
17
- matchedState?: {};
18
- settings?: UnipikaSettings;
19
- filter?: string;
20
- caseSensitive?: boolean;
21
- }
22
- export interface FlattenUnipikaResult {
23
- data: UnipikaFlattenTree;
24
- searchIndex: {
25
- [index: number]: SearchInfo;
26
- };
27
- }
28
- export declare function flattenUnipika(value: UnipikaValue, options?: FlattenUnipikaOptions): FlattenUnipikaResult;
29
- export type CollapsedState = {
30
- [path: string]: boolean;
31
- };
32
- interface SearchParams {
33
- settings?: UnipikaSettings;
34
- caseSensitive?: boolean;
35
- }
36
- export interface SearchInfo {
37
- keyMatch?: Array<number>;
38
- valueMatch?: Array<number>;
39
- }
40
- type SearchIndex = {
41
- [index: number]: SearchInfo;
42
- };
43
- export declare function makeSearchIndex(tree: UnipikaFlattenTree, filter?: string, options?: SearchParams): SearchIndex;
44
- export {};
@@ -1,254 +0,0 @@
1
- import { unipika } from './unipika';
2
- export function flattenUnipika(value, options) {
3
- const collapsedState = (options === null || options === void 0 ? void 0 : options.collapsedState) || {};
4
- const ctx = {
5
- dst: [],
6
- levels: [],
7
- path: [],
8
- collapsedState,
9
- matchedPath: '',
10
- collapsedPath: '',
11
- };
12
- flattenUnipikaImpl(value, 0, ctx);
13
- const searchIndex = makeSearchIndex(ctx.dst, options === null || options === void 0 ? void 0 : options.filter, {
14
- settings: options === null || options === void 0 ? void 0 : options.settings,
15
- caseSensitive: options === null || options === void 0 ? void 0 : options.caseSensitive,
16
- });
17
- return { data: ctx.dst, searchIndex };
18
- }
19
- function isObjectLike(type) {
20
- return type === 'object';
21
- }
22
- function flattenUnipikaImpl(value, level, ctx) {
23
- return flattenUnipikaJsonImpl(value, level, ctx);
24
- }
25
- function flattenUnipikaJsonImpl(value, level = 0, ctx) {
26
- const beforeAttrs = ctx.dst.length;
27
- const { type } = ctx.levels[ctx.levels.length - 1] || {};
28
- const itemPathIndex = isObjectLike(type) ? beforeAttrs - 1 : ctx.dst.length;
29
- const isCollapsed = isPathCollapsed(ctx);
30
- const isContainerType = isValueContainenrType(value);
31
- let containerSize = 0;
32
- if (isCollapsed) {
33
- handleCollapsedValue(value, level, ctx);
34
- }
35
- else {
36
- const valueLevel = level;
37
- containerSize = handleValueBlock(isContainerType, value, valueLevel, ctx);
38
- }
39
- if (isContainerType && containerSize) {
40
- ctx.dst[itemPathIndex].depth = containerSize;
41
- handlePath(ctx, itemPathIndex); // handle 'array item'/'object field' path
42
- }
43
- }
44
- function handleValueBlock(isContainerType, value, valueLevel, ctx) {
45
- let containerSize = 0;
46
- const isValueCollapsed = isContainerType && isPathCollapsed(ctx);
47
- if (isValueCollapsed) {
48
- handleCollapsedValue(value, valueLevel, ctx);
49
- }
50
- else {
51
- switch (value.$type) {
52
- case 'map':
53
- handleUnipikaMap(value, valueLevel, ctx);
54
- containerSize = value.$value.length;
55
- break;
56
- case 'list':
57
- handleUnipikaList(value, valueLevel, ctx);
58
- containerSize = value.$value.length;
59
- break;
60
- case 'string':
61
- handleElement(fromUnipikaString(value, valueLevel), ctx);
62
- break;
63
- default:
64
- handleElement(fromUnipikaPrimitive(value, valueLevel), ctx);
65
- break;
66
- }
67
- }
68
- return containerSize;
69
- }
70
- function handleCollapsedValue(value, level, ctx) {
71
- switch (value.$type) {
72
- case 'map': {
73
- handleCollapsedBlock('object', level, ctx, value.$value.length);
74
- break;
75
- }
76
- case 'list': {
77
- handleCollapsedBlock('array', level, ctx, value.$value.length);
78
- break;
79
- }
80
- }
81
- }
82
- function handleCollapsedBlock(type, level, ctx, depth) {
83
- openBlock(type, level, ctx, 0);
84
- const item = ctx.dst[ctx.dst.length - 1];
85
- item.depth = depth;
86
- item.collapsed = true;
87
- handlePath(ctx, ctx.dst.length - 1);
88
- closeBlock(type, level, ctx);
89
- }
90
- function handlePath(ctx, index) {
91
- if (ctx.collapsedPath.length) {
92
- ctx.dst[index].path = ctx.collapsedPath;
93
- }
94
- }
95
- function pushPath(path, ctx) {
96
- ctx.path.push(path);
97
- ctx.collapsedPath = ctx.collapsedPath.length ? ctx.collapsedPath + '/' + path : path;
98
- }
99
- function popPath(ctx) {
100
- const last = ctx.path.pop();
101
- if (last !== undefined) {
102
- ctx.collapsedPath = ctx.collapsedPath.substring(0, ctx.collapsedPath.length - last.length - 1);
103
- }
104
- }
105
- function isValueContainenrType(value) {
106
- return value.$type === 'map' || value.$type === 'list';
107
- }
108
- function isPathCollapsed(ctx) {
109
- return Boolean(ctx.collapsedState[ctx.collapsedPath]);
110
- }
111
- function openBlock(type, level, ctx, length) {
112
- const { dst } = ctx;
113
- const last = getLastAsKey(dst);
114
- // for attributes level should be upper than level of key or parent array
115
- if ((last === null || last === void 0 ? void 0 : last.key) && last.level === level) {
116
- last.open = type;
117
- }
118
- else {
119
- dst.push({ level, open: type });
120
- }
121
- const levelInfo = { type, length, currentIndex: 0 };
122
- ctx.levels.push(levelInfo);
123
- return levelInfo;
124
- }
125
- function closeBlock(type, level, ctx) {
126
- const info = ctx.levels.pop();
127
- if (info.type !== type) {
128
- throw new Error('The unipika tree cannot be converted to array, there is some mess with levels ' +
129
- `\n${JSON.stringify({ type, level, info, ctx }, null, 2)}`);
130
- }
131
- const last = ctx.dst[ctx.dst.length - 1];
132
- const isCloseSameAsOpen = last.level === level && last.open === type;
133
- const item = isCloseSameAsOpen
134
- ? last
135
- : {
136
- level,
137
- close: type,
138
- };
139
- if (isDelimiterRequired(ctx)) {
140
- item.hasDelimiter = true;
141
- }
142
- if (isCloseSameAsOpen) {
143
- item.close = type;
144
- }
145
- else {
146
- ctx.dst.push(item);
147
- }
148
- }
149
- function isDelimiterRequired(ctx) {
150
- const { length, currentIndex } = ctx.levels[ctx.levels.length - 1] || {};
151
- return length !== undefined && currentIndex < length - 1;
152
- }
153
- function handleElement(value, ctx) {
154
- const lastAsKey = getLastAsKey(ctx.dst);
155
- if (lastAsKey && !lastAsKey.open) {
156
- Object.assign(lastAsKey, value, { level: lastAsKey.level });
157
- }
158
- else {
159
- ctx.dst.push(value);
160
- }
161
- const last = ctx.dst[ctx.dst.length - 1];
162
- if (isDelimiterRequired(ctx)) {
163
- last.hasDelimiter = true;
164
- }
165
- }
166
- function getLastAsKey(dst) {
167
- const item = dst[dst.length - 1];
168
- return (item === null || item === void 0 ? void 0 : item.key) && !(item === null || item === void 0 ? void 0 : item.close) ? item : null;
169
- }
170
- function handleUnipikaMap(map, level, ctx) {
171
- const info = openBlock('object', level, ctx, map.$value.length);
172
- handleUnipikaMapImpl(map.$value, level + 1, ctx, info);
173
- closeBlock('object', level, ctx);
174
- }
175
- function handleUnipikaMapImpl(items, level, ctx, info) {
176
- for (let i = 0; i < items.length; ++i) {
177
- const [key, value] = items[i];
178
- const keyItem = { key, level: level };
179
- ctx.dst.push(keyItem);
180
- pushPath(key.$value, ctx);
181
- flattenUnipikaImpl(value, level, ctx);
182
- ++info.currentIndex;
183
- popPath(ctx);
184
- }
185
- }
186
- function handleUnipikaList(value, level, ctx) {
187
- const { $value: items } = value;
188
- const info = openBlock('array', level, ctx, items.length);
189
- for (let i = 0; i < items.length; ++i) {
190
- pushPath(String(i), ctx);
191
- flattenUnipikaImpl(items[i], level + 1, ctx);
192
- ++info.currentIndex;
193
- popPath(ctx);
194
- }
195
- closeBlock('array', level, ctx);
196
- }
197
- function fromUnipikaString(value, level) {
198
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
199
- const { $attributes, ...rest } = value;
200
- return { level: level, value: rest };
201
- }
202
- function fromUnipikaPrimitive(value, level) {
203
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
204
- const { $attributes, ...rest } = value;
205
- return { level: level, value: rest };
206
- }
207
- export function makeSearchIndex(tree, filter, options) {
208
- if (!filter) {
209
- return {};
210
- }
211
- const settings = Object.assign({}, options === null || options === void 0 ? void 0 : options.settings, { asHTML: false });
212
- const res = {};
213
- for (let i = 0; i < tree.length; ++i) {
214
- const { key, value } = tree[i];
215
- const keyMatch = rowSearchInfo(key, filter, settings, options === null || options === void 0 ? void 0 : options.caseSensitive);
216
- const valueMatch = rowSearchInfo(value, filter, settings, options === null || options === void 0 ? void 0 : options.caseSensitive);
217
- if (keyMatch || valueMatch) {
218
- res[i] = Object.assign({}, keyMatch && { keyMatch }, valueMatch && { valueMatch });
219
- }
220
- }
221
- return res;
222
- }
223
- function rowSearchInfo(v, filter, settings, caseSensitive) {
224
- if (!v) {
225
- return undefined;
226
- }
227
- const res = [];
228
- let tmp = unipika.formatValue(v, settings);
229
- if (!tmp) {
230
- return undefined;
231
- }
232
- tmp = String(tmp); //unipika.formatValue might return an instance of Number
233
- if (v.$type === 'string') {
234
- tmp = tmp.substring(1, tmp.length - 1); // skip quotes
235
- }
236
- let from = 0;
237
- let normolizedFilter = filter;
238
- if (!caseSensitive) {
239
- tmp = tmp.toLowerCase();
240
- normolizedFilter = filter.toLowerCase();
241
- }
242
- while (from >= 0 && from < tmp.length) {
243
- if (!caseSensitive) {
244
- }
245
- const index = tmp.indexOf(normolizedFilter, from);
246
- if (-1 === index) {
247
- break;
248
- }
249
- from = index + normolizedFilter.length;
250
- res.push(index);
251
- }
252
- return res.length ? res : undefined;
253
- }
254
- //# sourceMappingURL=flattenUnipika.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flattenUnipika.js","sourceRoot":"","sources":["../../../../src/components/JsonViewer/unipika/flattenUnipika.ts"],"names":[],"mappings":"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"}