@vtx/components 3.1.97 → 3.1.99
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/lib/_util/filterSpecialCharacters.js +44 -55
- package/lib/_util/filterSpecialCharacters.js.map +1 -1
- package/lib/_util/getComponentProps.js +4 -1
- package/lib/_util/getComponentProps.js.map +1 -1
- package/lib/_util/getToken.js +15 -7
- package/lib/_util/getToken.js.map +1 -1
- package/lib/_util/getUrlParam.js +8 -1
- package/lib/_util/getUrlParam.js.map +1 -1
- package/lib/_util/isFunction.js +1 -0
- package/lib/_util/isFunction.js.map +1 -1
- package/lib/_util/isObject.js +1 -0
- package/lib/_util/isObject.js.map +1 -1
- package/lib/_util/useColSize.js +12 -2
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/_util/useInterval.js +3 -0
- package/lib/_util/useInterval.js.map +1 -1
- package/lib/_util/useSet.js +39 -23
- package/lib/_util/useSet.js.map +1 -1
- package/lib/config.js +2 -1
- package/lib/config.js.map +1 -1
- package/lib/index.js +29 -0
- package/lib/index.js.map +1 -1
- package/lib/style/index.less +2 -2
- package/lib/style/themes/compact.less +1 -1
- package/lib/style/themes/dark.less +9 -9
- package/lib/style/themes/default.less +7 -7
- package/lib/style/themes/index.less +1 -1
- package/lib/style/themes/variable.less +5 -5
- package/lib/vtx-color-picker/index.js +28 -11
- package/lib/vtx-color-picker/index.js.map +1 -1
- package/lib/vtx-color-picker/style/css.js +2 -0
- package/lib/vtx-color-picker/style/css.js.map +1 -1
- package/lib/vtx-color-picker/style/index.js +2 -0
- package/lib/vtx-color-picker/style/index.js.map +1 -1
- package/lib/vtx-combogrid/Combogrid.js +86 -46
- package/lib/vtx-combogrid/Combogrid.js.map +1 -1
- package/lib/vtx-combogrid/index.js +58 -32
- package/lib/vtx-combogrid/index.js.map +1 -1
- package/lib/vtx-combogrid/style/css.js +7 -0
- package/lib/vtx-combogrid/style/css.js.map +1 -1
- package/lib/vtx-combogrid/style/index.js +7 -0
- package/lib/vtx-combogrid/style/index.js.map +1 -1
- package/lib/vtx-datagrid/Alert.js +14 -5
- package/lib/vtx-datagrid/Alert.js.map +1 -1
- package/lib/vtx-datagrid/ColumnSetting.js +76 -37
- package/lib/vtx-datagrid/ColumnSetting.js.map +1 -1
- package/lib/vtx-datagrid/ResizeableTitle.js +15 -3
- package/lib/vtx-datagrid/ResizeableTitle.js.map +1 -1
- package/lib/vtx-datagrid/index.js +186 -115
- package/lib/vtx-datagrid/index.js.map +1 -1
- package/lib/vtx-datagrid/renderColumnButtons.js +38 -7
- package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
- package/lib/vtx-datagrid/style/css.js +10 -0
- package/lib/vtx-datagrid/style/css.js.map +1 -1
- package/lib/vtx-datagrid/style/index.js +10 -0
- package/lib/vtx-datagrid/style/index.js.map +1 -1
- package/lib/vtx-date-picker/QdatePicker.js +51 -21
- package/lib/vtx-date-picker/QdatePicker.js.map +1 -1
- package/lib/vtx-date-picker/generatePicker.js +65 -24
- package/lib/vtx-date-picker/generatePicker.js.map +1 -1
- package/lib/vtx-date-picker/index.js +7 -1
- package/lib/vtx-date-picker/index.js.map +1 -1
- package/lib/vtx-date-picker/style/css.js +1 -0
- package/lib/vtx-date-picker/style/css.js.map +1 -1
- package/lib/vtx-date-picker/style/index.js +1 -0
- package/lib/vtx-date-picker/style/index.js.map +1 -1
- package/lib/vtx-date-picker/style/index.less +39 -39
- package/lib/vtx-editor/index.js +28 -9
- package/lib/vtx-editor/index.js.map +1 -1
- package/lib/vtx-editor/style/css.js +1 -0
- package/lib/vtx-editor/style/css.js.map +1 -1
- package/lib/vtx-editor/style/index.js +1 -0
- package/lib/vtx-editor/style/index.js.map +1 -1
- package/lib/vtx-editor/style/index.less +8 -8
- package/lib/vtx-ellipsis-text/index.js +27 -14
- package/lib/vtx-ellipsis-text/index.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/css.js +1 -0
- package/lib/vtx-ellipsis-text/style/css.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/index.js +1 -0
- package/lib/vtx-ellipsis-text/style/index.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/index.less +13 -13
- package/lib/vtx-export/index.js +69 -36
- package/lib/vtx-export/index.js.map +1 -1
- package/lib/vtx-export/style/css.js +5 -0
- package/lib/vtx-export/style/css.js.map +1 -1
- package/lib/vtx-export/style/index.js +5 -0
- package/lib/vtx-export/style/index.js.map +1 -1
- package/lib/vtx-export-async/History.js +100 -59
- package/lib/vtx-export-async/History.js.map +1 -1
- package/lib/vtx-export-async/index.js +105 -64
- package/lib/vtx-export-async/index.js.map +1 -1
- package/lib/vtx-export-async/style/css.js.map +1 -1
- package/lib/vtx-export-async/style/index.js.map +1 -1
- package/lib/vtx-export-async/util.js +13 -2
- package/lib/vtx-export-async/util.js.map +1 -1
- package/lib/vtx-form-layout/Card.js +33 -11
- package/lib/vtx-form-layout/Card.js.map +1 -1
- package/lib/vtx-form-layout/Divider.js +11 -5
- package/lib/vtx-form-layout/Divider.js.map +1 -1
- package/lib/vtx-form-layout/FormItem.js +34 -12
- package/lib/vtx-form-layout/FormItem.js.map +1 -1
- package/lib/vtx-form-layout/Pane.js +9 -3
- package/lib/vtx-form-layout/Pane.js.map +1 -1
- package/lib/vtx-form-layout/Row.js +8 -1
- package/lib/vtx-form-layout/Row.js.map +1 -1
- package/lib/vtx-form-layout/context.js +4 -1
- package/lib/vtx-form-layout/context.js.map +1 -1
- package/lib/vtx-form-layout/demo/Modal.less +43 -43
- package/lib/vtx-form-layout/index.js +24 -9
- package/lib/vtx-form-layout/index.js.map +1 -1
- package/lib/vtx-form-layout/style/css.js +7 -0
- package/lib/vtx-form-layout/style/css.js.map +1 -1
- package/lib/vtx-form-layout/style/index.js +7 -0
- package/lib/vtx-form-layout/style/index.js.map +1 -1
- package/lib/vtx-form-layout/style/index.less +216 -216
- package/lib/vtx-image/Image.js +113 -73
- package/lib/vtx-image/Image.js.map +1 -1
- package/lib/vtx-image/Preview.js +59 -30
- package/lib/vtx-image/Preview.js.map +1 -1
- package/lib/vtx-image/PreviewGroup.js +47 -17
- package/lib/vtx-image/PreviewGroup.js.map +1 -1
- package/lib/vtx-image/index.js +11 -4
- package/lib/vtx-image/index.js.map +1 -1
- package/lib/vtx-image/style/css.js +1 -0
- package/lib/vtx-image/style/css.js.map +1 -1
- package/lib/vtx-image/style/index.js +1 -0
- package/lib/vtx-image/style/index.js.map +1 -1
- package/lib/vtx-import/index.js +78 -45
- package/lib/vtx-import/index.js.map +1 -1
- package/lib/vtx-import/result.js +28 -10
- package/lib/vtx-import/result.js.map +1 -1
- package/lib/vtx-import/style/css.js +3 -0
- package/lib/vtx-import/style/css.js.map +1 -1
- package/lib/vtx-import/style/index.js +3 -0
- package/lib/vtx-import/style/index.js.map +1 -1
- package/lib/vtx-import/style/index.less +8 -8
- package/lib/vtx-import2/CheckResult.js +8 -1
- package/lib/vtx-import2/CheckResult.js.map +1 -1
- package/lib/vtx-import2/Content.js +33 -11
- package/lib/vtx-import2/Content.js.map +1 -1
- package/lib/vtx-import2/DownloadSvg.js +6 -1
- package/lib/vtx-import2/DownloadSvg.js.map +1 -1
- package/lib/vtx-import2/ImportResult.js +14 -7
- package/lib/vtx-import2/ImportResult.js.map +1 -1
- package/lib/vtx-import2/UploadSvg.js +6 -1
- package/lib/vtx-import2/UploadSvg.js.map +1 -1
- package/lib/vtx-import2/index.js +107 -51
- package/lib/vtx-import2/index.js.map +1 -1
- package/lib/vtx-import2/style/css.js +3 -0
- package/lib/vtx-import2/style/css.js.map +1 -1
- package/lib/vtx-import2/style/index.js +3 -0
- package/lib/vtx-import2/style/index.js.map +1 -1
- package/lib/vtx-import2/style/index.less +102 -102
- package/lib/vtx-input/TextArea.js +27 -10
- package/lib/vtx-input/TextArea.js.map +1 -1
- package/lib/vtx-input/index.js +45 -20
- package/lib/vtx-input/index.js.map +1 -1
- package/lib/vtx-input/style/css.js +1 -0
- package/lib/vtx-input/style/css.js.map +1 -1
- package/lib/vtx-input/style/index.js +1 -0
- package/lib/vtx-input/style/index.js.map +1 -1
- package/lib/vtx-input/style/index.less +24 -24
- package/lib/vtx-input/useLength.js +20 -7
- package/lib/vtx-input/useLength.js.map +1 -1
- package/lib/vtx-modal/Title.js +8 -2
- package/lib/vtx-modal/Title.js.map +1 -1
- package/lib/vtx-modal/index.js +82 -49
- package/lib/vtx-modal/index.js.map +1 -1
- package/lib/vtx-modal/style/css.js +1 -0
- package/lib/vtx-modal/style/css.js.map +1 -1
- package/lib/vtx-modal/style/index.js +1 -0
- package/lib/vtx-modal/style/index.js.map +1 -1
- package/lib/vtx-page-layout/Basic.js +8 -3
- package/lib/vtx-page-layout/Basic.js.map +1 -1
- package/lib/vtx-page-layout/Content.js +26 -15
- package/lib/vtx-page-layout/Content.js.map +1 -1
- package/lib/vtx-page-layout/Pane.js +12 -3
- package/lib/vtx-page-layout/Pane.js.map +1 -1
- package/lib/vtx-page-layout/TableLayout.js +60 -30
- package/lib/vtx-page-layout/TableLayout.js.map +1 -1
- package/lib/vtx-page-layout/TableWrap.js +22 -11
- package/lib/vtx-page-layout/TableWrap.js.map +1 -1
- package/lib/vtx-page-layout/container.js +51 -23
- package/lib/vtx-page-layout/container.js.map +1 -1
- package/lib/vtx-page-layout/index.js +10 -1
- package/lib/vtx-page-layout/index.js.map +1 -1
- package/lib/vtx-page-layout/style/css.js.map +1 -1
- package/lib/vtx-page-layout/style/index.js.map +1 -1
- package/lib/vtx-page-layout/style/index.less +138 -138
- package/lib/vtx-rps-frame/index.js +57 -37
- package/lib/vtx-rps-frame/index.js.map +1 -1
- package/lib/vtx-rps-frame/style/css.js.map +1 -1
- package/lib/vtx-rps-frame/style/index.js.map +1 -1
- package/lib/vtx-scrollable-row/index.js +64 -30
- package/lib/vtx-scrollable-row/index.js.map +1 -1
- package/lib/vtx-scrollable-row/style/css.js.map +1 -1
- package/lib/vtx-scrollable-row/style/index.js.map +1 -1
- package/lib/vtx-scrollable-row/style/index.less +113 -113
- package/lib/vtx-search/VtxCol.js +26 -7
- package/lib/vtx-search/VtxCol.js.map +1 -1
- package/lib/vtx-search/VtxRow.js +14 -7
- package/lib/vtx-search/VtxRow.js.map +1 -1
- package/lib/vtx-search/index.js +106 -61
- package/lib/vtx-search/index.js.map +1 -1
- package/lib/vtx-search/style/css.js +4 -0
- package/lib/vtx-search/style/css.js.map +1 -1
- package/lib/vtx-search/style/index.js +4 -0
- package/lib/vtx-search/style/index.js.map +1 -1
- package/lib/vtx-search-map-input/index.js +93 -58
- package/lib/vtx-search-map-input/index.js.map +1 -1
- package/lib/vtx-search-map-input/style/css.js +2 -0
- package/lib/vtx-search-map-input/style/css.js.map +1 -1
- package/lib/vtx-search-map-input/style/index.js +2 -0
- package/lib/vtx-search-map-input/style/index.js.map +1 -1
- package/lib/vtx-select/index.js +91 -39
- package/lib/vtx-select/index.js.map +1 -1
- package/lib/vtx-select/style/css.js +8 -0
- package/lib/vtx-select/style/css.js.map +1 -1
- package/lib/vtx-select/style/index.js +8 -0
- package/lib/vtx-select/style/index.js.map +1 -1
- package/lib/vtx-select/style/index.less +68 -68
- package/lib/vtx-signature/index.js +33 -18
- package/lib/vtx-signature/index.js.map +1 -1
- package/lib/vtx-signature/style/css.js +2 -0
- package/lib/vtx-signature/style/css.js.map +1 -1
- package/lib/vtx-signature/style/index.js +2 -0
- package/lib/vtx-signature/style/index.js.map +1 -1
- package/lib/vtx-signature/style/index.less +33 -33
- package/lib/vtx-split-pane/Pane.js +22 -11
- package/lib/vtx-split-pane/Pane.js.map +1 -1
- package/lib/vtx-split-pane/Resizer.js +39 -19
- package/lib/vtx-split-pane/Resizer.js.map +1 -1
- package/lib/vtx-split-pane/SplitPane.js +107 -51
- package/lib/vtx-split-pane/SplitPane.js.map +1 -1
- package/lib/vtx-split-pane/index.js +6 -1
- package/lib/vtx-split-pane/index.js.map +1 -1
- package/lib/vtx-split-pane/style/css.js +3 -0
- package/lib/vtx-split-pane/style/css.js.map +1 -1
- package/lib/vtx-split-pane/style/index.js +3 -0
- package/lib/vtx-split-pane/style/index.js.map +1 -1
- package/lib/vtx-split-pane/style/index.less +76 -76
- package/lib/vtx-statistics-column/Back.js +9 -2
- package/lib/vtx-statistics-column/Back.js.map +1 -1
- package/lib/vtx-statistics-column/Item.js +30 -14
- package/lib/vtx-statistics-column/Item.js.map +1 -1
- package/lib/vtx-statistics-column/Total.js +30 -14
- package/lib/vtx-statistics-column/Total.js.map +1 -1
- package/lib/vtx-statistics-column/context.js +4 -1
- package/lib/vtx-statistics-column/context.js.map +1 -1
- package/lib/vtx-statistics-column/index.js +18 -1
- package/lib/vtx-statistics-column/index.js.map +1 -1
- package/lib/vtx-statistics-column/style/css.js +1 -0
- package/lib/vtx-statistics-column/style/css.js.map +1 -1
- package/lib/vtx-statistics-column/style/index.js +1 -0
- package/lib/vtx-statistics-column/style/index.js.map +1 -1
- package/lib/vtx-statistics-column/style/index.less +59 -59
- package/lib/vtx-time-picker/index.js +18 -4
- package/lib/vtx-time-picker/index.js.map +1 -1
- package/lib/vtx-time-picker/style/css.js.map +1 -1
- package/lib/vtx-time-picker/style/index.js.map +1 -1
- package/lib/vtx-tree/index.js +114 -49
- package/lib/vtx-tree/index.js.map +1 -1
- package/lib/vtx-tree/style/css.js +2 -0
- package/lib/vtx-tree/style/css.js.map +1 -1
- package/lib/vtx-tree/style/index.js +2 -0
- package/lib/vtx-tree/style/index.js.map +1 -1
- package/lib/vtx-tree/utils.js +27 -6
- package/lib/vtx-tree/utils.js.map +1 -1
- package/lib/vtx-tree-select/index.js +71 -27
- package/lib/vtx-tree-select/index.js.map +1 -1
- package/lib/vtx-tree-select/style/css.js +3 -0
- package/lib/vtx-tree-select/style/css.js.map +1 -1
- package/lib/vtx-tree-select/style/index.js +3 -0
- package/lib/vtx-tree-select/style/index.js.map +1 -1
- package/lib/vtx-upload/FilePreview.js +33 -15
- package/lib/vtx-upload/FilePreview.js.map +1 -1
- package/lib/vtx-upload/index.js +156 -79
- package/lib/vtx-upload/index.js.map +1 -1
- package/lib/vtx-upload/style/css.js +6 -0
- package/lib/vtx-upload/style/css.js.map +1 -1
- package/lib/vtx-upload/style/index.js +6 -0
- package/lib/vtx-upload/style/index.js.map +1 -1
- package/lib/vtx-upload/style/index.less +61 -61
- package/lib/vtx-wang-editor/index.js +116 -74
- package/lib/vtx-wang-editor/index.js.map +1 -1
- package/lib/vtx-wang-editor/style/css.js +1 -0
- package/lib/vtx-wang-editor/style/css.js.map +1 -1
- package/lib/vtx-wang-editor/style/index.js +1 -0
- package/lib/vtx-wang-editor/style/index.js.map +1 -1
- package/lib/vtx-wang-editor/style/index.less +12 -12
- package/lib/vtx-wang-editor/wangEditorUtil.js +136 -75
- package/lib/vtx-wang-editor/wangEditorUtil.js.map +1 -1
- package/lib/vtx-ztree/index.js +119 -69
- package/lib/vtx-ztree/index.js.map +1 -1
- package/lib/vtx-ztree/style/css.js +1 -0
- package/lib/vtx-ztree/style/css.js.map +1 -1
- package/lib/vtx-ztree/style/index.js +1 -0
- package/lib/vtx-ztree/style/index.js.map +1 -1
- package/lib/vtx-ztree/style/index.less +45 -45
- package/lib/vtx-ztree-select/index.js +143 -74
- package/lib/vtx-ztree-select/index.js.map +1 -1
- package/lib/vtx-ztree-select/style/css.js +3 -0
- package/lib/vtx-ztree-select/style/css.js.map +1 -1
- package/lib/vtx-ztree-select/style/index.js +3 -0
- package/lib/vtx-ztree-select/style/index.js.map +1 -1
- package/lib/vtx-ztree-select/style/index.less +109 -109
- package/package.json +121 -121
package/lib/vtx-tree/index.js
CHANGED
|
@@ -1,41 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
10
14
|
var _antd = require("antd");
|
|
15
|
+
|
|
11
16
|
var _icons = require("@ant-design/icons");
|
|
17
|
+
|
|
12
18
|
var _utils = require("./utils");
|
|
19
|
+
|
|
13
20
|
var _excluded = ["prefixCls", "showSearch", "treeData", "searchPlaceholder", "renderMenuList", "fieldNames"];
|
|
21
|
+
|
|
14
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
-
|
|
16
|
-
function
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
17
28
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
29
|
+
|
|
18
30
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
31
|
+
|
|
19
32
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
33
|
+
|
|
20
34
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
35
|
+
|
|
21
36
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
22
|
-
|
|
23
|
-
function
|
|
24
|
-
|
|
25
|
-
function
|
|
26
|
-
|
|
37
|
+
|
|
38
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
39
|
+
|
|
40
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
41
|
+
|
|
42
|
+
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; }
|
|
43
|
+
|
|
27
44
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
45
|
+
|
|
28
46
|
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."); }
|
|
47
|
+
|
|
29
48
|
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); }
|
|
30
|
-
|
|
31
|
-
function
|
|
49
|
+
|
|
50
|
+
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; }
|
|
51
|
+
|
|
52
|
+
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; }
|
|
53
|
+
|
|
32
54
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
55
|
+
|
|
33
56
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
57
|
+
|
|
34
58
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
59
|
+
|
|
35
60
|
var getParentKey = function getParentKey(key, tree) {
|
|
36
61
|
var parentKey;
|
|
62
|
+
|
|
37
63
|
for (var i = 0; i < tree.length; i++) {
|
|
38
64
|
var node = tree[i];
|
|
65
|
+
|
|
39
66
|
if (node.children) {
|
|
40
67
|
if (node.children.some(function (item) {
|
|
41
68
|
return item.key === key;
|
|
@@ -46,46 +73,58 @@ var getParentKey = function getParentKey(key, tree) {
|
|
|
46
73
|
}
|
|
47
74
|
}
|
|
48
75
|
}
|
|
76
|
+
|
|
49
77
|
return parentKey;
|
|
50
78
|
};
|
|
79
|
+
|
|
51
80
|
var VtxTree = function VtxTree(_ref) {
|
|
52
81
|
var _ref$prefixCls = _ref.prefixCls,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
82
|
+
prefixCls = _ref$prefixCls === void 0 ? 'vtx-tree' : _ref$prefixCls,
|
|
83
|
+
_ref$showSearch = _ref.showSearch,
|
|
84
|
+
showSearch = _ref$showSearch === void 0 ? true : _ref$showSearch,
|
|
85
|
+
_ref$treeData = _ref.treeData,
|
|
86
|
+
treeData = _ref$treeData === void 0 ? [] : _ref$treeData,
|
|
87
|
+
_ref$searchPlaceholde = _ref.searchPlaceholder,
|
|
88
|
+
searchPlaceholder = _ref$searchPlaceholde === void 0 ? '请输入要查询的关键字' : _ref$searchPlaceholde,
|
|
89
|
+
renderMenuList = _ref.renderMenuList,
|
|
90
|
+
fieldNames = _ref.fieldNames,
|
|
91
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
92
|
+
|
|
63
93
|
var treeRef = (0, _react.useRef)();
|
|
94
|
+
|
|
64
95
|
var _useState = (0, _react.useState)(0),
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
96
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
97
|
+
height = _useState2[0],
|
|
98
|
+
setHeight = _useState2[1];
|
|
99
|
+
|
|
68
100
|
var _useState3 = (0, _react.useState)(''),
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
101
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
102
|
+
searchValue = _useState4[0],
|
|
103
|
+
setSearchValue = _useState4[1];
|
|
104
|
+
|
|
72
105
|
var _useState5 = (0, _react.useState)([]),
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
106
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
107
|
+
expandedKeys = _useState6[0],
|
|
108
|
+
setExpandedKeys = _useState6[1];
|
|
109
|
+
|
|
76
110
|
var _useState7 = (0, _react.useState)(props.autoExpandParent || false),
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
111
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
112
|
+
autoExpandParent = _useState8[0],
|
|
113
|
+
setAutoExpandParent = _useState8[1];
|
|
114
|
+
|
|
80
115
|
var _useState9 = (0, _react.useState)(props.selectedKeys || props.defaultSelectedKeys || []),
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
116
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
117
|
+
selectedKeys = _useState10[0],
|
|
118
|
+
setSelectedKeys = _useState10[1];
|
|
119
|
+
|
|
84
120
|
var lastSelectedKey = _react["default"].useRef();
|
|
121
|
+
|
|
85
122
|
var cachedSelectedKeys = _react["default"].useRef();
|
|
123
|
+
|
|
86
124
|
var dataList = (0, _react.useMemo)(function () {
|
|
87
125
|
var dataList = [];
|
|
88
126
|
var titleKey = (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.title) || 'title';
|
|
127
|
+
|
|
89
128
|
var generateList = function generateList(data) {
|
|
90
129
|
for (var i = 0; i < data.length; i++) {
|
|
91
130
|
var node = data[i];
|
|
@@ -94,11 +133,13 @@ var VtxTree = function VtxTree(_ref) {
|
|
|
94
133
|
key: key,
|
|
95
134
|
title: node[titleKey]
|
|
96
135
|
});
|
|
136
|
+
|
|
97
137
|
if (node.children) {
|
|
98
138
|
generateList(node.children);
|
|
99
139
|
}
|
|
100
140
|
}
|
|
101
141
|
};
|
|
142
|
+
|
|
102
143
|
generateList(treeData);
|
|
103
144
|
return dataList;
|
|
104
145
|
}, [treeData]);
|
|
@@ -112,55 +153,65 @@ var VtxTree = function VtxTree(_ref) {
|
|
|
112
153
|
setExpandedKeys(props.expandedKeys);
|
|
113
154
|
}
|
|
114
155
|
}, [props.expandedKeys]);
|
|
156
|
+
|
|
115
157
|
var onExpand = function onExpand(newExpandedKeys, info) {
|
|
116
158
|
var _props$onExpand;
|
|
159
|
+
|
|
117
160
|
setAutoExpandParent(false);
|
|
118
|
-
(_props$onExpand = props.onExpand) === null || _props$onExpand === void 0
|
|
161
|
+
(_props$onExpand = props.onExpand) === null || _props$onExpand === void 0 ? void 0 : _props$onExpand.call(props, newExpandedKeys, info);
|
|
162
|
+
|
|
119
163
|
if (!('expandedKeys' in props)) {
|
|
120
164
|
setExpandedKeys(newExpandedKeys);
|
|
121
165
|
}
|
|
122
166
|
};
|
|
167
|
+
|
|
123
168
|
var onChange = function onChange(e) {
|
|
124
169
|
var _props$onExpand2;
|
|
170
|
+
|
|
125
171
|
var value = e.target.value;
|
|
126
172
|
var newExpandedKeys = dataList.map(function (item) {
|
|
127
173
|
if (item.title.indexOf(value) > -1) {
|
|
128
174
|
return getParentKey(item.key, treeData);
|
|
129
175
|
}
|
|
176
|
+
|
|
130
177
|
return null;
|
|
131
178
|
}).filter(function (item, i, self) {
|
|
132
179
|
return item && self.indexOf(item) === i;
|
|
133
180
|
});
|
|
134
181
|
setSearchValue(value);
|
|
135
182
|
setAutoExpandParent(true);
|
|
136
|
-
(_props$onExpand2 = props.onExpand) === null || _props$onExpand2 === void 0
|
|
183
|
+
(_props$onExpand2 = props.onExpand) === null || _props$onExpand2 === void 0 ? void 0 : _props$onExpand2.call(props, newExpandedKeys);
|
|
184
|
+
|
|
137
185
|
if (!('expandedKeys' in props)) {
|
|
138
186
|
setExpandedKeys(newExpandedKeys);
|
|
139
187
|
}
|
|
140
188
|
};
|
|
189
|
+
|
|
141
190
|
(0, _react.useEffect)(function () {
|
|
142
191
|
setHeight(treeRef.current.offsetHeight);
|
|
143
192
|
}, []);
|
|
193
|
+
|
|
144
194
|
var onSelect = function onSelect(keys, event) {
|
|
145
195
|
var _props$onSelect;
|
|
196
|
+
|
|
146
197
|
var multiple = props.multiple;
|
|
147
198
|
var node = event.node,
|
|
148
|
-
|
|
199
|
+
nativeEvent = event.nativeEvent;
|
|
149
200
|
var _node$key = node.key,
|
|
150
|
-
|
|
151
|
-
// const newState: DirectoryTreeState = {};
|
|
152
|
-
|
|
201
|
+
key = _node$key === void 0 ? '' : _node$key; // const newState: DirectoryTreeState = {};
|
|
153
202
|
// We need wrap this event since some value is not same
|
|
203
|
+
|
|
154
204
|
var newEvent = _objectSpread(_objectSpread({}, event), {}, {
|
|
155
205
|
selected: true // Directory selected always true
|
|
156
|
-
});
|
|
157
206
|
|
|
158
|
-
// Windows / Mac single pick
|
|
207
|
+
}); // Windows / Mac single pick
|
|
208
|
+
|
|
209
|
+
|
|
159
210
|
var ctrlPick = (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.ctrlKey) || (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.metaKey);
|
|
160
|
-
var shiftPick = nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.shiftKey;
|
|
211
|
+
var shiftPick = nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.shiftKey; // Generate new selected keys
|
|
161
212
|
|
|
162
|
-
// Generate new selected keys
|
|
163
213
|
var newSelectedKeys;
|
|
214
|
+
|
|
164
215
|
if (multiple && ctrlPick) {
|
|
165
216
|
// Control click
|
|
166
217
|
newSelectedKeys = keys;
|
|
@@ -183,14 +234,19 @@ var VtxTree = function VtxTree(_ref) {
|
|
|
183
234
|
cachedSelectedKeys.current = newSelectedKeys;
|
|
184
235
|
newEvent.selectedNodes = (0, _utils.convertDirectoryKeysToNodes)(treeData, newSelectedKeys);
|
|
185
236
|
}
|
|
186
|
-
|
|
237
|
+
|
|
238
|
+
(_props$onSelect = props.onSelect) === null || _props$onSelect === void 0 ? void 0 : _props$onSelect.call(props, newSelectedKeys, newEvent);
|
|
239
|
+
|
|
187
240
|
if (!('selectedKeys' in props)) {
|
|
188
241
|
setSelectedKeys(newSelectedKeys);
|
|
189
242
|
}
|
|
190
243
|
};
|
|
244
|
+
|
|
191
245
|
var newTreeData = (0, _react.useMemo)(function () {
|
|
192
246
|
var loop = function loop(data) {
|
|
193
247
|
return data.map(function (item) {
|
|
248
|
+
var _objectSpread3;
|
|
249
|
+
|
|
194
250
|
var titleKey = (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.title) || 'title';
|
|
195
251
|
var strTitle = item[titleKey];
|
|
196
252
|
var index = strTitle.indexOf(searchValue);
|
|
@@ -199,12 +255,17 @@ var VtxTree = function VtxTree(_ref) {
|
|
|
199
255
|
var title = index > -1 ? /*#__PURE__*/_react["default"].createElement("span", null, beforeStr, /*#__PURE__*/_react["default"].createElement("span", {
|
|
200
256
|
className: "".concat(prefixCls, "-search-value")
|
|
201
257
|
}, searchValue), afterStr) : /*#__PURE__*/_react["default"].createElement("span", null, strTitle);
|
|
258
|
+
|
|
202
259
|
if (item.children) {
|
|
203
|
-
|
|
260
|
+
var _objectSpread2;
|
|
261
|
+
|
|
262
|
+
return _objectSpread(_objectSpread({}, item), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, titleKey, title), _defineProperty(_objectSpread2, "key", item.key), _defineProperty(_objectSpread2, "children", loop(item.children)), _objectSpread2));
|
|
204
263
|
}
|
|
205
|
-
|
|
264
|
+
|
|
265
|
+
return _objectSpread(_objectSpread({}, item), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, titleKey, title), _defineProperty(_objectSpread3, "key", item.key), _objectSpread3));
|
|
206
266
|
});
|
|
207
267
|
};
|
|
268
|
+
|
|
208
269
|
return loop(treeData);
|
|
209
270
|
}, [treeData, searchValue]);
|
|
210
271
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -235,6 +296,7 @@ var VtxTree = function VtxTree(_ref) {
|
|
|
235
296
|
titleRender: function titleRender(nodeData) {
|
|
236
297
|
var titleKey = (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.title) || 'title';
|
|
237
298
|
var title = nodeData[titleKey];
|
|
299
|
+
|
|
238
300
|
if (renderMenuList) {
|
|
239
301
|
var menuList = renderMenuList(nodeData);
|
|
240
302
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -256,10 +318,12 @@ var VtxTree = function VtxTree(_ref) {
|
|
|
256
318
|
}, item.icon));
|
|
257
319
|
})));
|
|
258
320
|
}
|
|
321
|
+
|
|
259
322
|
return title;
|
|
260
323
|
}
|
|
261
324
|
}))));
|
|
262
325
|
};
|
|
326
|
+
|
|
263
327
|
VtxTree.propTypes = {
|
|
264
328
|
showSearch: _propTypes["default"].bool,
|
|
265
329
|
prefixCls: _propTypes["default"].string,
|
|
@@ -275,5 +339,6 @@ VtxTree.propTypes = {
|
|
|
275
339
|
renderMenuList: _propTypes["default"].func,
|
|
276
340
|
fieldNames: _propTypes["default"].array
|
|
277
341
|
};
|
|
278
|
-
var _default =
|
|
342
|
+
var _default = VtxTree;
|
|
343
|
+
exports["default"] = _default;
|
|
279
344
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_antd","_icons","_utils","_excluded","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_toPrimitive","String","toPrimitive","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","toString","slice","constructor","name","test","len","arr2","l","f","next","done","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","getParentKey","tree","parentKey","node","children","some","item","VtxTree","_ref","_ref$prefixCls","prefixCls","_ref$showSearch","showSearch","_ref$treeData","treeData","_ref$searchPlaceholde","searchPlaceholder","renderMenuList","fieldNames","props","treeRef","useRef","_useState","useState","_useState2","height","setHeight","_useState3","_useState4","searchValue","setSearchValue","_useState5","_useState6","expandedKeys","setExpandedKeys","_useState7","autoExpandParent","_useState8","setAutoExpandParent","_useState9","selectedKeys","defaultSelectedKeys","_useState10","setSelectedKeys","lastSelectedKey","React","cachedSelectedKeys","dataList","useMemo","titleKey","title","generateList","data","useEffect","onExpand","newExpandedKeys","info","_props$onExpand","onChange","_props$onExpand2","map","self","current","offsetHeight","onSelect","event","_props$onSelect","multiple","nativeEvent","_node$key","newEvent","selected","ctrlPick","ctrlKey","metaKey","shiftPick","shiftKey","newSelectedKeys","selectedNodes","convertDirectoryKeysToNodes","Set","concat","calcRangeKeys","startKey","endKey","newTreeData","loop","strTitle","index","beforeStr","substring","afterStr","createElement","className","Input","style","marginBottom","placeholder","ref","Tree","switcherIcon","DownOutlined","showLine","showLeafIcon","blockNode","expandAction","titleRender","nodeData","menuList","visible","Tooltip","label","onClick","stopPropagation","icon","propTypes","PropTypes","bool","string","array","func","_default","exports"],"sources":["vtx-tree/index.jsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Input, Tooltip, Tree } from 'antd';\r\nimport { DownOutlined } from '@ant-design/icons';\r\nimport { calcRangeKeys, convertDirectoryKeysToNodes } from './utils';\r\n\r\nconst getParentKey = (key, tree) => {\r\n let parentKey;\r\n for (let i = 0; i < tree.length; i++) {\r\n const node = tree[i];\r\n if (node.children) {\r\n if (node.children.some(item => item.key === key)) {\r\n parentKey = node.key;\r\n } else if (getParentKey(key, node.children)) {\r\n parentKey = getParentKey(key, node.children);\r\n }\r\n }\r\n }\r\n return parentKey;\r\n};\r\n\r\nconst VtxTree = ({\r\n prefixCls = 'vtx-tree',\r\n showSearch = true,\r\n treeData = [],\r\n searchPlaceholder = '请输入要查询的关键字',\r\n renderMenuList,\r\n fieldNames,\r\n ...props\r\n}) => {\r\n const treeRef = useRef();\r\n const [height, setHeight] = useState(0);\r\n const [searchValue, setSearchValue] = useState('');\r\n const [expandedKeys, setExpandedKeys] = useState([]);\r\n const [autoExpandParent, setAutoExpandParent] = useState(props.autoExpandParent || false);\r\n const [selectedKeys, setSelectedKeys] = useState(\r\n props.selectedKeys || props.defaultSelectedKeys || [],\r\n );\r\n\r\n const lastSelectedKey = React.useRef();\r\n\r\n const cachedSelectedKeys = React.useRef();\r\n\r\n const dataList = useMemo(() => {\r\n let dataList = [];\r\n const titleKey = fieldNames?.title || 'title';\r\n const generateList = data => {\r\n for (let i = 0; i < data.length; i++) {\r\n const node = data[i];\r\n const { key } = node;\r\n dataList.push({ key, title: node[titleKey] });\r\n if (node.children) {\r\n generateList(node.children);\r\n }\r\n }\r\n };\r\n generateList(treeData);\r\n return dataList;\r\n }, [treeData]);\r\n\r\n useEffect(() => {\r\n if ('selectedKeys' in props) {\r\n setSelectedKeys(props.selectedKeys);\r\n }\r\n }, [props.selectedKeys]);\r\n\r\n useEffect(() => {\r\n if ('expandedKeys' in props) {\r\n setExpandedKeys(props.expandedKeys);\r\n }\r\n }, [props.expandedKeys]);\r\n\r\n const onExpand = (newExpandedKeys, info) => {\r\n setAutoExpandParent(false);\r\n props.onExpand?.(newExpandedKeys, info);\r\n if (!('expandedKeys' in props)) {\r\n setExpandedKeys(newExpandedKeys);\r\n }\r\n };\r\n\r\n const onChange = e => {\r\n const { value } = e.target;\r\n const newExpandedKeys = dataList\r\n .map(item => {\r\n if (item.title.indexOf(value) > -1) {\r\n return getParentKey(item.key, treeData);\r\n }\r\n return null;\r\n })\r\n .filter((item, i, self) => item && self.indexOf(item) === i);\r\n setSearchValue(value);\r\n setAutoExpandParent(true);\r\n props.onExpand?.(newExpandedKeys);\r\n if (!('expandedKeys' in props)) {\r\n setExpandedKeys(newExpandedKeys);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setHeight(treeRef.current.offsetHeight);\r\n }, []);\r\n\r\n const onSelect = (keys, event) => {\r\n const { multiple } = props;\r\n const { node, nativeEvent } = event;\r\n const { key = '' } = node;\r\n // const newState: DirectoryTreeState = {};\r\n\r\n // We need wrap this event since some value is not same\r\n const newEvent = {\r\n ...event,\r\n selected: true, // Directory selected always true\r\n };\r\n\r\n // Windows / Mac single pick\r\n const ctrlPick = nativeEvent?.ctrlKey || nativeEvent?.metaKey;\r\n const shiftPick = nativeEvent?.shiftKey;\r\n\r\n // Generate new selected keys\r\n let newSelectedKeys;\r\n if (multiple && ctrlPick) {\r\n // Control click\r\n newSelectedKeys = keys;\r\n lastSelectedKey.current = key;\r\n cachedSelectedKeys.current = newSelectedKeys;\r\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\r\n } else if (multiple && shiftPick) {\r\n // Shift click\r\n newSelectedKeys = Array.from(\r\n new Set([\r\n ...(cachedSelectedKeys.current || []),\r\n ...calcRangeKeys({\r\n treeData,\r\n expandedKeys,\r\n startKey: key,\r\n endKey: lastSelectedKey.current,\r\n }),\r\n ]),\r\n );\r\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\r\n } else {\r\n // Single click\r\n newSelectedKeys = [key];\r\n lastSelectedKey.current = key;\r\n cachedSelectedKeys.current = newSelectedKeys;\r\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\r\n }\r\n\r\n props.onSelect?.(newSelectedKeys, newEvent);\r\n if (!('selectedKeys' in props)) {\r\n setSelectedKeys(newSelectedKeys);\r\n }\r\n };\r\n\r\n const newTreeData = useMemo(() => {\r\n const loop = data =>\r\n data.map(item => {\r\n const titleKey = fieldNames?.title || 'title';\r\n const strTitle = item[titleKey];\r\n const index = strTitle.indexOf(searchValue);\r\n const beforeStr = strTitle.substring(0, index);\r\n const afterStr = strTitle.slice(index + searchValue.length);\r\n const title =\r\n index > -1 ? (\r\n <span>\r\n {beforeStr}\r\n <span className={`${prefixCls}-search-value`}>{searchValue}</span>\r\n {afterStr}\r\n </span>\r\n ) : (\r\n <span>{strTitle}</span>\r\n );\r\n if (item.children) {\r\n return {\r\n ...item,\r\n [titleKey]: title,\r\n key: item.key,\r\n children: loop(item.children),\r\n };\r\n }\r\n\r\n return {\r\n ...item,\r\n [titleKey]: title,\r\n key: item.key,\r\n };\r\n });\r\n return loop(treeData);\r\n }, [treeData, searchValue]);\r\n return (\r\n <div className={`${prefixCls}-wraaper`}>\r\n {showSearch && (\r\n <Input\r\n style={{ marginBottom: 8 }}\r\n placeholder={searchPlaceholder}\r\n onChange={onChange}\r\n />\r\n )}\r\n <div className={prefixCls} ref={treeRef}>\r\n <Tree\r\n {...props}\r\n height={height}\r\n switcherIcon={<DownOutlined />}\r\n showLine={{ showLeafIcon: false }}\r\n blockNode\r\n treeData={newTreeData}\r\n onExpand={onExpand}\r\n expandedKeys={expandedKeys}\r\n autoExpandParent={autoExpandParent}\r\n selectedKeys={selectedKeys}\r\n onSelect={onSelect}\r\n expandAction=\"click\"\r\n titleRender={nodeData => {\r\n const titleKey = fieldNames?.title || 'title';\r\n const title = nodeData[titleKey];\r\n\r\n if (renderMenuList) {\r\n const menuList = renderMenuList(nodeData);\r\n return (\r\n <div className={`${prefixCls}-menu-wrap`}>\r\n <span>{title}</span>\r\n <div className={`${prefixCls}-menu-list`}>\r\n {menuList\r\n .filter(item => item.visible)\r\n .map(item => (\r\n <Tooltip key={item.label} title={item.label}>\r\n <span\r\n className={`${prefixCls}-menu-item-icon`}\r\n onClick={e => {\r\n e.stopPropagation();\r\n item.onClick && item.onClick(nodeData);\r\n }}\r\n >\r\n {item.icon}\r\n </span>\r\n </Tooltip>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n }\r\n return title;\r\n }}\r\n />\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nVtxTree.propTypes = {\r\n showSearch: PropTypes.bool,\r\n prefixCls: PropTypes.string,\r\n treeData: PropTypes.array,\r\n selectedKeys: PropTypes.array,\r\n defaultSelectedKeys: PropTypes.array,\r\n expandedKeys: PropTypes.bool,\r\n onExpand: PropTypes.func,\r\n multiple: PropTypes.bool,\r\n autoExpandParent: PropTypes.bool,\r\n onSelect: PropTypes.func,\r\n searchPlaceholder: PropTypes.string,\r\n renderMenuList: PropTypes.func,\r\n fieldNames: PropTypes.array,\r\n};\r\n\r\nexport default VtxTree;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getParentKey","key","tree","parentKey","i","length","node","children","some","item","VtxTree","prefixCls","showSearch","treeData","searchPlaceholder","renderMenuList","fieldNames","props","treeRef","useRef","useState","height","setHeight","searchValue","setSearchValue","expandedKeys","setExpandedKeys","autoExpandParent","setAutoExpandParent","selectedKeys","defaultSelectedKeys","setSelectedKeys","lastSelectedKey","React","cachedSelectedKeys","dataList","useMemo","titleKey","title","generateList","data","push","useEffect","onExpand","newExpandedKeys","info","onChange","e","value","target","map","indexOf","filter","self","current","offsetHeight","onSelect","keys","event","multiple","nativeEvent","newEvent","selected","ctrlPick","ctrlKey","metaKey","shiftPick","shiftKey","newSelectedKeys","selectedNodes","convertDirectoryKeysToNodes","Array","from","Set","calcRangeKeys","startKey","endKey","newTreeData","loop","strTitle","index","beforeStr","substring","afterStr","slice","marginBottom","showLeafIcon","nodeData","menuList","visible","label","stopPropagation","onClick","icon","propTypes","PropTypes","bool","string","array","func"],"sources":["vtx-tree/index.jsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Input, Tooltip, Tree } from 'antd';\r\nimport { DownOutlined } from '@ant-design/icons';\r\nimport { calcRangeKeys, convertDirectoryKeysToNodes } from './utils';\r\n\r\nconst getParentKey = (key, tree) => {\r\n let parentKey;\r\n for (let i = 0; i < tree.length; i++) {\r\n const node = tree[i];\r\n if (node.children) {\r\n if (node.children.some(item => item.key === key)) {\r\n parentKey = node.key;\r\n } else if (getParentKey(key, node.children)) {\r\n parentKey = getParentKey(key, node.children);\r\n }\r\n }\r\n }\r\n return parentKey;\r\n};\r\n\r\nconst VtxTree = ({\r\n prefixCls = 'vtx-tree',\r\n showSearch = true,\r\n treeData = [],\r\n searchPlaceholder = '请输入要查询的关键字',\r\n renderMenuList,\r\n fieldNames,\r\n ...props\r\n}) => {\r\n const treeRef = useRef();\r\n const [height, setHeight] = useState(0);\r\n const [searchValue, setSearchValue] = useState('');\r\n const [expandedKeys, setExpandedKeys] = useState([]);\r\n const [autoExpandParent, setAutoExpandParent] = useState(props.autoExpandParent || false);\r\n const [selectedKeys, setSelectedKeys] = useState(\r\n props.selectedKeys || props.defaultSelectedKeys || [],\r\n );\r\n\r\n const lastSelectedKey = React.useRef();\r\n\r\n const cachedSelectedKeys = React.useRef();\r\n\r\n const dataList = useMemo(() => {\r\n let dataList = [];\r\n const titleKey = fieldNames?.title || 'title';\r\n const generateList = data => {\r\n for (let i = 0; i < data.length; i++) {\r\n const node = data[i];\r\n const { key } = node;\r\n dataList.push({ key, title: node[titleKey] });\r\n if (node.children) {\r\n generateList(node.children);\r\n }\r\n }\r\n };\r\n generateList(treeData);\r\n return dataList;\r\n }, [treeData]);\r\n\r\n useEffect(() => {\r\n if ('selectedKeys' in props) {\r\n setSelectedKeys(props.selectedKeys);\r\n }\r\n }, [props.selectedKeys]);\r\n\r\n useEffect(() => {\r\n if ('expandedKeys' in props) {\r\n setExpandedKeys(props.expandedKeys);\r\n }\r\n }, [props.expandedKeys]);\r\n\r\n const onExpand = (newExpandedKeys, info) => {\r\n setAutoExpandParent(false);\r\n props.onExpand?.(newExpandedKeys, info);\r\n if (!('expandedKeys' in props)) {\r\n setExpandedKeys(newExpandedKeys);\r\n }\r\n };\r\n\r\n const onChange = e => {\r\n const { value } = e.target;\r\n const newExpandedKeys = dataList\r\n .map(item => {\r\n if (item.title.indexOf(value) > -1) {\r\n return getParentKey(item.key, treeData);\r\n }\r\n return null;\r\n })\r\n .filter((item, i, self) => item && self.indexOf(item) === i);\r\n setSearchValue(value);\r\n setAutoExpandParent(true);\r\n props.onExpand?.(newExpandedKeys);\r\n if (!('expandedKeys' in props)) {\r\n setExpandedKeys(newExpandedKeys);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setHeight(treeRef.current.offsetHeight);\r\n }, []);\r\n\r\n const onSelect = (keys, event) => {\r\n const { multiple } = props;\r\n const { node, nativeEvent } = event;\r\n const { key = '' } = node;\r\n // const newState: DirectoryTreeState = {};\r\n\r\n // We need wrap this event since some value is not same\r\n const newEvent = {\r\n ...event,\r\n selected: true, // Directory selected always true\r\n };\r\n\r\n // Windows / Mac single pick\r\n const ctrlPick = nativeEvent?.ctrlKey || nativeEvent?.metaKey;\r\n const shiftPick = nativeEvent?.shiftKey;\r\n\r\n // Generate new selected keys\r\n let newSelectedKeys;\r\n if (multiple && ctrlPick) {\r\n // Control click\r\n newSelectedKeys = keys;\r\n lastSelectedKey.current = key;\r\n cachedSelectedKeys.current = newSelectedKeys;\r\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\r\n } else if (multiple && shiftPick) {\r\n // Shift click\r\n newSelectedKeys = Array.from(\r\n new Set([\r\n ...(cachedSelectedKeys.current || []),\r\n ...calcRangeKeys({\r\n treeData,\r\n expandedKeys,\r\n startKey: key,\r\n endKey: lastSelectedKey.current,\r\n }),\r\n ]),\r\n );\r\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\r\n } else {\r\n // Single click\r\n newSelectedKeys = [key];\r\n lastSelectedKey.current = key;\r\n cachedSelectedKeys.current = newSelectedKeys;\r\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\r\n }\r\n\r\n props.onSelect?.(newSelectedKeys, newEvent);\r\n if (!('selectedKeys' in props)) {\r\n setSelectedKeys(newSelectedKeys);\r\n }\r\n };\r\n\r\n const newTreeData = useMemo(() => {\r\n const loop = data =>\r\n data.map(item => {\r\n const titleKey = fieldNames?.title || 'title';\r\n const strTitle = item[titleKey];\r\n const index = strTitle.indexOf(searchValue);\r\n const beforeStr = strTitle.substring(0, index);\r\n const afterStr = strTitle.slice(index + searchValue.length);\r\n const title =\r\n index > -1 ? (\r\n <span>\r\n {beforeStr}\r\n <span className={`${prefixCls}-search-value`}>{searchValue}</span>\r\n {afterStr}\r\n </span>\r\n ) : (\r\n <span>{strTitle}</span>\r\n );\r\n if (item.children) {\r\n return {\r\n ...item,\r\n [titleKey]: title,\r\n key: item.key,\r\n children: loop(item.children),\r\n };\r\n }\r\n\r\n return {\r\n ...item,\r\n [titleKey]: title,\r\n key: item.key,\r\n };\r\n });\r\n return loop(treeData);\r\n }, [treeData, searchValue]);\r\n return (\r\n <div className={`${prefixCls}-wraaper`}>\r\n {showSearch && (\r\n <Input\r\n style={{ marginBottom: 8 }}\r\n placeholder={searchPlaceholder}\r\n onChange={onChange}\r\n />\r\n )}\r\n <div className={prefixCls} ref={treeRef}>\r\n <Tree\r\n {...props}\r\n height={height}\r\n switcherIcon={<DownOutlined />}\r\n showLine={{ showLeafIcon: false }}\r\n blockNode\r\n treeData={newTreeData}\r\n onExpand={onExpand}\r\n expandedKeys={expandedKeys}\r\n autoExpandParent={autoExpandParent}\r\n selectedKeys={selectedKeys}\r\n onSelect={onSelect}\r\n expandAction=\"click\"\r\n titleRender={nodeData => {\r\n const titleKey = fieldNames?.title || 'title';\r\n const title = nodeData[titleKey];\r\n\r\n if (renderMenuList) {\r\n const menuList = renderMenuList(nodeData);\r\n return (\r\n <div className={`${prefixCls}-menu-wrap`}>\r\n <span>{title}</span>\r\n <div className={`${prefixCls}-menu-list`}>\r\n {menuList\r\n .filter(item => item.visible)\r\n .map(item => (\r\n <Tooltip key={item.label} title={item.label}>\r\n <span\r\n className={`${prefixCls}-menu-item-icon`}\r\n onClick={e => {\r\n e.stopPropagation();\r\n item.onClick && item.onClick(nodeData);\r\n }}\r\n >\r\n {item.icon}\r\n </span>\r\n </Tooltip>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n }\r\n return title;\r\n }}\r\n />\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nVtxTree.propTypes = {\r\n showSearch: PropTypes.bool,\r\n prefixCls: PropTypes.string,\r\n treeData: PropTypes.array,\r\n selectedKeys: PropTypes.array,\r\n defaultSelectedKeys: PropTypes.array,\r\n expandedKeys: PropTypes.bool,\r\n onExpand: PropTypes.func,\r\n multiple: PropTypes.bool,\r\n autoExpandParent: PropTypes.bool,\r\n onSelect: PropTypes.func,\r\n searchPlaceholder: PropTypes.string,\r\n renderMenuList: PropTypes.func,\r\n fieldNames: PropTypes.array,\r\n};\r\n\r\nexport default VtxTree;\r\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,IAAN,EAAe;EAChC,IAAIC,SAAJ;;EACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,IAAI,CAACG,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;IAClC,IAAME,IAAI,GAAGJ,IAAI,CAACE,CAAD,CAAjB;;IACA,IAAIE,IAAI,CAACC,QAAT,EAAmB;MACf,IAAID,IAAI,CAACC,QAAL,CAAcC,IAAd,CAAmB,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACR,GAAL,KAAaA,GAAjB;MAAA,CAAvB,CAAJ,EAAkD;QAC9CE,SAAS,GAAGG,IAAI,CAACL,GAAjB;MACH,CAFD,MAEO,IAAID,YAAY,CAACC,GAAD,EAAMK,IAAI,CAACC,QAAX,CAAhB,EAAsC;QACzCJ,SAAS,GAAGH,YAAY,CAACC,GAAD,EAAMK,IAAI,CAACC,QAAX,CAAxB;MACH;IACJ;EACJ;;EACD,OAAOJ,SAAP;AACH,CAbD;;AAeA,IAAMO,OAAO,GAAG,SAAVA,OAAU,OAQV;EAAA,0BAPFC,SAOE;EAAA,IAPFA,SAOE,+BAPU,UAOV;EAAA,2BANFC,UAME;EAAA,IANFA,UAME,gCANW,IAMX;EAAA,yBALFC,QAKE;EAAA,IALFA,QAKE,8BALS,EAKT;EAAA,iCAJFC,iBAIE;EAAA,IAJFA,iBAIE,sCAJkB,YAIlB;EAAA,IAHFC,cAGE,QAHFA,cAGE;EAAA,IAFFC,UAEE,QAFFA,UAEE;EAAA,IADCC,KACD;;EACF,IAAMC,OAAO,GAAG,IAAAC,aAAA,GAAhB;;EACA,gBAA4B,IAAAC,eAAA,EAAS,CAAT,CAA5B;EAAA;EAAA,IAAOC,MAAP;EAAA,IAAeC,SAAf;;EACA,iBAAsC,IAAAF,eAAA,EAAS,EAAT,CAAtC;EAAA;EAAA,IAAOG,WAAP;EAAA,IAAoBC,cAApB;;EACA,iBAAwC,IAAAJ,eAAA,EAAS,EAAT,CAAxC;EAAA;EAAA,IAAOK,YAAP;EAAA,IAAqBC,eAArB;;EACA,iBAAgD,IAAAN,eAAA,EAASH,KAAK,CAACU,gBAAN,IAA0B,KAAnC,CAAhD;EAAA;EAAA,IAAOA,gBAAP;EAAA,IAAyBC,mBAAzB;;EACA,iBAAwC,IAAAR,eAAA,EACpCH,KAAK,CAACY,YAAN,IAAsBZ,KAAK,CAACa,mBAA5B,IAAmD,EADf,CAAxC;EAAA;EAAA,IAAOD,YAAP;EAAA,IAAqBE,eAArB;;EAIA,IAAMC,eAAe,GAAGC,iBAAA,CAAMd,MAAN,EAAxB;;EAEA,IAAMe,kBAAkB,GAAGD,iBAAA,CAAMd,MAAN,EAA3B;;EAEA,IAAMgB,QAAQ,GAAG,IAAAC,cAAA,EAAQ,YAAM;IAC3B,IAAID,QAAQ,GAAG,EAAf;IACA,IAAME,QAAQ,GAAG,CAAArB,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEsB,KAAZ,KAAqB,OAAtC;;IACA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAAAC,IAAI,EAAI;MACzB,KAAK,IAAIpC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoC,IAAI,CAACnC,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;QAClC,IAAME,IAAI,GAAGkC,IAAI,CAACpC,CAAD,CAAjB;QACA,IAAQH,GAAR,GAAgBK,IAAhB,CAAQL,GAAR;QACAkC,QAAQ,CAACM,IAAT,CAAc;UAAExC,GAAG,EAAHA,GAAF;UAAOqC,KAAK,EAAEhC,IAAI,CAAC+B,QAAD;QAAlB,CAAd;;QACA,IAAI/B,IAAI,CAACC,QAAT,EAAmB;UACfgC,YAAY,CAACjC,IAAI,CAACC,QAAN,CAAZ;QACH;MACJ;IACJ,CATD;;IAUAgC,YAAY,CAAC1B,QAAD,CAAZ;IACA,OAAOsB,QAAP;EACH,CAfgB,EAed,CAACtB,QAAD,CAfc,CAAjB;EAiBA,IAAA6B,gBAAA,EAAU,YAAM;IACZ,IAAI,kBAAkBzB,KAAtB,EAA6B;MACzBc,eAAe,CAACd,KAAK,CAACY,YAAP,CAAf;IACH;EACJ,CAJD,EAIG,CAACZ,KAAK,CAACY,YAAP,CAJH;EAMA,IAAAa,gBAAA,EAAU,YAAM;IACZ,IAAI,kBAAkBzB,KAAtB,EAA6B;MACzBS,eAAe,CAACT,KAAK,CAACQ,YAAP,CAAf;IACH;EACJ,CAJD,EAIG,CAACR,KAAK,CAACQ,YAAP,CAJH;;EAMA,IAAMkB,QAAQ,GAAG,SAAXA,QAAW,CAACC,eAAD,EAAkBC,IAAlB,EAA2B;IAAA;;IACxCjB,mBAAmB,CAAC,KAAD,CAAnB;IACA,mBAAAX,KAAK,CAAC0B,QAAN,yEAAA1B,KAAK,EAAY2B,eAAZ,EAA6BC,IAA7B,CAAL;;IACA,IAAI,EAAE,kBAAkB5B,KAApB,CAAJ,EAAgC;MAC5BS,eAAe,CAACkB,eAAD,CAAf;IACH;EACJ,CAND;;EAQA,IAAME,QAAQ,GAAG,SAAXA,QAAW,CAAAC,CAAC,EAAI;IAAA;;IAClB,IAAQC,KAAR,GAAkBD,CAAC,CAACE,MAApB,CAAQD,KAAR;IACA,IAAMJ,eAAe,GAAGT,QAAQ,CAC3Be,GADmB,CACf,UAAAzC,IAAI,EAAI;MACT,IAAIA,IAAI,CAAC6B,KAAL,CAAWa,OAAX,CAAmBH,KAAnB,IAA4B,CAAC,CAAjC,EAAoC;QAChC,OAAOhD,YAAY,CAACS,IAAI,CAACR,GAAN,EAAWY,QAAX,CAAnB;MACH;;MACD,OAAO,IAAP;IACH,CANmB,EAOnBuC,MAPmB,CAOZ,UAAC3C,IAAD,EAAOL,CAAP,EAAUiD,IAAV;MAAA,OAAmB5C,IAAI,IAAI4C,IAAI,CAACF,OAAL,CAAa1C,IAAb,MAAuBL,CAAlD;IAAA,CAPY,CAAxB;IAQAoB,cAAc,CAACwB,KAAD,CAAd;IACApB,mBAAmB,CAAC,IAAD,CAAnB;IACA,oBAAAX,KAAK,CAAC0B,QAAN,2EAAA1B,KAAK,EAAY2B,eAAZ,CAAL;;IACA,IAAI,EAAE,kBAAkB3B,KAApB,CAAJ,EAAgC;MAC5BS,eAAe,CAACkB,eAAD,CAAf;IACH;EACJ,CAhBD;;EAkBA,IAAAF,gBAAA,EAAU,YAAM;IACZpB,SAAS,CAACJ,OAAO,CAACoC,OAAR,CAAgBC,YAAjB,CAAT;EACH,CAFD,EAEG,EAFH;;EAIA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,IAAD,EAAOC,KAAP,EAAiB;IAAA;;IAC9B,IAAQC,QAAR,GAAqB1C,KAArB,CAAQ0C,QAAR;IACA,IAAQrD,IAAR,GAA8BoD,KAA9B,CAAQpD,IAAR;IAAA,IAAcsD,WAAd,GAA8BF,KAA9B,CAAcE,WAAd;IACA,gBAAqBtD,IAArB,CAAQL,GAAR;IAAA,IAAQA,GAAR,0BAAc,EAAd,aAH8B,CAI9B;IAEA;;IACA,IAAM4D,QAAQ,mCACPH,KADO;MAEVI,QAAQ,EAAE,IAFA,CAEM;;IAFN,EAAd,CAP8B,CAY9B;;;IACA,IAAMC,QAAQ,GAAG,CAAAH,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEI,OAAb,MAAwBJ,WAAxB,aAAwBA,WAAxB,uBAAwBA,WAAW,CAAEK,OAArC,CAAjB;IACA,IAAMC,SAAS,GAAGN,WAAH,aAAGA,WAAH,uBAAGA,WAAW,CAAEO,QAA/B,CAd8B,CAgB9B;;IACA,IAAIC,eAAJ;;IACA,IAAIT,QAAQ,IAAII,QAAhB,EAA0B;MACtB;MACAK,eAAe,GAAGX,IAAlB;MACAzB,eAAe,CAACsB,OAAhB,GAA0BrD,GAA1B;MACAiC,kBAAkB,CAACoB,OAAnB,GAA6Bc,eAA7B;MACAP,QAAQ,CAACQ,aAAT,GAAyB,IAAAC,kCAAA,EAA4BzD,QAA5B,EAAsCuD,eAAtC,CAAzB;IACH,CAND,MAMO,IAAIT,QAAQ,IAAIO,SAAhB,EAA2B;MAC9B;MACAE,eAAe,GAAGG,KAAK,CAACC,IAAN,CACd,IAAIC,GAAJ,8BACQvC,kBAAkB,CAACoB,OAAnB,IAA8B,EADtC,sBAEO,IAAAoB,oBAAA,EAAc;QACb7D,QAAQ,EAARA,QADa;QAEbY,YAAY,EAAZA,YAFa;QAGbkD,QAAQ,EAAE1E,GAHG;QAIb2E,MAAM,EAAE5C,eAAe,CAACsB;MAJX,CAAd,CAFP,GADc,CAAlB;MAWAO,QAAQ,CAACQ,aAAT,GAAyB,IAAAC,kCAAA,EAA4BzD,QAA5B,EAAsCuD,eAAtC,CAAzB;IACH,CAdM,MAcA;MACH;MACAA,eAAe,GAAG,CAACnE,GAAD,CAAlB;MACA+B,eAAe,CAACsB,OAAhB,GAA0BrD,GAA1B;MACAiC,kBAAkB,CAACoB,OAAnB,GAA6Bc,eAA7B;MACAP,QAAQ,CAACQ,aAAT,GAAyB,IAAAC,kCAAA,EAA4BzD,QAA5B,EAAsCuD,eAAtC,CAAzB;IACH;;IAED,mBAAAnD,KAAK,CAACuC,QAAN,yEAAAvC,KAAK,EAAYmD,eAAZ,EAA6BP,QAA7B,CAAL;;IACA,IAAI,EAAE,kBAAkB5C,KAApB,CAAJ,EAAgC;MAC5Bc,eAAe,CAACqC,eAAD,CAAf;IACH;EACJ,CAlDD;;EAoDA,IAAMS,WAAW,GAAG,IAAAzC,cAAA,EAAQ,YAAM;IAC9B,IAAM0C,IAAI,GAAG,SAAPA,IAAO,CAAAtC,IAAI;MAAA,OACbA,IAAI,CAACU,GAAL,CAAS,UAAAzC,IAAI,EAAI;QAAA;;QACb,IAAM4B,QAAQ,GAAG,CAAArB,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEsB,KAAZ,KAAqB,OAAtC;QACA,IAAMyC,QAAQ,GAAGtE,IAAI,CAAC4B,QAAD,CAArB;QACA,IAAM2C,KAAK,GAAGD,QAAQ,CAAC5B,OAAT,CAAiB5B,WAAjB,CAAd;QACA,IAAM0D,SAAS,GAAGF,QAAQ,CAACG,SAAT,CAAmB,CAAnB,EAAsBF,KAAtB,CAAlB;QACA,IAAMG,QAAQ,GAAGJ,QAAQ,CAACK,KAAT,CAAeJ,KAAK,GAAGzD,WAAW,CAAClB,MAAnC,CAAjB;QACA,IAAMiC,KAAK,GACP0C,KAAK,GAAG,CAAC,CAAT,gBACI,8CACKC,SADL,eAEI;UAAM,SAAS,YAAKtE,SAAL;QAAf,GAA+CY,WAA/C,CAFJ,EAGK4D,QAHL,CADJ,gBAOI,8CAAOJ,QAAP,CARR;;QAUA,IAAItE,IAAI,CAACF,QAAT,EAAmB;UAAA;;UACf,uCACOE,IADP,6DAEK4B,QAFL,EAEgBC,KAFhB,0CAGS7B,IAAI,CAACR,GAHd,+CAIc6E,IAAI,CAACrE,IAAI,CAACF,QAAN,CAJlB;QAMH;;QAED,uCACOE,IADP,6DAEK4B,QAFL,EAEgBC,KAFhB,0CAGS7B,IAAI,CAACR,GAHd;MAKH,CA9BD,CADa;IAAA,CAAjB;;IAgCA,OAAO6E,IAAI,CAACjE,QAAD,CAAX;EACH,CAlCmB,EAkCjB,CAACA,QAAD,EAAWU,WAAX,CAlCiB,CAApB;EAmCA,oBACI;IAAK,SAAS,YAAKZ,SAAL;EAAd,GACKC,UAAU,iBACP,gCAAC,WAAD;IACI,KAAK,EAAE;MAAEyE,YAAY,EAAE;IAAhB,CADX;IAEI,WAAW,EAAEvE,iBAFjB;IAGI,QAAQ,EAAEgC;EAHd,EAFR,eAQI;IAAK,SAAS,EAAEnC,SAAhB;IAA2B,GAAG,EAAEO;EAAhC,gBACI,gCAAC,UAAD,eACQD,KADR;IAEI,MAAM,EAAEI,MAFZ;IAGI,YAAY,eAAE,gCAAC,mBAAD,OAHlB;IAII,QAAQ,EAAE;MAAEiE,YAAY,EAAE;IAAhB,CAJd;IAKI,SAAS,MALb;IAMI,QAAQ,EAAET,WANd;IAOI,QAAQ,EAAElC,QAPd;IAQI,YAAY,EAAElB,YARlB;IASI,gBAAgB,EAAEE,gBATtB;IAUI,YAAY,EAAEE,YAVlB;IAWI,QAAQ,EAAE2B,QAXd;IAYI,YAAY,EAAC,OAZjB;IAaI,WAAW,EAAE,qBAAA+B,QAAQ,EAAI;MACrB,IAAMlD,QAAQ,GAAG,CAAArB,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEsB,KAAZ,KAAqB,OAAtC;MACA,IAAMA,KAAK,GAAGiD,QAAQ,CAAClD,QAAD,CAAtB;;MAEA,IAAItB,cAAJ,EAAoB;QAChB,IAAMyE,QAAQ,GAAGzE,cAAc,CAACwE,QAAD,CAA/B;QACA,oBACI;UAAK,SAAS,YAAK5E,SAAL;QAAd,gBACI,8CAAO2B,KAAP,CADJ,eAEI;UAAK,SAAS,YAAK3B,SAAL;QAAd,GACK6E,QAAQ,CACJpC,MADJ,CACW,UAAA3C,IAAI;UAAA,OAAIA,IAAI,CAACgF,OAAT;QAAA,CADf,EAEIvC,GAFJ,CAEQ,UAAAzC,IAAI;UAAA,oBACL,gCAAC,aAAD;YAAS,GAAG,EAAEA,IAAI,CAACiF,KAAnB;YAA0B,KAAK,EAAEjF,IAAI,CAACiF;UAAtC,gBACI;YACI,SAAS,YAAK/E,SAAL,oBADb;YAEI,OAAO,EAAE,iBAAAoC,CAAC,EAAI;cACVA,CAAC,CAAC4C,eAAF;cACAlF,IAAI,CAACmF,OAAL,IAAgBnF,IAAI,CAACmF,OAAL,CAAaL,QAAb,CAAhB;YACH;UALL,GAOK9E,IAAI,CAACoF,IAPV,CADJ,CADK;QAAA,CAFZ,CADL,CAFJ,CADJ;MAsBH;;MACD,OAAOvD,KAAP;IACH;EA3CL,GADJ,CARJ,CADJ;AA0DH,CAlOD;;AAoOA5B,OAAO,CAACoF,SAAR,GAAoB;EAChBlF,UAAU,EAAEmF,qBAAA,CAAUC,IADN;EAEhBrF,SAAS,EAAEoF,qBAAA,CAAUE,MAFL;EAGhBpF,QAAQ,EAAEkF,qBAAA,CAAUG,KAHJ;EAIhBrE,YAAY,EAAEkE,qBAAA,CAAUG,KAJR;EAKhBpE,mBAAmB,EAAEiE,qBAAA,CAAUG,KALf;EAMhBzE,YAAY,EAAEsE,qBAAA,CAAUC,IANR;EAOhBrD,QAAQ,EAAEoD,qBAAA,CAAUI,IAPJ;EAQhBxC,QAAQ,EAAEoC,qBAAA,CAAUC,IARJ;EAShBrE,gBAAgB,EAAEoE,qBAAA,CAAUC,IATZ;EAUhBxC,QAAQ,EAAEuC,qBAAA,CAAUI,IAVJ;EAWhBrF,iBAAiB,EAAEiF,qBAAA,CAAUE,MAXb;EAYhBlF,cAAc,EAAEgF,qBAAA,CAAUI,IAZV;EAahBnF,UAAU,EAAE+E,qBAAA,CAAUG;AAbN,CAApB;eAgBexF,O"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","names":[
|
|
1
|
+
{"version":3,"file":"css.js","names":[],"sources":["vtx-tree/style/index.js"],"sourcesContent":["import 'antd/lib/tree/style/index';\r\nimport 'antd/lib/input/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA;;AACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["vtx-tree/style/index.js"],"sourcesContent":["import 'antd/lib/tree/style/index';\r\nimport 'antd/lib/input/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA;;AACA"}
|
package/lib/vtx-tree/utils.js
CHANGED
|
@@ -5,52 +5,68 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.calcRangeKeys = calcRangeKeys;
|
|
7
7
|
exports.convertDirectoryKeysToNodes = convertDirectoryKeysToNodes;
|
|
8
|
+
|
|
8
9
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
10
|
+
|
|
9
11
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
12
|
+
|
|
10
13
|
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); }
|
|
14
|
+
|
|
11
15
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
16
|
+
|
|
12
17
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
13
|
-
|
|
18
|
+
|
|
19
|
+
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; }
|
|
20
|
+
|
|
14
21
|
function traverseNodesKey(treeData, callback) {
|
|
15
22
|
function processNode(dataNode) {
|
|
16
23
|
var key = dataNode.key,
|
|
17
|
-
|
|
24
|
+
children = dataNode.children;
|
|
25
|
+
|
|
18
26
|
if (callback(key, dataNode) !== false) {
|
|
19
27
|
traverseNodesKey(children || [], callback);
|
|
20
28
|
}
|
|
21
29
|
}
|
|
30
|
+
|
|
22
31
|
treeData.forEach(processNode);
|
|
23
32
|
}
|
|
33
|
+
|
|
24
34
|
var Record = {
|
|
25
35
|
None: 0,
|
|
26
36
|
Start: 1,
|
|
27
37
|
End: 2
|
|
28
38
|
};
|
|
29
|
-
|
|
30
39
|
/** 计算选中范围,只考虑expanded情况以优化性能 */
|
|
40
|
+
|
|
31
41
|
function calcRangeKeys(_ref) {
|
|
32
42
|
var treeData = _ref.treeData,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
43
|
+
expandedKeys = _ref.expandedKeys,
|
|
44
|
+
startKey = _ref.startKey,
|
|
45
|
+
endKey = _ref.endKey;
|
|
36
46
|
var keys = [];
|
|
37
47
|
var record = Record.None;
|
|
48
|
+
|
|
38
49
|
if (startKey && startKey === endKey) {
|
|
39
50
|
return [startKey];
|
|
40
51
|
}
|
|
52
|
+
|
|
41
53
|
if (!startKey || !endKey) {
|
|
42
54
|
return [];
|
|
43
55
|
}
|
|
56
|
+
|
|
44
57
|
function matchKey(key) {
|
|
45
58
|
return key === startKey || key === endKey;
|
|
46
59
|
}
|
|
60
|
+
|
|
47
61
|
traverseNodesKey(treeData, function (key) {
|
|
48
62
|
if (record === Record.End) {
|
|
49
63
|
return false;
|
|
50
64
|
}
|
|
65
|
+
|
|
51
66
|
if (matchKey(key)) {
|
|
52
67
|
// Match test
|
|
53
68
|
keys.push(key);
|
|
69
|
+
|
|
54
70
|
if (record === Record.None) {
|
|
55
71
|
record = Record.Start;
|
|
56
72
|
} else if (record === Record.Start) {
|
|
@@ -61,19 +77,24 @@ function calcRangeKeys(_ref) {
|
|
|
61
77
|
// Append selection
|
|
62
78
|
keys.push(key);
|
|
63
79
|
}
|
|
80
|
+
|
|
64
81
|
return expandedKeys.includes(key);
|
|
65
82
|
});
|
|
66
83
|
return keys;
|
|
67
84
|
}
|
|
85
|
+
|
|
68
86
|
function convertDirectoryKeysToNodes(treeData, keys) {
|
|
69
87
|
var restKeys = _toConsumableArray(keys);
|
|
88
|
+
|
|
70
89
|
var nodes = [];
|
|
71
90
|
traverseNodesKey(treeData, function (key, node) {
|
|
72
91
|
var index = restKeys.indexOf(key);
|
|
92
|
+
|
|
73
93
|
if (index !== -1) {
|
|
74
94
|
nodes.push(node);
|
|
75
95
|
restKeys.splice(index, 1);
|
|
76
96
|
}
|
|
97
|
+
|
|
77
98
|
return !!restKeys.length;
|
|
78
99
|
});
|
|
79
100
|
return nodes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["traverseNodesKey","treeData","callback","processNode","dataNode","key","children","forEach","Record","None","Start","End","calcRangeKeys","
|
|
1
|
+
{"version":3,"file":"utils.js","names":["traverseNodesKey","treeData","callback","processNode","dataNode","key","children","forEach","Record","None","Start","End","calcRangeKeys","expandedKeys","startKey","endKey","keys","record","matchKey","push","includes","convertDirectoryKeysToNodes","restKeys","nodes","node","index","indexOf","splice","length"],"sources":["vtx-tree/utils.js"],"sourcesContent":["function traverseNodesKey(treeData, callback) {\r\n function processNode(dataNode) {\r\n const { key, children } = dataNode;\r\n if (callback(key, dataNode) !== false) {\r\n traverseNodesKey(children || [], callback);\r\n }\r\n }\r\n\r\n treeData.forEach(processNode);\r\n}\r\n\r\nconst Record = {\r\n None: 0,\r\n Start: 1,\r\n End: 2,\r\n};\r\n\r\n/** 计算选中范围,只考虑expanded情况以优化性能 */\r\nexport function calcRangeKeys({ treeData, expandedKeys, startKey, endKey }) {\r\n const keys = [];\r\n let record = Record.None;\r\n\r\n if (startKey && startKey === endKey) {\r\n return [startKey];\r\n }\r\n if (!startKey || !endKey) {\r\n return [];\r\n }\r\n\r\n function matchKey(key) {\r\n return key === startKey || key === endKey;\r\n }\r\n\r\n traverseNodesKey(treeData, key => {\r\n if (record === Record.End) {\r\n return false;\r\n }\r\n\r\n if (matchKey(key)) {\r\n // Match test\r\n keys.push(key);\r\n\r\n if (record === Record.None) {\r\n record = Record.Start;\r\n } else if (record === Record.Start) {\r\n record = Record.End;\r\n return false;\r\n }\r\n } else if (record === Record.Start) {\r\n // Append selection\r\n keys.push(key);\r\n }\r\n return expandedKeys.includes(key);\r\n });\r\n\r\n return keys;\r\n}\r\n\r\nexport function convertDirectoryKeysToNodes(treeData, keys) {\r\n const restKeys = [...keys];\r\n const nodes = [];\r\n traverseNodesKey(treeData, (key, node) => {\r\n const index = restKeys.indexOf(key);\r\n if (index !== -1) {\r\n nodes.push(node);\r\n restKeys.splice(index, 1);\r\n }\r\n\r\n return !!restKeys.length;\r\n });\r\n return nodes;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAASA,gBAAT,CAA0BC,QAA1B,EAAoCC,QAApC,EAA8C;EAC1C,SAASC,WAAT,CAAqBC,QAArB,EAA+B;IAC3B,IAAQC,GAAR,GAA0BD,QAA1B,CAAQC,GAAR;IAAA,IAAaC,QAAb,GAA0BF,QAA1B,CAAaE,QAAb;;IACA,IAAIJ,QAAQ,CAACG,GAAD,EAAMD,QAAN,CAAR,KAA4B,KAAhC,EAAuC;MACnCJ,gBAAgB,CAACM,QAAQ,IAAI,EAAb,EAAiBJ,QAAjB,CAAhB;IACH;EACJ;;EAEDD,QAAQ,CAACM,OAAT,CAAiBJ,WAAjB;AACH;;AAED,IAAMK,MAAM,GAAG;EACXC,IAAI,EAAE,CADK;EAEXC,KAAK,EAAE,CAFI;EAGXC,GAAG,EAAE;AAHM,CAAf;AAMA;;AACO,SAASC,aAAT,OAAqE;EAAA,IAA5CX,QAA4C,QAA5CA,QAA4C;EAAA,IAAlCY,YAAkC,QAAlCA,YAAkC;EAAA,IAApBC,QAAoB,QAApBA,QAAoB;EAAA,IAAVC,MAAU,QAAVA,MAAU;EACxE,IAAMC,IAAI,GAAG,EAAb;EACA,IAAIC,MAAM,GAAGT,MAAM,CAACC,IAApB;;EAEA,IAAIK,QAAQ,IAAIA,QAAQ,KAAKC,MAA7B,EAAqC;IACjC,OAAO,CAACD,QAAD,CAAP;EACH;;EACD,IAAI,CAACA,QAAD,IAAa,CAACC,MAAlB,EAA0B;IACtB,OAAO,EAAP;EACH;;EAED,SAASG,QAAT,CAAkBb,GAAlB,EAAuB;IACnB,OAAOA,GAAG,KAAKS,QAAR,IAAoBT,GAAG,KAAKU,MAAnC;EACH;;EAEDf,gBAAgB,CAACC,QAAD,EAAW,UAAAI,GAAG,EAAI;IAC9B,IAAIY,MAAM,KAAKT,MAAM,CAACG,GAAtB,EAA2B;MACvB,OAAO,KAAP;IACH;;IAED,IAAIO,QAAQ,CAACb,GAAD,CAAZ,EAAmB;MACf;MACAW,IAAI,CAACG,IAAL,CAAUd,GAAV;;MAEA,IAAIY,MAAM,KAAKT,MAAM,CAACC,IAAtB,EAA4B;QACxBQ,MAAM,GAAGT,MAAM,CAACE,KAAhB;MACH,CAFD,MAEO,IAAIO,MAAM,KAAKT,MAAM,CAACE,KAAtB,EAA6B;QAChCO,MAAM,GAAGT,MAAM,CAACG,GAAhB;QACA,OAAO,KAAP;MACH;IACJ,CAVD,MAUO,IAAIM,MAAM,KAAKT,MAAM,CAACE,KAAtB,EAA6B;MAChC;MACAM,IAAI,CAACG,IAAL,CAAUd,GAAV;IACH;;IACD,OAAOQ,YAAY,CAACO,QAAb,CAAsBf,GAAtB,CAAP;EACH,CApBe,CAAhB;EAsBA,OAAOW,IAAP;AACH;;AAEM,SAASK,2BAAT,CAAqCpB,QAArC,EAA+Ce,IAA/C,EAAqD;EACxD,IAAMM,QAAQ,sBAAON,IAAP,CAAd;;EACA,IAAMO,KAAK,GAAG,EAAd;EACAvB,gBAAgB,CAACC,QAAD,EAAW,UAACI,GAAD,EAAMmB,IAAN,EAAe;IACtC,IAAMC,KAAK,GAAGH,QAAQ,CAACI,OAAT,CAAiBrB,GAAjB,CAAd;;IACA,IAAIoB,KAAK,KAAK,CAAC,CAAf,EAAkB;MACdF,KAAK,CAACJ,IAAN,CAAWK,IAAX;MACAF,QAAQ,CAACK,MAAT,CAAgBF,KAAhB,EAAuB,CAAvB;IACH;;IAED,OAAO,CAAC,CAACH,QAAQ,CAACM,MAAlB;EACH,CARe,CAAhB;EASA,OAAOL,KAAP;AACH"}
|