@qsxy/element-plus-react 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Alert/Alert.d.ts +7 -0
- package/dist/Alert/Alert.js +98 -0
- package/dist/Alert/index.d.ts +2 -0
- package/dist/Alert/index.js +1 -0
- package/dist/Alert/typings.d.ts +45 -0
- package/dist/Alert/typings.js +1 -0
- package/dist/Calendar/Calendar.js +12 -3
- package/dist/Calendar/Footer.js +4 -2
- package/dist/Calendar/QuarterPanel.d.ts +4 -0
- package/dist/Calendar/QuarterPanel.js +109 -0
- package/dist/Calendar/WeekPanel.js +1 -1
- package/dist/Calendar/typings.d.ts +1 -1
- package/dist/Card/Card.js +13 -6
- package/dist/Card/typings.d.ts +1 -1
- package/dist/Cascader/Cascader.js +1 -1
- package/dist/Cascader/useCascader.d.ts +0 -14
- package/dist/Cascader/useCascader.js +33 -32
- package/dist/Checkbox/Checkbox.js +3 -2
- package/dist/ConfigProvider/ConfigProvider.js +2 -24
- package/dist/ConfigProvider/ConfigProviderContext.js +1 -1
- package/dist/ConfigProvider/typings.d.ts +1 -1
- package/dist/Container/Main.d.ts +1 -1
- package/dist/Container/typings.d.ts +1 -1
- package/dist/DatePicker/DatePicker.js +38 -12
- package/dist/DatePicker/DateRangePicker.js +27 -9
- package/dist/DatePicker/main.js +1 -1
- package/dist/DatePicker/typings.d.ts +1 -1
- package/dist/DateTimePicker/DateTimePicker.js +2 -2
- package/dist/Dialog/Dialog.js +5 -12
- package/dist/Input/Input.js +190 -149
- package/dist/Input/InputRange.js +1 -1
- package/dist/Input/TextArea.js +87 -12
- package/dist/Input/typings.d.ts +56 -5
- package/dist/Input/useComposition.d.ts +23 -0
- package/dist/Input/useComposition.js +63 -0
- package/dist/Input/utils.d.ts +7 -0
- package/dist/Input/utils.js +95 -0
- package/dist/InputNumber/InputNumber.js +351 -141
- package/dist/InputNumber/typings.d.ts +16 -2
- package/dist/Loading/Loading.js +5 -2
- package/dist/Menu/Menu.js +25 -1
- package/dist/Menu/MenuItem.js +4 -2
- package/dist/Menu/SubMenu.js +2 -2
- package/dist/Menu/SubMenuCollapseTransition.js +14 -9
- package/dist/Menu/typings.d.ts +2 -1
- package/dist/Message/Message.js +51 -23
- package/dist/Message/index.js +8 -10
- package/dist/Message/typings.d.ts +8 -5
- package/dist/MessageBox/MessageBox.js +52 -30
- package/dist/MessageBox/index.d.ts +2 -1
- package/dist/MessageBox/index.js +4 -2
- package/dist/MessageBox/typings.d.ts +3 -0
- package/dist/Notification/Notification.js +26 -19
- package/dist/Select/Option.js +30 -14
- package/dist/Select/SelectContext.d.ts +5 -5
- package/dist/Select/SelectContext.js +2 -1
- package/dist/Select/SelectCore.d.ts +2 -2
- package/dist/Select/SelectCore.js +172 -449
- package/dist/Select/SelectDropdown.js +85 -155
- package/dist/Select/index.d.ts +1 -1
- package/dist/Select/typings.d.ts +52 -22
- package/dist/Select/useSelect.d.ts +128 -0
- package/dist/Select/useSelect.js +524 -0
- package/dist/Space/Space.d.ts +4 -0
- package/dist/Space/Space.js +128 -0
- package/dist/Space/SpaceItem.d.ts +7 -0
- package/dist/Space/SpaceItem.js +14 -0
- package/dist/Space/index.d.ts +3 -0
- package/dist/Space/index.js +2 -0
- package/dist/Space/typings.d.ts +26 -0
- package/dist/Space/typings.js +1 -0
- package/dist/Space/useSpace.d.ts +7 -0
- package/dist/Space/useSpace.js +104 -0
- package/dist/Statistic/Statistic.d.ts +4 -0
- package/dist/Statistic/Statistic.js +92 -0
- package/dist/Statistic/index.d.ts +2 -0
- package/dist/Statistic/index.js +1 -0
- package/dist/Statistic/typings.d.ts +28 -0
- package/dist/Statistic/typings.js +1 -0
- package/dist/Switch/Switch.js +2 -2
- package/dist/Table/Table.js +3 -0
- package/dist/Table/typings.d.ts +2 -0
- package/dist/Table/util.js +6 -5
- package/dist/Tag/Tag.js +22 -17
- package/dist/Tag/typings.d.ts +1 -1
- package/dist/Text/Text.d.ts +4 -0
- package/dist/Text/Text.js +84 -0
- package/dist/Text/index.d.ts +2 -0
- package/dist/Text/index.js +1 -0
- package/dist/Text/typings.d.ts +15 -0
- package/dist/Text/typings.js +1 -0
- package/dist/TimePicker/TimePicker.js +2 -2
- package/dist/Tree/CollapseTransition.d.ts +7 -0
- package/dist/Tree/CollapseTransition.js +60 -0
- package/dist/Tree/Tree.d.ts +3 -140
- package/dist/Tree/Tree.js +350 -77
- package/dist/Tree/TreeContext.d.ts +9 -0
- package/dist/Tree/TreeContext.js +14 -0
- package/dist/Tree/TreeNode.d.ts +5 -3
- package/dist/Tree/TreeNode.js +321 -331
- package/dist/Tree/TreeNodeContent.d.ts +9 -0
- package/dist/Tree/TreeNodeContent.js +22 -0
- package/dist/Tree/index.d.ts +3 -8
- package/dist/Tree/index.js +1 -4
- package/dist/Tree/model/node.d.ts +62 -0
- package/dist/Tree/model/node.js +601 -0
- package/dist/Tree/model/tree-store.d.ts +52 -0
- package/dist/Tree/model/tree-store.js +510 -0
- package/dist/Tree/model/useDragNode.d.ts +30 -0
- package/dist/Tree/model/useDragNode.js +293 -0
- package/dist/Tree/model/useKeydown.d.ts +0 -0
- package/dist/Tree/model/useKeydown.js +104 -0
- package/dist/Tree/model/useNodeExpandEventBroadcast.d.ts +15 -0
- package/dist/Tree/model/useNodeExpandEventBroadcast.js +54 -0
- package/dist/Tree/model/util.d.ts +7 -0
- package/dist/Tree/model/util.js +24 -0
- package/dist/Tree/typings.d.ts +225 -114
- package/dist/TreeSelect/TreeSelect.d.ts +2 -10
- package/dist/TreeSelect/TreeSelect.js +90 -566
- package/dist/TreeSelect/TreeSelectOption.d.ts +6 -0
- package/dist/TreeSelect/TreeSelectOption.js +62 -0
- package/dist/TreeSelect/cacheOptions.d.ts +9 -0
- package/dist/TreeSelect/cacheOptions.js +22 -0
- package/dist/TreeSelect/index.d.ts +0 -1
- package/dist/TreeSelect/typings.d.ts +11 -63
- package/dist/TreeSelect/useSelect.d.ts +125 -0
- package/dist/TreeSelect/useSelect.js +104 -0
- package/dist/TreeSelect/useTree.d.ts +130 -0
- package/dist/TreeSelect/useTree.js +285 -0
- package/dist/TreeSelect/utils.d.ts +10 -0
- package/dist/TreeSelect/utils.js +38 -0
- package/dist/Upload/UploadContent.js +2 -0
- package/dist/Upload/ajax.js +3 -0
- package/dist/Upload/typings.d.ts +4 -0
- package/dist/Util/aria.d.ts +25 -0
- package/dist/Util/aria.js +118 -0
- package/dist/Util/base.d.ts +5 -0
- package/dist/Util/base.js +140 -1
- package/dist/config/Constants.d.ts +3 -0
- package/dist/config/Constants.js +8 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/popperPropsUtils.js +1 -1
- package/dist/hooks/treePropsUtils.d.ts +3 -3
- package/dist/hooks/treePropsUtils.js +2 -2
- package/dist/hooks/useCalcInputWidth.d.ts +8 -0
- package/dist/{Tree/useUnmount.js → hooks/useCalcInputWidth.js} +23 -27
- package/dist/hooks/useComposition.d.ts +16 -0
- package/dist/hooks/useComposition.js +39 -0
- package/dist/hooks/useConfigProvider.d.ts +27 -0
- package/dist/hooks/useConfigProvider.js +78 -0
- package/dist/hooks/useCursor.d.ts +2 -0
- package/dist/hooks/useCursor.js +52 -0
- package/dist/hooks/useFocusController.d.ts +27 -0
- package/dist/hooks/useFocusController.js +72 -0
- package/dist/hooks/useResizeObserver.js +6 -6
- package/dist/index.css +1 -1
- package/dist/index.d.ts +18 -11
- package/dist/index.js +11 -5
- package/dist/locale/en.d.ts +15 -0
- package/dist/locale/en.js +15 -0
- package/dist/locale/zhCn.d.ts +15 -0
- package/dist/locale/zhCn.js +15 -0
- package/package.json +1 -1
- package/theme-chalk/alert.scss +115 -0
- package/theme-chalk/aside.scss +8 -8
- package/theme-chalk/button-group.scss +80 -80
- package/theme-chalk/button.scss +304 -304
- package/theme-chalk/calendar/date-table.scss +164 -164
- package/theme-chalk/calendar/index.scss +1 -0
- package/theme-chalk/calendar/quarter-table.scss +78 -0
- package/theme-chalk/checkbox.scss +34 -0
- package/theme-chalk/color/index.scss +20 -20
- package/theme-chalk/common/transition.scss +142 -142
- package/theme-chalk/common/var.scss +1 -1
- package/theme-chalk/container.scss +14 -14
- package/theme-chalk/dark/css-vars.scss +39 -39
- package/theme-chalk/dark/var.scss +225 -225
- package/theme-chalk/date-picker.scss +12 -12
- package/theme-chalk/drawer.scss +1 -0
- package/theme-chalk/footer.scss +12 -12
- package/theme-chalk/header.scss +12 -12
- package/theme-chalk/index.scss +4 -0
- package/theme-chalk/input/input-range.scss +2 -1
- package/theme-chalk/input/input.scss +298 -437
- package/theme-chalk/input/input.scss--bak +578 -0
- package/theme-chalk/input-number.bak +172 -0
- package/theme-chalk/input-number.scss +192 -172
- package/theme-chalk/link.scss +87 -87
- package/theme-chalk/main.scss +14 -14
- package/theme-chalk/menu.scss +353 -353
- package/theme-chalk/message.scss +104 -178
- package/theme-chalk/mixins/_button.scss +224 -224
- package/theme-chalk/mixins/_col.scss +33 -33
- package/theme-chalk/mixins/_var.scss +67 -67
- package/theme-chalk/mixins/config.scss +5 -5
- package/theme-chalk/mixins/function.scss +99 -99
- package/theme-chalk/mixins/mixins.scss +240 -240
- package/theme-chalk/mixins/utils.scss +39 -39
- package/theme-chalk/notification.bak +156 -0
- package/theme-chalk/notification.scss +109 -156
- package/theme-chalk/popper.scss +104 -104
- package/theme-chalk/radio-button.scss +169 -169
- package/theme-chalk/select/index.scss +222 -191
- package/theme-chalk/select/index.scss--bak +247 -0
- package/theme-chalk/select/option-group.scss +2 -2
- package/theme-chalk/select/option.scss +2 -2
- package/theme-chalk/select/select-dropdown.scss +2 -2
- package/theme-chalk/space.scss +20 -0
- package/theme-chalk/statistic.scss +35 -0
- package/theme-chalk/switch.scss +300 -300
- package/theme-chalk/tag.scss +150 -172
- package/theme-chalk/tag.scss--bak +203 -0
- package/theme-chalk/text.scss +48 -0
- package/theme-chalk/transition.scss +34 -4
- package/theme-chalk/tree-select.scss +41 -25
- package/theme-chalk/tree.scss +136 -0
- package/theme-chalk/var.scss +83 -83
- package/dist/Tree/DirectoryTree.d.ts +0 -15
- package/dist/Tree/DirectoryTree.js +0 -183
- package/dist/Tree/DropIndicator.d.ts +0 -8
- package/dist/Tree/DropIndicator.js +0 -34
- package/dist/Tree/Indent.d.ts +0 -9
- package/dist/Tree/Indent.js +0 -25
- package/dist/Tree/MotionTreeNode.d.ts +0 -14
- package/dist/Tree/MotionTreeNode.js +0 -125
- package/dist/Tree/NodeList.d.ts +0 -50
- package/dist/Tree/NodeList.js +0 -301
- package/dist/Tree/RCTree.d.ts +0 -248
- package/dist/Tree/RCTree.js +0 -1216
- package/dist/Tree/contextTypes.d.ts +0 -69
- package/dist/Tree/contextTypes.js +0 -9
- package/dist/Tree/typings.tsx--bak +0 -245
- package/dist/Tree/useUnmount.d.ts +0 -5
- package/dist/Tree/util.d.ts +0 -51
- package/dist/Tree/util.js +0 -303
- package/dist/Tree/utils/conductUtil.d.ts +0 -17
- package/dist/Tree/utils/conductUtil.js +0 -209
- package/dist/Tree/utils/dictUtil.d.ts +0 -13
- package/dist/Tree/utils/dictUtil.js +0 -75
- package/dist/Tree/utils/diffUtil.d.ts +0 -7
- package/dist/Tree/utils/diffUtil.js +0 -48
- package/dist/Tree/utils/dropIndicator.d.ts +0 -11
- package/dist/Tree/utils/dropIndicator.js +0 -36
- package/dist/Tree/utils/iconUtil.d.ts +0 -5
- package/dist/Tree/utils/iconUtil.js +0 -62
- package/dist/Tree/utils/keyUtil.d.ts +0 -2
- package/dist/Tree/utils/keyUtil.js +0 -3
- package/dist/Tree/utils/motion.d.ts +0 -10
- package/dist/Tree/utils/motion.js +0 -54
- package/dist/Tree/utils/pickAttrs.d.ts +0 -11
- package/dist/Tree/utils/pickAttrs.js +0 -51
- package/dist/Tree/utils/treeUtil.d.ts +0 -86
- package/dist/Tree/utils/treeUtil.js +0 -364
- package/dist/TreeSelect/Utils.d.ts +0 -3
- package/dist/TreeSelect/Utils.js +0 -20
package/dist/Tree/RCTree.js
DELETED
|
@@ -1,1216 +0,0 @@
|
|
|
1
|
-
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); }
|
|
2
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
6
|
-
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."); }
|
|
7
|
-
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); }
|
|
8
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
9
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
10
|
-
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; }
|
|
11
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
12
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
13
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
14
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
15
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
16
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
17
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
18
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
19
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
20
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
21
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
22
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
23
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
24
|
-
// TODO: https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/treeview/treeview-2/treeview-2a.html
|
|
25
|
-
// Fully accessibility support
|
|
26
|
-
|
|
27
|
-
import classNames from 'classnames';
|
|
28
|
-
import KeyCode from 'rc-util/lib/KeyCode';
|
|
29
|
-
import pickAttrs from 'rc-util/lib/pickAttrs';
|
|
30
|
-
import warning from 'rc-util/lib/warning';
|
|
31
|
-
import * as React from 'react';
|
|
32
|
-
import DropIndicator from "./DropIndicator";
|
|
33
|
-
import NodeList, { MOTION_KEY, MotionEntity } from "./NodeList";
|
|
34
|
-
import TreeNode from "./TreeNode";
|
|
35
|
-
import { TreeContext } from "./contextTypes";
|
|
36
|
-
import { arrAdd, arrDel, calcDropPosition, calcSelectedKeys, conductExpandParent, getDragChildrenKeys, parseCheckedKeys, posToArr } from "./util";
|
|
37
|
-
import { conductCheck } from "./utils/conductUtil";
|
|
38
|
-
import getEntity from "./utils/keyUtil";
|
|
39
|
-
import { convertDataToEntities, convertNodePropsToEventData, convertTreeToData, fillFieldNames, flattenTreeData, getTreeNodeProps, warningWithoutKey } from "./utils/treeUtil";
|
|
40
|
-
var MAX_RETRY_TIMES = 10;
|
|
41
|
-
var Tree = /*#__PURE__*/function (_React$Component) {
|
|
42
|
-
_inherits(Tree, _React$Component);
|
|
43
|
-
var _super = _createSuper(Tree);
|
|
44
|
-
function Tree() {
|
|
45
|
-
var _this;
|
|
46
|
-
_classCallCheck(this, Tree);
|
|
47
|
-
for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
48
|
-
_args[_key] = arguments[_key];
|
|
49
|
-
}
|
|
50
|
-
_this = _super.call.apply(_super, [this].concat(_args));
|
|
51
|
-
_defineProperty(_assertThisInitialized(_this), "destroyed", false);
|
|
52
|
-
_defineProperty(_assertThisInitialized(_this), "delayedDragEnterLogic", void 0);
|
|
53
|
-
_defineProperty(_assertThisInitialized(_this), "loadingRetryTimes", {});
|
|
54
|
-
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
55
|
-
keyEntities: {},
|
|
56
|
-
indent: null,
|
|
57
|
-
selectedKeys: [],
|
|
58
|
-
checkedKeys: [],
|
|
59
|
-
halfCheckedKeys: [],
|
|
60
|
-
loadedKeys: [],
|
|
61
|
-
loadingKeys: [],
|
|
62
|
-
expandedKeys: [],
|
|
63
|
-
draggingNodeKey: null,
|
|
64
|
-
dragChildrenKeys: [],
|
|
65
|
-
// dropTargetKey is the key of abstract-drop-node
|
|
66
|
-
// the abstract-drop-node is the real drop node when drag and drop
|
|
67
|
-
// not the DOM drag over node
|
|
68
|
-
dropTargetKey: null,
|
|
69
|
-
dropPosition: null,
|
|
70
|
-
// the drop position of abstract-drop-node, inside 0, top -1, bottom 1
|
|
71
|
-
dropContainerKey: null,
|
|
72
|
-
// the container key of abstract-drop-node if dropPosition is -1 or 1
|
|
73
|
-
dropLevelOffset: null,
|
|
74
|
-
// the drop level offset of abstract-drag-over-node
|
|
75
|
-
dropTargetPos: null,
|
|
76
|
-
// the pos of abstract-drop-node
|
|
77
|
-
dropAllowed: true,
|
|
78
|
-
// if drop to abstract-drop-node is allowed
|
|
79
|
-
// the abstract-drag-over-node
|
|
80
|
-
// if mouse is on the bottom of top dom node or no the top of the bottom dom node
|
|
81
|
-
// abstract-drag-over-node is the top node
|
|
82
|
-
dragOverNodeKey: null,
|
|
83
|
-
treeData: [],
|
|
84
|
-
flattenNodes: [],
|
|
85
|
-
focused: false,
|
|
86
|
-
activeKey: null,
|
|
87
|
-
listChanging: false,
|
|
88
|
-
prevProps: null,
|
|
89
|
-
fieldNames: fillFieldNames()
|
|
90
|
-
});
|
|
91
|
-
_defineProperty(_assertThisInitialized(_this), "dragStartMousePosition", null);
|
|
92
|
-
_defineProperty(_assertThisInitialized(_this), "dragNodeProps", null);
|
|
93
|
-
_defineProperty(_assertThisInitialized(_this), "currentMouseOverDroppableNodeKey", null);
|
|
94
|
-
_defineProperty(_assertThisInitialized(_this), "listRef", /*#__PURE__*/React.createRef());
|
|
95
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeDragStart", function (event, nodeProps) {
|
|
96
|
-
var _this$state = _this.state,
|
|
97
|
-
expandedKeys = _this$state.expandedKeys,
|
|
98
|
-
keyEntities = _this$state.keyEntities;
|
|
99
|
-
var onDragStart = _this.props.onDragStart;
|
|
100
|
-
var eventKey = nodeProps.eventKey;
|
|
101
|
-
_this.dragNodeProps = nodeProps;
|
|
102
|
-
_this.dragStartMousePosition = {
|
|
103
|
-
x: event.clientX,
|
|
104
|
-
y: event.clientY
|
|
105
|
-
};
|
|
106
|
-
var newExpandedKeys = arrDel(expandedKeys, eventKey);
|
|
107
|
-
_this.setState({
|
|
108
|
-
draggingNodeKey: eventKey,
|
|
109
|
-
dragChildrenKeys: getDragChildrenKeys(eventKey, keyEntities),
|
|
110
|
-
indent: _this.listRef.current.getIndentWidth()
|
|
111
|
-
});
|
|
112
|
-
_this.setExpandedKeys(newExpandedKeys);
|
|
113
|
-
window.addEventListener('dragend', _this.onWindowDragEnd);
|
|
114
|
-
onDragStart === null || onDragStart === void 0 || onDragStart({
|
|
115
|
-
event: event,
|
|
116
|
-
node: convertNodePropsToEventData(nodeProps)
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
/**
|
|
120
|
-
* [Legacy] Select handler is smaller than node,
|
|
121
|
-
* so that this will trigger when drag enter node or select handler.
|
|
122
|
-
* This is a little tricky if customize css without padding.
|
|
123
|
-
* Better for use mouse move event to refresh drag state.
|
|
124
|
-
* But let's just keep it to avoid event trigger logic change.
|
|
125
|
-
*/
|
|
126
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeDragEnter", function (event, nodeProps) {
|
|
127
|
-
var _this$state2 = _this.state,
|
|
128
|
-
expandedKeys = _this$state2.expandedKeys,
|
|
129
|
-
keyEntities = _this$state2.keyEntities,
|
|
130
|
-
dragChildrenKeys = _this$state2.dragChildrenKeys,
|
|
131
|
-
flattenNodes = _this$state2.flattenNodes,
|
|
132
|
-
indent = _this$state2.indent;
|
|
133
|
-
var _this$props = _this.props,
|
|
134
|
-
onDragEnter = _this$props.onDragEnter,
|
|
135
|
-
onExpand = _this$props.onExpand,
|
|
136
|
-
allowDrop = _this$props.allowDrop,
|
|
137
|
-
direction = _this$props.direction;
|
|
138
|
-
var pos = nodeProps.pos,
|
|
139
|
-
eventKey = nodeProps.eventKey;
|
|
140
|
-
|
|
141
|
-
// record the key of node which is latest entered, used in dragleave event.
|
|
142
|
-
if (_this.currentMouseOverDroppableNodeKey !== eventKey) {
|
|
143
|
-
_this.currentMouseOverDroppableNodeKey = eventKey;
|
|
144
|
-
}
|
|
145
|
-
if (!_this.dragNodeProps) {
|
|
146
|
-
_this.resetDragState();
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
var _calcDropPosition = calcDropPosition(event, _this.dragNodeProps, nodeProps, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),
|
|
150
|
-
dropPosition = _calcDropPosition.dropPosition,
|
|
151
|
-
dropLevelOffset = _calcDropPosition.dropLevelOffset,
|
|
152
|
-
dropTargetKey = _calcDropPosition.dropTargetKey,
|
|
153
|
-
dropContainerKey = _calcDropPosition.dropContainerKey,
|
|
154
|
-
dropTargetPos = _calcDropPosition.dropTargetPos,
|
|
155
|
-
dropAllowed = _calcDropPosition.dropAllowed,
|
|
156
|
-
dragOverNodeKey = _calcDropPosition.dragOverNodeKey;
|
|
157
|
-
if (
|
|
158
|
-
// don't allow drop inside its children
|
|
159
|
-
dragChildrenKeys.includes(dropTargetKey) ||
|
|
160
|
-
// don't allow drop when drop is not allowed caculated by calcDropPosition
|
|
161
|
-
!dropAllowed) {
|
|
162
|
-
_this.resetDragState();
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// Side effect for delay drag
|
|
167
|
-
if (!_this.delayedDragEnterLogic) {
|
|
168
|
-
_this.delayedDragEnterLogic = {};
|
|
169
|
-
}
|
|
170
|
-
Object.keys(_this.delayedDragEnterLogic).forEach(function (key) {
|
|
171
|
-
clearTimeout(_this.delayedDragEnterLogic[key]);
|
|
172
|
-
});
|
|
173
|
-
if (_this.dragNodeProps.eventKey !== nodeProps.eventKey) {
|
|
174
|
-
// hoist expand logic here
|
|
175
|
-
// since if logic is on the bottom
|
|
176
|
-
// it will be blocked by abstract dragover node check
|
|
177
|
-
// => if you dragenter from top, you mouse will still be consider as in the top node
|
|
178
|
-
event.persist();
|
|
179
|
-
_this.delayedDragEnterLogic[pos] = window.setTimeout(function () {
|
|
180
|
-
if (_this.state.draggingNodeKey === null) {
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
var newExpandedKeys = _toConsumableArray(expandedKeys);
|
|
184
|
-
var entity = getEntity(keyEntities, nodeProps.eventKey);
|
|
185
|
-
if (entity && (entity.children || []).length) {
|
|
186
|
-
newExpandedKeys = arrAdd(expandedKeys, nodeProps.eventKey);
|
|
187
|
-
}
|
|
188
|
-
if (!Object.prototype.hasOwnProperty.call(_this.props, 'expandedKeys')) {
|
|
189
|
-
_this.setExpandedKeys(newExpandedKeys);
|
|
190
|
-
}
|
|
191
|
-
onExpand === null || onExpand === void 0 || onExpand(newExpandedKeys, {
|
|
192
|
-
node: convertNodePropsToEventData(nodeProps),
|
|
193
|
-
expanded: true,
|
|
194
|
-
nativeEvent: event.nativeEvent
|
|
195
|
-
});
|
|
196
|
-
}, 800);
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
// Skip if drag node is self
|
|
200
|
-
if (_this.dragNodeProps.eventKey === dropTargetKey && dropLevelOffset === 0) {
|
|
201
|
-
_this.resetDragState();
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
// Update drag over node and drag state
|
|
206
|
-
_this.setState({
|
|
207
|
-
dragOverNodeKey: dragOverNodeKey,
|
|
208
|
-
dropPosition: dropPosition,
|
|
209
|
-
dropLevelOffset: dropLevelOffset,
|
|
210
|
-
dropTargetKey: dropTargetKey,
|
|
211
|
-
dropContainerKey: dropContainerKey,
|
|
212
|
-
dropTargetPos: dropTargetPos,
|
|
213
|
-
dropAllowed: dropAllowed
|
|
214
|
-
});
|
|
215
|
-
onDragEnter === null || onDragEnter === void 0 || onDragEnter({
|
|
216
|
-
event: event,
|
|
217
|
-
node: convertNodePropsToEventData(nodeProps),
|
|
218
|
-
expandedKeys: expandedKeys
|
|
219
|
-
});
|
|
220
|
-
});
|
|
221
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeDragOver", function (event, nodeProps) {
|
|
222
|
-
var _this$state3 = _this.state,
|
|
223
|
-
dragChildrenKeys = _this$state3.dragChildrenKeys,
|
|
224
|
-
flattenNodes = _this$state3.flattenNodes,
|
|
225
|
-
keyEntities = _this$state3.keyEntities,
|
|
226
|
-
expandedKeys = _this$state3.expandedKeys,
|
|
227
|
-
indent = _this$state3.indent;
|
|
228
|
-
var _this$props2 = _this.props,
|
|
229
|
-
onDragOver = _this$props2.onDragOver,
|
|
230
|
-
allowDrop = _this$props2.allowDrop,
|
|
231
|
-
direction = _this$props2.direction;
|
|
232
|
-
if (!_this.dragNodeProps) {
|
|
233
|
-
return;
|
|
234
|
-
}
|
|
235
|
-
var _calcDropPosition2 = calcDropPosition(event, _this.dragNodeProps, nodeProps, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),
|
|
236
|
-
dropPosition = _calcDropPosition2.dropPosition,
|
|
237
|
-
dropLevelOffset = _calcDropPosition2.dropLevelOffset,
|
|
238
|
-
dropTargetKey = _calcDropPosition2.dropTargetKey,
|
|
239
|
-
dropContainerKey = _calcDropPosition2.dropContainerKey,
|
|
240
|
-
dropTargetPos = _calcDropPosition2.dropTargetPos,
|
|
241
|
-
dropAllowed = _calcDropPosition2.dropAllowed,
|
|
242
|
-
dragOverNodeKey = _calcDropPosition2.dragOverNodeKey;
|
|
243
|
-
if (dragChildrenKeys.includes(dropTargetKey) || !dropAllowed) {
|
|
244
|
-
// don't allow drop inside its children
|
|
245
|
-
// don't allow drop when drop is not allowed calculated by calcDropPosition
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
// Update drag position
|
|
250
|
-
|
|
251
|
-
if (_this.dragNodeProps.eventKey === dropTargetKey && dropLevelOffset === 0) {
|
|
252
|
-
if (!(_this.state.dropPosition === null && _this.state.dropLevelOffset === null && _this.state.dropTargetKey === null && _this.state.dropContainerKey === null && _this.state.dropTargetPos === null && _this.state.dropAllowed === false && _this.state.dragOverNodeKey === null)) {
|
|
253
|
-
_this.resetDragState();
|
|
254
|
-
}
|
|
255
|
-
} else if (!(dropPosition === _this.state.dropPosition && dropLevelOffset === _this.state.dropLevelOffset && dropTargetKey === _this.state.dropTargetKey && dropContainerKey === _this.state.dropContainerKey && dropTargetPos === _this.state.dropTargetPos && dropAllowed === _this.state.dropAllowed && dragOverNodeKey === _this.state.dragOverNodeKey)) {
|
|
256
|
-
_this.setState({
|
|
257
|
-
dropPosition: dropPosition,
|
|
258
|
-
dropLevelOffset: dropLevelOffset,
|
|
259
|
-
dropTargetKey: dropTargetKey,
|
|
260
|
-
dropContainerKey: dropContainerKey,
|
|
261
|
-
dropTargetPos: dropTargetPos,
|
|
262
|
-
dropAllowed: dropAllowed,
|
|
263
|
-
dragOverNodeKey: dragOverNodeKey
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
onDragOver === null || onDragOver === void 0 || onDragOver({
|
|
267
|
-
event: event,
|
|
268
|
-
node: convertNodePropsToEventData(nodeProps)
|
|
269
|
-
});
|
|
270
|
-
});
|
|
271
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeDragLeave", function (event, nodeProps) {
|
|
272
|
-
// if it is outside the droppable area
|
|
273
|
-
// currentMouseOverDroppableNodeKey will be updated in dragenter event when into another droppable receiver.
|
|
274
|
-
if (_this.currentMouseOverDroppableNodeKey === nodeProps.eventKey && !event.currentTarget.contains(event.relatedTarget)) {
|
|
275
|
-
_this.resetDragState();
|
|
276
|
-
_this.currentMouseOverDroppableNodeKey = null;
|
|
277
|
-
}
|
|
278
|
-
var onDragLeave = _this.props.onDragLeave;
|
|
279
|
-
onDragLeave === null || onDragLeave === void 0 || onDragLeave({
|
|
280
|
-
event: event,
|
|
281
|
-
node: convertNodePropsToEventData(nodeProps)
|
|
282
|
-
});
|
|
283
|
-
});
|
|
284
|
-
// since stopPropagation() is called in treeNode
|
|
285
|
-
// if onWindowDrag is called, whice means state is keeped, drag state should be cleared
|
|
286
|
-
_defineProperty(_assertThisInitialized(_this), "onWindowDragEnd", function (event) {
|
|
287
|
-
_this.onNodeDragEnd(event, null, true);
|
|
288
|
-
window.removeEventListener('dragend', _this.onWindowDragEnd);
|
|
289
|
-
});
|
|
290
|
-
// if onNodeDragEnd is called, onWindowDragEnd won't be called since stopPropagation() is called
|
|
291
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeDragEnd", function (event, nodeProps) {
|
|
292
|
-
var onDragEnd = _this.props.onDragEnd;
|
|
293
|
-
_this.setState({
|
|
294
|
-
dragOverNodeKey: null
|
|
295
|
-
});
|
|
296
|
-
_this.cleanDragState();
|
|
297
|
-
onDragEnd === null || onDragEnd === void 0 || onDragEnd({
|
|
298
|
-
event: event,
|
|
299
|
-
node: convertNodePropsToEventData(nodeProps)
|
|
300
|
-
});
|
|
301
|
-
_this.dragNodeProps = null;
|
|
302
|
-
window.removeEventListener('dragend', _this.onWindowDragEnd);
|
|
303
|
-
});
|
|
304
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeDrop", function (event, _) {
|
|
305
|
-
var _this$getActiveItem;
|
|
306
|
-
var outsideTree = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
307
|
-
var _this$state4 = _this.state,
|
|
308
|
-
dragChildrenKeys = _this$state4.dragChildrenKeys,
|
|
309
|
-
dropPosition = _this$state4.dropPosition,
|
|
310
|
-
dropTargetKey = _this$state4.dropTargetKey,
|
|
311
|
-
dropTargetPos = _this$state4.dropTargetPos,
|
|
312
|
-
dropAllowed = _this$state4.dropAllowed;
|
|
313
|
-
if (!dropAllowed) {
|
|
314
|
-
return;
|
|
315
|
-
}
|
|
316
|
-
var onDrop = _this.props.onDrop;
|
|
317
|
-
_this.setState({
|
|
318
|
-
dragOverNodeKey: null
|
|
319
|
-
});
|
|
320
|
-
_this.cleanDragState();
|
|
321
|
-
if (dropTargetKey === null) {
|
|
322
|
-
return;
|
|
323
|
-
}
|
|
324
|
-
var abstractDropNodeProps = _objectSpread(_objectSpread({}, getTreeNodeProps(dropTargetKey, _this.getTreeNodeRequiredProps())), {}, {
|
|
325
|
-
active: ((_this$getActiveItem = _this.getActiveItem()) === null || _this$getActiveItem === void 0 ? void 0 : _this$getActiveItem.key) === dropTargetKey,
|
|
326
|
-
data: getEntity(_this.state.keyEntities, dropTargetKey).node
|
|
327
|
-
});
|
|
328
|
-
var dropToChild = dragChildrenKeys.includes(dropTargetKey);
|
|
329
|
-
warning(!dropToChild, 'Can not drop to dragNodes children node. This is a bug of rc-tree. Please report an issue.');
|
|
330
|
-
var posArr = posToArr(dropTargetPos);
|
|
331
|
-
var dropResult = {
|
|
332
|
-
event: event,
|
|
333
|
-
node: convertNodePropsToEventData(abstractDropNodeProps),
|
|
334
|
-
dragNode: _this.dragNodeProps ? convertNodePropsToEventData(_this.dragNodeProps) : null,
|
|
335
|
-
dragNodesKeys: [_this.dragNodeProps.eventKey].concat(dragChildrenKeys),
|
|
336
|
-
dropToGap: dropPosition !== 0,
|
|
337
|
-
dropPosition: dropPosition + Number(posArr[posArr.length - 1])
|
|
338
|
-
};
|
|
339
|
-
if (!outsideTree) {
|
|
340
|
-
onDrop === null || onDrop === void 0 || onDrop(dropResult);
|
|
341
|
-
}
|
|
342
|
-
_this.dragNodeProps = null;
|
|
343
|
-
});
|
|
344
|
-
_defineProperty(_assertThisInitialized(_this), "cleanDragState", function () {
|
|
345
|
-
var draggingNodeKey = _this.state.draggingNodeKey;
|
|
346
|
-
if (draggingNodeKey !== null) {
|
|
347
|
-
_this.setState({
|
|
348
|
-
draggingNodeKey: null,
|
|
349
|
-
dropPosition: null,
|
|
350
|
-
dropContainerKey: null,
|
|
351
|
-
dropTargetKey: null,
|
|
352
|
-
dropLevelOffset: null,
|
|
353
|
-
dropAllowed: true,
|
|
354
|
-
dragOverNodeKey: null
|
|
355
|
-
});
|
|
356
|
-
}
|
|
357
|
-
_this.dragStartMousePosition = null;
|
|
358
|
-
_this.currentMouseOverDroppableNodeKey = null;
|
|
359
|
-
});
|
|
360
|
-
_defineProperty(_assertThisInitialized(_this), "triggerExpandActionExpand", function (e, treeNode) {
|
|
361
|
-
var _this$state5 = _this.state,
|
|
362
|
-
expandedKeys = _this$state5.expandedKeys,
|
|
363
|
-
flattenNodes = _this$state5.flattenNodes;
|
|
364
|
-
var expanded = treeNode.expanded,
|
|
365
|
-
key = treeNode.key,
|
|
366
|
-
isLeaf = treeNode.isLeaf;
|
|
367
|
-
if (isLeaf || e.shiftKey || e.metaKey || e.ctrlKey) {
|
|
368
|
-
return;
|
|
369
|
-
}
|
|
370
|
-
var node = flattenNodes.filter(function (nodeItem) {
|
|
371
|
-
return nodeItem.key === key;
|
|
372
|
-
})[0];
|
|
373
|
-
var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(key, _this.getTreeNodeRequiredProps())), {}, {
|
|
374
|
-
data: node.data
|
|
375
|
-
}));
|
|
376
|
-
_this.setExpandedKeys(expanded ? arrDel(expandedKeys, key) : arrAdd(expandedKeys, key));
|
|
377
|
-
_this.onNodeExpand(e, eventNode);
|
|
378
|
-
});
|
|
379
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeClick", function (e, treeNode) {
|
|
380
|
-
var _this$props3 = _this.props,
|
|
381
|
-
onClick = _this$props3.onClick,
|
|
382
|
-
expandAction = _this$props3.expandAction;
|
|
383
|
-
if (expandAction === 'click') {
|
|
384
|
-
_this.triggerExpandActionExpand(e, treeNode);
|
|
385
|
-
}
|
|
386
|
-
onClick === null || onClick === void 0 || onClick(e, treeNode);
|
|
387
|
-
});
|
|
388
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeDoubleClick", function (e, treeNode) {
|
|
389
|
-
var _this$props4 = _this.props,
|
|
390
|
-
onDoubleClick = _this$props4.onDoubleClick,
|
|
391
|
-
expandAction = _this$props4.expandAction;
|
|
392
|
-
if (expandAction === 'doubleClick') {
|
|
393
|
-
_this.triggerExpandActionExpand(e, treeNode);
|
|
394
|
-
}
|
|
395
|
-
onDoubleClick === null || onDoubleClick === void 0 || onDoubleClick(e, treeNode);
|
|
396
|
-
});
|
|
397
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeSelect", function (e, treeNode) {
|
|
398
|
-
var selectedKeys = _this.state.selectedKeys;
|
|
399
|
-
var _this$state6 = _this.state,
|
|
400
|
-
keyEntities = _this$state6.keyEntities,
|
|
401
|
-
fieldNames = _this$state6.fieldNames;
|
|
402
|
-
var _this$props5 = _this.props,
|
|
403
|
-
onSelect = _this$props5.onSelect,
|
|
404
|
-
multiple = _this$props5.multiple;
|
|
405
|
-
var selected = treeNode.selected;
|
|
406
|
-
var key = treeNode[fieldNames.key];
|
|
407
|
-
var targetSelected = !selected;
|
|
408
|
-
|
|
409
|
-
// Update selected keys
|
|
410
|
-
if (!targetSelected) {
|
|
411
|
-
selectedKeys = arrDel(selectedKeys, key);
|
|
412
|
-
} else if (!multiple) {
|
|
413
|
-
selectedKeys = [key];
|
|
414
|
-
} else {
|
|
415
|
-
selectedKeys = arrAdd(selectedKeys, key);
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
// [Legacy] Not found related usage in doc or upper libs
|
|
419
|
-
var selectedNodes = selectedKeys.map(function (selectedKey) {
|
|
420
|
-
var entity = getEntity(keyEntities, selectedKey);
|
|
421
|
-
return entity ? entity.node : null;
|
|
422
|
-
}).filter(Boolean);
|
|
423
|
-
_this.setUncontrolledState({
|
|
424
|
-
selectedKeys: selectedKeys
|
|
425
|
-
});
|
|
426
|
-
onSelect === null || onSelect === void 0 || onSelect(selectedKeys, {
|
|
427
|
-
event: 'select',
|
|
428
|
-
selected: targetSelected,
|
|
429
|
-
node: treeNode,
|
|
430
|
-
selectedNodes: selectedNodes,
|
|
431
|
-
nativeEvent: e.nativeEvent
|
|
432
|
-
});
|
|
433
|
-
});
|
|
434
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeCheck", function (e, treeNode, checked) {
|
|
435
|
-
var _this$state7 = _this.state,
|
|
436
|
-
keyEntities = _this$state7.keyEntities,
|
|
437
|
-
oriCheckedKeys = _this$state7.checkedKeys,
|
|
438
|
-
oriHalfCheckedKeys = _this$state7.halfCheckedKeys;
|
|
439
|
-
var _this$props6 = _this.props,
|
|
440
|
-
checkStrictly = _this$props6.checkStrictly,
|
|
441
|
-
onCheck = _this$props6.onCheck;
|
|
442
|
-
var key = treeNode.key;
|
|
443
|
-
|
|
444
|
-
// Prepare trigger arguments
|
|
445
|
-
var checkedObj;
|
|
446
|
-
var eventObj = {
|
|
447
|
-
event: 'check',
|
|
448
|
-
node: treeNode,
|
|
449
|
-
checked: checked,
|
|
450
|
-
nativeEvent: e.nativeEvent
|
|
451
|
-
};
|
|
452
|
-
if (checkStrictly) {
|
|
453
|
-
var checkedKeys = checked ? arrAdd(oriCheckedKeys, key) : arrDel(oriCheckedKeys, key);
|
|
454
|
-
var halfCheckedKeys = arrDel(oriHalfCheckedKeys, key);
|
|
455
|
-
checkedObj = {
|
|
456
|
-
checked: checkedKeys,
|
|
457
|
-
halfChecked: halfCheckedKeys
|
|
458
|
-
};
|
|
459
|
-
eventObj.checkedNodes = checkedKeys.map(function (checkedKey) {
|
|
460
|
-
return getEntity(keyEntities, checkedKey);
|
|
461
|
-
}).filter(Boolean).map(function (entity) {
|
|
462
|
-
return entity.node;
|
|
463
|
-
});
|
|
464
|
-
_this.setUncontrolledState({
|
|
465
|
-
checkedKeys: checkedKeys
|
|
466
|
-
});
|
|
467
|
-
} else {
|
|
468
|
-
// Always fill first
|
|
469
|
-
var _conductCheck = conductCheck([].concat(_toConsumableArray(oriCheckedKeys), [key]), true, keyEntities),
|
|
470
|
-
_checkedKeys = _conductCheck.checkedKeys,
|
|
471
|
-
_halfCheckedKeys = _conductCheck.halfCheckedKeys;
|
|
472
|
-
|
|
473
|
-
// If remove, we do it again to correction
|
|
474
|
-
if (!checked) {
|
|
475
|
-
var keySet = new Set(_checkedKeys);
|
|
476
|
-
keySet.delete(key);
|
|
477
|
-
var _conductCheck2 = conductCheck(Array.from(keySet), {
|
|
478
|
-
checked: false,
|
|
479
|
-
halfCheckedKeys: _halfCheckedKeys
|
|
480
|
-
}, keyEntities);
|
|
481
|
-
_checkedKeys = _conductCheck2.checkedKeys;
|
|
482
|
-
_halfCheckedKeys = _conductCheck2.halfCheckedKeys;
|
|
483
|
-
}
|
|
484
|
-
checkedObj = _checkedKeys;
|
|
485
|
-
|
|
486
|
-
// [Legacy] This is used for `rc-tree-select`
|
|
487
|
-
eventObj.checkedNodes = [];
|
|
488
|
-
eventObj.checkedNodesPositions = [];
|
|
489
|
-
eventObj.halfCheckedKeys = _halfCheckedKeys;
|
|
490
|
-
_checkedKeys.forEach(function (checkedKey) {
|
|
491
|
-
var entity = getEntity(keyEntities, checkedKey);
|
|
492
|
-
if (!entity) {
|
|
493
|
-
return;
|
|
494
|
-
}
|
|
495
|
-
var node = entity.node,
|
|
496
|
-
pos = entity.pos;
|
|
497
|
-
eventObj.checkedNodes.push(node);
|
|
498
|
-
eventObj.checkedNodesPositions.push({
|
|
499
|
-
node: node,
|
|
500
|
-
pos: pos
|
|
501
|
-
});
|
|
502
|
-
});
|
|
503
|
-
_this.setUncontrolledState({
|
|
504
|
-
checkedKeys: _checkedKeys
|
|
505
|
-
}, false, {
|
|
506
|
-
halfCheckedKeys: _halfCheckedKeys
|
|
507
|
-
});
|
|
508
|
-
}
|
|
509
|
-
onCheck === null || onCheck === void 0 || onCheck(checkedObj, eventObj);
|
|
510
|
-
});
|
|
511
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeLoad", function (treeNode) {
|
|
512
|
-
var _entity$children;
|
|
513
|
-
var key = treeNode.key;
|
|
514
|
-
var keyEntities = _this.state.keyEntities;
|
|
515
|
-
|
|
516
|
-
// Skip if has children already
|
|
517
|
-
var entity = getEntity(keyEntities, key);
|
|
518
|
-
if (entity !== null && entity !== void 0 && (_entity$children = entity.children) !== null && _entity$children !== void 0 && _entity$children.length) {
|
|
519
|
-
return;
|
|
520
|
-
}
|
|
521
|
-
var loadPromise = new Promise(function (resolve, reject) {
|
|
522
|
-
// We need to get the latest state of loading/loaded keys
|
|
523
|
-
_this.setState(function (_ref) {
|
|
524
|
-
var _ref$loadedKeys = _ref.loadedKeys,
|
|
525
|
-
loadedKeys = _ref$loadedKeys === void 0 ? [] : _ref$loadedKeys,
|
|
526
|
-
_ref$loadingKeys = _ref.loadingKeys,
|
|
527
|
-
loadingKeys = _ref$loadingKeys === void 0 ? [] : _ref$loadingKeys;
|
|
528
|
-
var _this$props7 = _this.props,
|
|
529
|
-
loadData = _this$props7.loadData,
|
|
530
|
-
onLoad = _this$props7.onLoad;
|
|
531
|
-
if (!loadData || loadedKeys.includes(key) || loadingKeys.includes(key)) {
|
|
532
|
-
return null;
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
// Process load data
|
|
536
|
-
var promise = loadData(treeNode);
|
|
537
|
-
promise.then(function () {
|
|
538
|
-
var currentLoadedKeys = _this.state.loadedKeys;
|
|
539
|
-
var newLoadedKeys = arrAdd(currentLoadedKeys, key);
|
|
540
|
-
|
|
541
|
-
// onLoad should trigger before internal setState to avoid `loadData` trigger twice.
|
|
542
|
-
// https://github.com/ant-design/ant-design/issues/12464
|
|
543
|
-
onLoad === null || onLoad === void 0 || onLoad(newLoadedKeys, {
|
|
544
|
-
event: 'load',
|
|
545
|
-
node: treeNode
|
|
546
|
-
});
|
|
547
|
-
_this.setUncontrolledState({
|
|
548
|
-
loadedKeys: newLoadedKeys
|
|
549
|
-
});
|
|
550
|
-
_this.setState(function (prevState) {
|
|
551
|
-
return {
|
|
552
|
-
loadingKeys: arrDel(prevState.loadingKeys, key)
|
|
553
|
-
};
|
|
554
|
-
});
|
|
555
|
-
resolve();
|
|
556
|
-
}).catch(function (e) {
|
|
557
|
-
_this.setState(function (prevState) {
|
|
558
|
-
return {
|
|
559
|
-
loadingKeys: arrDel(prevState.loadingKeys, key)
|
|
560
|
-
};
|
|
561
|
-
});
|
|
562
|
-
|
|
563
|
-
// If exceed max retry times, we give up retry
|
|
564
|
-
_this.loadingRetryTimes[key] = (_this.loadingRetryTimes[key] || 0) + 1;
|
|
565
|
-
if (_this.loadingRetryTimes[key] >= MAX_RETRY_TIMES) {
|
|
566
|
-
var currentLoadedKeys = _this.state.loadedKeys;
|
|
567
|
-
warning(false, 'Retry for `loadData` many times but still failed. No more retry.');
|
|
568
|
-
_this.setUncontrolledState({
|
|
569
|
-
loadedKeys: arrAdd(currentLoadedKeys, key)
|
|
570
|
-
});
|
|
571
|
-
resolve();
|
|
572
|
-
}
|
|
573
|
-
reject(e);
|
|
574
|
-
});
|
|
575
|
-
return {
|
|
576
|
-
loadingKeys: arrAdd(loadingKeys, key)
|
|
577
|
-
};
|
|
578
|
-
});
|
|
579
|
-
});
|
|
580
|
-
|
|
581
|
-
// Not care warning if we ignore this
|
|
582
|
-
loadPromise.catch(function () {
|
|
583
|
-
//
|
|
584
|
-
});
|
|
585
|
-
return loadPromise;
|
|
586
|
-
});
|
|
587
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeMouseEnter", function (event, node) {
|
|
588
|
-
var onMouseEnter = _this.props.onMouseEnter;
|
|
589
|
-
onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({
|
|
590
|
-
event: event,
|
|
591
|
-
node: node
|
|
592
|
-
});
|
|
593
|
-
});
|
|
594
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeMouseLeave", function (event, node) {
|
|
595
|
-
var onMouseLeave = _this.props.onMouseLeave;
|
|
596
|
-
onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave({
|
|
597
|
-
event: event,
|
|
598
|
-
node: node
|
|
599
|
-
});
|
|
600
|
-
});
|
|
601
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeContextMenu", function (event, node) {
|
|
602
|
-
var onRightClick = _this.props.onRightClick;
|
|
603
|
-
if (onRightClick) {
|
|
604
|
-
event.preventDefault();
|
|
605
|
-
onRightClick({
|
|
606
|
-
event: event,
|
|
607
|
-
node: node
|
|
608
|
-
});
|
|
609
|
-
}
|
|
610
|
-
});
|
|
611
|
-
_defineProperty(_assertThisInitialized(_this), "onFocus", function () {
|
|
612
|
-
var onFocus = _this.props.onFocus;
|
|
613
|
-
_this.setState({
|
|
614
|
-
focused: true
|
|
615
|
-
});
|
|
616
|
-
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
617
|
-
args[_key2] = arguments[_key2];
|
|
618
|
-
}
|
|
619
|
-
onFocus === null || onFocus === void 0 || onFocus.apply(void 0, args);
|
|
620
|
-
});
|
|
621
|
-
_defineProperty(_assertThisInitialized(_this), "onBlur", function () {
|
|
622
|
-
var onBlur = _this.props.onBlur;
|
|
623
|
-
_this.setState({
|
|
624
|
-
focused: false
|
|
625
|
-
});
|
|
626
|
-
_this.onActiveChange(null);
|
|
627
|
-
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
628
|
-
args[_key3] = arguments[_key3];
|
|
629
|
-
}
|
|
630
|
-
onBlur === null || onBlur === void 0 || onBlur.apply(void 0, args);
|
|
631
|
-
});
|
|
632
|
-
_defineProperty(_assertThisInitialized(_this), "getTreeNodeRequiredProps", function () {
|
|
633
|
-
var _this$state8 = _this.state,
|
|
634
|
-
expandedKeys = _this$state8.expandedKeys,
|
|
635
|
-
selectedKeys = _this$state8.selectedKeys,
|
|
636
|
-
loadedKeys = _this$state8.loadedKeys,
|
|
637
|
-
loadingKeys = _this$state8.loadingKeys,
|
|
638
|
-
checkedKeys = _this$state8.checkedKeys,
|
|
639
|
-
halfCheckedKeys = _this$state8.halfCheckedKeys,
|
|
640
|
-
dragOverNodeKey = _this$state8.dragOverNodeKey,
|
|
641
|
-
dropPosition = _this$state8.dropPosition,
|
|
642
|
-
keyEntities = _this$state8.keyEntities;
|
|
643
|
-
return {
|
|
644
|
-
expandedKeys: expandedKeys || [],
|
|
645
|
-
selectedKeys: selectedKeys || [],
|
|
646
|
-
loadedKeys: loadedKeys || [],
|
|
647
|
-
loadingKeys: loadingKeys || [],
|
|
648
|
-
checkedKeys: checkedKeys || [],
|
|
649
|
-
halfCheckedKeys: halfCheckedKeys || [],
|
|
650
|
-
dragOverNodeKey: dragOverNodeKey,
|
|
651
|
-
dropPosition: dropPosition,
|
|
652
|
-
keyEntities: keyEntities
|
|
653
|
-
};
|
|
654
|
-
});
|
|
655
|
-
// =========================== Expanded ===========================
|
|
656
|
-
/** Set uncontrolled `expandedKeys`. This will also auto update `flattenNodes`. */
|
|
657
|
-
_defineProperty(_assertThisInitialized(_this), "setExpandedKeys", function (expandedKeys) {
|
|
658
|
-
var _this$state9 = _this.state,
|
|
659
|
-
treeData = _this$state9.treeData,
|
|
660
|
-
fieldNames = _this$state9.fieldNames;
|
|
661
|
-
var flattenNodes = flattenTreeData(treeData, expandedKeys, fieldNames);
|
|
662
|
-
_this.setUncontrolledState({
|
|
663
|
-
expandedKeys: expandedKeys,
|
|
664
|
-
flattenNodes: flattenNodes
|
|
665
|
-
}, true);
|
|
666
|
-
});
|
|
667
|
-
_defineProperty(_assertThisInitialized(_this), "onNodeExpand", function (e, treeNode) {
|
|
668
|
-
var expandedKeys = _this.state.expandedKeys;
|
|
669
|
-
var _this$state10 = _this.state,
|
|
670
|
-
listChanging = _this$state10.listChanging,
|
|
671
|
-
fieldNames = _this$state10.fieldNames;
|
|
672
|
-
var _this$props8 = _this.props,
|
|
673
|
-
onExpand = _this$props8.onExpand,
|
|
674
|
-
loadData = _this$props8.loadData;
|
|
675
|
-
var expanded = treeNode.expanded;
|
|
676
|
-
var key = treeNode[fieldNames.key];
|
|
677
|
-
|
|
678
|
-
// Do nothing when motion is in progress
|
|
679
|
-
if (listChanging) {
|
|
680
|
-
return;
|
|
681
|
-
}
|
|
682
|
-
|
|
683
|
-
// Update selected keys
|
|
684
|
-
var certain = expandedKeys.includes(key);
|
|
685
|
-
var targetExpanded = !expanded;
|
|
686
|
-
warning(expanded && certain || !expanded && !certain, 'Expand state not sync with index check');
|
|
687
|
-
expandedKeys = targetExpanded ? arrAdd(expandedKeys, key) : arrDel(expandedKeys, key);
|
|
688
|
-
_this.setExpandedKeys(expandedKeys);
|
|
689
|
-
onExpand === null || onExpand === void 0 || onExpand(expandedKeys, {
|
|
690
|
-
node: treeNode,
|
|
691
|
-
expanded: targetExpanded,
|
|
692
|
-
nativeEvent: e.nativeEvent
|
|
693
|
-
});
|
|
694
|
-
|
|
695
|
-
// Async Load data
|
|
696
|
-
if (targetExpanded && loadData) {
|
|
697
|
-
var loadPromise = _this.onNodeLoad(treeNode);
|
|
698
|
-
if (loadPromise) {
|
|
699
|
-
loadPromise.then(function () {
|
|
700
|
-
// [Legacy] Refresh logic
|
|
701
|
-
var newFlattenTreeData = flattenTreeData(_this.state.treeData, expandedKeys, fieldNames);
|
|
702
|
-
_this.setUncontrolledState({
|
|
703
|
-
flattenNodes: newFlattenTreeData
|
|
704
|
-
});
|
|
705
|
-
}).catch(function () {
|
|
706
|
-
var currentExpandedKeys = _this.state.expandedKeys;
|
|
707
|
-
var expandedKeysToRestore = arrDel(currentExpandedKeys, key);
|
|
708
|
-
_this.setExpandedKeys(expandedKeysToRestore);
|
|
709
|
-
});
|
|
710
|
-
}
|
|
711
|
-
}
|
|
712
|
-
});
|
|
713
|
-
_defineProperty(_assertThisInitialized(_this), "onListChangeStart", function () {
|
|
714
|
-
_this.setUncontrolledState({
|
|
715
|
-
listChanging: true
|
|
716
|
-
});
|
|
717
|
-
});
|
|
718
|
-
_defineProperty(_assertThisInitialized(_this), "onListChangeEnd", function () {
|
|
719
|
-
setTimeout(function () {
|
|
720
|
-
_this.setUncontrolledState({
|
|
721
|
-
listChanging: false
|
|
722
|
-
});
|
|
723
|
-
});
|
|
724
|
-
});
|
|
725
|
-
// =========================== Keyboard ===========================
|
|
726
|
-
_defineProperty(_assertThisInitialized(_this), "onActiveChange", function (newActiveKey) {
|
|
727
|
-
var activeKey = _this.state.activeKey;
|
|
728
|
-
var _this$props9 = _this.props,
|
|
729
|
-
onActiveChange = _this$props9.onActiveChange,
|
|
730
|
-
_this$props9$itemScro = _this$props9.itemScrollOffset,
|
|
731
|
-
itemScrollOffset = _this$props9$itemScro === void 0 ? 0 : _this$props9$itemScro;
|
|
732
|
-
if (activeKey === newActiveKey) {
|
|
733
|
-
return;
|
|
734
|
-
}
|
|
735
|
-
_this.setState({
|
|
736
|
-
activeKey: newActiveKey
|
|
737
|
-
});
|
|
738
|
-
if (newActiveKey !== null) {
|
|
739
|
-
_this.scrollTo({
|
|
740
|
-
key: newActiveKey,
|
|
741
|
-
offset: itemScrollOffset
|
|
742
|
-
});
|
|
743
|
-
}
|
|
744
|
-
onActiveChange === null || onActiveChange === void 0 || onActiveChange(newActiveKey);
|
|
745
|
-
});
|
|
746
|
-
_defineProperty(_assertThisInitialized(_this), "getActiveItem", function () {
|
|
747
|
-
var _this$state11 = _this.state,
|
|
748
|
-
activeKey = _this$state11.activeKey,
|
|
749
|
-
flattenNodes = _this$state11.flattenNodes;
|
|
750
|
-
if (activeKey === null) {
|
|
751
|
-
return null;
|
|
752
|
-
}
|
|
753
|
-
return flattenNodes.find(function (_ref2) {
|
|
754
|
-
var key = _ref2.key;
|
|
755
|
-
return key === activeKey;
|
|
756
|
-
}) || null;
|
|
757
|
-
});
|
|
758
|
-
_defineProperty(_assertThisInitialized(_this), "offsetActiveKey", function (offset) {
|
|
759
|
-
var _this$state12 = _this.state,
|
|
760
|
-
flattenNodes = _this$state12.flattenNodes,
|
|
761
|
-
activeKey = _this$state12.activeKey;
|
|
762
|
-
var index = flattenNodes.findIndex(function (_ref3) {
|
|
763
|
-
var key = _ref3.key;
|
|
764
|
-
return key === activeKey;
|
|
765
|
-
});
|
|
766
|
-
|
|
767
|
-
// Align with index
|
|
768
|
-
if (index === -1 && offset < 0) {
|
|
769
|
-
index = flattenNodes.length;
|
|
770
|
-
}
|
|
771
|
-
index = (index + offset + flattenNodes.length) % flattenNodes.length;
|
|
772
|
-
var item = flattenNodes[index];
|
|
773
|
-
if (item) {
|
|
774
|
-
var _key4 = item.key;
|
|
775
|
-
_this.onActiveChange(_key4);
|
|
776
|
-
} else {
|
|
777
|
-
_this.onActiveChange(null);
|
|
778
|
-
}
|
|
779
|
-
});
|
|
780
|
-
_defineProperty(_assertThisInitialized(_this), "onKeyDown", function (event) {
|
|
781
|
-
var _this$state13 = _this.state,
|
|
782
|
-
activeKey = _this$state13.activeKey,
|
|
783
|
-
expandedKeys = _this$state13.expandedKeys,
|
|
784
|
-
checkedKeys = _this$state13.checkedKeys,
|
|
785
|
-
fieldNames = _this$state13.fieldNames;
|
|
786
|
-
var _this$props10 = _this.props,
|
|
787
|
-
onKeyDown = _this$props10.onKeyDown,
|
|
788
|
-
checkable = _this$props10.checkable,
|
|
789
|
-
selectable = _this$props10.selectable;
|
|
790
|
-
|
|
791
|
-
// >>>>>>>>>> Direction
|
|
792
|
-
switch (event.which) {
|
|
793
|
-
case KeyCode.UP:
|
|
794
|
-
{
|
|
795
|
-
_this.offsetActiveKey(-1);
|
|
796
|
-
event.preventDefault();
|
|
797
|
-
break;
|
|
798
|
-
}
|
|
799
|
-
case KeyCode.DOWN:
|
|
800
|
-
{
|
|
801
|
-
_this.offsetActiveKey(1);
|
|
802
|
-
event.preventDefault();
|
|
803
|
-
break;
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
|
-
|
|
807
|
-
// >>>>>>>>>> Expand & Selection
|
|
808
|
-
var activeItem = _this.getActiveItem();
|
|
809
|
-
if (activeItem && activeItem.data) {
|
|
810
|
-
var treeNodeRequiredProps = _this.getTreeNodeRequiredProps();
|
|
811
|
-
var expandable = activeItem.data.isLeaf === false || !!(activeItem.data[fieldNames.children] || []).length;
|
|
812
|
-
var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(activeKey, treeNodeRequiredProps)), {}, {
|
|
813
|
-
data: activeItem.data,
|
|
814
|
-
active: true
|
|
815
|
-
}));
|
|
816
|
-
switch (event.which) {
|
|
817
|
-
// >>> Expand
|
|
818
|
-
case KeyCode.LEFT:
|
|
819
|
-
{
|
|
820
|
-
// Collapse if possible
|
|
821
|
-
if (expandable && expandedKeys.includes(activeKey)) {
|
|
822
|
-
_this.onNodeExpand({}, eventNode);
|
|
823
|
-
} else if (activeItem.parent) {
|
|
824
|
-
_this.onActiveChange(activeItem.parent.key);
|
|
825
|
-
}
|
|
826
|
-
event.preventDefault();
|
|
827
|
-
break;
|
|
828
|
-
}
|
|
829
|
-
case KeyCode.RIGHT:
|
|
830
|
-
{
|
|
831
|
-
// Expand if possible
|
|
832
|
-
if (expandable && !expandedKeys.includes(activeKey)) {
|
|
833
|
-
_this.onNodeExpand({}, eventNode);
|
|
834
|
-
} else if (activeItem.children && activeItem.children.length) {
|
|
835
|
-
_this.onActiveChange(activeItem.children[0].key);
|
|
836
|
-
}
|
|
837
|
-
event.preventDefault();
|
|
838
|
-
break;
|
|
839
|
-
}
|
|
840
|
-
|
|
841
|
-
// Selection
|
|
842
|
-
case KeyCode.ENTER:
|
|
843
|
-
case KeyCode.SPACE:
|
|
844
|
-
{
|
|
845
|
-
if (checkable && !eventNode.disabled && eventNode.checkable !== false && !eventNode.disableCheckbox) {
|
|
846
|
-
_this.onNodeCheck({}, eventNode, !checkedKeys.includes(activeKey));
|
|
847
|
-
} else if (!checkable && selectable && !eventNode.disabled && eventNode.selectable !== false) {
|
|
848
|
-
_this.onNodeSelect({}, eventNode);
|
|
849
|
-
}
|
|
850
|
-
break;
|
|
851
|
-
}
|
|
852
|
-
}
|
|
853
|
-
}
|
|
854
|
-
onKeyDown === null || onKeyDown === void 0 || onKeyDown(event);
|
|
855
|
-
});
|
|
856
|
-
/**
|
|
857
|
-
* Only update the value which is not in props
|
|
858
|
-
*/
|
|
859
|
-
_defineProperty(_assertThisInitialized(_this), "setUncontrolledState", function (state) {
|
|
860
|
-
var atomic = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
861
|
-
var forceState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
862
|
-
if (!_this.destroyed) {
|
|
863
|
-
var needSync = false;
|
|
864
|
-
var allPassed = true;
|
|
865
|
-
var newState = {};
|
|
866
|
-
Object.keys(state).forEach(function (name) {
|
|
867
|
-
if (Object.prototype.hasOwnProperty.call(_this.props, name)) {
|
|
868
|
-
allPassed = false;
|
|
869
|
-
return;
|
|
870
|
-
}
|
|
871
|
-
needSync = true;
|
|
872
|
-
newState[name] = state[name];
|
|
873
|
-
});
|
|
874
|
-
if (needSync && (!atomic || allPassed)) {
|
|
875
|
-
_this.setState(_objectSpread(_objectSpread({}, newState), forceState));
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
});
|
|
879
|
-
_defineProperty(_assertThisInitialized(_this), "scrollTo", function (scroll) {
|
|
880
|
-
_this.listRef.current.scrollTo(scroll);
|
|
881
|
-
});
|
|
882
|
-
return _this;
|
|
883
|
-
}
|
|
884
|
-
_createClass(Tree, [{
|
|
885
|
-
key: "componentDidMount",
|
|
886
|
-
value: function componentDidMount() {
|
|
887
|
-
this.destroyed = false;
|
|
888
|
-
this.onUpdated();
|
|
889
|
-
}
|
|
890
|
-
}, {
|
|
891
|
-
key: "componentDidUpdate",
|
|
892
|
-
value: function componentDidUpdate() {
|
|
893
|
-
this.onUpdated();
|
|
894
|
-
}
|
|
895
|
-
}, {
|
|
896
|
-
key: "onUpdated",
|
|
897
|
-
value: function onUpdated() {
|
|
898
|
-
var _this$props11 = this.props,
|
|
899
|
-
activeKey = _this$props11.activeKey,
|
|
900
|
-
_this$props11$itemScr = _this$props11.itemScrollOffset,
|
|
901
|
-
itemScrollOffset = _this$props11$itemScr === void 0 ? 0 : _this$props11$itemScr;
|
|
902
|
-
if (activeKey !== undefined && activeKey !== this.state.activeKey) {
|
|
903
|
-
this.setState({
|
|
904
|
-
activeKey: activeKey
|
|
905
|
-
});
|
|
906
|
-
if (activeKey !== null) {
|
|
907
|
-
this.scrollTo({
|
|
908
|
-
key: activeKey,
|
|
909
|
-
offset: itemScrollOffset
|
|
910
|
-
});
|
|
911
|
-
}
|
|
912
|
-
}
|
|
913
|
-
}
|
|
914
|
-
}, {
|
|
915
|
-
key: "componentWillUnmount",
|
|
916
|
-
value: function componentWillUnmount() {
|
|
917
|
-
window.removeEventListener('dragend', this.onWindowDragEnd);
|
|
918
|
-
this.destroyed = true;
|
|
919
|
-
}
|
|
920
|
-
}, {
|
|
921
|
-
key: "resetDragState",
|
|
922
|
-
value: function resetDragState() {
|
|
923
|
-
this.setState({
|
|
924
|
-
dragOverNodeKey: null,
|
|
925
|
-
dropPosition: null,
|
|
926
|
-
dropLevelOffset: null,
|
|
927
|
-
dropTargetKey: null,
|
|
928
|
-
dropContainerKey: null,
|
|
929
|
-
dropTargetPos: null,
|
|
930
|
-
dropAllowed: false
|
|
931
|
-
});
|
|
932
|
-
}
|
|
933
|
-
}, {
|
|
934
|
-
key: "render",
|
|
935
|
-
value: function render() {
|
|
936
|
-
var _this$state14 = this.state,
|
|
937
|
-
focused = _this$state14.focused,
|
|
938
|
-
flattenNodes = _this$state14.flattenNodes,
|
|
939
|
-
keyEntities = _this$state14.keyEntities,
|
|
940
|
-
draggingNodeKey = _this$state14.draggingNodeKey,
|
|
941
|
-
activeKey = _this$state14.activeKey,
|
|
942
|
-
dropLevelOffset = _this$state14.dropLevelOffset,
|
|
943
|
-
dropContainerKey = _this$state14.dropContainerKey,
|
|
944
|
-
dropTargetKey = _this$state14.dropTargetKey,
|
|
945
|
-
dropPosition = _this$state14.dropPosition,
|
|
946
|
-
dragOverNodeKey = _this$state14.dragOverNodeKey,
|
|
947
|
-
indent = _this$state14.indent;
|
|
948
|
-
var _this$props12 = this.props,
|
|
949
|
-
prefixCls = _this$props12.prefixCls,
|
|
950
|
-
className = _this$props12.className,
|
|
951
|
-
style = _this$props12.style,
|
|
952
|
-
styles = _this$props12.styles,
|
|
953
|
-
treeClassNames = _this$props12.classNames,
|
|
954
|
-
showLine = _this$props12.showLine,
|
|
955
|
-
focusable = _this$props12.focusable,
|
|
956
|
-
_this$props12$tabInde = _this$props12.tabIndex,
|
|
957
|
-
tabIndex = _this$props12$tabInde === void 0 ? 0 : _this$props12$tabInde,
|
|
958
|
-
selectable = _this$props12.selectable,
|
|
959
|
-
showIcon = _this$props12.showIcon,
|
|
960
|
-
icon = _this$props12.icon,
|
|
961
|
-
switcherIcon = _this$props12.switcherIcon,
|
|
962
|
-
draggable = _this$props12.draggable,
|
|
963
|
-
checkable = _this$props12.checkable,
|
|
964
|
-
checkStrictly = _this$props12.checkStrictly,
|
|
965
|
-
disabled = _this$props12.disabled,
|
|
966
|
-
motion = _this$props12.motion,
|
|
967
|
-
loadData = _this$props12.loadData,
|
|
968
|
-
filterTreeNode = _this$props12.filterTreeNode,
|
|
969
|
-
height = _this$props12.height,
|
|
970
|
-
itemHeight = _this$props12.itemHeight,
|
|
971
|
-
scrollWidth = _this$props12.scrollWidth,
|
|
972
|
-
virtual = _this$props12.virtual,
|
|
973
|
-
titleRender = _this$props12.titleRender,
|
|
974
|
-
dropIndicatorRender = _this$props12.dropIndicatorRender,
|
|
975
|
-
onContextMenu = _this$props12.onContextMenu,
|
|
976
|
-
onScroll = _this$props12.onScroll,
|
|
977
|
-
direction = _this$props12.direction,
|
|
978
|
-
rootClassName = _this$props12.rootClassName,
|
|
979
|
-
rootStyle = _this$props12.rootStyle;
|
|
980
|
-
var domProps = pickAttrs(this.props, {
|
|
981
|
-
aria: true,
|
|
982
|
-
data: true
|
|
983
|
-
});
|
|
984
|
-
|
|
985
|
-
// It's better move to hooks but we just simply keep here
|
|
986
|
-
var draggableConfig;
|
|
987
|
-
if (draggable) {
|
|
988
|
-
if (_typeof(draggable) === 'object') {
|
|
989
|
-
draggableConfig = draggable;
|
|
990
|
-
} else if (typeof draggable === 'function') {
|
|
991
|
-
draggableConfig = {
|
|
992
|
-
nodeDraggable: draggable
|
|
993
|
-
};
|
|
994
|
-
} else {
|
|
995
|
-
draggableConfig = {};
|
|
996
|
-
}
|
|
997
|
-
}
|
|
998
|
-
var contextValue = {
|
|
999
|
-
styles: styles,
|
|
1000
|
-
classNames: treeClassNames,
|
|
1001
|
-
prefixCls: prefixCls,
|
|
1002
|
-
selectable: selectable,
|
|
1003
|
-
showIcon: showIcon,
|
|
1004
|
-
icon: icon,
|
|
1005
|
-
switcherIcon: switcherIcon,
|
|
1006
|
-
draggable: draggableConfig,
|
|
1007
|
-
draggingNodeKey: draggingNodeKey,
|
|
1008
|
-
checkable: checkable,
|
|
1009
|
-
checkStrictly: checkStrictly,
|
|
1010
|
-
disabled: disabled,
|
|
1011
|
-
keyEntities: keyEntities,
|
|
1012
|
-
dropLevelOffset: dropLevelOffset,
|
|
1013
|
-
dropContainerKey: dropContainerKey,
|
|
1014
|
-
dropTargetKey: dropTargetKey,
|
|
1015
|
-
dropPosition: dropPosition,
|
|
1016
|
-
dragOverNodeKey: dragOverNodeKey,
|
|
1017
|
-
indent: indent,
|
|
1018
|
-
direction: direction,
|
|
1019
|
-
dropIndicatorRender: dropIndicatorRender,
|
|
1020
|
-
loadData: loadData,
|
|
1021
|
-
filterTreeNode: filterTreeNode,
|
|
1022
|
-
titleRender: titleRender,
|
|
1023
|
-
onNodeClick: this.onNodeClick,
|
|
1024
|
-
onNodeDoubleClick: this.onNodeDoubleClick,
|
|
1025
|
-
onNodeExpand: this.onNodeExpand,
|
|
1026
|
-
onNodeSelect: this.onNodeSelect,
|
|
1027
|
-
onNodeCheck: this.onNodeCheck,
|
|
1028
|
-
onNodeLoad: this.onNodeLoad,
|
|
1029
|
-
onNodeMouseEnter: this.onNodeMouseEnter,
|
|
1030
|
-
onNodeMouseLeave: this.onNodeMouseLeave,
|
|
1031
|
-
onNodeContextMenu: this.onNodeContextMenu,
|
|
1032
|
-
onNodeDragStart: this.onNodeDragStart,
|
|
1033
|
-
onNodeDragEnter: this.onNodeDragEnter,
|
|
1034
|
-
onNodeDragOver: this.onNodeDragOver,
|
|
1035
|
-
onNodeDragLeave: this.onNodeDragLeave,
|
|
1036
|
-
onNodeDragEnd: this.onNodeDragEnd,
|
|
1037
|
-
onNodeDrop: this.onNodeDrop
|
|
1038
|
-
};
|
|
1039
|
-
return /*#__PURE__*/React.createElement(TreeContext.Provider, {
|
|
1040
|
-
value: contextValue
|
|
1041
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1042
|
-
className: classNames(prefixCls, className, rootClassName, _defineProperty(_defineProperty(_defineProperty({}, "".concat(prefixCls, "-show-line"), showLine), "".concat(prefixCls, "-focused"), focused), "".concat(prefixCls, "-active-focused"), activeKey !== null)),
|
|
1043
|
-
style: rootStyle
|
|
1044
|
-
}, /*#__PURE__*/React.createElement(NodeList, _extends({
|
|
1045
|
-
ref: this.listRef,
|
|
1046
|
-
prefixCls: prefixCls,
|
|
1047
|
-
style: style,
|
|
1048
|
-
data: flattenNodes,
|
|
1049
|
-
disabled: disabled,
|
|
1050
|
-
selectable: selectable,
|
|
1051
|
-
checkable: !!checkable,
|
|
1052
|
-
motion: motion,
|
|
1053
|
-
dragging: draggingNodeKey !== null,
|
|
1054
|
-
height: height,
|
|
1055
|
-
itemHeight: itemHeight,
|
|
1056
|
-
virtual: virtual,
|
|
1057
|
-
focusable: focusable,
|
|
1058
|
-
focused: focused,
|
|
1059
|
-
tabIndex: tabIndex,
|
|
1060
|
-
activeItem: this.getActiveItem(),
|
|
1061
|
-
onFocus: this.onFocus,
|
|
1062
|
-
onBlur: this.onBlur,
|
|
1063
|
-
onKeyDown: this.onKeyDown,
|
|
1064
|
-
onActiveChange: this.onActiveChange,
|
|
1065
|
-
onListChangeStart: this.onListChangeStart,
|
|
1066
|
-
onListChangeEnd: this.onListChangeEnd,
|
|
1067
|
-
onContextMenu: onContextMenu,
|
|
1068
|
-
onScroll: onScroll,
|
|
1069
|
-
scrollWidth: scrollWidth
|
|
1070
|
-
}, this.getTreeNodeRequiredProps(), domProps))));
|
|
1071
|
-
}
|
|
1072
|
-
}], [{
|
|
1073
|
-
key: "getDerivedStateFromProps",
|
|
1074
|
-
value: function getDerivedStateFromProps(props, prevState) {
|
|
1075
|
-
var prevProps = prevState.prevProps;
|
|
1076
|
-
var newState = {
|
|
1077
|
-
prevProps: props
|
|
1078
|
-
};
|
|
1079
|
-
function needSync(name) {
|
|
1080
|
-
return !prevProps && Object.prototype.hasOwnProperty.call(props, name) || prevProps && prevProps[name] !== props[name];
|
|
1081
|
-
}
|
|
1082
|
-
|
|
1083
|
-
// ================== Tree Node ==================
|
|
1084
|
-
var treeData;
|
|
1085
|
-
|
|
1086
|
-
// fieldNames
|
|
1087
|
-
var fieldNames = prevState.fieldNames;
|
|
1088
|
-
if (needSync('fieldNames')) {
|
|
1089
|
-
fieldNames = fillFieldNames(props.fieldNames);
|
|
1090
|
-
newState.fieldNames = fieldNames;
|
|
1091
|
-
}
|
|
1092
|
-
|
|
1093
|
-
// Check if `treeData` or `children` changed and save into the state.
|
|
1094
|
-
if (needSync('treeData')) {
|
|
1095
|
-
treeData = props.treeData;
|
|
1096
|
-
} else if (needSync('children')) {
|
|
1097
|
-
warning(false, '`children` of Tree is deprecated. Please use `treeData` instead.');
|
|
1098
|
-
treeData = convertTreeToData(props.children);
|
|
1099
|
-
}
|
|
1100
|
-
|
|
1101
|
-
// Save flatten nodes info and convert `treeData` into keyEntities
|
|
1102
|
-
if (treeData) {
|
|
1103
|
-
newState.treeData = treeData;
|
|
1104
|
-
var entitiesMap = convertDataToEntities(treeData, {
|
|
1105
|
-
fieldNames: fieldNames
|
|
1106
|
-
});
|
|
1107
|
-
newState.keyEntities = _objectSpread(_defineProperty({}, MOTION_KEY, MotionEntity), entitiesMap.keyEntities);
|
|
1108
|
-
|
|
1109
|
-
// Warning if treeNode not provide key
|
|
1110
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
1111
|
-
warningWithoutKey(treeData, fieldNames);
|
|
1112
|
-
}
|
|
1113
|
-
}
|
|
1114
|
-
var keyEntities = newState.keyEntities || prevState.keyEntities;
|
|
1115
|
-
|
|
1116
|
-
// ================ expandedKeys =================
|
|
1117
|
-
if (needSync('expandedKeys') || prevProps && needSync('autoExpandParent')) {
|
|
1118
|
-
newState.expandedKeys = props.autoExpandParent || !prevProps && props.defaultExpandParent ? conductExpandParent(props.expandedKeys, keyEntities) : props.expandedKeys;
|
|
1119
|
-
} else if (!prevProps && props.defaultExpandAll) {
|
|
1120
|
-
var cloneKeyEntities = _objectSpread({}, keyEntities);
|
|
1121
|
-
delete cloneKeyEntities[MOTION_KEY];
|
|
1122
|
-
|
|
1123
|
-
// Only take the key who has the children to enhance the performance
|
|
1124
|
-
var nextExpandedKeys = [];
|
|
1125
|
-
Object.keys(cloneKeyEntities).forEach(function (key) {
|
|
1126
|
-
var entity = cloneKeyEntities[key];
|
|
1127
|
-
if (entity.children && entity.children.length) {
|
|
1128
|
-
nextExpandedKeys.push(entity.key);
|
|
1129
|
-
}
|
|
1130
|
-
});
|
|
1131
|
-
newState.expandedKeys = nextExpandedKeys;
|
|
1132
|
-
} else if (!prevProps && props.defaultExpandedKeys) {
|
|
1133
|
-
newState.expandedKeys = props.autoExpandParent || props.defaultExpandParent ? conductExpandParent(props.defaultExpandedKeys, keyEntities) : props.defaultExpandedKeys;
|
|
1134
|
-
}
|
|
1135
|
-
if (!newState.expandedKeys) {
|
|
1136
|
-
delete newState.expandedKeys;
|
|
1137
|
-
}
|
|
1138
|
-
|
|
1139
|
-
// ================ flattenNodes =================
|
|
1140
|
-
if (treeData || newState.expandedKeys) {
|
|
1141
|
-
var flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, fieldNames);
|
|
1142
|
-
newState.flattenNodes = flattenNodes;
|
|
1143
|
-
}
|
|
1144
|
-
|
|
1145
|
-
// ================ selectedKeys =================
|
|
1146
|
-
if (props.selectable) {
|
|
1147
|
-
if (needSync('selectedKeys')) {
|
|
1148
|
-
newState.selectedKeys = calcSelectedKeys(props.selectedKeys, props);
|
|
1149
|
-
} else if (!prevProps && props.defaultSelectedKeys) {
|
|
1150
|
-
newState.selectedKeys = calcSelectedKeys(props.defaultSelectedKeys, props);
|
|
1151
|
-
}
|
|
1152
|
-
}
|
|
1153
|
-
|
|
1154
|
-
// ================= checkedKeys =================
|
|
1155
|
-
if (props.checkable) {
|
|
1156
|
-
var checkedKeyEntity;
|
|
1157
|
-
if (needSync('checkedKeys')) {
|
|
1158
|
-
checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {};
|
|
1159
|
-
} else if (!prevProps && props.defaultCheckedKeys) {
|
|
1160
|
-
checkedKeyEntity = parseCheckedKeys(props.defaultCheckedKeys) || {};
|
|
1161
|
-
} else if (treeData) {
|
|
1162
|
-
// If `treeData` changed, we also need check it
|
|
1163
|
-
checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {
|
|
1164
|
-
checkedKeys: prevState.checkedKeys,
|
|
1165
|
-
halfCheckedKeys: prevState.halfCheckedKeys
|
|
1166
|
-
};
|
|
1167
|
-
}
|
|
1168
|
-
if (checkedKeyEntity) {
|
|
1169
|
-
var _checkedKeyEntity = checkedKeyEntity,
|
|
1170
|
-
_checkedKeyEntity$che = _checkedKeyEntity.checkedKeys,
|
|
1171
|
-
checkedKeys = _checkedKeyEntity$che === void 0 ? [] : _checkedKeyEntity$che,
|
|
1172
|
-
_checkedKeyEntity$hal = _checkedKeyEntity.halfCheckedKeys,
|
|
1173
|
-
halfCheckedKeys = _checkedKeyEntity$hal === void 0 ? [] : _checkedKeyEntity$hal;
|
|
1174
|
-
if (!props.checkStrictly) {
|
|
1175
|
-
var conductKeys = conductCheck(checkedKeys, true, keyEntities);
|
|
1176
|
-
checkedKeys = conductKeys.checkedKeys;
|
|
1177
|
-
halfCheckedKeys = conductKeys.halfCheckedKeys;
|
|
1178
|
-
}
|
|
1179
|
-
newState.checkedKeys = checkedKeys;
|
|
1180
|
-
newState.halfCheckedKeys = halfCheckedKeys;
|
|
1181
|
-
}
|
|
1182
|
-
}
|
|
1183
|
-
|
|
1184
|
-
// ================= loadedKeys ==================
|
|
1185
|
-
if (needSync('loadedKeys')) {
|
|
1186
|
-
newState.loadedKeys = props.loadedKeys;
|
|
1187
|
-
}
|
|
1188
|
-
return newState;
|
|
1189
|
-
}
|
|
1190
|
-
}]);
|
|
1191
|
-
return Tree;
|
|
1192
|
-
}(React.Component);
|
|
1193
|
-
_defineProperty(Tree, "defaultProps", {
|
|
1194
|
-
prefixCls: 'el-tree',
|
|
1195
|
-
showLine: false,
|
|
1196
|
-
showIcon: true,
|
|
1197
|
-
selectable: true,
|
|
1198
|
-
multiple: false,
|
|
1199
|
-
checkable: false,
|
|
1200
|
-
disabled: false,
|
|
1201
|
-
checkStrictly: false,
|
|
1202
|
-
draggable: false,
|
|
1203
|
-
defaultExpandParent: true,
|
|
1204
|
-
autoExpandParent: false,
|
|
1205
|
-
defaultExpandAll: false,
|
|
1206
|
-
defaultExpandedKeys: [],
|
|
1207
|
-
defaultCheckedKeys: [],
|
|
1208
|
-
defaultSelectedKeys: [],
|
|
1209
|
-
dropIndicatorRender: DropIndicator,
|
|
1210
|
-
allowDrop: function allowDrop() {
|
|
1211
|
-
return true;
|
|
1212
|
-
},
|
|
1213
|
-
expandAction: false
|
|
1214
|
-
});
|
|
1215
|
-
_defineProperty(Tree, "TreeNode", TreeNode);
|
|
1216
|
-
export default Tree;
|