ydb-ui-components 3.6.0 → 4.0.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/build/cjs/components/NavigationTree/EmptyView/EmptyView.d.ts +1 -1
- package/build/cjs/components/NavigationTree/EmptyView/EmptyView.js +12 -28
- package/build/cjs/components/NavigationTree/ErrorView/ErrorView.d.ts +1 -1
- package/build/cjs/components/NavigationTree/ErrorView/ErrorView.js +12 -28
- package/build/cjs/components/NavigationTree/LoaderView/LoaderView.d.ts +1 -1
- package/build/cjs/components/NavigationTree/LoaderView/LoaderView.js +11 -30
- package/build/cjs/components/NavigationTree/NavigationTree.js +36 -116
- package/build/cjs/components/NavigationTree/NavigationTreeNode.d.ts +2 -2
- package/build/cjs/components/NavigationTree/NavigationTreeNode.js +86 -173
- package/build/cjs/components/NavigationTree/i18n/index.d.ts +1 -1
- package/build/cjs/components/NavigationTree/i18n/index.js +7 -25
- package/build/cjs/components/NavigationTree/index.d.ts +1 -1
- package/build/cjs/components/NavigationTree/index.js +3 -30
- package/build/cjs/components/NavigationTree/state.d.ts +31 -5
- package/build/cjs/components/NavigationTree/state.js +58 -122
- package/build/cjs/components/NavigationTree/types.d.ts +3 -3
- package/build/cjs/components/NavigationTree/types.js +1 -4
- package/build/cjs/components/NavigationTree/utils.d.ts +1 -1
- package/build/cjs/components/NavigationTree/utils.js +42 -72
- package/build/cjs/components/TreeView/TreeView.d.ts +2 -2
- package/build/cjs/components/TreeView/TreeView.js +43 -104
- package/build/cjs/components/TreeView/index.js +3 -17
- package/build/cjs/components/icons/ColumnTable.js +6 -22
- package/build/cjs/components/icons/Database.js +6 -20
- package/build/cjs/components/icons/ExternalDataSource.js +6 -22
- package/build/cjs/components/icons/ExternalTable.js +6 -22
- package/build/cjs/components/icons/Folder.js +6 -20
- package/build/cjs/components/icons/FolderOpen.js +6 -20
- package/build/cjs/components/icons/Index.js +6 -22
- package/build/cjs/components/icons/Table.js +6 -22
- package/build/cjs/components/icons/Topic.js +6 -36
- package/build/cjs/index.d.ts +0 -1
- package/build/cjs/index.js +4 -43
- package/build/cjs/utils/cn.d.ts +1 -0
- package/build/cjs/utils/cn.js +5 -0
- package/build/esm/components/NavigationTree/EmptyView/EmptyView.d.ts +1 -1
- package/build/esm/components/NavigationTree/EmptyView/EmptyView.js +7 -13
- package/build/esm/components/NavigationTree/ErrorView/ErrorView.d.ts +1 -1
- package/build/esm/components/NavigationTree/ErrorView/ErrorView.js +7 -13
- package/build/esm/components/NavigationTree/LoaderView/LoaderView.d.ts +1 -1
- package/build/esm/components/NavigationTree/LoaderView/LoaderView.js +6 -14
- package/build/esm/components/NavigationTree/NavigationTree.js +29 -98
- package/build/esm/components/NavigationTree/NavigationTreeNode.d.ts +2 -2
- package/build/esm/components/NavigationTree/NavigationTreeNode.js +76 -142
- package/build/esm/components/NavigationTree/i18n/index.d.ts +1 -1
- package/build/esm/components/NavigationTree/i18n/index.js +3 -6
- package/build/esm/components/NavigationTree/index.d.ts +1 -1
- package/build/esm/components/NavigationTree/index.js +0 -1
- package/build/esm/components/NavigationTree/state.d.ts +31 -5
- package/build/esm/components/NavigationTree/state.js +51 -106
- package/build/esm/components/NavigationTree/types.d.ts +3 -3
- package/build/esm/components/NavigationTree/types.js +1 -1
- package/build/esm/components/NavigationTree/utils.d.ts +1 -1
- package/build/esm/components/NavigationTree/utils.js +37 -62
- package/build/esm/components/TreeView/TreeView.d.ts +2 -2
- package/build/esm/components/TreeView/TreeView.js +38 -84
- package/build/esm/components/TreeView/index.js +1 -1
- package/build/esm/components/icons/ColumnTable.js +3 -12
- package/build/esm/components/icons/Database.js +3 -10
- package/build/esm/components/icons/ExternalDataSource.js +3 -12
- package/build/esm/components/icons/ExternalTable.js +3 -12
- package/build/esm/components/icons/Folder.js +3 -10
- package/build/esm/components/icons/FolderOpen.js +3 -10
- package/build/esm/components/icons/Index.js +3 -12
- package/build/esm/components/icons/Table.js +3 -12
- package/build/esm/components/icons/Topic.js +3 -26
- package/build/esm/index.d.ts +0 -1
- package/build/esm/index.js +0 -1
- package/build/esm/utils/cn.d.ts +1 -0
- package/build/esm/utils/cn.js +2 -0
- package/package.json +52 -29
- package/CHANGELOG.md +0 -233
- package/build/cjs/components/i18n.d.ts +0 -2
- package/build/cjs/components/i18n.js +0 -19
- package/build/cjs/utils/configure.d.ts +0 -12
- package/build/cjs/utils/configure.js +0 -42
- package/build/cjs/utils/index.d.ts +0 -1
- package/build/cjs/utils/index.js +0 -19
- package/build/esm/components/i18n.d.ts +0 -2
- package/build/esm/components/i18n.js +0 -9
- package/build/esm/utils/configure.d.ts +0 -12
- package/build/esm/utils/configure.js +0 -26
- package/build/esm/utils/index.d.ts +0 -1
- package/build/esm/utils/index.js +0 -1
|
@@ -1,30 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
|
|
11
|
-
|
|
12
|
-
var _i18n = _interopRequireDefault(require("../i18n"));
|
|
13
|
-
|
|
14
|
-
var _TreeView = require("../../TreeView/TreeView");
|
|
15
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EmptyView = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const cn_1 = require("../../../utils/cn");
|
|
7
|
+
const TreeView_1 = require("../../TreeView/TreeView");
|
|
8
|
+
const i18n_1 = tslib_1.__importDefault(require("../i18n"));
|
|
16
9
|
require("./EmptyView.css");
|
|
17
|
-
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
function EmptyView(_ref) {
|
|
23
|
-
var level = _ref.level;
|
|
24
|
-
return /*#__PURE__*/_react["default"].createElement(_TreeView.TreeView, {
|
|
25
|
-
name: /*#__PURE__*/_react["default"].createElement("span", {
|
|
26
|
-
className: b()
|
|
27
|
-
}, (0, _i18n["default"])('label_empty')),
|
|
28
|
-
level: level
|
|
29
|
-
});
|
|
30
|
-
}
|
|
10
|
+
const b = (0, cn_1.block)('ydb-navigation-tree-view-empty');
|
|
11
|
+
function EmptyView({ level }) {
|
|
12
|
+
return (0, jsx_runtime_1.jsx)(TreeView_1.TreeView, { name: (0, jsx_runtime_1.jsx)("span", { className: b(), children: (0, i18n_1.default)('label_empty') }), level: level });
|
|
13
|
+
}
|
|
14
|
+
exports.EmptyView = EmptyView;
|
|
@@ -1,30 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
|
|
11
|
-
|
|
12
|
-
var _i18n = _interopRequireDefault(require("../i18n"));
|
|
13
|
-
|
|
14
|
-
var _TreeView = require("../../TreeView/TreeView");
|
|
15
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorView = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const cn_1 = require("../../../utils/cn");
|
|
7
|
+
const TreeView_1 = require("../../TreeView/TreeView");
|
|
8
|
+
const i18n_1 = tslib_1.__importDefault(require("../i18n"));
|
|
16
9
|
require("./ErrorView.css");
|
|
17
|
-
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
function ErrorView(_ref) {
|
|
23
|
-
var level = _ref.level;
|
|
24
|
-
return /*#__PURE__*/_react["default"].createElement(_TreeView.TreeView, {
|
|
25
|
-
name: /*#__PURE__*/_react["default"].createElement("span", {
|
|
26
|
-
className: b()
|
|
27
|
-
}, (0, _i18n["default"])('label_error')),
|
|
28
|
-
level: level
|
|
29
|
-
});
|
|
30
|
-
}
|
|
10
|
+
const b = (0, cn_1.block)('ydb-navigation-tree-view-error');
|
|
11
|
+
function ErrorView({ level }) {
|
|
12
|
+
return (0, jsx_runtime_1.jsx)(TreeView_1.TreeView, { name: (0, jsx_runtime_1.jsx)("span", { className: b(), children: (0, i18n_1.default)('label_error') }), level: level });
|
|
13
|
+
}
|
|
14
|
+
exports.ErrorView = ErrorView;
|
|
@@ -1,32 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
|
-
var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
|
|
11
|
-
|
|
12
|
-
var _uikit = require("@gravity-ui/uikit");
|
|
13
|
-
|
|
14
|
-
var _TreeView = require("../../TreeView/TreeView");
|
|
15
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoaderView = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const uikit_1 = require("@gravity-ui/uikit");
|
|
6
|
+
const cn_1 = require("../../../utils/cn");
|
|
7
|
+
const TreeView_1 = require("../../TreeView/TreeView");
|
|
16
8
|
require("./LoaderView.css");
|
|
17
|
-
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
function LoaderView(_ref) {
|
|
23
|
-
var level = _ref.level;
|
|
24
|
-
return /*#__PURE__*/_react["default"].createElement(_TreeView.TreeView, {
|
|
25
|
-
name: /*#__PURE__*/_react["default"].createElement("div", {
|
|
26
|
-
className: b()
|
|
27
|
-
}, /*#__PURE__*/_react["default"].createElement(_uikit.Spin, {
|
|
28
|
-
size: "xs"
|
|
29
|
-
})),
|
|
30
|
-
level: level
|
|
31
|
-
});
|
|
32
|
-
}
|
|
9
|
+
const b = (0, cn_1.block)('ydb-navigation-tree-view-loader');
|
|
10
|
+
function LoaderView({ level }) {
|
|
11
|
+
return ((0, jsx_runtime_1.jsx)(TreeView_1.TreeView, { name: (0, jsx_runtime_1.jsx)("div", { className: b(), children: (0, jsx_runtime_1.jsx)(uikit_1.Spin, { size: "xs" }) }), level: level }));
|
|
12
|
+
}
|
|
13
|
+
exports.LoaderView = LoaderView;
|
|
@@ -1,119 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
|
-
|
|
26
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
|
-
|
|
28
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
29
|
-
|
|
30
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
31
|
-
|
|
32
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
33
|
-
|
|
34
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
35
|
-
|
|
36
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
37
|
-
|
|
38
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
39
|
-
|
|
40
|
-
var renderServiceNode = function renderServiceNode(node) {
|
|
41
|
-
var key = "".concat(node.path, "|").concat(node.status);
|
|
42
|
-
|
|
43
|
-
if (node.status === 'loading') {
|
|
44
|
-
return /*#__PURE__*/_react["default"].createElement(_LoaderView.LoaderView, {
|
|
45
|
-
key: key,
|
|
46
|
-
level: node.level
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (node.status === 'error') {
|
|
51
|
-
return /*#__PURE__*/_react["default"].createElement(_ErrorView.ErrorView, {
|
|
52
|
-
key: key,
|
|
53
|
-
level: node.level
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return /*#__PURE__*/_react["default"].createElement(_EmptyView.EmptyView, {
|
|
58
|
-
key: key,
|
|
59
|
-
level: node.level
|
|
60
|
-
});
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NavigationTree = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
7
|
+
const react_list_1 = tslib_1.__importDefault(require("react-list"));
|
|
8
|
+
const EmptyView_1 = require("./EmptyView/EmptyView");
|
|
9
|
+
const ErrorView_1 = require("./ErrorView/ErrorView");
|
|
10
|
+
const LoaderView_1 = require("./LoaderView/LoaderView");
|
|
11
|
+
const NavigationTreeNode_1 = require("./NavigationTreeNode");
|
|
12
|
+
const state_1 = require("./state");
|
|
13
|
+
const utils_1 = require("./utils");
|
|
14
|
+
const renderServiceNode = (node) => {
|
|
15
|
+
const key = `${node.path}|${node.status}`;
|
|
16
|
+
if (node.status === 'loading') {
|
|
17
|
+
return (0, jsx_runtime_1.jsx)(LoaderView_1.LoaderView, { level: node.level }, key);
|
|
18
|
+
}
|
|
19
|
+
if (node.status === 'error') {
|
|
20
|
+
return (0, jsx_runtime_1.jsx)(ErrorView_1.ErrorView, { level: node.level }, key);
|
|
21
|
+
}
|
|
22
|
+
return (0, jsx_runtime_1.jsx)(EmptyView_1.EmptyView, { level: node.level }, key);
|
|
61
23
|
};
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
fetchPath = _ref.fetchPath,
|
|
66
|
-
getActions = _ref.getActions,
|
|
67
|
-
renderAdditionalNodeElements = _ref.renderAdditionalNodeElements,
|
|
68
|
-
activePath = _ref.activePath,
|
|
69
|
-
onActivePathUpdate = _ref.onActivePathUpdate,
|
|
70
|
-
_ref$cache = _ref.cache,
|
|
71
|
-
cache = _ref$cache === void 0 ? true : _ref$cache,
|
|
72
|
-
_ref$virtualize = _ref.virtualize,
|
|
73
|
-
virtualize = _ref$virtualize === void 0 ? false : _ref$virtualize;
|
|
74
|
-
|
|
75
|
-
var _React$useReducer = _react["default"].useReducer(_state.reducer, _defineProperty({}, partialRootState.path, (0, _state.getNodeState)(partialRootState))),
|
|
76
|
-
_React$useReducer2 = _slicedToArray(_React$useReducer, 2),
|
|
77
|
-
state = _React$useReducer2[0],
|
|
78
|
-
dispatch = _React$useReducer2[1];
|
|
79
|
-
|
|
80
|
-
var nodesList = _react["default"].useMemo(function () {
|
|
81
|
-
return (0, _state.selectTreeAsList)(state, partialRootState.path);
|
|
82
|
-
}, [state]);
|
|
83
|
-
|
|
84
|
-
var renderNode = function renderNode(node) {
|
|
85
|
-
return /*#__PURE__*/_react["default"].createElement(_NavigationTreeNode.NavigationTreeNode, {
|
|
86
|
-
key: node.path,
|
|
87
|
-
state: state,
|
|
88
|
-
path: node.path,
|
|
89
|
-
activePath: activePath,
|
|
90
|
-
fetchPath: fetchPath,
|
|
91
|
-
dispatch: dispatch,
|
|
92
|
-
onActivate: onActivePathUpdate,
|
|
93
|
-
getActions: getActions,
|
|
94
|
-
renderAdditionalNodeElements: renderAdditionalNodeElements,
|
|
95
|
-
cache: cache,
|
|
96
|
-
level: node.level
|
|
24
|
+
function NavigationTree({ rootState: partialRootState, fetchPath, getActions, renderAdditionalNodeElements, activePath, onActivePathUpdate, cache = true, virtualize = false, }) {
|
|
25
|
+
const [state, dispatch] = react_1.default.useReducer(state_1.reducer, {
|
|
26
|
+
[partialRootState.path]: (0, state_1.getNodeState)(partialRootState),
|
|
97
27
|
});
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
var renderSimpleTree = function renderSimpleTree() {
|
|
113
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, nodesList.map(function (node) {
|
|
114
|
-
return (0, _utils.isServiceNode)(node) ? renderServiceNode(node) : renderNode(node);
|
|
115
|
-
}));
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
return virtualize ? renderVirtualizedTree() : renderSimpleTree();
|
|
119
|
-
}
|
|
28
|
+
const nodesList = react_1.default.useMemo(() => (0, state_1.selectTreeAsList)(state, partialRootState.path), [partialRootState.path, state]);
|
|
29
|
+
const renderNode = (node) => {
|
|
30
|
+
return ((0, jsx_runtime_1.jsx)(NavigationTreeNode_1.NavigationTreeNode, { state: state, path: node.path, activePath: activePath, fetchPath: fetchPath, dispatch: dispatch, onActivate: onActivePathUpdate, getActions: getActions, renderAdditionalNodeElements: renderAdditionalNodeElements, cache: cache, level: node.level }, node.path));
|
|
31
|
+
};
|
|
32
|
+
const renderVirtualizedTree = () => ((0, jsx_runtime_1.jsx)(react_list_1.default, { type: "uniform", length: nodesList.length, useStaticSize: true, itemRenderer: (index) => {
|
|
33
|
+
const node = nodesList[index];
|
|
34
|
+
return (0, utils_1.isServiceNode)(node) ? renderServiceNode(node) : renderNode(node);
|
|
35
|
+
} }));
|
|
36
|
+
const renderSimpleTree = () => ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: nodesList.map((node) => (0, utils_1.isServiceNode)(node) ? renderServiceNode(node) : renderNode(node)) }));
|
|
37
|
+
return virtualize ? renderVirtualizedTree() : renderSimpleTree();
|
|
38
|
+
}
|
|
39
|
+
exports.NavigationTree = NavigationTree;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { NavigationTreeAction } from './state';
|
|
3
|
+
import type { NavigationTreeProps, NavigationTreeState } from './types';
|
|
4
4
|
export interface NavigationTreeNodeProps {
|
|
5
5
|
path: string;
|
|
6
6
|
fetchPath: NavigationTreeProps['fetchPath'];
|
|
@@ -1,179 +1,92 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var _Table = require("../icons/Table");
|
|
19
|
-
|
|
20
|
-
var _Topic = require("../icons/Topic");
|
|
21
|
-
|
|
22
|
-
var _Index = require("../icons/Index");
|
|
23
|
-
|
|
24
|
-
var _ColumnTable = require("../icons/ColumnTable");
|
|
25
|
-
|
|
26
|
-
var _ExternalTable = require("../icons/ExternalTable");
|
|
27
|
-
|
|
28
|
-
var _ExternalDataSource = require("../icons/ExternalDataSource");
|
|
29
|
-
|
|
30
|
-
var _TreeView = require("../TreeView/TreeView");
|
|
31
|
-
|
|
32
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
33
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NavigationTreeNode = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
7
|
+
const TreeView_1 = require("../TreeView/TreeView");
|
|
8
|
+
const ColumnTable_1 = require("../icons/ColumnTable");
|
|
9
|
+
const Database_1 = require("../icons/Database");
|
|
10
|
+
const ExternalDataSource_1 = require("../icons/ExternalDataSource");
|
|
11
|
+
const ExternalTable_1 = require("../icons/ExternalTable");
|
|
12
|
+
const Folder_1 = require("../icons/Folder");
|
|
13
|
+
const FolderOpen_1 = require("../icons/FolderOpen");
|
|
14
|
+
const Index_1 = require("../icons/Index");
|
|
15
|
+
const Table_1 = require("../icons/Table");
|
|
16
|
+
const Topic_1 = require("../icons/Topic");
|
|
17
|
+
const state_1 = require("./state");
|
|
34
18
|
function renderIcon(type, collapsed) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
case 'column_table':
|
|
61
|
-
return /*#__PURE__*/_react["default"].createElement(_ColumnTable.ColumnTableIcon, {
|
|
62
|
-
height: 16
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
case 'stream':
|
|
66
|
-
case 'topic':
|
|
67
|
-
return /*#__PURE__*/_react["default"].createElement(_Topic.TopicIcon, {
|
|
68
|
-
height: 16
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
case 'external_table':
|
|
72
|
-
return /*#__PURE__*/_react["default"].createElement(_ExternalTable.ExternalTableIcon, {
|
|
73
|
-
height: 16
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
case 'external_data_source':
|
|
77
|
-
return /*#__PURE__*/_react["default"].createElement(_ExternalDataSource.ExternalDataSourceIcon, {
|
|
78
|
-
height: 16
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
default:
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
19
|
+
switch (type) {
|
|
20
|
+
case 'database':
|
|
21
|
+
// this icon is larger than the others, therefore 14 for a better fit
|
|
22
|
+
return (0, jsx_runtime_1.jsx)(Database_1.DatabaseIcon, { height: 14 });
|
|
23
|
+
case 'directory':
|
|
24
|
+
return collapsed ? (0, jsx_runtime_1.jsx)(Folder_1.FolderIcon, { height: 16 }) : (0, jsx_runtime_1.jsx)(FolderOpen_1.FolderOpenIcon, { height: 16 });
|
|
25
|
+
case 'index':
|
|
26
|
+
return (0, jsx_runtime_1.jsx)(Index_1.IndexIcon, { height: 16 });
|
|
27
|
+
case 'table':
|
|
28
|
+
case 'index_table':
|
|
29
|
+
return (0, jsx_runtime_1.jsx)(Table_1.TableIcon, { height: 16 });
|
|
30
|
+
case 'column_table':
|
|
31
|
+
return (0, jsx_runtime_1.jsx)(ColumnTable_1.ColumnTableIcon, { height: 16 });
|
|
32
|
+
case 'stream':
|
|
33
|
+
case 'topic':
|
|
34
|
+
return (0, jsx_runtime_1.jsx)(Topic_1.TopicIcon, { height: 16 });
|
|
35
|
+
case 'external_table':
|
|
36
|
+
return (0, jsx_runtime_1.jsx)(ExternalTable_1.ExternalTableIcon, { height: 16 });
|
|
37
|
+
case 'external_data_source':
|
|
38
|
+
return (0, jsx_runtime_1.jsx)(ExternalDataSource_1.ExternalDataSourceIcon, { height: 16 });
|
|
39
|
+
default:
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
84
42
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
_react["default"].useEffect(function () {
|
|
101
|
-
if (nodeState.collapsed) {
|
|
102
|
-
if (!cache) {
|
|
43
|
+
function NavigationTreeNode({ path, fetchPath, activePath, state, level, dispatch, children, onActivate, getActions, renderAdditionalNodeElements, cache, }) {
|
|
44
|
+
const nodeState = state[path];
|
|
45
|
+
react_1.default.useEffect(() => {
|
|
46
|
+
if (nodeState.collapsed) {
|
|
47
|
+
if (!cache) {
|
|
48
|
+
dispatch({
|
|
49
|
+
type: state_1.NavigationTreeActionType.ResetNode,
|
|
50
|
+
payload: { path },
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (nodeState.loaded || nodeState.loading) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
103
58
|
dispatch({
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
path: path
|
|
107
|
-
}
|
|
59
|
+
type: state_1.NavigationTreeActionType.StartLoading,
|
|
60
|
+
payload: { path },
|
|
108
61
|
});
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
type: _state.NavigationTreeActionType.FinishLoading,
|
|
127
|
-
payload: {
|
|
128
|
-
path: path,
|
|
129
|
-
activePath: activePath,
|
|
130
|
-
data: data
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
})["catch"](function (error) {
|
|
134
|
-
dispatch({
|
|
135
|
-
type: _state.NavigationTreeActionType.FinishLoading,
|
|
136
|
-
payload: {
|
|
137
|
-
path: path,
|
|
138
|
-
error: error
|
|
62
|
+
fetchPath(path)
|
|
63
|
+
.then((data) => {
|
|
64
|
+
dispatch({
|
|
65
|
+
type: state_1.NavigationTreeActionType.FinishLoading,
|
|
66
|
+
payload: { path, activePath, data },
|
|
67
|
+
});
|
|
68
|
+
})
|
|
69
|
+
.catch((error) => {
|
|
70
|
+
dispatch({
|
|
71
|
+
type: state_1.NavigationTreeActionType.ErrorLoading,
|
|
72
|
+
payload: { path, error },
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
}, [nodeState.collapsed]);
|
|
76
|
+
const handleClick = react_1.default.useCallback(() => {
|
|
77
|
+
if (onActivate) {
|
|
78
|
+
onActivate(path);
|
|
139
79
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
payload: {
|
|
154
|
-
path: path
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
}, []);
|
|
158
|
-
|
|
159
|
-
var additionalNodeElements = _react["default"].useMemo(function () {
|
|
160
|
-
return renderAdditionalNodeElements === null || renderAdditionalNodeElements === void 0 ? void 0 : renderAdditionalNodeElements(nodeState.path, nodeState.type);
|
|
161
|
-
}, [renderAdditionalNodeElements, nodeState]);
|
|
162
|
-
|
|
163
|
-
var actions = _react["default"].useMemo(function () {
|
|
164
|
-
return getActions === null || getActions === void 0 ? void 0 : getActions(nodeState.path, nodeState.type);
|
|
165
|
-
}, [getActions, nodeState]);
|
|
166
|
-
|
|
167
|
-
return /*#__PURE__*/_react["default"].createElement(_TreeView.TreeView, {
|
|
168
|
-
name: nodeState.name,
|
|
169
|
-
icon: renderIcon(nodeState.type, nodeState.collapsed),
|
|
170
|
-
collapsed: nodeState.collapsed,
|
|
171
|
-
active: nodeState.path === activePath,
|
|
172
|
-
actions: actions,
|
|
173
|
-
additionalNodeElements: additionalNodeElements,
|
|
174
|
-
hasArrow: nodeState.expandable,
|
|
175
|
-
onClick: handleClick,
|
|
176
|
-
onArrowClick: handleArrowClick,
|
|
177
|
-
level: level
|
|
178
|
-
}, children);
|
|
179
|
-
}
|
|
80
|
+
}, [path, onActivate]);
|
|
81
|
+
const handleArrowClick = react_1.default.useCallback(() => {
|
|
82
|
+
dispatch({ type: state_1.NavigationTreeActionType.ToggleCollapsed, payload: { path } });
|
|
83
|
+
}, [dispatch, path]);
|
|
84
|
+
const additionalNodeElements = react_1.default.useMemo(() => {
|
|
85
|
+
return renderAdditionalNodeElements === null || renderAdditionalNodeElements === void 0 ? void 0 : renderAdditionalNodeElements(nodeState.path, nodeState.type);
|
|
86
|
+
}, [renderAdditionalNodeElements, nodeState]);
|
|
87
|
+
const actions = react_1.default.useMemo(() => {
|
|
88
|
+
return getActions === null || getActions === void 0 ? void 0 : getActions(nodeState.path, nodeState.type);
|
|
89
|
+
}, [getActions, nodeState]);
|
|
90
|
+
return ((0, jsx_runtime_1.jsx)(TreeView_1.TreeView, { name: nodeState.name, icon: renderIcon(nodeState.type, nodeState.collapsed), collapsed: nodeState.collapsed, active: nodeState.path === activePath, actions: actions, additionalNodeElements: additionalNodeElements, hasArrow: nodeState.expandable, onClick: handleClick, onArrowClick: handleArrowClick, level: level, children: children }));
|
|
91
|
+
}
|
|
92
|
+
exports.NavigationTreeNode = NavigationTreeNode;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key:
|
|
1
|
+
declare const _default: (key: "label_error" | "label_empty", params?: import("@gravity-ui/i18n").Params | undefined) => string;
|
|
2
2
|
export default _default;
|
|
@@ -1,26 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _utils = require("../../../utils");
|
|
11
|
-
|
|
12
|
-
var _en = _interopRequireDefault(require("./en.json"));
|
|
13
|
-
|
|
14
|
-
var _ru = _interopRequireDefault(require("./ru.json"));
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
-
|
|
18
|
-
var COMPONENT = 'ydb-navigation-tree';
|
|
19
|
-
|
|
20
|
-
_i18n.i18n.registerKeyset(_utils.Lang.En, COMPONENT, _en["default"]);
|
|
21
|
-
|
|
22
|
-
_i18n.i18n.registerKeyset(_utils.Lang.Ru, COMPONENT, _ru["default"]);
|
|
23
|
-
|
|
24
|
-
var _default = _i18n.i18n.keyset(COMPONENT);
|
|
25
|
-
|
|
26
|
-
exports["default"] = _default;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const i18n_1 = require("@gravity-ui/uikit/i18n");
|
|
5
|
+
const en_json_1 = tslib_1.__importDefault(require("./en.json"));
|
|
6
|
+
const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
|
|
7
|
+
const COMPONENT = 'ydb-navigation-tree';
|
|
8
|
+
exports.default = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, COMPONENT);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './NavigationTree';
|
|
2
|
-
export * from './types';
|
|
2
|
+
export type * from './types';
|