vxe-pc-ui 3.15.13 → 3.15.15
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/es/button/style.css +42 -72
- package/es/button/style.min.css +1 -1
- package/es/calendar/style.css +2 -2
- package/es/calendar/style.min.css +1 -1
- package/es/cascader/style.css +38 -40
- package/es/cascader/style.min.css +1 -1
- package/es/checkbox/src/button.js +3 -1
- package/es/checkbox/src/group.js +6 -1
- package/es/checkbox/style.css +22 -28
- package/es/checkbox/style.min.css +1 -1
- package/es/checkbox-button/style.css +155 -9
- package/es/checkbox-button/style.min.css +1 -1
- package/es/context-menu/style.css +14 -13
- package/es/context-menu/style.min.css +1 -1
- package/es/date-picker/src/date-picker.js +1 -1
- package/es/form/style.css +49 -95
- package/es/form/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +165 -47
- package/es/icon-picker/style.css +49 -23
- package/es/icon-picker/style.min.css +1 -1
- package/es/language/ar-EG.js +3 -0
- package/es/language/de-DE.js +3 -0
- package/es/language/en-US.js +3 -0
- package/es/language/es-ES.js +3 -0
- package/es/language/fr-FR.js +3 -0
- package/es/language/hu-HU.js +3 -0
- package/es/language/hy-AM.js +3 -0
- package/es/language/id-ID.js +3 -0
- package/es/language/it-IT.js +3 -0
- package/es/language/ja-JP.js +3 -0
- package/es/language/ko-KR.js +3 -0
- package/es/language/ms-MY.js +3 -0
- package/es/language/nb-NO.js +3 -0
- package/es/language/pt-BR.js +3 -0
- package/es/language/ru-RU.js +3 -0
- package/es/language/th-TH.js +3 -0
- package/es/language/ug-CN.js +3 -0
- package/es/language/uk-UA.js +3 -0
- package/es/language/uz-UZ.js +3 -0
- package/es/language/vi-VN.js +3 -0
- package/es/language/zh-CHT.js +3 -0
- package/es/language/zh-CN.js +3 -0
- package/es/list/src/list.js +15 -1
- package/es/list/style.css +26 -28
- package/es/list/style.min.css +1 -1
- package/es/menu/style.css +22 -30
- package/es/menu/style.min.css +1 -1
- package/es/radio/src/button.js +3 -1
- package/es/radio/src/group.js +6 -1
- package/es/radio/style.css +22 -30
- package/es/radio/style.min.css +1 -1
- package/es/radio-button/style.css +155 -9
- package/es/radio-button/style.min.css +1 -1
- package/es/select/style.css +42 -59
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree/src/tree.js +246 -4
- package/es/tree/src/util.js +15 -0
- package/es/tree/style.css +26 -25
- package/es/tree/style.min.css +1 -1
- package/es/tree-select/style.css +27 -31
- package/es/tree-select/style.min.css +1 -1
- package/es/ui/index.js +5 -2
- package/es/ui/src/log.js +1 -1
- package/es/upload/style.css +30 -41
- package/es/upload/style.min.css +1 -1
- package/es/vxe-button/style.css +42 -72
- package/es/vxe-button/style.min.css +1 -1
- package/es/vxe-calendar/style.css +2 -2
- package/es/vxe-calendar/style.min.css +1 -1
- package/es/vxe-cascader/style.css +38 -40
- package/es/vxe-cascader/style.min.css +1 -1
- package/es/vxe-checkbox/style.css +22 -28
- package/es/vxe-checkbox/style.min.css +1 -1
- package/es/vxe-checkbox-button/style.css +155 -9
- package/es/vxe-checkbox-button/style.min.css +1 -1
- package/es/vxe-context-menu/style.css +14 -13
- package/es/vxe-context-menu/style.min.css +1 -1
- package/es/vxe-form/style.css +49 -95
- package/es/vxe-form/style.min.css +1 -1
- package/es/vxe-icon-picker/style.css +49 -23
- package/es/vxe-icon-picker/style.min.css +1 -1
- package/es/vxe-list/style.css +26 -28
- package/es/vxe-list/style.min.css +1 -1
- package/es/vxe-menu/style.css +22 -30
- package/es/vxe-menu/style.min.css +1 -1
- package/es/vxe-radio/style.css +22 -30
- package/es/vxe-radio/style.min.css +1 -1
- package/es/vxe-radio-button/style.css +155 -9
- package/es/vxe-radio-button/style.min.css +1 -1
- package/es/vxe-select/style.css +42 -59
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tree/style.css +26 -25
- package/es/vxe-tree/style.min.css +1 -1
- package/es/vxe-tree-select/style.css +27 -31
- package/es/vxe-tree-select/style.min.css +1 -1
- package/es/vxe-upload/style.css +30 -41
- package/es/vxe-upload/style.min.css +1 -1
- package/lib/button/style/style.css +42 -72
- package/lib/button/style/style.min.css +1 -1
- package/lib/calendar/style/style.css +2 -2
- package/lib/calendar/style/style.min.css +1 -1
- package/lib/cascader/style/style.css +38 -40
- package/lib/cascader/style/style.min.css +1 -1
- package/lib/checkbox/src/button.js +3 -1
- package/lib/checkbox/src/button.min.js +1 -1
- package/lib/checkbox/src/group.js +13 -5
- package/lib/checkbox/src/group.min.js +1 -1
- package/lib/checkbox/style/style.css +22 -28
- package/lib/checkbox/style/style.min.css +1 -1
- package/lib/checkbox-button/style/style.css +155 -9
- package/lib/checkbox-button/style/style.min.css +1 -1
- package/lib/context-menu/style/style.css +14 -13
- package/lib/context-menu/style/style.min.css +1 -1
- package/lib/date-picker/src/date-picker.js +1 -1
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/form/style/style.css +49 -95
- package/lib/form/style/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +154 -28
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/icon-picker/style/style.css +49 -23
- package/lib/icon-picker/style/style.min.css +1 -1
- package/lib/index.umd.js +507 -44
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +3 -0
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +3 -0
- package/lib/language/de-DE.js +3 -0
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +3 -0
- package/lib/language/en-US.js +3 -0
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +3 -0
- package/lib/language/es-ES.js +3 -0
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +3 -0
- package/lib/language/fr-FR.js +3 -0
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +3 -0
- package/lib/language/hu-HU.js +3 -0
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +3 -0
- package/lib/language/hy-AM.js +3 -0
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +3 -0
- package/lib/language/id-ID.js +3 -0
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +3 -0
- package/lib/language/it-IT.js +3 -0
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +3 -0
- package/lib/language/ja-JP.js +3 -0
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +3 -0
- package/lib/language/ko-KR.js +3 -0
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +3 -0
- package/lib/language/ms-MY.js +3 -0
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +3 -0
- package/lib/language/nb-NO.js +3 -0
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +3 -0
- package/lib/language/pt-BR.js +3 -0
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +3 -0
- package/lib/language/ru-RU.js +3 -0
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +3 -0
- package/lib/language/th-TH.js +3 -0
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +3 -0
- package/lib/language/ug-CN.js +3 -0
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +3 -0
- package/lib/language/uk-UA.js +3 -0
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +3 -0
- package/lib/language/uz-UZ.js +3 -0
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +3 -0
- package/lib/language/vi-VN.js +3 -0
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +3 -0
- package/lib/language/zh-CHT.js +3 -0
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +3 -0
- package/lib/language/zh-CN.js +3 -0
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +3 -0
- package/lib/list/src/list.js +18 -1
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/style/style.css +26 -28
- package/lib/list/style/style.min.css +1 -1
- package/lib/menu/style/style.css +22 -30
- package/lib/menu/style/style.min.css +1 -1
- package/lib/radio/src/button.js +3 -1
- package/lib/radio/src/button.min.js +1 -1
- package/lib/radio/src/group.js +9 -2
- package/lib/radio/src/group.min.js +1 -1
- package/lib/radio/style/style.css +22 -30
- package/lib/radio/style/style.min.css +1 -1
- package/lib/radio-button/style/style.css +155 -9
- package/lib/radio-button/style/style.min.css +1 -1
- package/lib/select/style/style.css +42 -59
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tree/src/tree.js +287 -6
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree/src/util.js +16 -0
- package/lib/tree/src/util.min.js +1 -1
- package/lib/tree/style/style.css +26 -25
- package/lib/tree/style/style.min.css +1 -1
- package/lib/tree-select/style/style.css +27 -31
- package/lib/tree-select/style/style.min.css +1 -1
- package/lib/ui/index.js +5 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/upload/style/style.css +30 -41
- package/lib/upload/style/style.min.css +1 -1
- package/lib/vxe-button/style/style.css +42 -72
- package/lib/vxe-button/style/style.min.css +1 -1
- package/lib/vxe-calendar/style/style.css +2 -2
- package/lib/vxe-calendar/style/style.min.css +1 -1
- package/lib/vxe-cascader/style/style.css +38 -40
- package/lib/vxe-cascader/style/style.min.css +1 -1
- package/lib/vxe-checkbox/style/style.css +22 -28
- package/lib/vxe-checkbox/style/style.min.css +1 -1
- package/lib/vxe-checkbox-button/style/style.css +155 -9
- package/lib/vxe-checkbox-button/style/style.min.css +1 -1
- package/lib/vxe-context-menu/style/style.css +14 -13
- package/lib/vxe-context-menu/style/style.min.css +1 -1
- package/lib/vxe-form/style/style.css +49 -95
- package/lib/vxe-form/style/style.min.css +1 -1
- package/lib/vxe-icon-picker/style/style.css +49 -23
- package/lib/vxe-icon-picker/style/style.min.css +1 -1
- package/lib/vxe-list/style/style.css +26 -28
- package/lib/vxe-list/style/style.min.css +1 -1
- package/lib/vxe-menu/style/style.css +22 -30
- package/lib/vxe-menu/style/style.min.css +1 -1
- package/lib/vxe-radio/style/style.css +22 -30
- package/lib/vxe-radio/style/style.min.css +1 -1
- package/lib/vxe-radio-button/style/style.css +155 -9
- package/lib/vxe-radio-button/style/style.min.css +1 -1
- package/lib/vxe-select/style/style.css +42 -59
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tree/style/style.css +26 -25
- package/lib/vxe-tree/style/style.min.css +1 -1
- package/lib/vxe-tree-select/style/style.css +27 -31
- package/lib/vxe-tree-select/style/style.min.css +1 -1
- package/lib/vxe-upload/style/style.css +30 -41
- package/lib/vxe-upload/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/checkbox/src/button.ts +3 -1
- package/packages/checkbox/src/group.ts +6 -1
- package/packages/date-picker/src/date-picker.ts +1 -1
- package/packages/icon-picker/src/icon-picker.ts +180 -45
- package/packages/language/ar-EG.ts +3 -0
- package/packages/language/de-DE.ts +3 -0
- package/packages/language/en-US.ts +3 -0
- package/packages/language/es-ES.ts +3 -0
- package/packages/language/fr-FR.ts +3 -0
- package/packages/language/hu-HU.ts +3 -0
- package/packages/language/hy-AM.ts +3 -0
- package/packages/language/id-ID.ts +3 -0
- package/packages/language/it-IT.ts +3 -0
- package/packages/language/ja-JP.ts +3 -0
- package/packages/language/ko-KR.ts +3 -0
- package/packages/language/ms-MY.ts +3 -0
- package/packages/language/nb-NO.ts +3 -0
- package/packages/language/pt-BR.ts +3 -0
- package/packages/language/ru-RU.ts +3 -0
- package/packages/language/th-TH.ts +3 -0
- package/packages/language/ug-CN.ts +3 -0
- package/packages/language/uk-UA.ts +3 -0
- package/packages/language/uz-UZ.ts +3 -0
- package/packages/language/vi-VN.ts +3 -0
- package/packages/language/zh-CHT.ts +3 -0
- package/packages/language/zh-CN.ts +3 -0
- package/packages/list/src/list.ts +15 -1
- package/packages/radio/src/button.ts +3 -1
- package/packages/radio/src/group.ts +6 -1
- package/packages/tree/src/tree.ts +251 -4
- package/packages/tree/src/util.ts +17 -1
- package/packages/ui/index.ts +4 -1
- package/styles/components/button.scss +56 -137
- package/styles/components/cascader.scss +33 -34
- package/styles/components/checkbox-button.scss +66 -14
- package/styles/components/checkbox.scss +22 -24
- package/styles/components/context-menu.scss +15 -13
- package/styles/components/form.scss +49 -120
- package/styles/components/icon-picker.scss +56 -27
- package/styles/components/link.scss +1 -1
- package/styles/components/list.scss +24 -26
- package/styles/components/menu.scss +23 -26
- package/styles/components/radio-button.scss +66 -14
- package/styles/components/radio.scss +22 -23
- package/styles/components/select.scss +36 -62
- package/styles/components/tree-select.scss +26 -27
- package/styles/components/tree.scss +16 -14
- package/styles/components/upload.scss +28 -30
- package/styles/helpers/baseMixin.scss +2 -2
- package/styles/helpers/themeStatus.scss +58 -0
- package/styles/theme/base.scss +11 -3
- package/types/all.d.ts +205 -0
- package/types/components/checkbox-group.d.ts +3 -1
- package/types/components/checkbox.d.ts +1 -1
- package/types/components/icon-picker.d.ts +28 -4
- package/types/components/list.d.ts +2 -2
- package/types/components/radio-group.d.ts +3 -1
- package/types/components/tree.d.ts +36 -0
- /package/es/icon/{iconfont.1782658257467.ttf → iconfont.1782810544397.ttf} +0 -0
- /package/es/icon/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
- /package/es/icon/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
- /package/es/{iconfont.1782658257467.ttf → iconfont.1782810544397.ttf} +0 -0
- /package/es/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
- /package/es/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1782658257467.ttf → iconfont.1782810544397.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
- /package/lib/icon/style/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
- /package/lib/{iconfont.1782658257467.ttf → iconfont.1782810544397.ttf} +0 -0
- /package/lib/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
- /package/lib/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
package/lib/tree/src/tree.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
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); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -17,16 +16,18 @@ var _utils = require("../../ui/src/utils");
|
|
|
17
16
|
var _anime = require("../../ui/src/anime");
|
|
18
17
|
var _loading = _interopRequireDefault(require("../../loading"));
|
|
19
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
|
-
function
|
|
21
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
22
|
-
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); }
|
|
19
|
+
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); }
|
|
23
20
|
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
24
21
|
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."); }
|
|
25
22
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
26
23
|
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
27
24
|
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
28
25
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
26
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
27
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
28
|
+
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); }
|
|
29
29
|
var _createComponentLog = (0, _log.createComponentLog)('tree'),
|
|
30
|
+
warnLog = _createComponentLog.warnLog,
|
|
30
31
|
errLog = _createComponentLog.errLog;
|
|
31
32
|
var menus = _ui.VxeUI.menus,
|
|
32
33
|
getConfig = _ui.VxeUI.getConfig,
|
|
@@ -481,6 +482,50 @@ function handleVisibleOrCheckMode(mode, isExistChild, nLevel) {
|
|
|
481
482
|
}
|
|
482
483
|
return true;
|
|
483
484
|
}
|
|
485
|
+
function insertTreeNode($xeTree, newRecords, isAppend) {
|
|
486
|
+
var internalData = $xeTree.internalData;
|
|
487
|
+
var treeFullData = internalData.treeFullData,
|
|
488
|
+
nodeMaps = internalData.nodeMaps;
|
|
489
|
+
var keyField = $xeTree.computeKeyField;
|
|
490
|
+
var parentField = $xeTree.computeParentField;
|
|
491
|
+
var childrenField = $xeTree.computeChildrenField;
|
|
492
|
+
var mapChildrenField = $xeTree.computeMapChildrenField;
|
|
493
|
+
var funcName = isAppend ? 'push' : 'unshift';
|
|
494
|
+
newRecords.forEach(function (item) {
|
|
495
|
+
var parentRowId = item[parentField];
|
|
496
|
+
var nodeid = $xeTree.getNodeId(item);
|
|
497
|
+
var matchObj = parentRowId ? _xeUtils.default.findTree(treeFullData, function (item) {
|
|
498
|
+
return parentRowId === item[keyField];
|
|
499
|
+
}, {
|
|
500
|
+
children: mapChildrenField
|
|
501
|
+
}) : null;
|
|
502
|
+
var itemRest = (0, _util.getItemCacheObj)(item);
|
|
503
|
+
if (matchObj) {
|
|
504
|
+
var parentItem = matchObj.item;
|
|
505
|
+
var parentRest = nodeMaps[$xeTree.getNodeId(parentItem)];
|
|
506
|
+
var parentLevel = parentRest ? parentRest.level : 0;
|
|
507
|
+
var pChilds = parentItem[childrenField];
|
|
508
|
+
var pMapChilds = parentItem[mapChildrenField];
|
|
509
|
+
if (!_xeUtils.default.isArray(pChilds)) {
|
|
510
|
+
pChilds = parentItem[childrenField] = [];
|
|
511
|
+
}
|
|
512
|
+
if (!_xeUtils.default.isArray(pMapChilds)) {
|
|
513
|
+
pMapChilds = parentItem[mapChildrenField] = [];
|
|
514
|
+
}
|
|
515
|
+
itemRest.parent = parentItem;
|
|
516
|
+
itemRest.items = pChilds;
|
|
517
|
+
itemRest.level = parentLevel;
|
|
518
|
+
pChilds[funcName](item);
|
|
519
|
+
pMapChilds[funcName](item);
|
|
520
|
+
} else {
|
|
521
|
+
if (parentRowId) {
|
|
522
|
+
warnLog('vxe.error.unableInsert');
|
|
523
|
+
}
|
|
524
|
+
treeFullData[funcName](item);
|
|
525
|
+
}
|
|
526
|
+
nodeMaps[nodeid] = itemRest;
|
|
527
|
+
});
|
|
528
|
+
}
|
|
484
529
|
function createInternalData() {
|
|
485
530
|
return {
|
|
486
531
|
// initialized: false,
|
|
@@ -502,6 +547,8 @@ function createInternalData() {
|
|
|
502
547
|
offsetSize: 0,
|
|
503
548
|
rowHeight: 0
|
|
504
549
|
},
|
|
550
|
+
removeRowMaps: {},
|
|
551
|
+
insertRowMaps: {},
|
|
505
552
|
// prevDragNode: null,
|
|
506
553
|
// prevDragToChild: false,
|
|
507
554
|
// prevDragPos: ''
|
|
@@ -523,6 +570,8 @@ function createReactData() {
|
|
|
523
570
|
treeList: [],
|
|
524
571
|
updateExpandedFlag: 1,
|
|
525
572
|
updateCheckboxFlag: 1,
|
|
573
|
+
insertRowFlag: 1,
|
|
574
|
+
removeRowFlag: 1,
|
|
526
575
|
dragNode: null,
|
|
527
576
|
dragTipText: ''
|
|
528
577
|
};
|
|
@@ -1582,6 +1631,238 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1582
1631
|
internalData.lastScrollLeft = 0;
|
|
1583
1632
|
return $xeTree.$nextTick();
|
|
1584
1633
|
},
|
|
1634
|
+
handleInsertNodeAt: function handleInsertNodeAt(records, targetNodeOrNodeid, isInsertNextNode) {
|
|
1635
|
+
var $xeTree = this;
|
|
1636
|
+
var props = $xeTree;
|
|
1637
|
+
var reactData = $xeTree.reactData;
|
|
1638
|
+
var internalData = $xeTree.internalData;
|
|
1639
|
+
var transform = props.transform;
|
|
1640
|
+
var treeFullData = internalData.treeFullData,
|
|
1641
|
+
nodeMaps = internalData.nodeMaps;
|
|
1642
|
+
var keyField = $xeTree.computeKeyField;
|
|
1643
|
+
var parentField = $xeTree.computeParentField;
|
|
1644
|
+
var childrenField = $xeTree.computeChildrenField;
|
|
1645
|
+
var mapChildrenField = $xeTree.computeMapChildrenField;
|
|
1646
|
+
if (!transform) {
|
|
1647
|
+
errLog('vxe.error.reqSupportProp', ['insert() | insertAt() | insertNextAt()', 'transform']);
|
|
1648
|
+
return Promise.resolve({
|
|
1649
|
+
node: null,
|
|
1650
|
+
nodes: []
|
|
1651
|
+
});
|
|
1652
|
+
}
|
|
1653
|
+
if (!_xeUtils.default.isArray(records)) {
|
|
1654
|
+
records = [records];
|
|
1655
|
+
}
|
|
1656
|
+
var targetNode = targetNodeOrNodeid;
|
|
1657
|
+
if (_xeUtils.default.isString(targetNodeOrNodeid) || _xeUtils.default.isNumber(targetNodeOrNodeid)) {
|
|
1658
|
+
var nodeRest = nodeMaps[targetNodeOrNodeid];
|
|
1659
|
+
if (nodeRest) {
|
|
1660
|
+
targetNode = nodeRest.item;
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
if (!records.length) {
|
|
1664
|
+
return Promise.resolve({
|
|
1665
|
+
node: null,
|
|
1666
|
+
nodes: []
|
|
1667
|
+
});
|
|
1668
|
+
}
|
|
1669
|
+
var newRecords = records.map(function (record) {
|
|
1670
|
+
return _xeUtils.default.assign(_defineProperty(_defineProperty({}, mapChildrenField, []), childrenField, []), record);
|
|
1671
|
+
});
|
|
1672
|
+
var treeRecords = _xeUtils.default.toArrayTree(newRecords, {
|
|
1673
|
+
key: keyField,
|
|
1674
|
+
parentKey: parentField,
|
|
1675
|
+
children: childrenField
|
|
1676
|
+
});
|
|
1677
|
+
if (_xeUtils.default.eqNull(targetNode)) {
|
|
1678
|
+
insertTreeNode($xeTree, newRecords, false);
|
|
1679
|
+
} else {
|
|
1680
|
+
if (targetNode === -1) {
|
|
1681
|
+
insertTreeNode($xeTree, newRecords, true);
|
|
1682
|
+
} else {
|
|
1683
|
+
var matchMapObj = _xeUtils.default.findTree(treeFullData, function (item) {
|
|
1684
|
+
return targetNode[keyField] === item[keyField];
|
|
1685
|
+
}, {
|
|
1686
|
+
children: mapChildrenField
|
|
1687
|
+
});
|
|
1688
|
+
if (matchMapObj) {
|
|
1689
|
+
var parentNode = matchMapObj.parent;
|
|
1690
|
+
var parentMapChilds = parentNode ? parentNode[mapChildrenField] : treeFullData;
|
|
1691
|
+
var parentRest = nodeMaps[$xeTree.getNodeId(parentNode)];
|
|
1692
|
+
var parentLevel = parentRest ? parentRest.level : 0;
|
|
1693
|
+
treeRecords.forEach(function (row, i) {
|
|
1694
|
+
if (parentNode) {
|
|
1695
|
+
if (row[parentField] !== parentNode[keyField]) {
|
|
1696
|
+
errLog('vxe.error.errProp', ["".concat(parentField, "=").concat(row[parentField]), "".concat(parentField, "=").concat(parentNode[keyField])]);
|
|
1697
|
+
row[parentField] = parentNode[keyField];
|
|
1698
|
+
}
|
|
1699
|
+
} else {
|
|
1700
|
+
if (row[parentField] !== null) {
|
|
1701
|
+
if (!_xeUtils.default.eqNull(row[parentField])) {
|
|
1702
|
+
errLog('vxe.error.errProp', ["".concat(parentField, "=").concat(row[parentField]), 'null']);
|
|
1703
|
+
}
|
|
1704
|
+
row[parentField] = null;
|
|
1705
|
+
}
|
|
1706
|
+
}
|
|
1707
|
+
var targetIndex = matchMapObj.index + i;
|
|
1708
|
+
if (isInsertNextNode) {
|
|
1709
|
+
targetIndex = targetIndex + 1;
|
|
1710
|
+
}
|
|
1711
|
+
parentMapChilds.splice(targetIndex, 0, row);
|
|
1712
|
+
});
|
|
1713
|
+
_xeUtils.default.eachTree(treeRecords, function (item) {
|
|
1714
|
+
var nodeid = $xeTree.getNodeId(item);
|
|
1715
|
+
var nodeRest = (0, _util.getItemCacheObj)(item);
|
|
1716
|
+
nodeRest.level = parentLevel;
|
|
1717
|
+
if (item[childrenField]) {
|
|
1718
|
+
item[mapChildrenField] = item[childrenField];
|
|
1719
|
+
}
|
|
1720
|
+
nodeMaps[nodeid] = nodeRest;
|
|
1721
|
+
}, {
|
|
1722
|
+
children: childrenField
|
|
1723
|
+
});
|
|
1724
|
+
// 源
|
|
1725
|
+
if (parentNode) {
|
|
1726
|
+
var matchObj = _xeUtils.default.findTree(treeFullData, function (item) {
|
|
1727
|
+
return targetNode[keyField] === item[keyField];
|
|
1728
|
+
}, {
|
|
1729
|
+
children: childrenField
|
|
1730
|
+
});
|
|
1731
|
+
if (matchObj) {
|
|
1732
|
+
var parentChilds = matchObj.items;
|
|
1733
|
+
var targetIndex = matchObj.index;
|
|
1734
|
+
if (isInsertNextNode) {
|
|
1735
|
+
targetIndex = targetIndex + 1;
|
|
1736
|
+
}
|
|
1737
|
+
parentChilds.splice.apply(parentChilds, [targetIndex, 0].concat(_toConsumableArray(treeRecords)));
|
|
1738
|
+
}
|
|
1739
|
+
}
|
|
1740
|
+
} else {
|
|
1741
|
+
warnLog('vxe.error.unableInsert');
|
|
1742
|
+
insertTreeNode($xeTree, newRecords, true);
|
|
1743
|
+
}
|
|
1744
|
+
}
|
|
1745
|
+
}
|
|
1746
|
+
reactData.insertRowFlag++;
|
|
1747
|
+
$xeTree.cacheNodeMap();
|
|
1748
|
+
$xeTree.handleData(true);
|
|
1749
|
+
$xeTree.updateAfterDataIndex();
|
|
1750
|
+
$xeTree.updateCheckboxStatus();
|
|
1751
|
+
if (reactData.scrollYLoad) {
|
|
1752
|
+
$xeTree.updateYSpace();
|
|
1753
|
+
}
|
|
1754
|
+
return $xeTree.$nextTick().then(function () {
|
|
1755
|
+
return {
|
|
1756
|
+
node: newRecords.length ? newRecords[newRecords.length - 1] : null,
|
|
1757
|
+
nodes: newRecords
|
|
1758
|
+
};
|
|
1759
|
+
});
|
|
1760
|
+
},
|
|
1761
|
+
insert: function insert(records) {
|
|
1762
|
+
var $xeTree = this;
|
|
1763
|
+
return $xeTree.handleInsertNodeAt(records, null);
|
|
1764
|
+
},
|
|
1765
|
+
insertAt: function insertAt(records, targetNodeOrNodeid) {
|
|
1766
|
+
var $xeTree = this;
|
|
1767
|
+
return $xeTree.handleInsertNodeAt(records, targetNodeOrNodeid);
|
|
1768
|
+
},
|
|
1769
|
+
insertNextAt: function insertNextAt(records, targetNodeOrNodeid) {
|
|
1770
|
+
var $xeTree = this;
|
|
1771
|
+
return $xeTree.handleInsertNodeAt(records, targetNodeOrNodeid, true);
|
|
1772
|
+
},
|
|
1773
|
+
remove: function remove(nodes) {
|
|
1774
|
+
var $xeTree = this;
|
|
1775
|
+
var props = $xeTree;
|
|
1776
|
+
var reactData = $xeTree.reactData;
|
|
1777
|
+
var internalData = $xeTree.internalData;
|
|
1778
|
+
var transform = props.transform;
|
|
1779
|
+
var treeFullData = internalData.treeFullData;
|
|
1780
|
+
var childrenField = $xeTree.computeChildrenField;
|
|
1781
|
+
var mapChildrenField = $xeTree.computeMapChildrenField;
|
|
1782
|
+
if (!transform) {
|
|
1783
|
+
errLog('vxe.error.reqSupportProp', ['remove()', 'transform']);
|
|
1784
|
+
return Promise.resolve({
|
|
1785
|
+
node: null,
|
|
1786
|
+
nodes: []
|
|
1787
|
+
});
|
|
1788
|
+
}
|
|
1789
|
+
var delList = [];
|
|
1790
|
+
if (!nodes) {
|
|
1791
|
+
nodes = treeFullData;
|
|
1792
|
+
} else if (!_xeUtils.default.isArray(nodes)) {
|
|
1793
|
+
nodes = [nodes];
|
|
1794
|
+
}
|
|
1795
|
+
if (!nodes.length) {
|
|
1796
|
+
return Promise.resolve({
|
|
1797
|
+
node: null,
|
|
1798
|
+
nodes: []
|
|
1799
|
+
});
|
|
1800
|
+
}
|
|
1801
|
+
// 从数据源中移除
|
|
1802
|
+
if (treeFullData === nodes) {
|
|
1803
|
+
nodes = delList = treeFullData.slice(0);
|
|
1804
|
+
internalData.treeFullData = [];
|
|
1805
|
+
} else {
|
|
1806
|
+
nodes.forEach(function (item) {
|
|
1807
|
+
var nodeid = $xeTree.getNodeId(item);
|
|
1808
|
+
var matchMapObj = _xeUtils.default.findTree(treeFullData, function (item) {
|
|
1809
|
+
return nodeid === $xeTree.getNodeId(item);
|
|
1810
|
+
}, {
|
|
1811
|
+
children: mapChildrenField
|
|
1812
|
+
});
|
|
1813
|
+
if (matchMapObj) {
|
|
1814
|
+
var rItems = matchMapObj.items.splice(matchMapObj.index, 1);
|
|
1815
|
+
delList.push(rItems[0]);
|
|
1816
|
+
}
|
|
1817
|
+
var matchObj = _xeUtils.default.findTree(treeFullData, function (item) {
|
|
1818
|
+
return nodeid === $xeTree.getNodeId(item);
|
|
1819
|
+
}, {
|
|
1820
|
+
children: childrenField
|
|
1821
|
+
});
|
|
1822
|
+
if (matchObj) {
|
|
1823
|
+
var _rItems = matchObj.items.splice(matchObj.index, 1);
|
|
1824
|
+
delList.push(_rItems[0]);
|
|
1825
|
+
}
|
|
1826
|
+
});
|
|
1827
|
+
}
|
|
1828
|
+
reactData.removeRowFlag++;
|
|
1829
|
+
reactData.insertRowFlag++;
|
|
1830
|
+
$xeTree.cacheNodeMap();
|
|
1831
|
+
$xeTree.handleData(true);
|
|
1832
|
+
$xeTree.updateAfterDataIndex();
|
|
1833
|
+
$xeTree.updateCheckboxStatus();
|
|
1834
|
+
if (reactData.scrollYLoad) {
|
|
1835
|
+
$xeTree.updateYSpace();
|
|
1836
|
+
}
|
|
1837
|
+
return $xeTree.$nextTick().then(function () {
|
|
1838
|
+
return $xeTree.recalculate();
|
|
1839
|
+
}).then(function () {
|
|
1840
|
+
return {
|
|
1841
|
+
node: delList.length ? delList[delList.length - 1] : null,
|
|
1842
|
+
nodes: delList
|
|
1843
|
+
};
|
|
1844
|
+
});
|
|
1845
|
+
},
|
|
1846
|
+
getInsertRecords: function getInsertRecords() {
|
|
1847
|
+
var $xeTree = this;
|
|
1848
|
+
var internalData = $xeTree.internalData;
|
|
1849
|
+
var insertRowMaps = internalData.insertRowMaps;
|
|
1850
|
+
var insertRecords = [];
|
|
1851
|
+
_xeUtils.default.each(insertRowMaps, function (row) {
|
|
1852
|
+
insertRecords.push(row);
|
|
1853
|
+
});
|
|
1854
|
+
return insertRecords;
|
|
1855
|
+
},
|
|
1856
|
+
getRemoveRecords: function getRemoveRecords() {
|
|
1857
|
+
var $xeTree = this;
|
|
1858
|
+
var internalData = $xeTree.internalData;
|
|
1859
|
+
var removeRowMaps = internalData.removeRowMaps;
|
|
1860
|
+
var removeRecords = [];
|
|
1861
|
+
_xeUtils.default.each(removeRowMaps, function (row) {
|
|
1862
|
+
removeRecords.push(row);
|
|
1863
|
+
});
|
|
1864
|
+
return removeRecords;
|
|
1865
|
+
},
|
|
1585
1866
|
handleNodeMousedownEvent: function handleNodeMousedownEvent(evnt, node) {
|
|
1586
1867
|
var $xeTree = this;
|
|
1587
1868
|
var props = $xeTree;
|
|
@@ -3105,8 +3386,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
3105
3386
|
if (drag && !transform) {
|
|
3106
3387
|
errLog('vxe.error.notSupportProp', ['drag', 'transform=false', 'transform=true']);
|
|
3107
3388
|
}
|
|
3108
|
-
if (dragOpts.isCrossTreeDrag) {
|
|
3109
|
-
errLog('vxe.error.
|
|
3389
|
+
if (dragOpts.isCrossTreeDrag && !dragOpts.isCrossDrag) {
|
|
3390
|
+
errLog('vxe.error.reqSupportProp', ['drag-config.isCrossTreeDrag', 'drag-config.isCrossDrag']);
|
|
3110
3391
|
}
|
|
3111
3392
|
// if (valueField) {
|
|
3112
3393
|
// errLog('vxe.error.delProp', ['value-field', 'value-field'])
|
package/lib/tree/src/tree.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_log=require("../../ui/src/log"),_vn=require("../../ui/src/vn"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_anime=require("../../ui/src/anime"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}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.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var _createComponentLog=(0,_log.createComponentLog)("tree"),errLog=_createComponentLog.errLog,menus=_ui.VxeUI.menus,getConfig=_ui.VxeUI.getConfig,getI18n=_ui.VxeUI.getI18n,getIcon=_ui.VxeUI.getIcon;function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function handleSetExpand(e,t,r){t?r[e]||(r[e]=!0):r[e]&&delete r[e]}function handleScrollTo(t,e,r){var n=t.reactData,a=t.$refs.refVirtualWrapper;return e&&!_xeUtils.default.isNumber(e)&&(r=e.top,e=e.left),a&&(_xeUtils.default.isNumber(e)&&(a.scrollLeft=e),_xeUtils.default.isNumber(r))&&(a.scrollTop=r),n.scrollYLoad?new Promise(function(e){setTimeout(function(){t.$nextTick(function(){e()})},50)}):t.$nextTick()}function clearNodeDropOrigin(e){var t,e=e.$refs.refElem;e&&_xeUtils.default.arrayEach(e.querySelectorAll(".".concat(t="node--drag-origin")),function(e){(e.draggable=!1,_dom.removeClass)(e,t)})}function updateNodeDropOrigin(e,t){var r=e.$refs.refElem;r&&(e=e.getNodeId(t),_xeUtils.default.arrayEach(r.querySelectorAll('.vxe-tree--node-wrapper[nodeid="'.concat(e,'"]')),function(e){(0,_dom.addClass)(e,"node--drag-origin")}))}function updateRowDropTipContent(e,t){var r=e.reactData,n=r.dragNode,a=e.computeDragOpts.tooltipMethod,o="";o=a?"".concat(a({$tree:e,node:n})||""):getI18n("vxe.tree.dragTip",[t.textContent||""]),r.dragTipText=o}function hideDropTip(e){var t=e.$refs.refDragTipElem,e=e.$refs.refDragNodeLineElem;t&&(t.style.display=""),e&&(e.style.display="")}function clearCrossTreeDragStatus(e){(0,_store.getCrossTreeDragNodeInfo)(e).node=null}function clearDragStatus(e){var t=e.reactData;t.dragNode&&(hideDropTip(e),clearNodeDropOrigin(e),clearCrossTreeDragStatus(e),t.dragNode=null)}function showDropTip(e,t,r,n,a){var o,i,d,l,c=e.internalData,s=e.$refs.refElem;s&&(c=c.prevDragToChild,o=s.getBoundingClientRect(),l=s.clientHeight,r&&(i=e.$refs.refDragNodeLineElem)&&(n?(d=r.getBoundingClientRect(),r=r.clientHeight,l<(d=Math.max(1,d.y-o.y))+r&&(r=l-d),i.style.display="block",i.style.top="".concat(d,"px"),i.style.height="".concat(r,"px"),i.setAttribute("drag-pos",a),i.setAttribute("drag-to-child",c?"y":"n")):i.style.display=""),l=e.$refs.refDragTipElem)&&(l.style.display="block",l.style.top="".concat(Math.min(s.clientHeight-s.scrollTop-l.clientHeight,t.clientY-o.y),"px"),l.style.left="".concat(Math.min(s.clientWidth-s.scrollLeft-l.clientWidth-1,t.clientX-o.x),"px"),l.setAttribute("drag-status",n?c?"sub":"normal":"disabled"))}function clearNodeDragData(e){var t=e.reactData,r=e.internalData,n=e.$refs.refElem;hideDropTip(e),clearNodeDropOrigin(e),(0,_anime.clearRowAnimate)(n,[".vxe-tree--node-wrapper"]),r.prevDragToChild=!1,t.dragNode=null}function handleNodeDragSwapEvent(s,r,n,a,o,e){var u=s.reactData,h=s.internalData,i=s.transform,t=h.nodeMaps,d=h.treeFullData,l=h.afterVisibleList,c=s.computeDragOpts,p=c.animation,f=c.isCrossDrag,U=c.isPeerDrag,g=c.isSelfToChildDrag,x=c.dragToChildMethod,c=c.dragEndMethod||(c?c.dragEndMethod:null),m=s.computeKeyField,v=s.computeParentField,C=s.computeChildrenField,D=s.computeMapChildrenField,N="bottom"===o?1:0,y=s.$refs.refElem,E={status:!1};if(y&&a&&n){if(a!==n){var H={oldNode:n,newNode:a,dragNode:n,dragPos:o,dragToChild:!!e,offsetIndex:N},b=s.getNodeId(n),V=t[b]||{},_=V._index,T=s.getNodeId(a),$=0,I=-1,k=(p&&(w=y.querySelector('.vxe-tree--node-wrapper[nodeid="'.concat(T,'"]')),R=y.querySelector('.vxe-tree--node-wrapper[nodeid="'.concat(b,'"]')),(w=w||R)&&($=w.offsetHeight),R)&&(I=R.offsetTop),-1),M=-1,S={},F=!1,L=V,O=t[T];if(i&&L&&O){var w=L.level,R=O.level;if(_xeUtils.default.eachTree([n],function(e){S[s.getNodeId(e)]=e},{children:D}),w&&R)if(U&&!f){if(L.item[v]!==O.item[v])return clearNodeDragData(s),clearCrossTreeDragStatus(s),E}else{if(!f)return clearNodeDragData(s),clearCrossTreeDragStatus(s),E;if(S[T]&&(F=!0,!f||!g))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),clearNodeDragData(s),clearCrossTreeDragStatus(s),E}else if(w){if(!f)return clearNodeDragData(s),clearCrossTreeDragStatus(s),E}else if(R){if(!f)return clearNodeDragData(s),clearCrossTreeDragStatus(s),E;if(S[T]&&(F=!0,!f||!g))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),clearNodeDragData(s),clearCrossTreeDragStatus(s),E}}var A=g&&x?x(H):e;return Promise.resolve(!c||c(H)).then(function(e){var t;return e?(i?L&&O&&(e=_xeUtils.default.toTreeArray(h.afterTreeList,{updated:!1,key:m,parentKey:v,children:D}),t=s.findNodeIndexOf(e,n),e.splice(t,1),t=s.findNodeIndexOf(e,a),e.splice(t+N,0,n),F&&f&&g&&_xeUtils.default.each(n[C],function(e){e[v]=n[v]}),n[v]=A?a[m]:a[v],h.treeFullData=_xeUtils.default.toArrayTree(e,{key:m,parentKey:v,children:C,mapChildren:D})):(k=s.findNodeIndexOf(l,n),t=s.findNodeIndexOf(d,n),l.splice(k,1),d.splice(t,1),e=s.findNodeIndexOf(l,a),t=s.findNodeIndexOf(d,a),M=e+N,e=t+N,l.splice(M,0,n),d.splice(e,0,n)),s.cacheNodeMap(),s.handleData(i),i||s.updateAfterDataIndex(),s.updateCheckboxStatus(),u.scrollYLoad&&s.updateYSpace(),r&&s.dispatchEvent("node-dragend",{oldNode:n,newNode:a,dragNode:n,dragPos:o,dragToChild:A,offsetIndex:N,_index:{newIndex:M,oldIndex:k}},r),s.$nextTick().then(function(){var e,t,r,n,a,o,i,d,l,c;p&&(c=u.treeList,l=(i=(d=h.nodeMaps)[b])._index,e=c[0],d=d[s.getNodeId(e)],e=y,d&&(a=(d=d._index)+c.length,r=t=-1,n=1,_<d?(t=0,r=l-d):a<_?(t=i.$index+1,r=c.length,n=-1):_<l?r=(t=_-d)+l-_:(r=(t=l-d)+_-l+1,n=-1),(a=c.slice(t,r)).length)&&(o=[],a.forEach(function(e){e=s.getNodeId(e);o.push('.vxe-tree--node-wrapper[nodeid="'.concat(e,'"]'))}),i=e.querySelectorAll(o.join(",")),(0,_anime.moveRowAnimateToTb)(i,n*$)),d=['.vxe-tree--node-wrapper[nodeid="'.concat(b,'"]')],c=(l=e.querySelectorAll(d.join(",")))[0],-1<I)&&c&&(0,_anime.moveRowAnimateToTb)(l,I-c.offsetTop),s.recalculate()}).then(function(){return{status:!0}})):E}).catch(function(){return E}).then(function(e){return clearNodeDragData(s),clearCrossTreeDragStatus(s),e})}clearNodeDragData(s),clearCrossTreeDragStatus(s)}return Promise.resolve(E)}function handleVisibleOrCheckMode(e,t,r){if(e){if("first"===e)return!r;if("last"===e)return!t}return!0}function createInternalData(){return{treeFullData:[],afterTreeList:[],afterVisibleList:[],nodeMaps:{},selectCheckboxMaps:{},indeterminateRowMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0}}function createReactData(){return{parentHeight:0,customHeight:0,customMinHeight:0,customMaxHeight:0,currentNode:null,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,selectRadioKey:null,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1,dragNode:null,dragTipText:""}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTree",mixins:[_ui.globalMixins.sizeMixin],props:{data:Array,autoResize:{type:Boolean,default:function(){return getConfig().tree.autoResize}},height:[String,Number],maxHeight:{type:[String,Number],default:function(){return getConfig().tree.maxHeight}},minHeight:{type:[String,Number],default:function(){return getConfig().tree.minHeight}},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:function(){return getConfig().tree.accordion}},childrenField:{type:String,default:function(){return getConfig().tree.childrenField}},valueField:{type:String,default:function(){return getConfig().tree.valueField}},keyField:{type:String,default:function(){return getConfig().tree.keyField}},parentField:{type:String,default:function(){return getConfig().tree.parentField}},titleField:{type:String,default:function(){return getConfig().tree.titleField}},hasChildField:{type:String,default:function(){return getConfig().tree.hasChildField}},mapChildrenField:{type:String,default:function(){return getConfig().tree.mapChildrenField}},transform:Boolean,isCurrent:Boolean,isHover:Boolean,expandAll:Boolean,expandNodeKeys:Array,showLine:{type:Boolean,default:function(){return getConfig().tree.showLine}},trigger:String,indent:{type:Number,default:function(){return getConfig().tree.indent}},showRadio:{type:Boolean,default:function(){return getConfig().tree.showRadio}},checkNodeKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:function(){return getConfig().tree.showCheckbox}},checkNodeKeys:Array,checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,drag:{type:Boolean,default:function(){return getConfig().tree.drag}},dragConfig:Object,menuConfig:Object,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:function(){return getConfig().tree.iconOpen}},iconClose:{type:String,default:function(){return getConfig().tree.iconClose}},iconLoaded:{type:String,default:function(){return getConfig().tree.iconLoaded}},rootParentValue:{type:[String,Number],default:function(){return getConfig().tree.rootParentValue}},rootValues:{type:Array,default:function(){return getConfig().tree.rootValues}},filterValue:[String,Number],filterConfig:Object,size:{type:String,default:function(){return getConfig().tree.size||getConfig().size}},virtualYConfig:Object},provide:function(){return{$xeTree:this}},data:function(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t,crossTreeDragNodeInfo:_store.crossTreeDragNodeGlobal,hFlag:0,dataFlag:0})},computed:Object.assign(Object.assign({},{}),{computeTitleField:function(){return this.titleField||"title"},computeKeyField:function(){return this.keyField||"id"},computeValueField:function(){var e=this.computeKeyField;return this.valueField||e},computeParentField:function(){return this.parentField||"parentId"},computeChildrenField:function(){return this.childrenField||"children"},computeMapChildrenField:function(){return this.mapChildrenField||"mapChildren"},computeHasChildField:function(){return this.hasChildField||"hasChild"},computeVirtualYOpts:function(){return Object.assign({},getConfig().tree.virtualYConfig,this.virtualYConfig)},computeIsRowCurrent:function(){var e=this.computeNodeOpts.isCurrent;return _xeUtils.default.isBoolean(e)?e:this.isCurrent},computeIsRowHover:function(){var e=this.computeNodeOpts.isHover;return _xeUtils.default.isBoolean(e)?e:this.isHover},computeRadioOpts:function(){return Object.assign({showIcon:!0},getConfig().tree.radioConfig,this.radioConfig)},computeCheckboxOpts:function(){return Object.assign({showIcon:!0},getConfig().tree.checkboxConfig,this.checkboxConfig)},computeNodeOpts:function(){return Object.assign({},getConfig().tree.nodeConfig,this.nodeConfig)},computeLoadingOpts:function(){return Object.assign({},getConfig().tree.loadingConfig,this.loadingConfig)},computeDragOpts:function(){return Object.assign({},getConfig().tree.dragConfig,this.dragConfig)},computeMenuOpts:function(){return Object.assign({},getConfig().tree.menuConfig,this.menuConfig)},computeTreeStyle:function(){var e=this.reactData,t=this.indent,r=e.customHeight,n=e.customMinHeight,e=e.customMaxHeight,a=this.computeCheckboxOpts.nodeStyle,o={};return r&&(o.height=(0,_dom.toCssUnit)(r)),n&&(o.minHeight=(0,_dom.toCssUnit)(n)),e&&(o.maxHeight=(0,_dom.toCssUnit)(e)),t&&(o["--vxe-ui-tree-node-indent"]=(0,_dom.toCssUnit)(t)),a&&(r=a.indeterminateColor,n=a.checkedColor,r&&(o["--vxe-ui-tree-node-checkbox-indeterminate-color"]=r),n)&&(o["--vxe-ui-tree-node-checkbox-checked-color"]=n),o},computeFilterOpts:function(){return Object.assign({},getConfig().tree.filterConfig,this.filterConfig)}}),methods:{dispatchEvent:function(e,t,r){this.$emit(e,(0,_ui.createEvent)(r,{$tree:this},t))},getNodeId:function(e){var t;return e?(t=this.computeValueField,e=_xeUtils.default.get(e,t),(0,_utils.enModelValue)(e)):""},getNodeById:function(e){var t=this.internalData.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},isExpandByNode:function(e){var t=this.reactData,r=this.internalData,t=t.updateExpandedFlag,r=r.treeExpandedMaps,e=this.getNodeId(e);return!(!t||!r[e])},isCheckedByRadioNodeId:function(e){return this.reactData.selectRadioKey===e},isCheckedByRadioNode:function(e){return this.isCheckedByRadioNodeId(this.getNodeId(e))},isCheckedByCheckboxNodeId:function(e){var t=this.reactData,r=this.internalData,t=t.updateCheckboxFlag,r=r.selectCheckboxMaps;return!(!t||!r[e])},isCheckedByCheckboxNode:function(e){return this.isCheckedByCheckboxNodeId(this.getNodeId(e))},isIndeterminateByCheckboxNodeid:function(e){var t=this.reactData,r=this.internalData,t=t.updateCheckboxFlag,r=r.indeterminateRowMaps;return!(!t||!r[e])},isIndeterminateByCheckboxNode:function(e){return this.isIndeterminateByCheckboxNodeid(this.getNodeId(e))},emitCheckboxMode:function(e){this.$emit("update:checkNodeKeys",e)},emitRadioMode:function(e){this.$emit("update:checkNodeKey",e)},setRadioNode:function(e){var t=this,r=t.reactData;return e?(e=t.getNodeId(e),r.selectRadioKey=e,t.emitRadioMode((0,_utils.deModelValue)(e))):t.emitRadioMode(null),t.$nextTick()},setCheckboxNode:function(e,t){return e&&(_xeUtils.default.isArray(e)||(e=[e]),this.handleCheckedCheckboxNode(e,t)),this.emitCheckboxMode(this.getCheckboxNodeIds()),this.$nextTick()},setCheckboxByNodeId:function(e,t){return this.handleSetCheckboxByNodeId(e,t),this.emitCheckboxMode(this.getCheckboxNodeIds()),this.$nextTick()},handleSetCheckboxByNodeId:function(e,t){var r,n=this.internalData.nodeMaps;return e&&(_xeUtils.default.isArray(e)||(e=[e]),r=[],e.forEach(function(e){e=(0,_utils.enModelValue)(e),e=n[e];e&&r.push(e.item)}),this.handleCheckedCheckboxNode(r,t)),this.$nextTick()},handleCheckedCheckboxNode:function(e,r){function t(e){var t=n.getNodeId(e);r?i[t]||(i[t]=e):i[t]&&delete i[t]}var n=this,a=n.reactData,o=n.transform,i=n.internalData.selectCheckboxMaps,d=n.computeMapChildrenField,l=n.computeChildrenField;n.computeCheckboxOpts.checkStrictly?e.forEach(t):_xeUtils.default.eachTree(e,t,{children:o?d:l}),a.updateCheckboxFlag++,n.updateCheckboxStatus()},updateCheckboxChecked:function(e){this.internalData.selectCheckboxMaps={},this.handleSetCheckboxByNodeId(e,!0)},handleSetExpand:function(e,t,r){t?r[e]||(r[e]=!0):r[e]&&delete r[e]},getParentElem:function(){var e=this.$refs.refElem;return e?e.parentElement:null},calcTreeHeight:function(e){var t=this.reactData.parentHeight,e=this[e],r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},updateHeight:function(){var e=this.reactData;e.customHeight=this.calcTreeHeight("height"),e.customMinHeight=this.calcTreeHeight("minHeight"),e.customMaxHeight=this.calcTreeHeight("maxHeight"),!e.scrollYLoad||e.customHeight||e.customMinHeight||(e.customHeight=300)},createNode:function(e){var r=this,n=r.computeValueField;return Promise.resolve(e.map(function(e){var t,e=Object.assign({},e);return r.getNodeId(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,n,t)),e}))},cacheNodeMap:function(){var d=this,e=d.internalData,t=e.treeFullData,l=d.computeValueField,c={};_xeUtils.default.eachTree(t,function(e,t,r,n,a,o){var i=d.getNodeId(e);i||(i=getNodeUniqueId(),_xeUtils.default.set(e,l,i)),c[i]={item:e,index:t,$index:-1,_index:-1,items:r,parent:a,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1}},{children:d.computeChildrenField}),e.nodeMaps=c},updateAfterDataIndex:function(){var l=this,e=l.internalData,t=l.transform,r=e.afterTreeList,c=e.nodeMaps,s=0;_xeUtils.default.eachTree(r,function(e,t,r,n,a,o){var i=l.getNodeId(e),d=c[i];d?(d.items=r,d.treeIndex=t,d._index=s):(d={item:e,index:t,$index:-1,_index:s,items:r,parent:a,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1},c[i]=d),s++},{children:t?l.computeMapChildrenField:l.computeChildrenField})},updateAfterFullData:function(){var e,t,r=this,n=r.internalData,a=r.transform,o=r.filterValue,i=n.treeFullData,d=n.lastFilterValue,l=r.computeTitleField,c=r.computeChildrenField,s=r.computeMapChildrenField,u=r.computeFilterOpts,h=u.autoExpandAll,p=u.beforeFilterMethod,f=u.filterMethod,g=u.afterFilterMethod,u=i,x=u,m="";o||0===o?(m="".concat(o),o=f?function(e){return f({$tree:r,node:e,filterValue:m})}:function(e){return-1<String(e[l]).toLowerCase().indexOf(m.toLowerCase())},e={$tree:r,filterValue:m},p&&p(e),u=a?x=_xeUtils.default.searchTree(i,o,{original:!0,isEvery:!0,children:c,mapChildren:s}):i.filter(o),n.lastFilterValue=m,r.$nextTick(function(){h?r.setAllExpandNode(!0).then(function(){g&&g(e)}):g&&g(e)})):(a&&(u=x=_xeUtils.default.searchTree(i,function(){return!0},{original:!0,isEvery:!0,children:c,mapChildren:s}),d)&&(t={$tree:r,filterValue:m},p&&p(t),r.$nextTick(function(){h?r.clearAllExpandNode().then(function(){g&&g(t)}):g&&g(t)})),n.lastFilterValue=""),n.afterVisibleList=u,n.afterTreeList=x,r.updateAfterDataIndex()},handleTreeToList:function(){var d,l=this,e=l.internalData,t=l.transform,r=e.afterTreeList,c=e.treeExpandedMaps,s={};return t?(d=[],_xeUtils.default.eachTree(r,function(e,t,r,n,a){var o=l.getNodeId(e),i=l.getNodeId(a);(!a||s[i]&&c[i])&&(s[o]=1,d.push(e))},{children:l.computeMapChildrenField}),l.updateScrollYStatus(d),e.afterVisibleList=d):e.afterVisibleList},handleData:function(e){var r=this,t=r.reactData,n=r.internalData,a=t.scrollYLoad,o=n.scrollYStore,i=n.nodeMaps,n=n.afterVisibleList,e=(e&&(r.updateAfterFullData(),n=r.handleTreeToList()),a?n.slice(o.startIndex,o.endIndex):n.slice(0));e.forEach(function(e,t){e=r.getNodeId(e),e=i[e];e&&(e.$index=t)}),t.treeList=e},triggerSearchEvent:_xeUtils.default.debounce(function(){this.handleData(!0)},350,{trailing:!0}),loadData:function(e){var t=this,r=t,n=t.internalData,a=r.expandAll,o=r.expandNodeKeys,i=n.initialized,d=n.scrollYStore,l=r.transform?_xeUtils.default.toArrayTree(e,{key:t.computeKeyField,parentKey:t.computeParentField,mapChildren:t.computeChildrenField,rootParentValue:r.rootParentValue,rootValues:r.rootValues}):e?e.slice(0):[],d=(n.treeFullData=l,Object.assign(d,{startIndex:0,endIndex:1,visibleSize:0}),t.updateScrollYStatus(l));return t.cacheNodeMap(),t.handleData(!0),!d||r.height||r.maxHeight||errLog("vxe.error.reqProp",["height | max-height | virtual-y-config.enabled=false"]),t.computeScrollLoad().then(function(){i||e&&e.length&&(n.initialized=!0,a?t.setAllExpandNode(!0):o&&o.length&&t.setExpandByNodeId(o,!0),t.handleSetCheckboxByNodeId(r.checkNodeKeys||[],!0)),t.updateHeight(),t.refreshScroll()})},updateScrollYStatus:function(e){var t=this.reactData,r=this.internalData,n=this.transform,a=this.computeVirtualYOpts,e=e||r.treeFullData,r=!!n&&!!a.enabled&&-1<a.gt&&(0===a.gt||a.gt<e.length);return t.scrollYLoad=r},updateYSpace:function(){var e=this.reactData,t=this.internalData,r=e.scrollYLoad,n=t.scrollYStore;e.bodyHeight=r?t.afterVisibleList.length*n.rowHeight:0,e.topSpaceHeight=r?Math.max(n.startIndex*n.rowHeight,0):0},updateYData:function(){this.handleData(),this.updateYSpace()},computeScrollLoad:function(){var i=this,d=i.reactData,l=i.internalData;return i.$nextTick().then(function(){var e,t=d.scrollYLoad,r=l.scrollYStore,n=i.$refs.refVirtualBody,a=i.computeVirtualYOpts,o=0;(e=n?e||n.children[0]:e)&&(o=e.offsetHeight),o=Math.max(20,o),r.rowHeight=o,t?(n=i.$refs.refVirtualWrapper,e=Math.max(8,n?Math.ceil(n.clientHeight/o):0),t=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),r.offsetSize=t,r.visibleSize=e,r.endIndex=Math.max(r.startIndex,e+t,r.endIndex),i.updateYData()):i.updateYSpace()})},scrollTo:function(e,t){return handleScrollTo(this,e,t)},scrollToNode:function(e){return this.scrollToNodeId(this.getNodeId(e))},scrollToNodeId:function(t){var r=this,n=r.internalData,e=r.transform,a=n.scrollYStore,o=r.$refs.refVirtualWrapper;if(t&&o)if(e){e=_xeUtils.default.findTree(n.afterTreeList,function(e){return r.getNodeId(e)===t},{children:e?r.computeMapChildrenField:r.computeChildrenField});if(e)return r.setExpandNode(e.nodes,!0).then(function(){var e=_xeUtils.default.findIndexOf(n.afterVisibleList,function(e){return r.getNodeId(e)===t});if(-1<e)return e=Math.max(0,(e-1)*a.rowHeight),handleScrollTo(r,o.scrollLeft,e)})}else{e=o.querySelector('.vxe-tree--node-wrapper[nodeid="'.concat(t,'"]'));if(e)return handleScrollTo(r,o.scrollLeft,e.offsetTop)}return r.recalculate()},refreshScroll:function(){var e=this.internalData,t=e.lastScrollLeft,r=e.lastScrollTop;return this.clearScroll().then(function(){if(t||r)return e.lastScrollLeft=0,e.lastScrollTop=0,scrollTo(t,r)})},recalculate:function(){var e,t,r,n=this,a=n.reactData,o=n.internalData.scrollYStore.rowHeight,i=n.$refs.refElem;return i&&i.clientWidth&&i.clientHeight?(i=n.getParentElem(),e=n.$refs.refHeaderWrapperElem,t=n.$refs.refFooterWrapperElem,e=e?e.clientHeight:0,t=t?t.clientHeight:0,i&&(r=(0,_dom.getPaddingTopBottomSize)(i),a.parentHeight=Math.max(e+t+o,i.clientHeight-r-e-t)),n.updateHeight(),n.computeScrollLoad().then(function(){n.updateHeight(),n.updateYSpace()})):n.$nextTick()},getFullData:function(){return this.internalData.treeFullData.slice(0)},loadYData:function(){var e,t=this.internalData.scrollYStore,r=t.startIndex,n=t.endIndex,a=t.visibleSize,o=t.offsetSize,i=this.$refs.refVirtualWrapper;i&&(i=i.scrollTop,i=Math.floor(i/t.rowHeight),e=Math.max(0,i-1-o),o=i+a+o,!(i<=r||n-a-1<=i)||r===e&&n===o||(t.startIndex=e,t.endIndex=o,this.updateYData()))},scrollEvent:function(e){var t=this.reactData,r=this.internalData,n=e.target,a=n.scrollTop,n=n.scrollLeft,o=n!==r.lastScrollLeft,i=a!==r.lastScrollTop;r.lastScrollTop=a,r.lastScrollLeft=n,t.scrollYLoad&&this.loadYData(),r.lastScrollTime=Date.now(),this.dispatchEvent("scroll",{scrollLeft:n,scrollTop:a,isX:o,isY:i},e)},clearScroll:function(){var e=this.internalData,t=this.$refs.refVirtualWrapper;return t&&(t.scrollTop=0,t.scrollLeft=0),e.lastScrollTop=0,e.lastScrollLeft=0,this.$nextTick()},handleNodeMousedownEvent:function(e,t){var r=this,n=r.internalData,a=r.drag,n=n.nodeMaps,o=e.currentTarget,i=r.computeDragOpts,d=i.trigger,l=i.isCrossDrag,c=i.isPeerDrag,i=i.disabledMethod,s=r.getNodeId(t),a=a?"node"===d:!1;(0,_dom.getEventTargetNode)(e,o,"vxe-tree--node-item-switcher").flag||(d=n[s],!a)||!(l||c||d&&!d.level)||i&&i({node:t,$tree:r})||r.handleNodeDragMousedownEvent(e,{node:t})},handleNodeClickEvent:function(e,t){var r=this,n=r.reactData,a=r.showRadio,o=r.showCheckbox,i=r.trigger,d=r.computeRadioOpts,l=r.computeCheckboxOpts,c=!1,s=!1,u=!1,h=!1;r.computeIsRowCurrent?(c=!0,r.changeCurrentEvent(e,t)):n.currentNode&&(n.currentNode=null),"node"===i&&(h=!0,r.toggleExpandEvent(e,t)),a&&"node"===d.trigger&&(s=!0,r.changeRadioEvent(e,t)),o&&"node"===l.trigger&&(u=!0,r.changeCheckboxEvent(e,t)),r.dispatchEvent("node-click",{node:t,triggerCurrent:c,triggerRadio:s,triggerCheckbox:u,triggerExpand:h},e)},handleNodeDblclickEvent:function(e,t){this.dispatchEvent("node-dblclick",{node:t},e)},handleContextmenuEvent:function(n,a){var o=this,e=o.reactData,t=o.menuConfig,r=o.computeIsRowCurrent,i=o.computeMenuOpts;(t?(0,_utils.isEnableConf)(i):i.enabled)&&(t=i.options,(i=i.visibleMethod)&&!i({$tree:o,options:t,node:a})||(r?o.changeCurrentEvent(n,a):e.currentNode&&(e.currentNode=null),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(n,{options:t,events:{optionClick:function(e){var t=e.option,r=menus.get(t.code),r=r?r.treeMenuMethod:null,t={menu:t,node:a,$event:n,$tree:o,option:t};r&&r(t,n),o.dispatchEvent("menu-click",t,e.$event)}}}))),o.dispatchEvent("node-menu",{node:a},n)},handleAsyncTreeExpandChilds:function(o){var i=this,d=i.reactData,l=i.internalData,r=i.loadMethod,c=i.computeCheckboxOpts.checkStrictly;return new Promise(function(e){var t,n,a;r?(t=l.nodeMaps,n=i.getNodeId(o),a=t[n],l.treeExpandLazyLoadedMaps[n]=!0,Promise.resolve(r({$tree:i,node:o})).then(function(r){var e=l.treeExpandLazyLoadedMaps;if(a.treeLoaded=!0,e[n]&&(e[n]=!1),r=_xeUtils.default.isArray(r)?r:[])return i.loadChildrenNode(o,r).then(function(e){var t=l.treeExpandedMaps;return e.length&&!t[n]&&(t[n]=!0),d.updateExpandedFlag++,!c&&i.isCheckedByCheckboxNodeId(n)&&i.handleCheckedCheckboxNode(e,!0),i.dispatchEvent("load-success",{node:o,data:r},new Event("load-success")),i.$nextTick()});i.dispatchEvent("load-success",{node:o,data:r},new Event("load-success"))}).catch(function(e){var t=l.treeExpandLazyLoadedMaps;a.treeLoaded=!1,t[n]&&(t[n]=!1),i.dispatchEvent("load-error",{node:o,data:e},new Event("load-error"))}).finally(function(){return i.handleTreeToList(),i.handleData(),i.recalculate()})):e()})},handleBaseTreeExpand:function(e,t){var n=this,r=n.reactData,a=n.internalData,o=n.lazy,i=n.accordion,d=n.toggleMethod,l=a.treeExpandLazyLoadedMaps,c=a.treeExpandedMaps,s=a.nodeMaps,u=n.computeChildrenField,h=n.computeHasChildField,p=[],a=d?e.filter(function(e){return d({$tree:n,expanded:t,node:e})}):e,f=(i&&(a=a.length?[a[a.length-1]]:[],e=n.getNodeId(a[0]),i=s[e])&&i.items.forEach(function(e){e=n.getNodeId(e);c[e]&&delete c[e]}),[]);return t?a.forEach(function(e){var t,r=n.getNodeId(e);c[r]||(t=s[r],o&&e[h]&&!t.treeLoaded&&!l[r]?p.push(n.handleAsyncTreeExpandChilds(e)):e[u]&&e[u].length&&(c[r]=!0,f.push(e)))}):a.forEach(function(e){var t=n.getNodeId(e);c[t]&&(delete c[t],f.push(e))}),r.updateExpandedFlag++,n.handleTreeToList(),n.handleData(),Promise.all(p).then(function(){return n.recalculate()})},toggleExpandEvent:function(e,t){var r=this,n=r.internalData,a=r.lazy,o=n.treeExpandedMaps,n=n.treeExpandLazyLoadedMaps,i=r.getNodeId(t),o=!o[i];e.stopPropagation(),a&&n[i]||r.handleBaseTreeExpand([t],o),r.dispatchEvent("node-expand",{node:t,expanded:o},e)},updateCheckboxStatus:function(){var n,a,d=this,e=d.reactData,t=d.internalData,r=d.transform,l=t.selectCheckboxMaps,c=t.indeterminateRowMaps,o=d.computeChildrenField,i=d.computeCheckboxOpts,s=i.checkStrictly,u=i.checkMethod;s||(n={},a=[],_xeUtils.default.eachTree(t.afterTreeList,function(e){var t=d.getNodeId(e),r=e[o];r&&r.length&&!n[t]&&(n[t]=1,a.unshift([e,t,r]))},{children:r?d.computeMapChildrenField:o}),a.forEach(function(e){var t=e[0],r=e[1],e=e[2],n=0,a=0,o=0,i=e.length,e=(e.forEach(u?function(e){var t=d.getNodeId(e),r=l[t];u({$tree:d,node:e})?(r?n++:c[t]&&a++,o++):r?n++:c[t]&&a++}:function(e){e=d.getNodeId(e);l[e]?n++:c[e]&&a++,o++}),!1),i=!(e=0<i?0<o?(0<n||0<a)&&o<=n:0<n&&o<=n||!!l[r]:l[r])&&(0<n||0<a);e?(l[r]=t,c[r]&&delete c[r]):(l[r]&&delete l[r],i?c[r]=t:c[r]&&delete c[r])}),e.updateCheckboxFlag++)},changeCheckboxEvent:function(e,t){var r,n=this,a=n,o=n.reactData,i=n.internalData,a=(e.preventDefault(),e.stopPropagation(),a.transform),d=i.selectCheckboxMaps,i=i.nodeMaps,l=n.computeChildrenField,c=n.computeMapChildrenField,s=n.computeCheckboxOpts,u=s.checkStrictly,h=s.checkMode,s=s.checkMethod,p=n.getNodeId(t),f=_xeUtils.default.get(t,l),f=f&&0<f.length,i=(i[p]||{}).level;(s?s({$tree:n,node:t}):handleVisibleOrCheckMode(h,f,i))&&(r=!1,d[p]?delete d[p]:(r=!0,d[p]=t),u||_xeUtils.default.eachTree(_xeUtils.default.get(t,a?c:l),function(e){e=n.getNodeId(e);r?d[e]||(d[e]=!0):d[e]&&delete d[e]},{children:a?c:l}),o.updateCheckboxFlag++,n.updateCheckboxStatus(),s=_xeUtils.default.keys(d).map(_utils.deModelValue),n.emitCheckboxMode(s),n.dispatchEvent("checkbox-change",{node:t,value:s,checked:r},e))},changeCurrentEvent:function(e,t){var r=this.reactData,n=(e.preventDefault(),this.computeNodeOpts),a=n.currentMethod,n=n.trigger,o=this.computeChildrenField,o=_xeUtils.default.get(t,o),o=o&&o.length,i=!!a;if("child"===n){if(o)return}else if("parent"===n&&!o)return;(i=a?!a({node:t}):i)||(r.currentNode=t,this.dispatchEvent("current-change",{node:t,checked:!0},e))},changeRadioEvent:function(e,t){var r=this,n=r.reactData,a=r.internalData,a=(e.preventDefault(),e.stopPropagation(),a.nodeMaps),o=r.computeRadioOpts,i=r.computeChildrenField,d=o.checkMode,o=o.checkMethod,l=r.getNodeId(t),i=_xeUtils.default.get(t,i),i=i&&0<i.length,a=(a[l]||{}).level;(o?o({$tree:r,node:t}):handleVisibleOrCheckMode(d,i,a))&&(o=(0,_utils.deModelValue)(l),n.selectRadioKey=l,r.emitRadioMode(o),r.dispatchEvent("radio-change",{node:t,value:o,checked:!0},e))},handleGlobalResizeEvent:function(){var e=this.$refs.refElem;e&&e.clientWidth&&this.recalculate()},reloadData:function(e){return this.loadData(e||[])},clearCurrentNode:function(){return this.reactData.currentNode=null,this.$nextTick()},getCurrentNodeId:function(){var e=this.reactData.currentNode;return e?(0,_utils.deModelValue)(this.getNodeId(e)):null},getCurrentNode:function(){var e=this.reactData,t=this.internalData,e=e.currentNode,t=t.nodeMaps;if(e){t=t[this.getNodeId(e)];if(t)return t.item}return null},setCurrentNodeId:function(e){var t=this.reactData,e=this.internalData.nodeMaps[(0,_utils.enModelValue)(e)];return t.currentNode=e?e.item:null,this.$nextTick()},setCurrentNode:function(e){return this.reactData.currentNode=e,this.$nextTick()},clearRadioNode:function(){return this.reactData.selectRadioKey=null,this.emitRadioMode(null),this.$nextTick()},getRadioNodeId:function(){return this.reactData.selectRadioKey||null},getRadioNode:function(){var e=this.reactData,t=this.internalData,e=e.selectRadioKey,t=t.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},setRadioNodeId:function(e){return this.reactData.selectRadioKey=(0,_utils.enModelValue)(e),this.emitRadioMode(e),this.$nextTick()},getCheckboxNodeIds:function(){var e=this.internalData.selectCheckboxMaps,r=[];return _xeUtils.default.each(e,function(e,t){r.push((0,_utils.deModelValue)(t))}),r},getCheckboxNodes:function(){var e=this.internalData,r=e.nodeMaps,n=[];return _xeUtils.default.each(e.selectCheckboxMaps,function(e,t){t=r[t];t&&n.push(t.item)}),n},clearCheckboxNode:function(){var e=this,t=e.reactData,r=e.internalData;return r.indeterminateRowMaps={},r.selectCheckboxMaps={},t.updateCheckboxFlag++,e.updateCheckboxStatus(),e.emitCheckboxMode([]),e.$nextTick().then(function(){return{checkNodeKeys:[],checkNodes:[]}})},setAllCheckboxNode:function(e){var r=this,t=r.reactData,n=r.internalData,a=r.transform,o={},i=[],d=[];return e&&_xeUtils.default.eachTree(n.afterTreeList,function(e){var t=r.getNodeId(e);i.push(t),d.push(e),o[t]=!0},{children:a?r.computeMapChildrenField:r.computeChildrenField}),n.indeterminateRowMaps={},n.selectCheckboxMaps=o,t.updateCheckboxFlag++,r.updateCheckboxStatus(),r.$nextTick().then(function(){return{checkNodeKeys:i,checkNodes:d}})},clearExpandNode:function(){return this.clearAllExpandNode()},clearAllExpandNode:function(){var e=this,t=e.reactData,r=e.internalData,n=t.scrollYLoad,a=r.nodeMaps,o=r.scrollYStore;return _xeUtils.default.each(a,function(e){e.treeLoaded=!1}),r.treeExpandedMaps={},t.updateExpandedFlag++,t.topSpaceHeight=0,o.startIndex=0,o.endIndex=1,e.handleTreeToList(),e.handleData(),e.recalculate().then(function(){return n&&e.loadYData(),e.recalculate()})},setExpandByNodeId:function(e,t){var r=this,n=r.reactData,a=r.internalData.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){handleSetExpand((0,_utils.enModelValue)(e),t,a)}),n.updateExpandedFlag++),r.handleTreeToList(),r.handleData(),r.recalculate()},getExpandNodeIds:function(){var e=this.internalData.treeExpandedMaps,r=[];return _xeUtils.default.each(e,function(e,t){r.push((0,_utils.deModelValue)(t))}),r},getExpandNodes:function(){var e=this.internalData,r=e.nodeMaps,n=[];return _xeUtils.default.each(e.treeExpandedMaps,function(e,t){t=r[t];t&&n.push(t.item)}),n},setExpandNode:function(e,t){var r=this,n=r.reactData,a=r.internalData.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){handleSetExpand(r.getNodeId(e),t,a)}),n.updateExpandedFlag++),r.handleTreeToList(),r.handleData(),r.recalculate()},toggleExpandByNodeId:function(e){var t=this,r=t.reactData,n=t.internalData.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){e=(0,_utils.enModelValue)(e);handleSetExpand(e,!n["".concat(e)],n)}),r.updateExpandedFlag++),t.handleTreeToList(),t.handleData(),t.recalculate()},toggleExpandNode:function(e){var t=this,r=t.reactData,n=t.internalData.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){e=t.getNodeId(e);handleSetExpand(e,!n[e],n)}),r.updateExpandedFlag++),t.handleTreeToList(),t.handleData(),t.recalculate()},setAllExpandNode:function(e){var r=this,t=r.reactData,n=r.internalData,a=r.transform,o=t.scrollYLoad,i=n.scrollYStore,d=n.treeExpandedMaps,l=r.computeChildrenField;return e?_xeUtils.default.eachTree(n.afterTreeList,function(e){var t=_xeUtils.default.get(e,l);t&&t.length&&(t=r.getNodeId(e),d[t]=!0)},{children:a?r.computeMapChildrenField:l}):n.treeExpandedMaps={},t.updateExpandedFlag++,i.startIndex=t.topSpaceHeight=0,i.endIndex=1,r.handleTreeToList(),r.handleData(),r.recalculate().then(function(){return o&&r.loadYData(),r.recalculate()})},reloadExpandNode:function(e){return this.lazy?(this.clearExpandLoaded(e),this.handleAsyncTreeExpandChilds(e)):this.recalculate()},clearExpandLoaded:function(e){var t=this.internalData,r=this.lazy,t=t.nodeMaps;return r&&(r=t[this.getNodeId(e)])&&(r.treeLoaded=!1),this.recalculate()},loadChildrenNode:function(t,e){var r,n,d,l,c,s=this,a=s.internalData,o=s.lazy,i=s.transform,u=a.nodeMaps;return o?(r=s.computeChildrenField,n=s.computeMapChildrenField,d=u[s.getNodeId(t)],l=d?d.level:0,c=d?d.nodes:[],s.createNode(e).then(function(e){return _xeUtils.default.eachTree(e,function(e,t,r,n,a,o){var i=s.getNodeId(e);u[i]={item:e,index:-1,$index:-1,_index:-1,items:r,parent:a||d.item,nodes:c.concat(o),level:l+o.length,treeIndex:-1,lineCount:0,treeLoaded:!1}},{children:r}),t[r]=e,i&&(t[n]=e),s.updateAfterDataIndex(),e})):Promise.resolve([])},findNodeIndexOf:function(e,t){var r=this;return t?_xeUtils.default.findIndexOf(e,function(e){return r.eqNode(e,t)}):-1},eqNode:function(e,t){return!(!e||!t||e!==t&&this.getNodeId(e)!==this.getNodeId(t))},handleCrossTreeNodeDragCancelEvent:function(){clearNodeDragData(this),clearCrossTreeDragStatus(this)},handleCrossTreeNodeDragFinishEvent:function(){},handleCrossTreeNodeDragInsertEvent:function(){},handleCrossTreeNodeDragoverEmptyEvent:function(){},hideCrossTreeNodeDropClearStatus:function(){hideDropTip(this)},getCheckboxIndeterminateNodes:function(){var e=this.internalData,r=e.nodeMaps,n=[];return _xeUtils.default.each(e.indeterminateRowMaps,function(e,t){t=r[t];t&&n.push(t.item)}),n},handleNodeDragMousedownEvent:function(e,t){var r=this,n=r.reactData,a=(e.stopPropagation(),t.node),o=r.computeDragOpts,i=o.trigger,o=o.dragStartMethod,d=e.currentTarget,i="node"===i?d:d.parentElement.parentElement;clearNodeDropOrigin(r),o&&!o(t)?(i.draggable=!1,n.dragNode=null,hideDropTip(r)):(n.dragNode=a,i.draggable=!0,updateNodeDropOrigin(r,a),updateRowDropTipContent(r,i),r.dispatchEvent("node-dragstart",t,e))},handleNodeDragMouseupEvent:function(){clearDragStatus(this)},handleNodeDragDragstartEvent:function(e){e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},handleNodeDragDragendEvent:function(e){var t=this,r=t.reactData,n=t.internalData,a=t.lazy,r=r.dragNode,o=n.nodeMaps,i=n.prevDragNode,d=n.prevDragPos,n=n.prevDragToChild,l=t.computeHasChildField;a&&n&&(a=o[t.getNodeId(i)],i[l])&&(!a||!a.treeLoaded)||handleNodeDragSwapEvent(t,e,r,i,d,n)},handleNodeDragDragoverEvent:function(e){var t,r,n=this,a=n.reactData,o=n.internalData,i=n.lazy,d=n.transform,a=a.dragNode,l=o.nodeMaps,c=n.computeDragOpts,s=n.computeParentField,u=n.computeHasChildField,h=c.isCrossDrag,p=c.isPeerDrag,c=c.isToChildDrag,f=(a||h||e.preventDefault(),(0,_dom.hasControlKey)(e)),g=e.currentTarget,x=g.getAttribute("nodeid")||"",l=l[x];l&&(e.preventDefault(),t=l.item,r=e.clientY-g.getBoundingClientRect().y<g.clientHeight/2?"top":"bottom",o.prevDragToChild=!!(d&&h&&c&&f),o.prevDragNode=t,o.prevDragPos=r,a&&n.getNodeId(a)===x||f&&i&&t[u]&&l&&!l.treeLoaded||!h&&d&&(p?a[s]!==t[s]:l.level)?showDropTip(n,e,g,!1,r):(showDropTip(n,e,g,!0,r),n.dispatchEvent("node-dragover",{oldRNode:a,targetNode:t,dragPos:r},e)))},renderDragIcon:function(e,t,r){var n=this,a=n.internalData,o=n.drag,a=a.nodeMaps,i=n.computeDragOpts,d=i.showIcon,l=i.isPeerDrag,c=i.isCrossDrag,i=i.visibleMethod,s={node:t,$tree:n};if(o&&d&&n.transform&&(!i||i(s))){var u,t=a[r];if(t&&(l||c||!t.level))return d=(o=n.computeDragOpts).icon,i=o.trigger,u=(a=o.disabledMethod)&&a(s),r={},"node"!==i&&(r.mousedown=function(e){u||n.handleNodeDragMousedownEvent(e,s)},r.mouseup=n.handleNodeDragMouseupEvent),e("div",{class:["vxe-tree--drag-handle",{"is--disabled":u}],on:r},[e("i",{class:d||getIcon().TREE_DRAG})])}return(0,_ui.renderEmptyElement)(n)},renderRadio:function(e,t,r,n,a,o){var i,d=this,l=d.showRadio,c=d.computeRadioOpts,s=c.showIcon,u=c.checkMode,h=c.checkMethod,p=c.visibleMode,c=c.visibleMethod,c=c?c({$tree:d,node:t}):handleVisibleOrCheckMode(p,n,a);return l&&s&&c?e("div",{class:["vxe-tree--radio-option",{"is--checked":o,"is--disabled":i=h?!h({$tree:d,node:t}):!handleVisibleOrCheckMode(u,n,a)}],on:{click:function(e){i||d.changeRadioEvent(e,t)}}},[e("span",{class:["vxe-radio--icon",o?getIcon().RADIO_CHECKED:getIcon().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(d)},renderCheckbox:function(e,t,r,n,a,o,i){var d,l=this,c=l.showCheckbox,s=l.computeCheckboxOpts,u=s.showIcon,h=s.checkMode,p=s.checkMethod,f=s.visibleMode,s=s.visibleMethod,s=s?s({$tree:l,node:t}):handleVisibleOrCheckMode(f,n,a);return c&&u&&s?e("div",{class:["vxe-tree--checkbox-option",{"is--checked":o,"is--indeterminate":i,"is--disabled":d=p?!p({$tree:l,node:t}):!handleVisibleOrCheckMode(h,n,a)}],on:{click:function(e){d||l.changeCheckboxEvent(e,t)}}},[e("span",{class:["vxe-checkbox--icon",i?getIcon().CHECKBOX_INDETERMINATE:o?getIcon().CHECKBOX_CHECKED:getIcon().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(l)},renderNode:function(e,t,r){var n=this,a=n.$scopedSlots,o=n.reactData,i=n.internalData,d=n.lazy,l=n.drag,c=n.transform,s=n.showRadio,u=n.showCheckbox,h=n.showLine,p=n.iconOpen,f=n.iconClose,g=n.iconLoaded,x=n.showIcon,m=o.currentNode,v=o.selectRadioKey,o=o.updateExpandedFlag,C=i.afterTreeList,D=i.nodeMaps,N=i.treeExpandedMaps,i=i.treeExpandLazyLoadedMaps,y=n.computeTitleField,E=n.computeHasChildField,b=_xeUtils.default.get(t,n.computeChildrenField),b=b&&0<b.length,_=a.icon,T=a.title,a=a.extra,o=o&&N[r],N=D[r]||{},D=_xeUtils.default.get(t,y),y=N.level,I=!1,s=(s&&(I=r===String(v)),!1),v=!1,u=(u&&(s=n.isCheckedByCheckboxNodeId(r),v=n.isIndeterminateByCheckboxNodeid(r)),!1),k=!1,M=!1,i=(d&&(k=!!i[r],u=t[E],M=!!N.treeLoaded),N.items[N.treeIndex-1]),E={node:t,isExpand:o},N={mousedown:function(e){n.handleNodeMousedownEvent(e,t)},mouseup:n.handleNodeDragMouseupEvent,click:function(e){n.handleNodeClickEvent(e,t)},dblclick:function(e){n.handleNodeDblclickEvent(e,t)},contextmenu:function(e){n.handleContextmenuEvent(e,t)}};return l&&c&&(N.dragstart=n.handleNodeDragDragstartEvent,N.dragend=n.handleNodeDragDragendEvent,N.dragover=n.handleNodeDragDragoverEvent),e("div",{key:r,class:["vxe-tree--node-wrapper","node--level-".concat(y)],attrs:{nodeid:r},on:N},[e("div",{class:["vxe-tree--node-item",{"is--current":m&&r===n.getNodeId(m),"is-radio--checked":I,"is-checkbox--checked":s,"is-checkbox--indeterminate":v}]},[h?e("div",{class:"vxe-tree--node-line-wrapper"},[e("div",{class:"vxe-tree--node-line",style:{height:"".concat(n.getNodeId(C[0])===r?1:(0,_util.calcTreeLine)(n,t,i),"px")}})]):(0,_ui.renderEmptyElement)(n),e("div",{class:"vxe-tree--node-item-switcher"},x&&(!d||M?b:u)?[e("div",{class:"vxe-tree--node-item-icon",on:{click:function(e){n.toggleExpandEvent(e,t)}}},_?(0,_vn.getSlotVNs)(_(E)):[e("i",{class:k?g||getIcon().TREE_NODE_LOADED:o?p||getIcon().TREE_NODE_OPEN:f||getIcon().TREE_NODE_CLOSE})])]:[]),n.renderDragIcon(e,t,r),n.renderRadio(e,t,r,b,y,I),n.renderCheckbox(e,t,r,b,y,s,v),e("div",{class:"vxe-tree--node-item-inner"},[e("div",{class:"vxe-tree--node-item-title"},T?(0,_vn.getSlotVNs)(T(E)):"".concat(D)),a?e("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(a(E))):(0,_ui.renderEmptyElement)(n)])])])},renderList:function(r,e){var n,a=this,t=a.internalData,o=a.transform,i=t.treeExpandedMaps,d=a.computeChildrenField;return e.length?(n=[],e.forEach(o?function(e){var t=a.getNodeId(e);n.push(a.renderNode(r,e,t))}:function(e){var t=a.getNodeId(e),e=(n.push(a.renderNode(r,e,t)),_xeUtils.default.get(e,d));e&&e.length&&i[t]&&n.push.apply(n,_toConsumableArray(a.renderList(r,e)))}),n):[r("div",{class:"vxe-tree--empty-placeholder"},getI18n("vxe.tree.searchEmpty"))]},renderDragTip:function(e){var t=this,r=t.reactData,n=t.drag,a=r.dragNode,r=r.dragTipText,o=t.computeDragOpts;return n?e("div",{class:"vxe-tree--drag-wrapper"},[e("div",{ref:"refDragNodeLineElem",class:["vxe-tree--drag-node-line",{"is--guides":o.showGuidesStatus}]}),a&&o.showDragTip?e("div",{ref:"refDragTipElem",class:"vxe-tree--drag-sort-tip"},[e("div",{class:"vxe-tree--drag-sort-tip-wrapper"},[e("div",{class:"vxe-tree--drag-sort-tip-status"},[e("span",{class:["vxe-tree--drag-sort-tip-normal-status",getIcon().TREE_DRAG_STATUS_NODE]}),e("span",{class:["vxe-tree--drag-sort-tip-sub-status",getIcon().TREE_DRAG_STATUS_SUB_NODE]}),e("span",{class:["vxe-tree--drag-sort-tip-disabled-status",getIcon().TREE_DRAG_DISABLED]})]),e("div",{class:"vxe-tree--drag-sort-tip-content"},r)])]):(0,_ui.renderEmptyElement)(t)]):(0,_ui.renderEmptyElement)(t)},renderVN:function(e){var t=this,r=t.$scopedSlots,n=t.reactData,a=t.loading,o=t.trigger,i=t.showLine,d=n.bodyHeight,l=n.topSpaceHeight,n=n.treeList,c=t.computeSize,s=t.computeRadioOpts,u=t.computeCheckboxOpts,h=t.computeLoadingOpts,p=t.computeIsRowHover,f=t.computeTreeStyle,g=r.loading,x=r.header,r=r.footer;return e("div",{ref:"refElem",class:["vxe-tree",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"show--line",i),"checkbox--highlight",u.highlight),"radio--highlight",s.highlight),"node--hover",p),"node--trigger","node"===o),"is--loading",a)]},[x?e("div",{ref:"refHeaderWrapperElem",class:"vxe-tree--header-wrapper"},x({$tree:t})):(0,_ui.renderEmptyElement)(t),e("div",{ref:"refVirtualWrapper",class:"vxe-tree--node-list-wrapper",style:f,on:{scroll:t.scrollEvent}},[e("div",{class:"vxe-tree--y-space",style:{height:d?"".concat(d,"px"):""}}),e("div",{ref:"refVirtualBody",class:"vxe-tree--node-list-body",style:{transform:"translateY(".concat(l,"px)")}},t.renderList(e,n))]),r?e("div",{ref:"refFooterWrapperElem",class:"vxe-tree--footer-wrapper"},r({$tree:t})):(0,_ui.renderEmptyElement)(t),t.renderDragTip(e),e(_loading.default,{class:"vxe-tree--loading",props:{value:a,icon:h.icon,text:h.text},scopedSlots:g?{default:function(){return g({$tree:t})}}:{}})])}},watch:{data:function(){this.dataFlag++},rootParentValue:function(){this.dataFlag++},rootValues:function(){this.dataFlag++},dataFlag:function(){this.loadData(this.data||[])},checkNodeKey:function(e){this.reactData.selectRadioKey=(0,_utils.enModelValue)(e)},checkNodeKeys:function(){this.updateCheckboxChecked(this.checkNodeKeys||[])},filterValue:function(){this.triggerSearchEvent(new Event("filter"))},height:function(){this.hFlag++},minHeight:function(){this.hFlag++},maxHeight:function(){this.hFlag++},hFlag:function(){this.recalculate()}},created:function(){var e=this.reactData;this.internalData=createInternalData(),e.selectRadioKey=(0,_utils.enModelValue)(this.checkNodeKey),this.loadData(this.data||[])},mounted:function(){var e=this,t=e,r=e.internalData,n=t.transform,a=t.menuConfig,o=e.computeDragOpts,n=(t.drag&&!n&&errLog("vxe.error.notSupportProp",["drag","transform=false","transform=true"]),o.isCrossTreeDrag&&errLog("vxe.error.notProp",["drag-config.isCrossTreeDrag"]),_ui.VxeUI.getComponent("VxeContextMenu"));a&&!n&&errLog("vxe.error.reqComp",["vxe-context-menu"]),t.autoResize&&(o=e.$refs.refElem,a=e.getParentElem(),n=_ui.globalResize.create(function(){t.autoResize&&e.recalculate()}),o&&n.observe(o),a&&n.observe(a),r.resizeObserver=n),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this.reactData,t=this.internalData,r=t.resizeObserver;r&&r.disconnect(),_ui.globalEvents.off(this,"resize"),_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render:function(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_log=require("../../ui/src/log"),_vn=require("../../ui/src/vn"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_anime=require("../../ui/src/anime"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}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.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}var _createComponentLog=(0,_log.createComponentLog)("tree"),warnLog=_createComponentLog.warnLog,errLog=_createComponentLog.errLog,menus=_ui.VxeUI.menus,getConfig=_ui.VxeUI.getConfig,getI18n=_ui.VxeUI.getI18n,getIcon=_ui.VxeUI.getIcon;function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function handleSetExpand(e,t,r){t?r[e]||(r[e]=!0):r[e]&&delete r[e]}function handleScrollTo(t,e,r){var n=t.reactData,a=t.$refs.refVirtualWrapper;return e&&!_xeUtils.default.isNumber(e)&&(r=e.top,e=e.left),a&&(_xeUtils.default.isNumber(e)&&(a.scrollLeft=e),_xeUtils.default.isNumber(r))&&(a.scrollTop=r),n.scrollYLoad?new Promise(function(e){setTimeout(function(){t.$nextTick(function(){e()})},50)}):t.$nextTick()}function clearNodeDropOrigin(e){var t,e=e.$refs.refElem;e&&_xeUtils.default.arrayEach(e.querySelectorAll(".".concat(t="node--drag-origin")),function(e){(e.draggable=!1,_dom.removeClass)(e,t)})}function updateNodeDropOrigin(e,t){var r=e.$refs.refElem;r&&(e=e.getNodeId(t),_xeUtils.default.arrayEach(r.querySelectorAll('.vxe-tree--node-wrapper[nodeid="'.concat(e,'"]')),function(e){(0,_dom.addClass)(e,"node--drag-origin")}))}function updateRowDropTipContent(e,t){var r=e.reactData,n=r.dragNode,a=e.computeDragOpts.tooltipMethod,o="";o=a?"".concat(a({$tree:e,node:n})||""):getI18n("vxe.tree.dragTip",[t.textContent||""]),r.dragTipText=o}function hideDropTip(e){var t=e.$refs.refDragTipElem,e=e.$refs.refDragNodeLineElem;t&&(t.style.display=""),e&&(e.style.display="")}function clearCrossTreeDragStatus(e){(0,_store.getCrossTreeDragNodeInfo)(e).node=null}function clearDragStatus(e){var t=e.reactData;t.dragNode&&(hideDropTip(e),clearNodeDropOrigin(e),clearCrossTreeDragStatus(e),t.dragNode=null)}function showDropTip(e,t,r,n,a){var o,i,d,l,s=e.internalData,c=e.$refs.refElem;c&&(s=s.prevDragToChild,o=c.getBoundingClientRect(),l=c.clientHeight,r&&(i=e.$refs.refDragNodeLineElem)&&(n?(d=r.getBoundingClientRect(),r=r.clientHeight,l<(d=Math.max(1,d.y-o.y))+r&&(r=l-d),i.style.display="block",i.style.top="".concat(d,"px"),i.style.height="".concat(r,"px"),i.setAttribute("drag-pos",a),i.setAttribute("drag-to-child",s?"y":"n")):i.style.display=""),l=e.$refs.refDragTipElem)&&(l.style.display="block",l.style.top="".concat(Math.min(c.clientHeight-c.scrollTop-l.clientHeight,t.clientY-o.y),"px"),l.style.left="".concat(Math.min(c.clientWidth-c.scrollLeft-l.clientWidth-1,t.clientX-o.x),"px"),l.setAttribute("drag-status",n?s?"sub":"normal":"disabled"))}function clearNodeDragData(e){var t=e.reactData,r=e.internalData,n=e.$refs.refElem;hideDropTip(e),clearNodeDropOrigin(e),(0,_anime.clearRowAnimate)(n,[".vxe-tree--node-wrapper"]),r.prevDragToChild=!1,t.dragNode=null}function handleNodeDragSwapEvent(c,r,n,a,o,e){var u=c.reactData,h=c.internalData,i=c.transform,t=h.nodeMaps,d=h.treeFullData,l=h.afterVisibleList,s=c.computeDragOpts,p=s.animation,f=s.isCrossDrag,R=s.isPeerDrag,g=s.isSelfToChildDrag,x=s.dragToChildMethod,s=s.dragEndMethod||(s?s.dragEndMethod:null),m=c.computeKeyField,v=c.computeParentField,D=c.computeChildrenField,C=c.computeMapChildrenField,N="bottom"===o?1:0,y=c.$refs.refElem,E={status:!1};if(y&&a&&n){if(a!==n){var A={oldNode:n,newNode:a,dragNode:n,dragPos:o,dragToChild:!!e,offsetIndex:N},b=c.getNodeId(n),H=t[b]||{},_=H._index,I=c.getNodeId(a),V=0,T=-1,M=(p&&(O=y.querySelector('.vxe-tree--node-wrapper[nodeid="'.concat(I,'"]')),U=y.querySelector('.vxe-tree--node-wrapper[nodeid="'.concat(b,'"]')),(O=O||U)&&(V=O.offsetHeight),U)&&(T=U.offsetTop),-1),k=-1,S={},F=!1,L=H,w=t[I];if(i&&L&&w){var O=L.level,U=w.level;if(_xeUtils.default.eachTree([n],function(e){S[c.getNodeId(e)]=e},{children:C}),O&&U)if(R&&!f){if(L.item[v]!==w.item[v])return clearNodeDragData(c),clearCrossTreeDragStatus(c),E}else{if(!f)return clearNodeDragData(c),clearCrossTreeDragStatus(c),E;if(S[I]&&(F=!0,!f||!g))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),clearNodeDragData(c),clearCrossTreeDragStatus(c),E}else if(O){if(!f)return clearNodeDragData(c),clearCrossTreeDragStatus(c),E}else if(U){if(!f)return clearNodeDragData(c),clearCrossTreeDragStatus(c),E;if(S[I]&&(F=!0,!f||!g))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),clearNodeDragData(c),clearCrossTreeDragStatus(c),E}}var $=g&&x?x(A):e;return Promise.resolve(!s||s(A)).then(function(e){var t;return e?(i?L&&w&&(e=_xeUtils.default.toTreeArray(h.afterTreeList,{updated:!1,key:m,parentKey:v,children:C}),t=c.findNodeIndexOf(e,n),e.splice(t,1),t=c.findNodeIndexOf(e,a),e.splice(t+N,0,n),F&&f&&g&&_xeUtils.default.each(n[D],function(e){e[v]=n[v]}),n[v]=$?a[m]:a[v],h.treeFullData=_xeUtils.default.toArrayTree(e,{key:m,parentKey:v,children:D,mapChildren:C})):(M=c.findNodeIndexOf(l,n),t=c.findNodeIndexOf(d,n),l.splice(M,1),d.splice(t,1),e=c.findNodeIndexOf(l,a),t=c.findNodeIndexOf(d,a),k=e+N,e=t+N,l.splice(k,0,n),d.splice(e,0,n)),c.cacheNodeMap(),c.handleData(i),i||c.updateAfterDataIndex(),c.updateCheckboxStatus(),u.scrollYLoad&&c.updateYSpace(),r&&c.dispatchEvent("node-dragend",{oldNode:n,newNode:a,dragNode:n,dragPos:o,dragToChild:$,offsetIndex:N,_index:{newIndex:k,oldIndex:M}},r),c.$nextTick().then(function(){var e,t,r,n,a,o,i,d,l,s;p&&(s=u.treeList,l=(i=(d=h.nodeMaps)[b])._index,e=s[0],d=d[c.getNodeId(e)],e=y,d&&(a=(d=d._index)+s.length,r=t=-1,n=1,_<d?(t=0,r=l-d):a<_?(t=i.$index+1,r=s.length,n=-1):_<l?r=(t=_-d)+l-_:(r=(t=l-d)+_-l+1,n=-1),(a=s.slice(t,r)).length)&&(o=[],a.forEach(function(e){e=c.getNodeId(e);o.push('.vxe-tree--node-wrapper[nodeid="'.concat(e,'"]'))}),i=e.querySelectorAll(o.join(",")),(0,_anime.moveRowAnimateToTb)(i,n*V)),d=['.vxe-tree--node-wrapper[nodeid="'.concat(b,'"]')],s=(l=e.querySelectorAll(d.join(",")))[0],-1<T)&&s&&(0,_anime.moveRowAnimateToTb)(l,T-s.offsetTop),c.recalculate()}).then(function(){return{status:!0}})):E}).catch(function(){return E}).then(function(e){return clearNodeDragData(c),clearCrossTreeDragStatus(c),e})}clearNodeDragData(c),clearCrossTreeDragStatus(c)}return Promise.resolve(E)}function handleVisibleOrCheckMode(e,t,r){if(e){if("first"===e)return!r;if("last"===e)return!t}return!0}function insertTreeNode(l,e,t){var r=l.internalData,s=r.treeFullData,c=r.nodeMaps,u=l.computeKeyField,h=l.computeParentField,p=l.computeChildrenField,f=l.computeMapChildrenField,g=t?"push":"unshift";e.forEach(function(e){var t,r,n,a=e[h],o=l.getNodeId(e),i=a?_xeUtils.default.findTree(s,function(e){return a===e[u]},{children:f}):null,d=(0,_util.getItemCacheObj)(e);(i?(i=i.item,t=(t=c[l.getNodeId(i)])?t.level:0,r=i[p],n=i[f],_xeUtils.default.isArray(r)||(r=i[p]=[]),_xeUtils.default.isArray(n)||(n=i[f]=[]),d.parent=i,d.items=r,d.level=t,r[g](e),n):(a&&warnLog("vxe.error.unableInsert"),s))[g](e),c[o]=d})}function createInternalData(){return{treeFullData:[],afterTreeList:[],afterVisibleList:[],nodeMaps:{},selectCheckboxMaps:{},indeterminateRowMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},removeRowMaps:{},insertRowMaps:{},lastScrollTime:0}}function createReactData(){return{parentHeight:0,customHeight:0,customMinHeight:0,customMaxHeight:0,currentNode:null,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,selectRadioKey:null,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1,insertRowFlag:1,removeRowFlag:1,dragNode:null,dragTipText:""}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTree",mixins:[_ui.globalMixins.sizeMixin],props:{data:Array,autoResize:{type:Boolean,default:function(){return getConfig().tree.autoResize}},height:[String,Number],maxHeight:{type:[String,Number],default:function(){return getConfig().tree.maxHeight}},minHeight:{type:[String,Number],default:function(){return getConfig().tree.minHeight}},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:function(){return getConfig().tree.accordion}},childrenField:{type:String,default:function(){return getConfig().tree.childrenField}},valueField:{type:String,default:function(){return getConfig().tree.valueField}},keyField:{type:String,default:function(){return getConfig().tree.keyField}},parentField:{type:String,default:function(){return getConfig().tree.parentField}},titleField:{type:String,default:function(){return getConfig().tree.titleField}},hasChildField:{type:String,default:function(){return getConfig().tree.hasChildField}},mapChildrenField:{type:String,default:function(){return getConfig().tree.mapChildrenField}},transform:Boolean,isCurrent:Boolean,isHover:Boolean,expandAll:Boolean,expandNodeKeys:Array,showLine:{type:Boolean,default:function(){return getConfig().tree.showLine}},trigger:String,indent:{type:Number,default:function(){return getConfig().tree.indent}},showRadio:{type:Boolean,default:function(){return getConfig().tree.showRadio}},checkNodeKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:function(){return getConfig().tree.showCheckbox}},checkNodeKeys:Array,checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,drag:{type:Boolean,default:function(){return getConfig().tree.drag}},dragConfig:Object,menuConfig:Object,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:function(){return getConfig().tree.iconOpen}},iconClose:{type:String,default:function(){return getConfig().tree.iconClose}},iconLoaded:{type:String,default:function(){return getConfig().tree.iconLoaded}},rootParentValue:{type:[String,Number],default:function(){return getConfig().tree.rootParentValue}},rootValues:{type:Array,default:function(){return getConfig().tree.rootValues}},filterValue:[String,Number],filterConfig:Object,size:{type:String,default:function(){return getConfig().tree.size||getConfig().size}},virtualYConfig:Object},provide:function(){return{$xeTree:this}},data:function(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t,crossTreeDragNodeInfo:_store.crossTreeDragNodeGlobal,hFlag:0,dataFlag:0})},computed:Object.assign(Object.assign({},{}),{computeTitleField:function(){return this.titleField||"title"},computeKeyField:function(){return this.keyField||"id"},computeValueField:function(){var e=this.computeKeyField;return this.valueField||e},computeParentField:function(){return this.parentField||"parentId"},computeChildrenField:function(){return this.childrenField||"children"},computeMapChildrenField:function(){return this.mapChildrenField||"mapChildren"},computeHasChildField:function(){return this.hasChildField||"hasChild"},computeVirtualYOpts:function(){return Object.assign({},getConfig().tree.virtualYConfig,this.virtualYConfig)},computeIsRowCurrent:function(){var e=this.computeNodeOpts.isCurrent;return _xeUtils.default.isBoolean(e)?e:this.isCurrent},computeIsRowHover:function(){var e=this.computeNodeOpts.isHover;return _xeUtils.default.isBoolean(e)?e:this.isHover},computeRadioOpts:function(){return Object.assign({showIcon:!0},getConfig().tree.radioConfig,this.radioConfig)},computeCheckboxOpts:function(){return Object.assign({showIcon:!0},getConfig().tree.checkboxConfig,this.checkboxConfig)},computeNodeOpts:function(){return Object.assign({},getConfig().tree.nodeConfig,this.nodeConfig)},computeLoadingOpts:function(){return Object.assign({},getConfig().tree.loadingConfig,this.loadingConfig)},computeDragOpts:function(){return Object.assign({},getConfig().tree.dragConfig,this.dragConfig)},computeMenuOpts:function(){return Object.assign({},getConfig().tree.menuConfig,this.menuConfig)},computeTreeStyle:function(){var e=this.reactData,t=this.indent,r=e.customHeight,n=e.customMinHeight,e=e.customMaxHeight,a=this.computeCheckboxOpts.nodeStyle,o={};return r&&(o.height=(0,_dom.toCssUnit)(r)),n&&(o.minHeight=(0,_dom.toCssUnit)(n)),e&&(o.maxHeight=(0,_dom.toCssUnit)(e)),t&&(o["--vxe-ui-tree-node-indent"]=(0,_dom.toCssUnit)(t)),a&&(r=a.indeterminateColor,n=a.checkedColor,r&&(o["--vxe-ui-tree-node-checkbox-indeterminate-color"]=r),n)&&(o["--vxe-ui-tree-node-checkbox-checked-color"]=n),o},computeFilterOpts:function(){return Object.assign({},getConfig().tree.filterConfig,this.filterConfig)}}),methods:{dispatchEvent:function(e,t,r){this.$emit(e,(0,_ui.createEvent)(r,{$tree:this},t))},getNodeId:function(e){var t;return e?(t=this.computeValueField,e=_xeUtils.default.get(e,t),(0,_utils.enModelValue)(e)):""},getNodeById:function(e){var t=this.internalData.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},isExpandByNode:function(e){var t=this.reactData,r=this.internalData,t=t.updateExpandedFlag,r=r.treeExpandedMaps,e=this.getNodeId(e);return!(!t||!r[e])},isCheckedByRadioNodeId:function(e){return this.reactData.selectRadioKey===e},isCheckedByRadioNode:function(e){return this.isCheckedByRadioNodeId(this.getNodeId(e))},isCheckedByCheckboxNodeId:function(e){var t=this.reactData,r=this.internalData,t=t.updateCheckboxFlag,r=r.selectCheckboxMaps;return!(!t||!r[e])},isCheckedByCheckboxNode:function(e){return this.isCheckedByCheckboxNodeId(this.getNodeId(e))},isIndeterminateByCheckboxNodeid:function(e){var t=this.reactData,r=this.internalData,t=t.updateCheckboxFlag,r=r.indeterminateRowMaps;return!(!t||!r[e])},isIndeterminateByCheckboxNode:function(e){return this.isIndeterminateByCheckboxNodeid(this.getNodeId(e))},emitCheckboxMode:function(e){this.$emit("update:checkNodeKeys",e)},emitRadioMode:function(e){this.$emit("update:checkNodeKey",e)},setRadioNode:function(e){var t=this,r=t.reactData;return e?(e=t.getNodeId(e),r.selectRadioKey=e,t.emitRadioMode((0,_utils.deModelValue)(e))):t.emitRadioMode(null),t.$nextTick()},setCheckboxNode:function(e,t){return e&&(_xeUtils.default.isArray(e)||(e=[e]),this.handleCheckedCheckboxNode(e,t)),this.emitCheckboxMode(this.getCheckboxNodeIds()),this.$nextTick()},setCheckboxByNodeId:function(e,t){return this.handleSetCheckboxByNodeId(e,t),this.emitCheckboxMode(this.getCheckboxNodeIds()),this.$nextTick()},handleSetCheckboxByNodeId:function(e,t){var r,n=this.internalData.nodeMaps;return e&&(_xeUtils.default.isArray(e)||(e=[e]),r=[],e.forEach(function(e){e=(0,_utils.enModelValue)(e),e=n[e];e&&r.push(e.item)}),this.handleCheckedCheckboxNode(r,t)),this.$nextTick()},handleCheckedCheckboxNode:function(e,r){function t(e){var t=n.getNodeId(e);r?i[t]||(i[t]=e):i[t]&&delete i[t]}var n=this,a=n.reactData,o=n.transform,i=n.internalData.selectCheckboxMaps,d=n.computeMapChildrenField,l=n.computeChildrenField;n.computeCheckboxOpts.checkStrictly?e.forEach(t):_xeUtils.default.eachTree(e,t,{children:o?d:l}),a.updateCheckboxFlag++,n.updateCheckboxStatus()},updateCheckboxChecked:function(e){this.internalData.selectCheckboxMaps={},this.handleSetCheckboxByNodeId(e,!0)},handleSetExpand:function(e,t,r){t?r[e]||(r[e]=!0):r[e]&&delete r[e]},getParentElem:function(){var e=this.$refs.refElem;return e?e.parentElement:null},calcTreeHeight:function(e){var t=this.reactData.parentHeight,e=this[e],r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},updateHeight:function(){var e=this.reactData;e.customHeight=this.calcTreeHeight("height"),e.customMinHeight=this.calcTreeHeight("minHeight"),e.customMaxHeight=this.calcTreeHeight("maxHeight"),!e.scrollYLoad||e.customHeight||e.customMinHeight||(e.customHeight=300)},createNode:function(e){var r=this,n=r.computeValueField;return Promise.resolve(e.map(function(e){var t,e=Object.assign({},e);return r.getNodeId(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,n,t)),e}))},cacheNodeMap:function(){var d=this,e=d.internalData,t=e.treeFullData,l=d.computeValueField,s={};_xeUtils.default.eachTree(t,function(e,t,r,n,a,o){var i=d.getNodeId(e);i||(i=getNodeUniqueId(),_xeUtils.default.set(e,l,i)),s[i]={item:e,index:t,$index:-1,_index:-1,items:r,parent:a,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1}},{children:d.computeChildrenField}),e.nodeMaps=s},updateAfterDataIndex:function(){var l=this,e=l.internalData,t=l.transform,r=e.afterTreeList,s=e.nodeMaps,c=0;_xeUtils.default.eachTree(r,function(e,t,r,n,a,o){var i=l.getNodeId(e),d=s[i];d?(d.items=r,d.treeIndex=t,d._index=c):(d={item:e,index:t,$index:-1,_index:c,items:r,parent:a,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1},s[i]=d),c++},{children:t?l.computeMapChildrenField:l.computeChildrenField})},updateAfterFullData:function(){var e,t,r=this,n=r.internalData,a=r.transform,o=r.filterValue,i=n.treeFullData,d=n.lastFilterValue,l=r.computeTitleField,s=r.computeChildrenField,c=r.computeMapChildrenField,u=r.computeFilterOpts,h=u.autoExpandAll,p=u.beforeFilterMethod,f=u.filterMethod,g=u.afterFilterMethod,u=i,x=u,m="";o||0===o?(m="".concat(o),o=f?function(e){return f({$tree:r,node:e,filterValue:m})}:function(e){return-1<String(e[l]).toLowerCase().indexOf(m.toLowerCase())},e={$tree:r,filterValue:m},p&&p(e),u=a?x=_xeUtils.default.searchTree(i,o,{original:!0,isEvery:!0,children:s,mapChildren:c}):i.filter(o),n.lastFilterValue=m,r.$nextTick(function(){h?r.setAllExpandNode(!0).then(function(){g&&g(e)}):g&&g(e)})):(a&&(u=x=_xeUtils.default.searchTree(i,function(){return!0},{original:!0,isEvery:!0,children:s,mapChildren:c}),d)&&(t={$tree:r,filterValue:m},p&&p(t),r.$nextTick(function(){h?r.clearAllExpandNode().then(function(){g&&g(t)}):g&&g(t)})),n.lastFilterValue=""),n.afterVisibleList=u,n.afterTreeList=x,r.updateAfterDataIndex()},handleTreeToList:function(){var d,l=this,e=l.internalData,t=l.transform,r=e.afterTreeList,s=e.treeExpandedMaps,c={};return t?(d=[],_xeUtils.default.eachTree(r,function(e,t,r,n,a){var o=l.getNodeId(e),i=l.getNodeId(a);(!a||c[i]&&s[i])&&(c[o]=1,d.push(e))},{children:l.computeMapChildrenField}),l.updateScrollYStatus(d),e.afterVisibleList=d):e.afterVisibleList},handleData:function(e){var r=this,t=r.reactData,n=r.internalData,a=t.scrollYLoad,o=n.scrollYStore,i=n.nodeMaps,n=n.afterVisibleList,e=(e&&(r.updateAfterFullData(),n=r.handleTreeToList()),a?n.slice(o.startIndex,o.endIndex):n.slice(0));e.forEach(function(e,t){e=r.getNodeId(e),e=i[e];e&&(e.$index=t)}),t.treeList=e},triggerSearchEvent:_xeUtils.default.debounce(function(){this.handleData(!0)},350,{trailing:!0}),loadData:function(e){var t=this,r=t,n=t.internalData,a=r.expandAll,o=r.expandNodeKeys,i=n.initialized,d=n.scrollYStore,l=r.transform?_xeUtils.default.toArrayTree(e,{key:t.computeKeyField,parentKey:t.computeParentField,mapChildren:t.computeChildrenField,rootParentValue:r.rootParentValue,rootValues:r.rootValues}):e?e.slice(0):[],d=(n.treeFullData=l,Object.assign(d,{startIndex:0,endIndex:1,visibleSize:0}),t.updateScrollYStatus(l));return t.cacheNodeMap(),t.handleData(!0),!d||r.height||r.maxHeight||errLog("vxe.error.reqProp",["height | max-height | virtual-y-config.enabled=false"]),t.computeScrollLoad().then(function(){i||e&&e.length&&(n.initialized=!0,a?t.setAllExpandNode(!0):o&&o.length&&t.setExpandByNodeId(o,!0),t.handleSetCheckboxByNodeId(r.checkNodeKeys||[],!0)),t.updateHeight(),t.refreshScroll()})},updateScrollYStatus:function(e){var t=this.reactData,r=this.internalData,n=this.transform,a=this.computeVirtualYOpts,e=e||r.treeFullData,r=!!n&&!!a.enabled&&-1<a.gt&&(0===a.gt||a.gt<e.length);return t.scrollYLoad=r},updateYSpace:function(){var e=this.reactData,t=this.internalData,r=e.scrollYLoad,n=t.scrollYStore;e.bodyHeight=r?t.afterVisibleList.length*n.rowHeight:0,e.topSpaceHeight=r?Math.max(n.startIndex*n.rowHeight,0):0},updateYData:function(){this.handleData(),this.updateYSpace()},computeScrollLoad:function(){var i=this,d=i.reactData,l=i.internalData;return i.$nextTick().then(function(){var e,t=d.scrollYLoad,r=l.scrollYStore,n=i.$refs.refVirtualBody,a=i.computeVirtualYOpts,o=0;(e=n?e||n.children[0]:e)&&(o=e.offsetHeight),o=Math.max(20,o),r.rowHeight=o,t?(n=i.$refs.refVirtualWrapper,e=Math.max(8,n?Math.ceil(n.clientHeight/o):0),t=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),r.offsetSize=t,r.visibleSize=e,r.endIndex=Math.max(r.startIndex,e+t,r.endIndex),i.updateYData()):i.updateYSpace()})},scrollTo:function(e,t){return handleScrollTo(this,e,t)},scrollToNode:function(e){return this.scrollToNodeId(this.getNodeId(e))},scrollToNodeId:function(t){var r=this,n=r.internalData,e=r.transform,a=n.scrollYStore,o=r.$refs.refVirtualWrapper;if(t&&o)if(e){e=_xeUtils.default.findTree(n.afterTreeList,function(e){return r.getNodeId(e)===t},{children:e?r.computeMapChildrenField:r.computeChildrenField});if(e)return r.setExpandNode(e.nodes,!0).then(function(){var e=_xeUtils.default.findIndexOf(n.afterVisibleList,function(e){return r.getNodeId(e)===t});if(-1<e)return e=Math.max(0,(e-1)*a.rowHeight),handleScrollTo(r,o.scrollLeft,e)})}else{e=o.querySelector('.vxe-tree--node-wrapper[nodeid="'.concat(t,'"]'));if(e)return handleScrollTo(r,o.scrollLeft,e.offsetTop)}return r.recalculate()},refreshScroll:function(){var e=this.internalData,t=e.lastScrollLeft,r=e.lastScrollTop;return this.clearScroll().then(function(){if(t||r)return e.lastScrollLeft=0,e.lastScrollTop=0,scrollTo(t,r)})},recalculate:function(){var e,t,r,n=this,a=n.reactData,o=n.internalData.scrollYStore.rowHeight,i=n.$refs.refElem;return i&&i.clientWidth&&i.clientHeight?(i=n.getParentElem(),e=n.$refs.refHeaderWrapperElem,t=n.$refs.refFooterWrapperElem,e=e?e.clientHeight:0,t=t?t.clientHeight:0,i&&(r=(0,_dom.getPaddingTopBottomSize)(i),a.parentHeight=Math.max(e+t+o,i.clientHeight-r-e-t)),n.updateHeight(),n.computeScrollLoad().then(function(){n.updateHeight(),n.updateYSpace()})):n.$nextTick()},getFullData:function(){return this.internalData.treeFullData.slice(0)},loadYData:function(){var e,t=this.internalData.scrollYStore,r=t.startIndex,n=t.endIndex,a=t.visibleSize,o=t.offsetSize,i=this.$refs.refVirtualWrapper;i&&(i=i.scrollTop,i=Math.floor(i/t.rowHeight),e=Math.max(0,i-1-o),o=i+a+o,!(i<=r||n-a-1<=i)||r===e&&n===o||(t.startIndex=e,t.endIndex=o,this.updateYData()))},scrollEvent:function(e){var t=this.reactData,r=this.internalData,n=e.target,a=n.scrollTop,n=n.scrollLeft,o=n!==r.lastScrollLeft,i=a!==r.lastScrollTop;r.lastScrollTop=a,r.lastScrollLeft=n,t.scrollYLoad&&this.loadYData(),r.lastScrollTime=Date.now(),this.dispatchEvent("scroll",{scrollLeft:n,scrollTop:a,isX:o,isY:i},e)},clearScroll:function(){var e=this.internalData,t=this.$refs.refVirtualWrapper;return t&&(t.scrollTop=0,t.scrollLeft=0),e.lastScrollTop=0,e.lastScrollLeft=0,this.$nextTick()},handleInsertNodeAt:function(e,t,r){var n=this,a=n.reactData,o=n.internalData,i=n.transform,d=o.treeFullData,l=o.nodeMaps,s=n.computeKeyField,c=n.computeParentField,u=n.computeChildrenField,h=n.computeMapChildrenField;if(!i)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","transform"]),Promise.resolve({node:null,nodes:[]});_xeUtils.default.isArray(e)||(e=[e]);var p,f,g,x,m,v=t;return(_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(o=l[t])&&(v=o.item),e.length?(p=e.map(function(e){return _xeUtils.default.assign(_defineProperty(_defineProperty({},h,[]),u,[]),e)}),i=_xeUtils.default.toArrayTree(p,{key:s,parentKey:c,children:u}),_xeUtils.default.eqNull(v)?insertTreeNode(n,p,!1):-1===v?insertTreeNode(n,p,!0):(f=_xeUtils.default.findTree(d,function(e){return v[s]===e[s]},{children:h}))?(g=f.parent,x=g?g[h]:d,t=l[n.getNodeId(g)],m=t?t.level:0,i.forEach(function(e,t){g?e[c]!==g[s]&&(errLog("vxe.error.errProp",["".concat(c,"=").concat(e[c]),"".concat(c,"=").concat(g[s])]),e[c]=g[s]):null!==e[c]&&(_xeUtils.default.eqNull(e[c])||errLog("vxe.error.errProp",["".concat(c,"=").concat(e[c]),"null"]),e[c]=null);t=f.index+t;r&&(t+=1),x.splice(t,0,e)}),_xeUtils.default.eachTree(i,function(e){var t=n.getNodeId(e),r=(0,_util.getItemCacheObj)(e);r.level=m,e[u]&&(e[h]=e[u]),l[t]=r},{children:u}),g&&(o=_xeUtils.default.findTree(d,function(e){return v[s]===e[s]},{children:u}))&&(e=o.items,t=o.index,r&&(t+=1),e.splice.apply(e,[t,0].concat(_toConsumableArray(i))))):(warnLog("vxe.error.unableInsert"),insertTreeNode(n,p,!0)),a.insertRowFlag++,n.cacheNodeMap(),n.handleData(!0),n.updateAfterDataIndex(),n.updateCheckboxStatus(),a.scrollYLoad&&n.updateYSpace(),n.$nextTick().then(function(){return{node:p.length?p[p.length-1]:null,nodes:p}})):Promise.resolve({node:null,nodes:[]})},insert:function(e){return this.handleInsertNodeAt(e,null)},insertAt:function(e,t){return this.handleInsertNodeAt(e,t)},insertNextAt:function(e,t){return this.handleInsertNodeAt(e,t,!0)},remove:function(e){var r,n=this,t=n.reactData,a=n.internalData,o=n.transform,i=a.treeFullData,d=n.computeChildrenField,l=n.computeMapChildrenField;return o?(r=[],e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.length?(i===e?(e=r=i.slice(0),a.treeFullData=[]):e.forEach(function(e){var t=n.getNodeId(e),e=_xeUtils.default.findTree(i,function(e){return t===n.getNodeId(e)},{children:l}),e=(e&&(e=e.items.splice(e.index,1),r.push(e[0])),_xeUtils.default.findTree(i,function(e){return t===n.getNodeId(e)},{children:d}));e&&(e=e.items.splice(e.index,1),r.push(e[0]))}),t.removeRowFlag++,t.insertRowFlag++,n.cacheNodeMap(),n.handleData(!0),n.updateAfterDataIndex(),n.updateCheckboxStatus(),t.scrollYLoad&&n.updateYSpace(),n.$nextTick().then(function(){return n.recalculate()}).then(function(){return{node:r.length?r[r.length-1]:null,nodes:r}})):Promise.resolve({node:null,nodes:[]})):(errLog("vxe.error.reqSupportProp",["remove()","transform"]),Promise.resolve({node:null,nodes:[]}))},getInsertRecords:function(){var e=this.internalData.insertRowMaps,t=[];return _xeUtils.default.each(e,function(e){t.push(e)}),t},getRemoveRecords:function(){var e=this.internalData.removeRowMaps,t=[];return _xeUtils.default.each(e,function(e){t.push(e)}),t},handleNodeMousedownEvent:function(e,t){var r=this,n=r.internalData,a=r.drag,n=n.nodeMaps,o=e.currentTarget,i=r.computeDragOpts,d=i.trigger,l=i.isCrossDrag,s=i.isPeerDrag,i=i.disabledMethod,c=r.getNodeId(t),a=a?"node"===d:!1;(0,_dom.getEventTargetNode)(e,o,"vxe-tree--node-item-switcher").flag||(d=n[c],!a)||!(l||s||d&&!d.level)||i&&i({node:t,$tree:r})||r.handleNodeDragMousedownEvent(e,{node:t})},handleNodeClickEvent:function(e,t){var r=this,n=r.reactData,a=r.showRadio,o=r.showCheckbox,i=r.trigger,d=r.computeRadioOpts,l=r.computeCheckboxOpts,s=!1,c=!1,u=!1,h=!1;r.computeIsRowCurrent?(s=!0,r.changeCurrentEvent(e,t)):n.currentNode&&(n.currentNode=null),"node"===i&&(h=!0,r.toggleExpandEvent(e,t)),a&&"node"===d.trigger&&(c=!0,r.changeRadioEvent(e,t)),o&&"node"===l.trigger&&(u=!0,r.changeCheckboxEvent(e,t)),r.dispatchEvent("node-click",{node:t,triggerCurrent:s,triggerRadio:c,triggerCheckbox:u,triggerExpand:h},e)},handleNodeDblclickEvent:function(e,t){this.dispatchEvent("node-dblclick",{node:t},e)},handleContextmenuEvent:function(n,a){var o=this,e=o.reactData,t=o.menuConfig,r=o.computeIsRowCurrent,i=o.computeMenuOpts;(t?(0,_utils.isEnableConf)(i):i.enabled)&&(t=i.options,(i=i.visibleMethod)&&!i({$tree:o,options:t,node:a})||(r?o.changeCurrentEvent(n,a):e.currentNode&&(e.currentNode=null),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(n,{options:t,events:{optionClick:function(e){var t=e.option,r=menus.get(t.code),r=r?r.treeMenuMethod:null,t={menu:t,node:a,$event:n,$tree:o,option:t};r&&r(t,n),o.dispatchEvent("menu-click",t,e.$event)}}}))),o.dispatchEvent("node-menu",{node:a},n)},handleAsyncTreeExpandChilds:function(o){var i=this,d=i.reactData,l=i.internalData,r=i.loadMethod,s=i.computeCheckboxOpts.checkStrictly;return new Promise(function(e){var t,n,a;r?(t=l.nodeMaps,n=i.getNodeId(o),a=t[n],l.treeExpandLazyLoadedMaps[n]=!0,Promise.resolve(r({$tree:i,node:o})).then(function(r){var e=l.treeExpandLazyLoadedMaps;if(a.treeLoaded=!0,e[n]&&(e[n]=!1),r=_xeUtils.default.isArray(r)?r:[])return i.loadChildrenNode(o,r).then(function(e){var t=l.treeExpandedMaps;return e.length&&!t[n]&&(t[n]=!0),d.updateExpandedFlag++,!s&&i.isCheckedByCheckboxNodeId(n)&&i.handleCheckedCheckboxNode(e,!0),i.dispatchEvent("load-success",{node:o,data:r},new Event("load-success")),i.$nextTick()});i.dispatchEvent("load-success",{node:o,data:r},new Event("load-success"))}).catch(function(e){var t=l.treeExpandLazyLoadedMaps;a.treeLoaded=!1,t[n]&&(t[n]=!1),i.dispatchEvent("load-error",{node:o,data:e},new Event("load-error"))}).finally(function(){return i.handleTreeToList(),i.handleData(),i.recalculate()})):e()})},handleBaseTreeExpand:function(e,t){var n=this,r=n.reactData,a=n.internalData,o=n.lazy,i=n.accordion,d=n.toggleMethod,l=a.treeExpandLazyLoadedMaps,s=a.treeExpandedMaps,c=a.nodeMaps,u=n.computeChildrenField,h=n.computeHasChildField,p=[],a=d?e.filter(function(e){return d({$tree:n,expanded:t,node:e})}):e,f=(i&&(a=a.length?[a[a.length-1]]:[],e=n.getNodeId(a[0]),i=c[e])&&i.items.forEach(function(e){e=n.getNodeId(e);s[e]&&delete s[e]}),[]);return t?a.forEach(function(e){var t,r=n.getNodeId(e);s[r]||(t=c[r],o&&e[h]&&!t.treeLoaded&&!l[r]?p.push(n.handleAsyncTreeExpandChilds(e)):e[u]&&e[u].length&&(s[r]=!0,f.push(e)))}):a.forEach(function(e){var t=n.getNodeId(e);s[t]&&(delete s[t],f.push(e))}),r.updateExpandedFlag++,n.handleTreeToList(),n.handleData(),Promise.all(p).then(function(){return n.recalculate()})},toggleExpandEvent:function(e,t){var r=this,n=r.internalData,a=r.lazy,o=n.treeExpandedMaps,n=n.treeExpandLazyLoadedMaps,i=r.getNodeId(t),o=!o[i];e.stopPropagation(),a&&n[i]||r.handleBaseTreeExpand([t],o),r.dispatchEvent("node-expand",{node:t,expanded:o},e)},updateCheckboxStatus:function(){var n,a,d=this,e=d.reactData,t=d.internalData,r=d.transform,l=t.selectCheckboxMaps,s=t.indeterminateRowMaps,o=d.computeChildrenField,i=d.computeCheckboxOpts,c=i.checkStrictly,u=i.checkMethod;c||(n={},a=[],_xeUtils.default.eachTree(t.afterTreeList,function(e){var t=d.getNodeId(e),r=e[o];r&&r.length&&!n[t]&&(n[t]=1,a.unshift([e,t,r]))},{children:r?d.computeMapChildrenField:o}),a.forEach(function(e){var t=e[0],r=e[1],e=e[2],n=0,a=0,o=0,i=e.length,e=(e.forEach(u?function(e){var t=d.getNodeId(e),r=l[t];u({$tree:d,node:e})?(r?n++:s[t]&&a++,o++):r?n++:s[t]&&a++}:function(e){e=d.getNodeId(e);l[e]?n++:s[e]&&a++,o++}),!1),i=!(e=0<i?0<o?(0<n||0<a)&&o<=n:0<n&&o<=n||!!l[r]:l[r])&&(0<n||0<a);e?(l[r]=t,s[r]&&delete s[r]):(l[r]&&delete l[r],i?s[r]=t:s[r]&&delete s[r])}),e.updateCheckboxFlag++)},changeCheckboxEvent:function(e,t){var r,n=this,a=n,o=n.reactData,i=n.internalData,a=(e.preventDefault(),e.stopPropagation(),a.transform),d=i.selectCheckboxMaps,i=i.nodeMaps,l=n.computeChildrenField,s=n.computeMapChildrenField,c=n.computeCheckboxOpts,u=c.checkStrictly,h=c.checkMode,c=c.checkMethod,p=n.getNodeId(t),f=_xeUtils.default.get(t,l),f=f&&0<f.length,i=(i[p]||{}).level;(c?c({$tree:n,node:t}):handleVisibleOrCheckMode(h,f,i))&&(r=!1,d[p]?delete d[p]:(r=!0,d[p]=t),u||_xeUtils.default.eachTree(_xeUtils.default.get(t,a?s:l),function(e){e=n.getNodeId(e);r?d[e]||(d[e]=!0):d[e]&&delete d[e]},{children:a?s:l}),o.updateCheckboxFlag++,n.updateCheckboxStatus(),c=_xeUtils.default.keys(d).map(_utils.deModelValue),n.emitCheckboxMode(c),n.dispatchEvent("checkbox-change",{node:t,value:c,checked:r},e))},changeCurrentEvent:function(e,t){var r=this.reactData,n=(e.preventDefault(),this.computeNodeOpts),a=n.currentMethod,n=n.trigger,o=this.computeChildrenField,o=_xeUtils.default.get(t,o),o=o&&o.length,i=!!a;if("child"===n){if(o)return}else if("parent"===n&&!o)return;(i=a?!a({node:t}):i)||(r.currentNode=t,this.dispatchEvent("current-change",{node:t,checked:!0},e))},changeRadioEvent:function(e,t){var r=this,n=r.reactData,a=r.internalData,a=(e.preventDefault(),e.stopPropagation(),a.nodeMaps),o=r.computeRadioOpts,i=r.computeChildrenField,d=o.checkMode,o=o.checkMethod,l=r.getNodeId(t),i=_xeUtils.default.get(t,i),i=i&&0<i.length,a=(a[l]||{}).level;(o?o({$tree:r,node:t}):handleVisibleOrCheckMode(d,i,a))&&(o=(0,_utils.deModelValue)(l),n.selectRadioKey=l,r.emitRadioMode(o),r.dispatchEvent("radio-change",{node:t,value:o,checked:!0},e))},handleGlobalResizeEvent:function(){var e=this.$refs.refElem;e&&e.clientWidth&&this.recalculate()},reloadData:function(e){return this.loadData(e||[])},clearCurrentNode:function(){return this.reactData.currentNode=null,this.$nextTick()},getCurrentNodeId:function(){var e=this.reactData.currentNode;return e?(0,_utils.deModelValue)(this.getNodeId(e)):null},getCurrentNode:function(){var e=this.reactData,t=this.internalData,e=e.currentNode,t=t.nodeMaps;if(e){t=t[this.getNodeId(e)];if(t)return t.item}return null},setCurrentNodeId:function(e){var t=this.reactData,e=this.internalData.nodeMaps[(0,_utils.enModelValue)(e)];return t.currentNode=e?e.item:null,this.$nextTick()},setCurrentNode:function(e){return this.reactData.currentNode=e,this.$nextTick()},clearRadioNode:function(){return this.reactData.selectRadioKey=null,this.emitRadioMode(null),this.$nextTick()},getRadioNodeId:function(){return this.reactData.selectRadioKey||null},getRadioNode:function(){var e=this.reactData,t=this.internalData,e=e.selectRadioKey,t=t.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},setRadioNodeId:function(e){return this.reactData.selectRadioKey=(0,_utils.enModelValue)(e),this.emitRadioMode(e),this.$nextTick()},getCheckboxNodeIds:function(){var e=this.internalData.selectCheckboxMaps,r=[];return _xeUtils.default.each(e,function(e,t){r.push((0,_utils.deModelValue)(t))}),r},getCheckboxNodes:function(){var e=this.internalData,r=e.nodeMaps,n=[];return _xeUtils.default.each(e.selectCheckboxMaps,function(e,t){t=r[t];t&&n.push(t.item)}),n},clearCheckboxNode:function(){var e=this,t=e.reactData,r=e.internalData;return r.indeterminateRowMaps={},r.selectCheckboxMaps={},t.updateCheckboxFlag++,e.updateCheckboxStatus(),e.emitCheckboxMode([]),e.$nextTick().then(function(){return{checkNodeKeys:[],checkNodes:[]}})},setAllCheckboxNode:function(e){var r=this,t=r.reactData,n=r.internalData,a=r.transform,o={},i=[],d=[];return e&&_xeUtils.default.eachTree(n.afterTreeList,function(e){var t=r.getNodeId(e);i.push(t),d.push(e),o[t]=!0},{children:a?r.computeMapChildrenField:r.computeChildrenField}),n.indeterminateRowMaps={},n.selectCheckboxMaps=o,t.updateCheckboxFlag++,r.updateCheckboxStatus(),r.$nextTick().then(function(){return{checkNodeKeys:i,checkNodes:d}})},clearExpandNode:function(){return this.clearAllExpandNode()},clearAllExpandNode:function(){var e=this,t=e.reactData,r=e.internalData,n=t.scrollYLoad,a=r.nodeMaps,o=r.scrollYStore;return _xeUtils.default.each(a,function(e){e.treeLoaded=!1}),r.treeExpandedMaps={},t.updateExpandedFlag++,t.topSpaceHeight=0,o.startIndex=0,o.endIndex=1,e.handleTreeToList(),e.handleData(),e.recalculate().then(function(){return n&&e.loadYData(),e.recalculate()})},setExpandByNodeId:function(e,t){var r=this,n=r.reactData,a=r.internalData.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){handleSetExpand((0,_utils.enModelValue)(e),t,a)}),n.updateExpandedFlag++),r.handleTreeToList(),r.handleData(),r.recalculate()},getExpandNodeIds:function(){var e=this.internalData.treeExpandedMaps,r=[];return _xeUtils.default.each(e,function(e,t){r.push((0,_utils.deModelValue)(t))}),r},getExpandNodes:function(){var e=this.internalData,r=e.nodeMaps,n=[];return _xeUtils.default.each(e.treeExpandedMaps,function(e,t){t=r[t];t&&n.push(t.item)}),n},setExpandNode:function(e,t){var r=this,n=r.reactData,a=r.internalData.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){handleSetExpand(r.getNodeId(e),t,a)}),n.updateExpandedFlag++),r.handleTreeToList(),r.handleData(),r.recalculate()},toggleExpandByNodeId:function(e){var t=this,r=t.reactData,n=t.internalData.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){e=(0,_utils.enModelValue)(e);handleSetExpand(e,!n["".concat(e)],n)}),r.updateExpandedFlag++),t.handleTreeToList(),t.handleData(),t.recalculate()},toggleExpandNode:function(e){var t=this,r=t.reactData,n=t.internalData.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){e=t.getNodeId(e);handleSetExpand(e,!n[e],n)}),r.updateExpandedFlag++),t.handleTreeToList(),t.handleData(),t.recalculate()},setAllExpandNode:function(e){var r=this,t=r.reactData,n=r.internalData,a=r.transform,o=t.scrollYLoad,i=n.scrollYStore,d=n.treeExpandedMaps,l=r.computeChildrenField;return e?_xeUtils.default.eachTree(n.afterTreeList,function(e){var t=_xeUtils.default.get(e,l);t&&t.length&&(t=r.getNodeId(e),d[t]=!0)},{children:a?r.computeMapChildrenField:l}):n.treeExpandedMaps={},t.updateExpandedFlag++,i.startIndex=t.topSpaceHeight=0,i.endIndex=1,r.handleTreeToList(),r.handleData(),r.recalculate().then(function(){return o&&r.loadYData(),r.recalculate()})},reloadExpandNode:function(e){return this.lazy?(this.clearExpandLoaded(e),this.handleAsyncTreeExpandChilds(e)):this.recalculate()},clearExpandLoaded:function(e){var t=this.internalData,r=this.lazy,t=t.nodeMaps;return r&&(r=t[this.getNodeId(e)])&&(r.treeLoaded=!1),this.recalculate()},loadChildrenNode:function(t,e){var r,n,d,l,s,c=this,a=c.internalData,o=c.lazy,i=c.transform,u=a.nodeMaps;return o?(r=c.computeChildrenField,n=c.computeMapChildrenField,d=u[c.getNodeId(t)],l=d?d.level:0,s=d?d.nodes:[],c.createNode(e).then(function(e){return _xeUtils.default.eachTree(e,function(e,t,r,n,a,o){var i=c.getNodeId(e);u[i]={item:e,index:-1,$index:-1,_index:-1,items:r,parent:a||d.item,nodes:s.concat(o),level:l+o.length,treeIndex:-1,lineCount:0,treeLoaded:!1}},{children:r}),t[r]=e,i&&(t[n]=e),c.updateAfterDataIndex(),e})):Promise.resolve([])},findNodeIndexOf:function(e,t){var r=this;return t?_xeUtils.default.findIndexOf(e,function(e){return r.eqNode(e,t)}):-1},eqNode:function(e,t){return!(!e||!t||e!==t&&this.getNodeId(e)!==this.getNodeId(t))},handleCrossTreeNodeDragCancelEvent:function(){clearNodeDragData(this),clearCrossTreeDragStatus(this)},handleCrossTreeNodeDragFinishEvent:function(){},handleCrossTreeNodeDragInsertEvent:function(){},handleCrossTreeNodeDragoverEmptyEvent:function(){},hideCrossTreeNodeDropClearStatus:function(){hideDropTip(this)},getCheckboxIndeterminateNodes:function(){var e=this.internalData,r=e.nodeMaps,n=[];return _xeUtils.default.each(e.indeterminateRowMaps,function(e,t){t=r[t];t&&n.push(t.item)}),n},handleNodeDragMousedownEvent:function(e,t){var r=this,n=r.reactData,a=(e.stopPropagation(),t.node),o=r.computeDragOpts,i=o.trigger,o=o.dragStartMethod,d=e.currentTarget,i="node"===i?d:d.parentElement.parentElement;clearNodeDropOrigin(r),o&&!o(t)?(i.draggable=!1,n.dragNode=null,hideDropTip(r)):(n.dragNode=a,i.draggable=!0,updateNodeDropOrigin(r,a),updateRowDropTipContent(r,i),r.dispatchEvent("node-dragstart",t,e))},handleNodeDragMouseupEvent:function(){clearDragStatus(this)},handleNodeDragDragstartEvent:function(e){e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},handleNodeDragDragendEvent:function(e){var t=this,r=t.reactData,n=t.internalData,a=t.lazy,r=r.dragNode,o=n.nodeMaps,i=n.prevDragNode,d=n.prevDragPos,n=n.prevDragToChild,l=t.computeHasChildField;a&&n&&(a=o[t.getNodeId(i)],i[l])&&(!a||!a.treeLoaded)||handleNodeDragSwapEvent(t,e,r,i,d,n)},handleNodeDragDragoverEvent:function(e){var t,r,n=this,a=n.reactData,o=n.internalData,i=n.lazy,d=n.transform,a=a.dragNode,l=o.nodeMaps,s=n.computeDragOpts,c=n.computeParentField,u=n.computeHasChildField,h=s.isCrossDrag,p=s.isPeerDrag,s=s.isToChildDrag,f=(a||h||e.preventDefault(),(0,_dom.hasControlKey)(e)),g=e.currentTarget,x=g.getAttribute("nodeid")||"",l=l[x];l&&(e.preventDefault(),t=l.item,r=e.clientY-g.getBoundingClientRect().y<g.clientHeight/2?"top":"bottom",o.prevDragToChild=!!(d&&h&&s&&f),o.prevDragNode=t,o.prevDragPos=r,a&&n.getNodeId(a)===x||f&&i&&t[u]&&l&&!l.treeLoaded||!h&&d&&(p?a[c]!==t[c]:l.level)?showDropTip(n,e,g,!1,r):(showDropTip(n,e,g,!0,r),n.dispatchEvent("node-dragover",{oldRNode:a,targetNode:t,dragPos:r},e)))},renderDragIcon:function(e,t,r){var n=this,a=n.internalData,o=n.drag,a=a.nodeMaps,i=n.computeDragOpts,d=i.showIcon,l=i.isPeerDrag,s=i.isCrossDrag,i=i.visibleMethod,c={node:t,$tree:n};if(o&&d&&n.transform&&(!i||i(c))){var u,t=a[r];if(t&&(l||s||!t.level))return d=(o=n.computeDragOpts).icon,i=o.trigger,u=(a=o.disabledMethod)&&a(c),r={},"node"!==i&&(r.mousedown=function(e){u||n.handleNodeDragMousedownEvent(e,c)},r.mouseup=n.handleNodeDragMouseupEvent),e("div",{class:["vxe-tree--drag-handle",{"is--disabled":u}],on:r},[e("i",{class:d||getIcon().TREE_DRAG})])}return(0,_ui.renderEmptyElement)(n)},renderRadio:function(e,t,r,n,a,o){var i,d=this,l=d.showRadio,s=d.computeRadioOpts,c=s.showIcon,u=s.checkMode,h=s.checkMethod,p=s.visibleMode,s=s.visibleMethod,s=s?s({$tree:d,node:t}):handleVisibleOrCheckMode(p,n,a);return l&&c&&s?e("div",{class:["vxe-tree--radio-option",{"is--checked":o,"is--disabled":i=h?!h({$tree:d,node:t}):!handleVisibleOrCheckMode(u,n,a)}],on:{click:function(e){i||d.changeRadioEvent(e,t)}}},[e("span",{class:["vxe-radio--icon",o?getIcon().RADIO_CHECKED:getIcon().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(d)},renderCheckbox:function(e,t,r,n,a,o,i){var d,l=this,s=l.showCheckbox,c=l.computeCheckboxOpts,u=c.showIcon,h=c.checkMode,p=c.checkMethod,f=c.visibleMode,c=c.visibleMethod,c=c?c({$tree:l,node:t}):handleVisibleOrCheckMode(f,n,a);return s&&u&&c?e("div",{class:["vxe-tree--checkbox-option",{"is--checked":o,"is--indeterminate":i,"is--disabled":d=p?!p({$tree:l,node:t}):!handleVisibleOrCheckMode(h,n,a)}],on:{click:function(e){d||l.changeCheckboxEvent(e,t)}}},[e("span",{class:["vxe-checkbox--icon",i?getIcon().CHECKBOX_INDETERMINATE:o?getIcon().CHECKBOX_CHECKED:getIcon().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(l)},renderNode:function(e,t,r){var n=this,a=n.$scopedSlots,o=n.reactData,i=n.internalData,d=n.lazy,l=n.drag,s=n.transform,c=n.showRadio,u=n.showCheckbox,h=n.showLine,p=n.iconOpen,f=n.iconClose,g=n.iconLoaded,x=n.showIcon,m=o.currentNode,v=o.selectRadioKey,o=o.updateExpandedFlag,D=i.afterTreeList,C=i.nodeMaps,N=i.treeExpandedMaps,i=i.treeExpandLazyLoadedMaps,y=n.computeTitleField,E=n.computeHasChildField,b=_xeUtils.default.get(t,n.computeChildrenField),b=b&&0<b.length,_=a.icon,I=a.title,a=a.extra,o=o&&N[r],N=C[r]||{},C=_xeUtils.default.get(t,y),y=N.level,T=!1,c=(c&&(T=r===String(v)),!1),v=!1,u=(u&&(c=n.isCheckedByCheckboxNodeId(r),v=n.isIndeterminateByCheckboxNodeid(r)),!1),M=!1,k=!1,i=(d&&(M=!!i[r],u=t[E],k=!!N.treeLoaded),N.items[N.treeIndex-1]),E={node:t,isExpand:o},N={mousedown:function(e){n.handleNodeMousedownEvent(e,t)},mouseup:n.handleNodeDragMouseupEvent,click:function(e){n.handleNodeClickEvent(e,t)},dblclick:function(e){n.handleNodeDblclickEvent(e,t)},contextmenu:function(e){n.handleContextmenuEvent(e,t)}};return l&&s&&(N.dragstart=n.handleNodeDragDragstartEvent,N.dragend=n.handleNodeDragDragendEvent,N.dragover=n.handleNodeDragDragoverEvent),e("div",{key:r,class:["vxe-tree--node-wrapper","node--level-".concat(y)],attrs:{nodeid:r},on:N},[e("div",{class:["vxe-tree--node-item",{"is--current":m&&r===n.getNodeId(m),"is-radio--checked":T,"is-checkbox--checked":c,"is-checkbox--indeterminate":v}]},[h?e("div",{class:"vxe-tree--node-line-wrapper"},[e("div",{class:"vxe-tree--node-line",style:{height:"".concat(n.getNodeId(D[0])===r?1:(0,_util.calcTreeLine)(n,t,i),"px")}})]):(0,_ui.renderEmptyElement)(n),e("div",{class:"vxe-tree--node-item-switcher"},x&&(!d||k?b:u)?[e("div",{class:"vxe-tree--node-item-icon",on:{click:function(e){n.toggleExpandEvent(e,t)}}},_?(0,_vn.getSlotVNs)(_(E)):[e("i",{class:M?g||getIcon().TREE_NODE_LOADED:o?p||getIcon().TREE_NODE_OPEN:f||getIcon().TREE_NODE_CLOSE})])]:[]),n.renderDragIcon(e,t,r),n.renderRadio(e,t,r,b,y,T),n.renderCheckbox(e,t,r,b,y,c,v),e("div",{class:"vxe-tree--node-item-inner"},[e("div",{class:"vxe-tree--node-item-title"},I?(0,_vn.getSlotVNs)(I(E)):"".concat(C)),a?e("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(a(E))):(0,_ui.renderEmptyElement)(n)])])])},renderList:function(r,e){var n,a=this,t=a.internalData,o=a.transform,i=t.treeExpandedMaps,d=a.computeChildrenField;return e.length?(n=[],e.forEach(o?function(e){var t=a.getNodeId(e);n.push(a.renderNode(r,e,t))}:function(e){var t=a.getNodeId(e),e=(n.push(a.renderNode(r,e,t)),_xeUtils.default.get(e,d));e&&e.length&&i[t]&&n.push.apply(n,_toConsumableArray(a.renderList(r,e)))}),n):[r("div",{class:"vxe-tree--empty-placeholder"},getI18n("vxe.tree.searchEmpty"))]},renderDragTip:function(e){var t=this,r=t.reactData,n=t.drag,a=r.dragNode,r=r.dragTipText,o=t.computeDragOpts;return n?e("div",{class:"vxe-tree--drag-wrapper"},[e("div",{ref:"refDragNodeLineElem",class:["vxe-tree--drag-node-line",{"is--guides":o.showGuidesStatus}]}),a&&o.showDragTip?e("div",{ref:"refDragTipElem",class:"vxe-tree--drag-sort-tip"},[e("div",{class:"vxe-tree--drag-sort-tip-wrapper"},[e("div",{class:"vxe-tree--drag-sort-tip-status"},[e("span",{class:["vxe-tree--drag-sort-tip-normal-status",getIcon().TREE_DRAG_STATUS_NODE]}),e("span",{class:["vxe-tree--drag-sort-tip-sub-status",getIcon().TREE_DRAG_STATUS_SUB_NODE]}),e("span",{class:["vxe-tree--drag-sort-tip-disabled-status",getIcon().TREE_DRAG_DISABLED]})]),e("div",{class:"vxe-tree--drag-sort-tip-content"},r)])]):(0,_ui.renderEmptyElement)(t)]):(0,_ui.renderEmptyElement)(t)},renderVN:function(e){var t=this,r=t.$scopedSlots,n=t.reactData,a=t.loading,o=t.trigger,i=t.showLine,d=n.bodyHeight,l=n.topSpaceHeight,n=n.treeList,s=t.computeSize,c=t.computeRadioOpts,u=t.computeCheckboxOpts,h=t.computeLoadingOpts,p=t.computeIsRowHover,f=t.computeTreeStyle,g=r.loading,x=r.header,r=r.footer;return e("div",{ref:"refElem",class:["vxe-tree",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(s),s),"show--line",i),"checkbox--highlight",u.highlight),"radio--highlight",c.highlight),"node--hover",p),"node--trigger","node"===o),"is--loading",a)]},[x?e("div",{ref:"refHeaderWrapperElem",class:"vxe-tree--header-wrapper"},x({$tree:t})):(0,_ui.renderEmptyElement)(t),e("div",{ref:"refVirtualWrapper",class:"vxe-tree--node-list-wrapper",style:f,on:{scroll:t.scrollEvent}},[e("div",{class:"vxe-tree--y-space",style:{height:d?"".concat(d,"px"):""}}),e("div",{ref:"refVirtualBody",class:"vxe-tree--node-list-body",style:{transform:"translateY(".concat(l,"px)")}},t.renderList(e,n))]),r?e("div",{ref:"refFooterWrapperElem",class:"vxe-tree--footer-wrapper"},r({$tree:t})):(0,_ui.renderEmptyElement)(t),t.renderDragTip(e),e(_loading.default,{class:"vxe-tree--loading",props:{value:a,icon:h.icon,text:h.text},scopedSlots:g?{default:function(){return g({$tree:t})}}:{}})])}},watch:{data:function(){this.dataFlag++},rootParentValue:function(){this.dataFlag++},rootValues:function(){this.dataFlag++},dataFlag:function(){this.loadData(this.data||[])},checkNodeKey:function(e){this.reactData.selectRadioKey=(0,_utils.enModelValue)(e)},checkNodeKeys:function(){this.updateCheckboxChecked(this.checkNodeKeys||[])},filterValue:function(){this.triggerSearchEvent(new Event("filter"))},height:function(){this.hFlag++},minHeight:function(){this.hFlag++},maxHeight:function(){this.hFlag++},hFlag:function(){this.recalculate()}},created:function(){var e=this.reactData;this.internalData=createInternalData(),e.selectRadioKey=(0,_utils.enModelValue)(this.checkNodeKey),this.loadData(this.data||[])},mounted:function(){var e=this,t=e,r=e.internalData,n=t.transform,a=t.menuConfig,o=e.computeDragOpts,n=(t.drag&&!n&&errLog("vxe.error.notSupportProp",["drag","transform=false","transform=true"]),o.isCrossTreeDrag&&!o.isCrossDrag&&errLog("vxe.error.reqSupportProp",["drag-config.isCrossTreeDrag","drag-config.isCrossDrag"]),_ui.VxeUI.getComponent("VxeContextMenu"));a&&!n&&errLog("vxe.error.reqComp",["vxe-context-menu"]),t.autoResize&&(o=e.$refs.refElem,a=e.getParentElem(),n=_ui.globalResize.create(function(){t.autoResize&&e.recalculate()}),o&&n.observe(o),a&&n.observe(a),r.resizeObserver=n),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this.reactData,t=this.internalData,r=t.resizeObserver;r&&r.disconnect(),_ui.globalEvents.off(this,"resize"),_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render:function(e){return this.renderVN(e)}});
|
package/lib/tree/src/util.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.calcTreeLine = calcTreeLine;
|
|
7
|
+
exports.getItemCacheObj = getItemCacheObj;
|
|
7
8
|
function countTreeExpand($xeTree, prevNode) {
|
|
8
9
|
var count = 1;
|
|
9
10
|
if (!prevNode) {
|
|
@@ -34,4 +35,19 @@ function calcTreeLine($xeTree, node, prevNode) {
|
|
|
34
35
|
expandSize = countTreeExpand($xeTree, prevNode);
|
|
35
36
|
}
|
|
36
37
|
return (rowHeight || 28) * expandSize - (prevNode ? 1 : 12);
|
|
38
|
+
}
|
|
39
|
+
function getItemCacheObj(item) {
|
|
40
|
+
return {
|
|
41
|
+
item: item,
|
|
42
|
+
index: -1,
|
|
43
|
+
$index: -1,
|
|
44
|
+
_index: -1,
|
|
45
|
+
items: [],
|
|
46
|
+
parent: null,
|
|
47
|
+
nodes: [],
|
|
48
|
+
level: 0,
|
|
49
|
+
treeIndex: -1,
|
|
50
|
+
lineCount: 0,
|
|
51
|
+
treeLoaded: false
|
|
52
|
+
};
|
|
37
53
|
}
|
package/lib/tree/src/util.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function countTreeExpand(e,
|
|
1
|
+
function countTreeExpand(e,t){var n=1;if(t){var r=e.transform,a=e.reactData.updateExpandedFlag,d=e.internalData.treeExpandedMaps,i=t[r?e.computeMapChildrenField:e.computeChildrenField];if(i&&a&&d[e.getNodeId(t)])for(var o=0;o<i.length;o++)n+=countTreeExpand(e,i[o])}return n}function calcTreeLine(e,t,n){var r=1;return(e.internalData.scrollYStore.rowHeight||28)*(r=n?countTreeExpand(e,n):r)-(n?1:12)}function getItemCacheObj(e){return{item:e,index:-1,$index:-1,_index:-1,items:[],parent:null,nodes:[],level:0,treeIndex:-1,lineCount:0,treeLoaded:!1}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.calcTreeLine=calcTreeLine,exports.getItemCacheObj=getItemCacheObj;
|