vxe-pc-ui 4.14.39 → 4.14.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.esm.js +1722 -728
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/cascader/src/cascader.js +1157 -172
- package/es/cascader/src/util.js +7 -0
- package/es/cascader/style.css +197 -21
- package/es/cascader/style.min.css +1 -1
- package/es/input/src/input.js +2 -2
- package/es/language/ar-EG.js +7 -0
- package/es/language/de-DE.js +7 -0
- package/es/language/en-US.js +7 -0
- package/es/language/es-ES.js +7 -0
- package/es/language/fr-FR.js +7 -0
- package/es/language/hu-HU.js +7 -0
- package/es/language/hy-AM.js +7 -0
- package/es/language/id-ID.js +7 -0
- package/es/language/it-IT.js +7 -0
- package/es/language/ja-JP.js +7 -0
- package/es/language/ko-KR.js +7 -0
- package/es/language/ms-MY.js +7 -0
- package/es/language/nb-NO.js +7 -0
- package/es/language/pt-BR.js +7 -0
- package/es/language/ru-RU.js +7 -0
- package/es/language/th-TH.js +7 -0
- package/es/language/ug-CN.js +7 -0
- package/es/language/uk-UA.js +7 -0
- package/es/language/uz-UZ.js +7 -0
- package/es/language/vi-VN.js +7 -0
- package/es/language/zh-CHT.js +7 -0
- package/es/language/zh-CN.js +7 -0
- package/es/list/style.css +2 -1
- package/es/list/style.min.css +1 -1
- package/es/number-input/src/number-input.js +7 -7
- package/es/number-input/src/util.js +2 -2
- package/es/split/style.css +1 -1
- package/es/split/style.min.css +1 -1
- package/es/splitter/style.css +1 -1
- package/es/splitter/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree/src/tree.js +23 -21
- package/es/tree-select/src/tree-select.js +20 -16
- package/es/tree-select/style.css +1 -8
- package/es/tree-select/style.min.css +1 -1
- package/es/ui/index.js +10 -4
- package/es/ui/src/dom.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-cascader/style.css +197 -21
- package/es/vxe-cascader/style.min.css +1 -1
- package/es/vxe-list/style.css +2 -1
- package/es/vxe-list/style.min.css +1 -1
- package/es/vxe-split/style.css +1 -1
- package/es/vxe-split/style.min.css +1 -1
- package/es/vxe-splitter/style.css +1 -1
- package/es/vxe-splitter/style.min.css +1 -1
- package/es/vxe-tree-select/style.css +1 -8
- package/es/vxe-tree-select/style.min.css +1 -1
- package/lib/cascader/src/cascader.js +1322 -173
- package/lib/cascader/src/cascader.min.js +1 -1
- package/lib/cascader/src/util.js +15 -0
- package/lib/cascader/src/util.min.js +1 -0
- package/lib/cascader/style/style.css +197 -21
- package/lib/cascader/style/style.min.css +1 -1
- package/lib/index.umd.js +2159 -972
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +2 -2
- package/lib/input/src/input.min.js +1 -1
- package/lib/language/ar-EG.js +7 -0
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +7 -0
- package/lib/language/de-DE.js +7 -0
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +7 -0
- package/lib/language/en-US.js +7 -0
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +7 -0
- package/lib/language/es-ES.js +7 -0
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +7 -0
- package/lib/language/fr-FR.js +7 -0
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +7 -0
- package/lib/language/hu-HU.js +7 -0
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +7 -0
- package/lib/language/hy-AM.js +7 -0
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +7 -0
- package/lib/language/id-ID.js +7 -0
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +7 -0
- package/lib/language/it-IT.js +7 -0
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +7 -0
- package/lib/language/ja-JP.js +7 -0
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +7 -0
- package/lib/language/ko-KR.js +7 -0
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +7 -0
- package/lib/language/ms-MY.js +7 -0
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +7 -0
- package/lib/language/nb-NO.js +7 -0
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +7 -0
- package/lib/language/pt-BR.js +7 -0
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +7 -0
- package/lib/language/ru-RU.js +7 -0
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +7 -0
- package/lib/language/th-TH.js +7 -0
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +7 -0
- package/lib/language/ug-CN.js +7 -0
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +7 -0
- package/lib/language/uk-UA.js +7 -0
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +7 -0
- package/lib/language/uz-UZ.js +7 -0
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +7 -0
- package/lib/language/vi-VN.js +7 -0
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +7 -0
- package/lib/language/zh-CHT.js +7 -0
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +7 -0
- package/lib/language/zh-CN.js +7 -0
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +7 -0
- package/lib/list/style/style.css +2 -1
- package/lib/list/style/style.min.css +1 -1
- package/lib/number-input/src/number-input.js +7 -4
- package/lib/number-input/src/number-input.min.js +1 -1
- package/lib/number-input/src/util.js +2 -2
- package/lib/number-input/src/util.min.js +1 -1
- package/lib/split/style/style.css +1 -1
- package/lib/split/style/style.min.css +1 -1
- package/lib/splitter/style/style.css +1 -1
- package/lib/splitter/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 +23 -21
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +22 -17
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/tree-select/style/style.css +1 -8
- package/lib/tree-select/style/style.min.css +1 -1
- package/lib/ui/index.js +10 -4
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +5 -3
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-cascader/style/style.css +197 -21
- package/lib/vxe-cascader/style/style.min.css +1 -1
- package/lib/vxe-list/style/style.css +2 -1
- package/lib/vxe-list/style/style.min.css +1 -1
- package/lib/vxe-split/style/style.css +1 -1
- package/lib/vxe-split/style/style.min.css +1 -1
- package/lib/vxe-splitter/style/style.css +1 -1
- package/lib/vxe-splitter/style/style.min.css +1 -1
- package/lib/vxe-tree-select/style/style.css +1 -8
- package/lib/vxe-tree-select/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/cascader/src/cascader.ts +1193 -182
- package/packages/cascader/src/util.ts +9 -0
- package/packages/input/src/input.ts +2 -2
- package/packages/language/ar-EG.ts +7 -0
- package/packages/language/de-DE.ts +7 -0
- package/packages/language/en-US.ts +7 -0
- package/packages/language/es-ES.ts +7 -0
- package/packages/language/fr-FR.ts +7 -0
- package/packages/language/hu-HU.ts +7 -0
- package/packages/language/hy-AM.ts +7 -0
- package/packages/language/id-ID.ts +7 -0
- package/packages/language/it-IT.ts +7 -0
- package/packages/language/ja-JP.ts +7 -0
- package/packages/language/ko-KR.ts +7 -0
- package/packages/language/ms-MY.ts +7 -0
- package/packages/language/nb-NO.ts +7 -0
- package/packages/language/pt-BR.ts +7 -0
- package/packages/language/ru-RU.ts +7 -0
- package/packages/language/th-TH.ts +7 -0
- package/packages/language/ug-CN.ts +7 -0
- package/packages/language/uk-UA.ts +7 -0
- package/packages/language/uz-UZ.ts +7 -0
- package/packages/language/vi-VN.ts +7 -0
- package/packages/language/zh-CHT.ts +7 -0
- package/packages/language/zh-CN.ts +7 -0
- package/packages/number-input/src/number-input.ts +7 -7
- package/packages/number-input/src/util.ts +2 -2
- package/packages/tree/src/tree.ts +23 -22
- package/packages/tree-select/src/tree-select.ts +21 -16
- package/packages/ui/index.ts +10 -3
- package/packages/ui/src/dom.ts +3 -2
- package/styles/components/cascader.scss +116 -21
- package/styles/components/list.scss +2 -1
- package/styles/components/splitter.scss +3 -1
- package/styles/components/tree-select.scss +1 -8
- package/styles/helpers/placement.scss +2 -2
- package/styles/theme/base.scss +7 -0
- package/styles/theme/dark.scss +9 -0
- package/styles/theme/light.scss +9 -0
- package/styles/variable.scss +8 -0
- package/types/components/cascader.d.ts +167 -57
- package/types/ui/global-icon.d.ts +5 -0
- /package/es/icon/{iconfont.1781503194392.ttf → iconfont.1781658330183.ttf} +0 -0
- /package/es/icon/{iconfont.1781503194392.woff → iconfont.1781658330183.woff} +0 -0
- /package/es/icon/{iconfont.1781503194392.woff2 → iconfont.1781658330183.woff2} +0 -0
- /package/es/{iconfont.1781503194392.ttf → iconfont.1781658330183.ttf} +0 -0
- /package/es/{iconfont.1781503194392.woff → iconfont.1781658330183.woff} +0 -0
- /package/es/{iconfont.1781503194392.woff2 → iconfont.1781658330183.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1781503194392.ttf → iconfont.1781658330183.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1781503194392.woff → iconfont.1781658330183.woff} +0 -0
- /package/lib/icon/style/{iconfont.1781503194392.woff2 → iconfont.1781658330183.woff2} +0 -0
- /package/lib/{iconfont.1781503194392.ttf → iconfont.1781658330183.ttf} +0 -0
- /package/lib/{iconfont.1781503194392.woff → iconfont.1781658330183.woff} +0 -0
- /package/lib/{iconfont.1781503194392.woff2 → iconfont.1781658330183.woff2} +0 -0
package/lib/tree/src/tree.js
CHANGED
|
@@ -359,6 +359,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
359
359
|
getComputeMaps: () => computeMaps
|
|
360
360
|
};
|
|
361
361
|
const getNodeId = node => {
|
|
362
|
+
if (!node) {
|
|
363
|
+
return '';
|
|
364
|
+
}
|
|
362
365
|
const valueField = computeValueField.value;
|
|
363
366
|
const nodeKey = _xeUtils.default.get(node, valueField);
|
|
364
367
|
return (0, _util.enNodeValue)(nodeKey);
|
|
@@ -539,7 +542,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
539
542
|
const valueField = computeValueField.value;
|
|
540
543
|
const childrenField = computeChildrenField.value;
|
|
541
544
|
const keyMaps = {};
|
|
542
|
-
_xeUtils.default.eachTree(treeFullData, (item, index, items, path,
|
|
545
|
+
_xeUtils.default.eachTree(treeFullData, (item, index, items, path, parenItem, nodes) => {
|
|
543
546
|
let nodeid = getNodeId(item);
|
|
544
547
|
if (!nodeid) {
|
|
545
548
|
nodeid = getNodeUniqueId();
|
|
@@ -551,7 +554,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
551
554
|
$index: -1,
|
|
552
555
|
_index: -1,
|
|
553
556
|
items,
|
|
554
|
-
parent,
|
|
557
|
+
parent: parenItem,
|
|
555
558
|
nodes,
|
|
556
559
|
level: nodes.length - 1,
|
|
557
560
|
treeIndex: index,
|
|
@@ -574,7 +577,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
574
577
|
const childrenField = computeChildrenField.value;
|
|
575
578
|
const mapChildrenField = computeMapChildrenField.value;
|
|
576
579
|
let vtIndex = 0;
|
|
577
|
-
_xeUtils.default.eachTree(afterTreeList, (item, index, items) => {
|
|
580
|
+
_xeUtils.default.eachTree(afterTreeList, (item, index, items, path, parenItem, nodes) => {
|
|
578
581
|
const nodeid = getNodeId(item);
|
|
579
582
|
const nodeItem = nodeMaps[nodeid];
|
|
580
583
|
if (nodeItem) {
|
|
@@ -588,9 +591,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
588
591
|
$index: -1,
|
|
589
592
|
_index: vtIndex,
|
|
590
593
|
items,
|
|
591
|
-
parent,
|
|
592
|
-
nodes
|
|
593
|
-
level:
|
|
594
|
+
parent: parenItem,
|
|
595
|
+
nodes,
|
|
596
|
+
level: nodes.length - 1,
|
|
594
597
|
treeIndex: index,
|
|
595
598
|
lineCount: 0,
|
|
596
599
|
treeLoaded: false
|
|
@@ -2761,7 +2764,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2761
2764
|
const extraSlot = slots.extra;
|
|
2762
2765
|
const isExpand = updateExpandedFlag && treeExpandedMaps[nodeid];
|
|
2763
2766
|
const nodeItem = nodeMaps[nodeid] || {};
|
|
2764
|
-
const
|
|
2767
|
+
const nodeTitle = _xeUtils.default.get(node, titleField);
|
|
2765
2768
|
const nLevel = nodeItem.level;
|
|
2766
2769
|
let isRadioChecked = false;
|
|
2767
2770
|
if (showRadio) {
|
|
@@ -2838,7 +2841,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2838
2841
|
class: 'vxe-tree--node-item-inner'
|
|
2839
2842
|
}, [(0, _vue.h)('div', {
|
|
2840
2843
|
class: 'vxe-tree--node-item-title'
|
|
2841
|
-
}, titleSlot ? (0, _vn.getSlotVNs)(titleSlot(nParams)) : `${
|
|
2844
|
+
}, titleSlot ? (0, _vn.getSlotVNs)(titleSlot(nParams)) : `${nodeTitle}`), extraSlot ? (0, _vue.h)('div', {
|
|
2842
2845
|
class: 'vxe-tree--node-item-extra'
|
|
2843
2846
|
}, (0, _vn.getSlotVNs)(extraSlot(nParams))) : (0, _ui.renderEmptyElement)($xeTree)])])]);
|
|
2844
2847
|
};
|
|
@@ -2990,6 +2993,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2990
2993
|
(0, _vue.watch)(() => props.data, () => {
|
|
2991
2994
|
dataFlag.value++;
|
|
2992
2995
|
});
|
|
2996
|
+
(0, _vue.watch)(() => props.rootParentValue, () => {
|
|
2997
|
+
dataFlag.value++;
|
|
2998
|
+
});
|
|
2999
|
+
(0, _vue.watch)(() => props.rootValues ? props.rootValues.length : 0, () => {
|
|
3000
|
+
dataFlag.value++;
|
|
3001
|
+
});
|
|
3002
|
+
(0, _vue.watch)(() => props.rootValues, () => {
|
|
3003
|
+
dataFlag.value++;
|
|
3004
|
+
});
|
|
2993
3005
|
(0, _vue.watch)(dataFlag, () => {
|
|
2994
3006
|
loadData(props.data || []);
|
|
2995
3007
|
});
|
|
@@ -3022,19 +3034,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
3022
3034
|
(0, _vue.watch)(hFlag, () => {
|
|
3023
3035
|
recalculate();
|
|
3024
3036
|
});
|
|
3025
|
-
const rootConf = (0, _vue.ref)(0);
|
|
3026
|
-
(0, _vue.watch)(() => props.rootParentValue, () => {
|
|
3027
|
-
rootConf.value++;
|
|
3028
|
-
});
|
|
3029
|
-
(0, _vue.watch)(() => props.rootValues ? props.rootValues.length : 0, () => {
|
|
3030
|
-
rootConf.value++;
|
|
3031
|
-
});
|
|
3032
|
-
(0, _vue.watch)(() => props.rootValues, () => {
|
|
3033
|
-
rootConf.value++;
|
|
3034
|
-
});
|
|
3035
|
-
(0, _vue.watch)(rootConf, () => {
|
|
3036
|
-
loadData(props.data || []);
|
|
3037
|
-
});
|
|
3038
3037
|
(0, _vue.onMounted)(() => {
|
|
3039
3038
|
const {
|
|
3040
3039
|
transform,
|
|
@@ -3048,6 +3047,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
3048
3047
|
if (dragOpts.isCrossTreeDrag) {
|
|
3049
3048
|
(0, _log.errLog)('vxe.error.notProp', ['drag-config.isCrossTreeDrag']);
|
|
3050
3049
|
}
|
|
3050
|
+
// if (valueField) {
|
|
3051
|
+
// errLog('vxe.error.delProp', ['value-field', 'value-field'])
|
|
3052
|
+
// }
|
|
3051
3053
|
const VxeUIContextMenu = _ui.VxeUI.getComponent('VxeContextMenu');
|
|
3052
3054
|
if (menuConfig && !VxeUIContextMenu) {
|
|
3053
3055
|
(0, _log.errLog)('vxe.error.reqComp', ['vxe-context-menu']);
|
package/lib/tree/src/tree.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_util=require("./util"),_log=require("../../ui/src/log"),_store=require("./store"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vn=require("../../ui/src/vn"),_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}}let{menus,getConfig,getI18n,getIcon}=_ui.VxeUI;function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}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 _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTree",props:{data:Array,autoResize:{type:Boolean,default:()=>getConfig().tree.autoResize},height:[String,Number],maxHeight:{type:[String,Number],default:()=>getConfig().tree.maxHeight},minHeight:{type:[String,Number],default:()=>getConfig().tree.minHeight},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:()=>getConfig().tree.accordion},childrenField:{type:String,default:()=>getConfig().tree.childrenField},valueField:{type:String,default:()=>getConfig().tree.valueField},keyField:{type:String,default:()=>getConfig().tree.keyField},parentField:{type:String,default:()=>getConfig().tree.parentField},titleField:{type:String,default:()=>getConfig().tree.titleField},hasChildField:{type:String,default:()=>getConfig().tree.hasChildField},mapChildrenField:{type:String,default:()=>getConfig().tree.mapChildrenField},transform:Boolean,isCurrent:Boolean,isHover:Boolean,expandAll:Boolean,expandNodeKeys:Array,showLine:{type:Boolean,default:()=>getConfig().tree.showLine},trigger:String,indent:{type:Number,default:()=>getConfig().tree.indent},showRadio:{type:Boolean,default:()=>getConfig().tree.showRadio},checkNodeKey:{type:[String,Number],default:()=>getConfig().tree.checkNodeKey},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().tree.showCheckbox},checkNodeKeys:{type:Array,default:()=>getConfig().tree.checkNodeKeys},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,drag:{type:Boolean,default:()=>getConfig().tree.drag},dragConfig:Object,menuConfig:Object,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:()=>getConfig().tree.iconOpen},iconClose:{type:String,default:()=>getConfig().tree.iconClose},iconLoaded:{type:String,default:()=>getConfig().tree.iconLoaded},rootParentValue:{type:[String,Number],default:()=>getConfig().tree.rootParentValue},rootValues:{type:Array,default:()=>getConfig().tree.rootValues},filterValue:[String,Number],filterConfig:Object,size:{type:String,default:()=>getConfig().tree.size||getConfig().size},virtualYConfig:Object},emits:["update:modelValue","update:checkNodeKey","update:checkNodeKeys","node-click","node-dblclick","current-change","radio-change","checkbox-change","load-success","load-error","scroll","node-dragstart","node-dragover","node-dragend","node-expand","node-menu","menu-click"],setup(V,s){let{emit:a,slots:w}=s;var e=_xeUtils.default.uniqueId();let m=(0,_ui.useSize)(V).computeSize,O=(0,_vue.ref)(),C=(0,_vue.ref)(),y=(0,_vue.ref)(),p=(0,_vue.ref)(),N=(0,_vue.ref)(),E=(0,_vue.ref)(),b=(0,_vue.ref)(),u=(0,_store.getCrossTreeDragNodeInfo)(),A=createInternalData(),z=(0,_vue.reactive)(createReactData()),v={refElem:O},U=(0,_vue.computed)(()=>V.titleField||"title"),c=(0,_vue.computed)(()=>V.keyField||"id"),k=(0,_vue.computed)(()=>{var e=c.value;return V.valueField||e}),K=(0,_vue.computed)(()=>V.parentField||"parentId"),B=(0,_vue.computed)(()=>V.childrenField||"children"),$=(0,_vue.computed)(()=>V.mapChildrenField||"mapChildren"),D=(0,_vue.computed)(()=>V.hasChildField||"hasChild"),M=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.virtualYConfig,V.virtualYConfig)),T=(0,_vue.computed)(()=>{var e=d.value.isCurrent;return _xeUtils.default.isBoolean(e)?e:V.isCurrent}),I=(0,_vue.computed)(()=>{var e=d.value.isHover;return _xeUtils.default.isBoolean(e)?e:V.isHover}),f=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.radioConfig,V.radioConfig)),x=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.checkboxConfig,V.checkboxConfig)),d=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.nodeConfig,V.nodeConfig)),S=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.loadingConfig,V.loadingConfig)),P=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.dragConfig,V.dragConfig)),L=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.menuConfig,V.menuConfig)),R=(0,_vue.computed)(()=>{var e=V.indent,{customHeight:t,customMinHeight:r,customMaxHeight:a}=z,l=x.value.nodeStyle,o={};return t&&(o.height=(0,_dom.toCssUnit)(t)),r&&(o.minHeight=(0,_dom.toCssUnit)(r)),a&&(o.maxHeight=(0,_dom.toCssUnit)(a)),e&&(o["--vxe-ui-tree-node-indent"]=(0,_dom.toCssUnit)(e)),l&&({indeterminateColor:t,checkedColor:r}=l,t&&(o["--vxe-ui-tree-node-checkbox-indeterminate-color"]=t),r)&&(o["--vxe-ui-tree-node-checkbox-checked-color"]=r),o}),H=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.filterConfig,V.filterConfig)),F={computeKeyField:c,computeParentField:K,computeChildrenField:B,computeMapChildrenField:$,computeRadioOpts:f,computeCheckboxOpts:x,computeNodeOpts:d,computeDragOpts:P},q={xID:e,props:V,context:s,internalData:A,reactData:z,getRefMaps:()=>v,getComputeMaps:()=>F},Y=e=>{var t=k.value,e=_xeUtils.default.get(e,t);return(0,_util.enNodeValue)(e)};let te=e=>{var t=z.selectRadioKey;return t===e};let re=e=>{var t=z.updateCheckboxFlag,r=A.selectCheckboxMaps;return!(!t||!r[e])};let ae=e=>{var t=z.updateCheckboxFlag,r=A.indeterminateRowMaps;return!(!t||!r[e])};let g=e=>{a("update:checkNodeKeys",e)},n=e=>{a("update:checkNodeKey",e)},le=(e,r)=>{let a=A.nodeMaps;if(e){_xeUtils.default.isArray(e)||(e=[e]);let t=[];e.forEach(e=>{e=(0,_util.enNodeValue)(e),e=a[e];e&&t.push(e.item)}),oe(t,r)}return(0,_vue.nextTick)()},oe=(e,r)=>{var t=V.transform;let a=A.selectCheckboxMaps;var l=$.value,o=B.value,d=x.value.checkStrictly,n=e=>{var t=Y(e);r?a[t]||(a[t]=e):a[t]&&delete a[t]};d?e.forEach(n):_xeUtils.default.eachTree(e,n,{children:t?l:o}),z.updateCheckboxFlag++,Q()},l=(e,t,r)=>{t?r[e]||(r[e]=!0):r[e]&&delete r[e]},j=(e,t,r)=>{a(e,(0,_ui.createEvent)(r,{$tree:q},t))},de=()=>{var e=O.value;return e?e.parentElement:null},ne=e=>{var t=z.parentHeight,e=V[e];let 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},ie=()=>{z.customHeight=ne("height"),z.customMinHeight=ne("minHeight"),z.customMaxHeight=ne("maxHeight"),!z.scrollYLoad||z.customHeight||z.customMinHeight||(z.customHeight=300)},se=()=>{var e=A.treeFullData;let n=k.value;var t=B.value;let i={};_xeUtils.default.eachTree(e,(e,t,r,a,l,o)=>{let d=Y(e);d||(d=getNodeUniqueId(),_xeUtils.default.set(e,n,d)),i[d]={item:e,index:t,$index:-1,_index:-1,items:r,parent:l,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1}},{children:t}),A.nodeMaps=i},G=()=>{var e=V.transform;let{afterTreeList:t,nodeMaps:o}=A;var r=B.value,a=$.value;let d=0;_xeUtils.default.eachTree(t,(e,t,r)=>{var a=Y(e),l=o[a];l?(l.items=r,l.treeIndex=t,l._index=d):(l={item:e,index:t,$index:-1,_index:d,items:r,parent:parent,nodes:[],level:0,treeIndex:t,lineCount:0,treeLoaded:!1},o[a]=l),d++},{children:e?a:r})},ue=()=>{var{transform:t,filterValue:r}=V,{treeFullData:a,lastFilterValue:e}=A;let l=U.value;var o=B.value,d=$.value;let{autoExpandAll:n,beforeFilterMethod:i,filterMethod:s,afterFilterMethod:u}=H.value,c=a,v=c,g="";if(r||0===r){g=""+r;r=s?e=>s({$tree:q,node:e,filterValue:g}):e=>-1<String(e[l]).toLowerCase().indexOf(g.toLowerCase());let e={$tree:q,filterValue:g};i&&i(e),c=t?v=_xeUtils.default.searchTree(a,r,{original:!0,isEvery:!0,children:o,mapChildren:d}):a.filter(r),A.lastFilterValue=g,(0,_vue.nextTick)(()=>{n?q.setAllExpandNode(!0).then(()=>{u&&u(e)}):u&&u(e)})}else{if(t&&(v=_xeUtils.default.searchTree(a,()=>!0,{original:!0,isEvery:!0,children:o,mapChildren:d}),c=v,e)){let e={$tree:q,filterValue:g};i&&i(e),(0,_vue.nextTick)(()=>{n?q.clearAllExpandNode().then(()=>{u&&u(e)}):u&&u(e)})}A.lastFilterValue=""}A.afterVisibleList=c,A.afterTreeList=v,G()},h=()=>{var e=V.transform;let{afterTreeList:t,treeExpandedMaps:i}=A;var r=$.value;let s={};if(e){let n=[];return _xeUtils.default.eachTree(t,(e,t,r,a,l)=>{var o=Y(e),d=Y(l);(!l||s[d]&&i[d])&&(s[o]=1,n.push(e))},{children:r}),ve(n),A.afterVisibleList=n}return A.afterVisibleList},X=e=>{var t=z.scrollYLoad;let{scrollYStore:r,nodeMaps:a}=A,l=A.afterVisibleList;e&&(ue(),l=h());e=t?l.slice(r.startIndex,r.endIndex):l.slice(0);e.forEach((e,t)=>{e=Y(e),e=a[e];e&&(e.$index=t)}),z.treeList=e},ce=_xeUtils.default.debounce(()=>X(!0),350,{trailing:!0}),t=e=>{let{expandAll:t,expandNodeKeys:r,transform:a,rootParentValue:l,rootValues:o}=V,{initialized:d,scrollYStore:n}=A;var i=c.value,s=K.value,u=B.value,i=a?_xeUtils.default.toArrayTree(e,{key:i,parentKey:s,mapChildren:u,rootParentValue:l,rootValues:o}):e?e.slice(0):[],s=(A.treeFullData=i,Object.assign(n,{startIndex:0,endIndex:1,visibleSize:0}),ve(i));return se(),X(!0),!s||V.height||V.maxHeight||(0,_log.errLog)("vxe.error.reqProp",["[tree] height | max-height | virtual-y-config.enabled=false"]),he().then(()=>{d||e&&e.length&&(A.initialized=!0,t?q.setAllExpandNode(!0):r&&r.length&&q.setExpandByNodeId(r,!0),le(V.checkNodeKeys||[],!0)),ie();{let{lastScrollLeft:e,lastScrollTop:t}=A;_e().then(()=>{if(e||t)return A.lastScrollLeft=0,A.lastScrollTop=0,scrollTo(e,t)})}})},ve=e=>{var t=V.transform,r=M.value,e=e||A.treeFullData,t=!!t&&!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<e.length);return z.scrollYLoad=t},W=()=>{var e=z.scrollYLoad,{scrollYStore:t,afterVisibleList:r}=A;z.bodyHeight=e?r.length*t.rowHeight:0,z.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},ge=()=>{X(),W()},he=()=>(0,_vue.nextTick)().then(()=>{var e=z.scrollYLoad,t=A.scrollYStore,r=N.value,a=M.value;let l=0,o;(o=r?o||r.children[0]:o)&&(l=o.offsetHeight),l=Math.max(20,l),t.rowHeight=l,(e?(r=p.value,e=Math.max(8,r?Math.ceil(r.clientHeight/l):0),r=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+r,t.endIndex),ge):W)()}),pe=(e,t)=>{var r=p.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),r&&(_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t))&&(r.scrollTop=t),z.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},J=()=>{var e,t,r,a=A.scrollYStore,a=a.rowHeight,l=O.value;return l&&l.clientWidth&&l.clientHeight?(l=de(),e=C.value,t=y.value,e=e?e.clientHeight:0,t=t?t.clientHeight:0,l&&(r=(0,_dom.getPaddingTopBottomSize)(l),z.parentHeight=Math.max(e+t+a,l.clientHeight-r-e-t)),ie(),he().then(()=>{ie(),W()})):(0,_vue.nextTick)()},fe=()=>{var e=A.scrollYStore,{startIndex:t,endIndex:r,visibleSize:a,offsetSize:l,rowHeight:o}=e,d=p.value;d&&(d=d.scrollTop,d=Math.floor(d/o),o=Math.max(0,d-1-l),l=d+a+l,!(d<=t||r-a-1<=d)||t===o&&r===l||(e.startIndex=o,e.endIndex=l,ge()))},xe=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,a=t!==A.lastScrollLeft,l=r!==A.lastScrollTop;A.lastScrollTop=r,A.lastScrollLeft=t,z.scrollYLoad&&fe(),A.lastScrollTime=Date.now(),j("scroll",{scrollLeft:t,scrollTop:r,isX:a,isY:l},e)},_e=()=>{var e=p.value;return e&&(e.scrollTop=0,e.scrollLeft=0),A.lastScrollTop=0,(A.lastScrollLeft=0,_vue.nextTick)()},me=(e,t)=>{var r=V.drag,a=A.nodeMaps,l=e.currentTarget,{trigger:o,isCrossDrag:d,isPeerDrag:n,disabledMethod:i}=P.value,s=Y(t);let u=r?"node"===o:!1;(0,_dom.getEventTargetNode)(e,l,"vxe-tree--node-item-switcher").flag||(r={node:t,$tree:q},o=a[s],!u)||!(d||n||o&&!o.level)||i&&i(r)||He(e,{node:t})},Ce=(e,t)=>{var{showRadio:r,showCheckbox:a,trigger:l}=V,o=f.value,d=x.value;let n=!1,i=!1,s=!1,u=!1;T.value?(n=!0,Te(e,t)):z.currentNode&&(z.currentNode=null),"node"===l&&(u=!0,ke(e,t)),r&&"node"===o.trigger&&(i=!0,Ie(e,t)),a&&"node"===d.trigger&&(s=!0,Me(e,t)),j("node-click",{node:t,triggerCurrent:n,triggerRadio:i,triggerCheckbox:s,triggerExpand:u},e)},ye=(e,t)=>{j("node-dblclick",{node:t},e)},Ne=(a,l)=>{var e=V.menuConfig,t=T.value,r=L.value;(e?(0,_utils.isEnableConf)(r):r.enabled)&&({options:e,visibleMethod:r}=r,r&&!r({$tree:q,options:e,node:l})||(t?Te(a,l):z.currentNode&&(z.currentNode=null),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(a,{options:e,events:{optionClick(e){var t=e.option,r=menus.get(t.code),r=r?r.treeMenuMethod:null,t={menu:t,node:l,$event:a,$tree:q,option:t};r&&r(t,a),j("menu-click",t,e.$event)}}}))),j("node-menu",{node:l},a)},Ee=o=>{var e=x.value;let r=V.loadMethod,d=e.checkStrictly;return new Promise(e=>{if(r){var t=A.nodeMaps;let a=Y(o),l=t[a];A.treeExpandLazyLoadedMaps[a]=!0,Promise.resolve(r({$tree:q,node:o})).then(r=>{var e=A.treeExpandLazyLoadedMaps;if(l.treeLoaded=!0,e[a]&&(e[a]=!1),r=_xeUtils.default.isArray(r)?r:[])return q.loadChildrenNode(o,r).then(e=>{var t=A.treeExpandedMaps;return e.length&&!t[a]&&(t[a]=!0),z.updateExpandedFlag++,!d&&q.isCheckedByCheckboxNodeId(a)&&oe(e,!0),j("load-success",{node:o,data:r},new Event("load-success")),(0,_vue.nextTick)()});j("load-success",{node:o,data:r},new Event("load-success"))}).catch(e=>{var t=A.treeExpandLazyLoadedMaps;l.treeLoaded=!1,t[a]&&(t[a]=!1),j("load-error",{node:o,data:e},new Event("load-error"))}).finally(()=>(h(),X(),J()))}else e()})},be=(e,t)=>{let{lazy:a,accordion:r,toggleMethod:l}=V,{treeExpandLazyLoadedMaps:o,treeExpandedMaps:d}=A,n=A.nodeMaps,i=B.value,s=D.value,u=[],c=l?e.filter(e=>l({$tree:q,expanded:t,node:e})):e;r&&(c=c.length?[c[c.length-1]]:[],e=Y(c[0]),e=n[e])&&e.items.forEach(e=>{e=Y(e);d[e]&&delete d[e]});let v=[];return t?c.forEach(e=>{var t,r=Y(e);d[r]||(t=n[r],a&&e[s]&&!t.treeLoaded&&!o[r]?u.push(Ee(e)):e[i]&&e[i].length&&(d[r]=!0,v.push(e)))}):c.forEach(e=>{var t=Y(e);d[t]&&(delete d[t],v.push(e))}),z.updateExpandedFlag++,h(),X(),Promise.all(u).then(()=>J())},ke=(e,t)=>{var r=V.lazy,{treeExpandedMaps:a,treeExpandLazyLoadedMaps:l}=A,o=Y(t),a=!a[o];e.stopPropagation(),r&&l[o]||be([t],a),j("node-expand",{node:t,expanded:a},e)},Q=()=>{var e=V.transform;let{selectCheckboxMaps:i,indeterminateRowMaps:s,afterTreeList:t}=A,o=B.value;var r=$.value;let{checkStrictly:a,checkMethod:u}=x.value;if(!a){let a={},l=[];_xeUtils.default.eachTree(t,e=>{var t=Y(e),r=e[o];r&&r.length&&!a[t]&&(a[t]=1,l.unshift([e,t,r]))},{children:e?r:o}),l.forEach(e=>{var t=e[0],r=e[1],e=e[2];let a=0,l=0,o=0;var d=e.length;e.forEach(u?e=>{var t=Y(e),r=i[t];u({$tree:q,node:e})?(r?a++:s[t]&&l++,o++):r?a++:s[t]&&l++}:e=>{e=Y(e);i[e]?a++:s[e]&&l++,o++});let n=!1;e=!(n=0<d?0<o?(0<a||0<l)&&a>=o:0<a&&a>=o||!!i[r]:i[r])&&(0<a||0<l);n?(i[r]=t,s[r]&&delete s[r]):(i[r]&&delete i[r],e?s[r]=t:s[r]&&delete s[r])}),z.updateCheckboxFlag++}},Me=(e,r)=>{e.preventDefault(),e.stopPropagation();var a=V.transform;let{selectCheckboxMaps:l,nodeMaps:t}=A;var o=B.value,d=$.value,{checkStrictly:n,checkMode:i,checkMethod:s}=x.value,u=Y(r),c=_xeUtils.default.get(r,o),c=c&&0<c.length,v=(t[u]||{}).level,s=s?!s({$tree:q,node:r}):!_(i,c,v);if(!s){let t=!1;l[u]?delete l[u]:(t=!0,l[u]=r),n||_xeUtils.default.eachTree(_xeUtils.default.get(r,a?d:o),e=>{e=Y(e);t?l[e]||(l[e]=!0):l[e]&&delete l[e]},{children:a?d:o}),z.updateCheckboxFlag++,Q();i=_xeUtils.default.keys(l).map(_util.deNodeValue);g(i),j("checkbox-change",{node:r,value:i,checked:t},e)}},Te=(e,t)=>{e.preventDefault();var{currentMethod:r,trigger:a}=d.value,l=B.value,l=_xeUtils.default.get(t,l),l=l&&l.length;let o=!!r;if("child"===a){if(l)return}else if("parent"===a&&!l)return;(o=r?!r({node:t}):o)||(z.currentNode=t,j("current-change",{node:t,checked:!0},e))},Ie=(e,t)=>{e.preventDefault(),e.stopPropagation();var r=A.nodeMaps,a=f.value,l=B.value,{checkMode:a,checkMethod:o}=a,d=Y(t),l=_xeUtils.default.get(t,l),l=l&&0<l.length,r=(r[d]||{}).level;(o?o({$tree:q,node:t}):_(a,l,r))&&(o=(0,_util.deNodeValue)(d),z.selectRadioKey=d,n(o),j("radio-change",{node:t,value:o,checked:!0},e))},Se=()=>{var e=O.value;e&&e.clientWidth&&J()},Le={dispatchEvent:j,getNodeId:Y,getNodeById(e){var t=A.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},loadData(e){return t(e||[])},reloadData(e){return t(e||[])},clearCurrentNode(){return(z.currentNode=null,_vue.nextTick)()},getCurrentNodeId(){var e=z.currentNode;return e?(0,_util.deNodeValue)(Y(e)):null},getCurrentNode(){var e=z.currentNode,t=A.nodeMaps;if(e){t=t[Y(e)];if(t)return t.item}return null},setCurrentNodeId(e){var t=A.nodeMaps,t=t[(0,_util.enNodeValue)(e)];return z.currentNode=t?t.item:null,(0,_vue.nextTick)()},setCurrentNode(e){return z.currentNode=e,(0,_vue.nextTick)()},clearRadioNode(){return z.selectRadioKey=null,n(null),(0,_vue.nextTick)()},getRadioNodeId(){return z.selectRadioKey||null},getRadioNode(){var e=z.selectRadioKey,t=A.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},setRadioNodeId(e){return z.selectRadioKey=(0,_util.enNodeValue)(e),n(e),(0,_vue.nextTick)()},setRadioNode(e){return e?(e=Y(e),z.selectRadioKey=e,n((0,_util.deNodeValue)(e))):n(null),(0,_vue.nextTick)()},setCheckboxNode(e,t){return e&&(_xeUtils.default.isArray(e)||(e=[e]),oe(e,t)),g(q.getCheckboxNodeIds()),(0,_vue.nextTick)()},setCheckboxByNodeId(e,t){return le(e,t),g(q.getCheckboxNodeIds()),(0,_vue.nextTick)()},getCheckboxNodeIds(){var e=A.selectCheckboxMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_util.deNodeValue)(t))}),r},getCheckboxNodes(){let{nodeMaps:r,selectCheckboxMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},clearCheckboxNode(){return A.indeterminateRowMaps={},A.selectCheckboxMaps={},z.updateCheckboxFlag++,g([]),Q(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))},setAllCheckboxNode(e){var t=V.transform;let r={};var a=B.value,l=$.value;let o=[],d=[];return e&&_xeUtils.default.eachTree(A.afterTreeList,e=>{var t=Y(e);o.push(t),d.push(e),r[t]=!0},{children:t?l:a}),A.indeterminateRowMaps={},A.selectCheckboxMaps=r,z.updateCheckboxFlag++,Q(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:o,checkNodes:d}))},clearExpandNode(){return Le.clearAllExpandNode()},clearAllExpandNode(){let e=z.scrollYLoad;var{nodeMaps:t,scrollYStore:r}=A;return _xeUtils.default.each(t,e=>{e.treeLoaded=!1}),A.treeExpandedMaps={},z.updateExpandedFlag++,z.topSpaceHeight=0,r.startIndex=0,r.endIndex=1,h(),X(),J().then(()=>(e&&fe(),J()))},setExpandByNodeId(e,t){let r=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.enNodeValue)(e);l(e,t,r)}),z.updateExpandedFlag++),h(),X(),J()},getExpandNodeIds(){var e=A.treeExpandedMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_util.deNodeValue)(t))}),r},getExpandNodes(){let{nodeMaps:r,treeExpandedMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},setExpandNode(e,t){let r=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Y(e);l(e,t,r)}),z.updateExpandedFlag++),h(),X(),J()},toggleExpandByNodeId(e){let t=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.enNodeValue)(e);l(e,!t[""+e],t)}),z.updateExpandedFlag++),h(),X(),J()},toggleExpandNode(e){let t=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Y(e);l(e,!t[e],t)}),z.updateExpandedFlag++),h(),X(),J()},setAllExpandNode(e){var t=V.transform;let r=z.scrollYLoad,{scrollYStore:a,treeExpandedMaps:l}=A,o=B.value;var d=$.value;return e?_xeUtils.default.eachTree(A.afterTreeList,e=>{var t=_xeUtils.default.get(e,o);t&&t.length&&(t=Y(e),l[t]=!0)},{children:t?d:o}):A.treeExpandedMaps={},z.updateExpandedFlag++,z.topSpaceHeight=0,a.startIndex=0,a.endIndex=1,h(),X(),J().then(()=>(r&&fe(),J()))},reloadExpandNode(e){var t=V.lazy;return t?(Le.clearExpandLoaded(e),Ee(e)):J()},clearExpandLoaded(e){var t=V.lazy,r=A.nodeMaps;return t&&(t=r[Y(e)])&&(t.treeLoaded=!1),J()},loadChildrenNode(t,e){let{lazy:r,transform:a}=V,n=A.nodeMaps;if(!r)return Promise.resolve([]);let l=B.value,o=$.value,i=n[Y(t)],s=i?i.level:0,u=i?i.nodes:[];return(e=>{let r=k.value;return Promise.resolve(e.map(e=>{var t,e=Object.assign({},e);return Y(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,r,t)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,t,r,a,l,o)=>{var d=Y(e);n[d]={item:e,index:-1,$index:-1,_index:-1,items:r,parent:l||i.item,nodes:u.concat(o),level:s+o.length,treeIndex:-1,lineCount:0,treeLoaded:!1}},{children:l}),t[l]=e,a&&(t[o]=e),G(),e))},isExpandByNode:e=>{var t=z.updateExpandedFlag,r=A.treeExpandedMaps,e=Y(e);return!(!t||!r[e])},isCheckedByRadioNodeId:te,isCheckedByRadioNode:e=>te(Y(e)),isCheckedByCheckboxNodeId:re,isIndeterminateByCheckboxNode:e=>ae(Y(e)),isCheckedByCheckboxNode:e=>re(Y(e)),getCheckboxIndeterminateNodes(){let{nodeMaps:r,indeterminateRowMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},recalculate:J,getFullData(){var e=A.treeFullData;return e.slice(0)},scrollTo:pe,scrollToNode(e){return q.scrollToNodeId(Y(e))},scrollToNodeId(t){var e=V.transform;let{scrollYStore:r,afterTreeList:a}=A;var l=B.value,o=$.value;let d=p.value;if(t&&d)if(e){e=_xeUtils.default.findTree(a,e=>Y(e)===t,{children:e?o:l});if(e)return q.setExpandNode(e.nodes,!0).then(()=>{var e=_xeUtils.default.findIndexOf(A.afterVisibleList,e=>Y(e)===t);if(-1<e)return e=Math.max(0,(e-1)*r.rowHeight),pe(d.scrollLeft,e)})}else{o=d.querySelector(`.vxe-tree--node-wrapper[nodeid="${t}"]`);if(o)return pe(d.scrollLeft,o.offsetTop)}return J()},clearScroll:_e},we=()=>{var e=O.value;if(e){let t="node--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},De=e=>{var t=O.value;if(t){e=Y(e);_xeUtils.default.arrayEach(t.querySelectorAll(`.vxe-tree--node-wrapper[nodeid="${e}"]`),e=>{(0,_dom.addClass)(e,"node--drag-origin")})}},Ue=e=>{var t=z.dragNode,r=P.value.tooltipMethod;let a="";a=r?""+(r({$tree:q,node:t})||""):getI18n("vxe.tree.dragTip",[e.textContent||""]),z.dragTipText=a},i=()=>{var e=b.value,t=E.value;e&&(e.style.display=""),t&&(t.style.display="")},Z=()=>{u.node=null},Re=()=>{var e=z.dragNode;e&&(i(),we(),Z(),z.dragNode=null)},He=(e,t)=>{e.stopPropagation();var r=t.node,{trigger:a,dragStartMethod:l}=P.value,o=e.currentTarget,a="node"===a?o:o.parentElement.parentElement;we(),l&&!l(t)?(a.draggable=!1,z.dragNode=null,i()):(z.dragNode=r,a.draggable=!0,De(r),Ue(a),j("node-dragstart",t,e))},Fe=()=>{Re()},Ve=(e,t,r,a)=>{var l=O.value;if(l){var o=A.prevDragToChild,d=l.getBoundingClientRect(),n=l.clientHeight;if(t){var i=E.value;if(i)if(r){var s=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,s.y-d.y);t+e>n&&(e=n-t),i.style.display="block",i.style.top=t+"px",i.style.height=e+"px",i.setAttribute("drag-pos",a),i.setAttribute("drag-to-child",o?"y":"n")}else i.style.display=""}s=b.value;s&&(s.style.display="block",s.style.top=Math.min(l.clientHeight-l.scrollTop-s.clientHeight,e.clientY-d.y)+"px",s.style.left=Math.min(l.clientWidth-l.scrollLeft-s.clientWidth-1,e.clientX-d.x)+"px",s.setAttribute("drag-status",r?o?"sub":"normal":"disabled"))}},ee=()=>{var e=O.value;i(),we(),(0,_anime.clearRowAnimate)(e,[".vxe-tree--node-wrapper"]),A.prevDragToChild=!1,z.dragNode=null},Oe=(v,g,h,p,e)=>{let f=V.transform,{nodeMaps:x,treeFullData:_,afterVisibleList:m}=A;var C=P.value;let{animation:y,isCrossDrag:N,isPeerDrag:E,isSelfToChildDrag:b,dragEndMethod:t,dragToChildMethod:k}=C;C=t||(C?C.dragEndMethod:null);let M=c.value,T=K.value,I=B.value,S=$.value,L="bottom"===p?1:0,w=O.value,D={status:!1};if(w&&h&&g){if(h!==g){var U={oldNode:g,newNode:h,dragNode:g,dragPos:p,dragToChild:!!e,offsetIndex:L};let r=Y(g);var R=x[r]||{};let s=R._index,u=0,c=-1,a=(y&&(H=w.querySelector(`.vxe-tree--node-wrapper[nodeid="${h}"]`),F=w.querySelector(`.vxe-tree--node-wrapper[nodeid="${r}"]`),(H=H||F)&&(u=H.offsetHeight),F)&&(c=F.offsetTop),-1),l=-1,t={},o=!1,d=R;var H=Y(h);let n=x[H];if(f&&d&&n){var F=d.level,R=n.level;if(_xeUtils.default.eachTree([g],e=>{t[Y(e)]=e},{children:S}),F&&R)if(E&&!N){if(d.item[T]!==n.item[T])return ee(),Z(),D}else{if(!N)return ee(),Z(),D;if(t[H]&&(o=!0,!N||!b))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ee(),Z(),D}else if(F){if(!N)return ee(),Z(),D}else if(R){if(!N)return ee(),Z(),D;if(t[H]&&(o=!0,!N||!b))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ee(),Z(),D}}let i=b&&k?k(U):e;return Promise.resolve(!C||C(U)).then(e=>{var t;return e?(f?d&&n&&(e=_xeUtils.default.toTreeArray(A.afterTreeList,{updated:!1,key:M,parentKey:T,children:S}),t=q.findNodeIndexOf(e,g),e.splice(t,1),t=q.findNodeIndexOf(e,h)+L,e.splice(t,0,g),o&&N&&b&&_xeUtils.default.each(g[I],e=>{e[T]=g[T]}),g[T]=i?h[M]:h[T],A.treeFullData=_xeUtils.default.toArrayTree(e,{key:M,parentKey:T,children:I,mapChildren:S})):(a=q.findNodeIndexOf(m,g),t=q.findNodeIndexOf(_,g),m.splice(a,1),_.splice(t,1),e=q.findNodeIndexOf(m,h),t=q.findNodeIndexOf(_,h),l=e+L,e=t+L,m.splice(l,0,g),_.splice(e,0,g)),se(),X(f),f||G(),Q(),z.scrollYLoad&&W(),v&&j("node-dragend",{oldNode:g,newNode:h,dragNode:g,dragPos:p,dragToChild:i,offsetIndex:L,_index:{newIndex:l,oldIndex:a}},v),(0,_vue.nextTick)().then(()=>{if(y){var a=z.treeList,l=A.nodeMaps,o=l[r],d=o._index,n=a[0],l=l[Y(n)],n=w;if(l){var l=l._index,i=l+a.length;let e=-1,t=-1,r=1;s<l?(e=0,t=d-l):s>i?(i=o.$index,e=i+1,t=a.length,r=-1):d>s?(e=s-l,t=e+d-s):(e=d-l,t=e+s-d+1,r=-1);o=a.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=Y(e);t.push(`.vxe-tree--node-wrapper[nodeid="${e}"]`)});i=n.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(i,r*u)}}l=[`.vxe-tree--node-wrapper[nodeid="${r}"]`],d=n.querySelectorAll(l.join(",")),a=d[0];-1<c&&a&&(0,_anime.moveRowAnimateToTb)(d,c-a.offsetTop)}J()}).then(()=>({status:!0}))):D}).catch(()=>D).then(e=>(ee(),Z(),e))}ee(),Z()}return Promise.resolve(D)},Ae=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},ze=e=>{var t=V.lazy,r=z.dragNode,{nodeMaps:a,prevDragNode:l,prevDragPos:o,prevDragToChild:d}=A,n=D.value;t&&d&&(t=a[Y(l)],l[n])&&(!t||!t.treeLoaded)||Oe(e,r,l,o,d)},Ke=e=>{var t,r,{lazy:a,transform:l}=V,o=z.dragNode,d=A.nodeMaps,n=P.value,i=K.value,s=D.value,{isCrossDrag:n,isPeerDrag:u,isToChildDrag:c}=n,v=(o||n||e.preventDefault(),(0,_dom.hasControlKey)(e)),g=e.currentTarget,h=g.getAttribute("nodeid")||"",d=d[h];d&&(e.preventDefault(),t=d.item,r=e.clientY-g.getBoundingClientRect().y<g.clientHeight/2?"top":"bottom",A.prevDragToChild=!!(l&&n&&c&&v),A.prevDragNode=t,A.prevDragPos=r,o&&Y(o)===h||v&&a&&t[s]&&d&&!d.treeLoaded||!n&&l&&(u?o[i]!==t[i]:d.level)?Ve(e,g,!1,r):(Ve(e,g,!0,r),j("node-dragover",{oldRNode:o,targetNode:t,dragPos:r},e)))};e={handleData:X,cacheNodeMap:se,updateAfterDataIndex:G,updateCheckboxStatus:Q,updateYSpace:W,findNodeIndexOf(e,t){return t?_xeUtils.default.findIndexOf(e,e=>q.eqNode(e,t)):-1},eqNode(e,t){return!(!e||!t||e!==t&&Y(e)!==Y(t))},handleCrossTreeNodeDragCancelEvent(){ee(),Z()},handleCrossTreeNodeDragFinishEvent(){},handleCrossTreeNodeDragInsertEvent(){},handleCrossTreeNodeDragoverEmptyEvent(){},hideCrossTreeNodeDropClearStatus(){i()}};Object.assign(q,Le,e);let Be=(e,t)=>{var{drag:r,transform:a}=V,l=A.nodeMaps,{showIcon:o,isPeerDrag:d,isCrossDrag:n,visibleMethod:i}=P.value;let s={node:e,$tree:q};if(r&&o&&a&&(!i||i(s))){e=l[t];if(e&&(d||n||!e.level)){var{icon:r,trigger:o,disabledMethod:a}=P.value;let t=a&&a(s);i={};return"node"!==o&&(i.onMousedown=e=>{t||He(e,s)},i.onMouseup=Fe),(0,_vue.h)("div",Object.assign({class:["vxe-tree--drag-handle",{"is--disabled":t}]},i),[(0,_vue.h)("i",{class:r||getIcon().TREE_DRAG})])}}return(0,_ui.renderEmptyElement)(q)},_=(e,t,r)=>{if(e){if("first"===e)return!r;if("last"===e)return!t}return!0},$e=(r,e,a,l,o)=>{var t=V.showRadio,{showIcon:d,checkMode:n,checkMethod:i,visibleMode:s,visibleMethod:u}=f.value,u=u?u({$tree:q,node:r}):_(s,a,l);if(t&&d&&u){let t=i?!i({$tree:q,node:r}):!_(n,a,l);return(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":o,"is--disabled":t}],onClick:e=>{t||Ie(e,r)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?getIcon().RADIO_CHECKED:getIcon().RADIO_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(q)},Pe=(r,e,a,l,o,d)=>{var t=V.showCheckbox,{showIcon:n,checkMode:i,checkMethod:s,visibleMode:u,visibleMethod:c}=x.value,c=c?c({$tree:q,node:r}):_(u,a,l);if(t&&n&&c){let t=s?!s({$tree:q,node:r}):!_(i,a,l);return(0,_vue.h)("div",{class:["vxe-tree--checkbox-option",{"is--checked":o,"is--indeterminate":d,"is--disabled":t}],onClick:e=>{t||Me(e,r)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",d?getIcon().CHECKBOX_INDETERMINATE:o?getIcon().CHECKBOX_CHECKED:getIcon().CHECKBOX_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(q)},qe=(t,e)=>{var{lazy:r,drag:a,transform:l,showRadio:o,showCheckbox:d,showLine:n,iconOpen:i,iconClose:s,iconLoaded:u,showIcon:c}=V,{currentNode:v,selectRadioKey:g,updateExpandedFlag:h}=z,{afterTreeList:p,nodeMaps:f,treeExpandedMaps:x,treeExpandLazyLoadedMaps:_}=A,m=B.value,C=U.value,y=D.value,m=_xeUtils.default.get(t,m),m=m&&0<m.length,N=w.icon,E=w.title,b=w.extra,h=h&&x[e],x=f[e]||{},f=_xeUtils.default.get(t,C),C=x.level;let k=!1,M=(o&&(k=e===String(g)),!1),T=!1,I=(d&&(M=re(e),T=ae(e)),!1),S=!1,L=!1;r&&(S=!!_[e],I=t[y],L=!!x.treeLoaded);o=x.items[x.treeIndex-1],g={node:t,isExpand:h},d={onMousedown(e){me(e,t)},onMouseup:Fe,onClick(e){Ce(e,t)},onDblclick(e){ye(e,t)},onContextmenu(e){Ne(e,t)}};return a&&l&&(d.onDragstart=Ae,d.onDragend=ze,d.onDragover=Ke),(0,_vue.h)("div",Object.assign({key:e,class:["vxe-tree--node-wrapper","node--level-"+C],nodeid:e},d),[(0,_vue.h)("div",{class:["vxe-tree--node-item",{"is--current":v&&e===Y(v),"is-radio--checked":k,"is-checkbox--checked":M,"is-checkbox--indeterminate":T}]},[n?(0,_vue.h)("div",{class:"vxe-tree--node-line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--node-line",style:{height:`${Y(p[0])===e?1:(0,_util.calcTreeLine)(q,t,o)}px`}})]):(0,_ui.renderEmptyElement)(q),(0,_vue.h)("div",{class:"vxe-tree--node-item-switcher"},c&&(!r||L?m:I)?[(0,_vue.h)("div",{class:"vxe-tree--node-item-icon",onClick(e){ke(e,t)}},N?(0,_vn.getSlotVNs)(N(g)):[(0,_vue.h)("i",{class:S?u||getIcon().TREE_NODE_LOADED:h?i||getIcon().TREE_NODE_OPEN:s||getIcon().TREE_NODE_CLOSE})])]:[]),Be(t,e),$e(t,e,m,C,k),Pe(t,e,m,C,M,T),(0,_vue.h)("div",{class:"vxe-tree--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-tree--node-item-title"},E?(0,_vn.getSlotVNs)(E(g)):""+f),b?(0,_vue.h)("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(b(g))):(0,_ui.renderEmptyElement)(q)])])])},Ye=e=>{var t=V.transform;let r=A.treeExpandedMaps,a=B.value;if(!e.length)return[(0,_vue.h)("div",{class:"vxe-tree--empty-placeholder"},getI18n("vxe.tree.searchEmpty"))];let l=[];return e.forEach(t?e=>{var t=Y(e);l.push(qe(e,t))}:e=>{var t=Y(e),e=(l.push(qe(e,t)),_xeUtils.default.get(e,a));e&&e.length&&r[t]&&l.push(...Ye(e))}),l};let je=(0,_vue.ref)(0),Ge=((0,_vue.watch)(()=>V.data?V.data.length:0,()=>{je.value++}),(0,_vue.watch)(()=>V.data,()=>{je.value++}),(0,_vue.watch)(je,()=>{t(V.data||[])}),(0,_vue.watch)(()=>V.checkNodeKey,e=>{z.selectRadioKey=(0,_util.enNodeValue)(e)}),(0,_vue.ref)(0)),r=((0,_vue.watch)(()=>V.checkNodeKeys?V.checkNodeKeys.length:0,()=>{Ge.value++}),(0,_vue.watch)(()=>V.checkNodeKeys,()=>{Ge.value++}),(0,_vue.watch)(Ge,()=>{var e;e=V.checkNodeKeys||[],A.selectCheckboxMaps={},le(e,!0)}),(0,_vue.watch)(()=>V.filterValue,()=>{ce(new Event("filter"))}),(0,_vue.ref)(0)),o=((0,_vue.watch)(()=>V.height,()=>{r.value++}),(0,_vue.watch)(()=>V.minHeight,()=>{r.value++}),(0,_vue.watch)(()=>V.maxHeight,()=>{r.value++}),(0,_vue.watch)(r,()=>{J()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>V.rootParentValue,()=>{o.value++}),(0,_vue.watch)(()=>V.rootValues?V.rootValues.length:0,()=>{o.value++}),(0,_vue.watch)(()=>V.rootValues,()=>{o.value++}),(0,_vue.watch)(o,()=>{t(V.data||[])}),(0,_vue.onMounted)(()=>{var{transform:e,drag:t,menuConfig:r}=V,a=P.value,t=(t&&!e&&(0,_log.errLog)("vxe.error.notSupportProp",["drag","transform=false","transform=true"]),a.isCrossTreeDrag&&(0,_log.errLog)("vxe.error.notProp",["drag-config.isCrossTreeDrag"]),_ui.VxeUI.getComponent("VxeContextMenu"));r&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-context-menu"]),V.autoResize&&(e=O.value,a=de(),r=_ui.globalResize.create(()=>{V.autoResize&&J()}),e&&r.observe(e),a&&r.observe(a),A.resizeObserver=r),_ui.globalEvents.on(q,"resize",Se)}),(0,_vue.onBeforeUnmount)(()=>{var e=A.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off(q,"resize"),_xeUtils.default.assign(z,createReactData()),_xeUtils.default.assign(A,createInternalData())}),z.selectRadioKey=(0,_util.enNodeValue)(V.checkNodeKey),t(V.data||[]),q.renderVN=()=>{var{loading:e,trigger:t,showLine:r}=V,{bodyHeight:a,topSpaceHeight:l,treeList:o}=z,d=m.value,n=f.value,i=x.value,s=S.value,u=I.value,c=R.value;let v=w.loading;var g=w.header,h=w.footer;return(0,_vue.h)("div",{ref:O,class:["vxe-tree",{["size--"+d]:d,"show--line":r,"checkbox--highlight":i.highlight,"radio--highlight":n.highlight,"node--hover":u,"node--trigger":"node"===t,"is--loading":e}]},[g?(0,_vue.h)("div",{ref:C,class:"vxe-tree--header-wrapper"},g({$tree:q})):(0,_ui.renderEmptyElement)(q),(0,_vue.h)("div",{ref:p,class:"vxe-tree--node-list-wrapper",style:c,onScroll:xe},[(0,_vue.h)("div",{class:"vxe-tree--y-space",style:{height:a?a+"px":""}}),(0,_vue.h)("div",{ref:N,class:"vxe-tree--node-list-body",style:{transform:`translateY(${l}px)`}},Ye(o))]),h?(0,_vue.h)("div",{ref:y,class:"vxe-tree--footer-wrapper"},h({$tree:q})):(0,_ui.renderEmptyElement)(q),(()=>{var e=V.drag,{dragNode:t,dragTipText:r}=z,a=P.value;return e?(0,_vue.h)("div",{class:"vxe-tree--drag-wrapper"},[(0,_vue.h)("div",{ref:E,class:["vxe-tree--drag-node-line",{"is--guides":a.showGuidesStatus}]}),t&&a.showDragTip?(0,_vue.h)("div",{ref:b,class:"vxe-tree--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-normal-status",getIcon().TREE_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-sub-status",getIcon().TREE_DRAG_STATUS_SUB_NODE]}),(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-disabled-status",getIcon().TREE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-content"},r)])]):(0,_ui.renderEmptyElement)(q)]):(0,_ui.renderEmptyElement)(q)})(),(0,_vue.h)(_loading.default,{class:"vxe-tree--loading",modelValue:e,icon:s.icon,text:s.text},v?{default:()=>v({$tree:q})}:{})])},(0,_vue.provide)("$xeTree",q),q},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_util=require("./util"),_log=require("../../ui/src/log"),_store=require("./store"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vn=require("../../ui/src/vn"),_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}}let{menus,getConfig,getI18n,getIcon}=_ui.VxeUI;function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}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 _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTree",props:{data:Array,autoResize:{type:Boolean,default:()=>getConfig().tree.autoResize},height:[String,Number],maxHeight:{type:[String,Number],default:()=>getConfig().tree.maxHeight},minHeight:{type:[String,Number],default:()=>getConfig().tree.minHeight},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:()=>getConfig().tree.accordion},childrenField:{type:String,default:()=>getConfig().tree.childrenField},valueField:{type:String,default:()=>getConfig().tree.valueField},keyField:{type:String,default:()=>getConfig().tree.keyField},parentField:{type:String,default:()=>getConfig().tree.parentField},titleField:{type:String,default:()=>getConfig().tree.titleField},hasChildField:{type:String,default:()=>getConfig().tree.hasChildField},mapChildrenField:{type:String,default:()=>getConfig().tree.mapChildrenField},transform:Boolean,isCurrent:Boolean,isHover:Boolean,expandAll:Boolean,expandNodeKeys:Array,showLine:{type:Boolean,default:()=>getConfig().tree.showLine},trigger:String,indent:{type:Number,default:()=>getConfig().tree.indent},showRadio:{type:Boolean,default:()=>getConfig().tree.showRadio},checkNodeKey:{type:[String,Number],default:()=>getConfig().tree.checkNodeKey},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().tree.showCheckbox},checkNodeKeys:{type:Array,default:()=>getConfig().tree.checkNodeKeys},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,drag:{type:Boolean,default:()=>getConfig().tree.drag},dragConfig:Object,menuConfig:Object,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:()=>getConfig().tree.iconOpen},iconClose:{type:String,default:()=>getConfig().tree.iconClose},iconLoaded:{type:String,default:()=>getConfig().tree.iconLoaded},rootParentValue:{type:[String,Number],default:()=>getConfig().tree.rootParentValue},rootValues:{type:Array,default:()=>getConfig().tree.rootValues},filterValue:[String,Number],filterConfig:Object,size:{type:String,default:()=>getConfig().tree.size||getConfig().size},virtualYConfig:Object},emits:["update:modelValue","update:checkNodeKey","update:checkNodeKeys","node-click","node-dblclick","current-change","radio-change","checkbox-change","load-success","load-error","scroll","node-dragstart","node-dragover","node-dragend","node-expand","node-menu","menu-click"],setup(V,s){let{emit:a,slots:D}=s;var e=_xeUtils.default.uniqueId();let m=(0,_ui.useSize)(V).computeSize,O=(0,_vue.ref)(),C=(0,_vue.ref)(),y=(0,_vue.ref)(),p=(0,_vue.ref)(),N=(0,_vue.ref)(),E=(0,_vue.ref)(),b=(0,_vue.ref)(),u=(0,_store.getCrossTreeDragNodeInfo)(),A=createInternalData(),z=(0,_vue.reactive)(createReactData()),g={refElem:O},U=(0,_vue.computed)(()=>V.titleField||"title"),c=(0,_vue.computed)(()=>V.keyField||"id"),k=(0,_vue.computed)(()=>{var e=c.value;return V.valueField||e}),K=(0,_vue.computed)(()=>V.parentField||"parentId"),B=(0,_vue.computed)(()=>V.childrenField||"children"),$=(0,_vue.computed)(()=>V.mapChildrenField||"mapChildren"),w=(0,_vue.computed)(()=>V.hasChildField||"hasChild"),M=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.virtualYConfig,V.virtualYConfig)),T=(0,_vue.computed)(()=>{var e=d.value.isCurrent;return _xeUtils.default.isBoolean(e)?e:V.isCurrent}),I=(0,_vue.computed)(()=>{var e=d.value.isHover;return _xeUtils.default.isBoolean(e)?e:V.isHover}),f=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.radioConfig,V.radioConfig)),x=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.checkboxConfig,V.checkboxConfig)),d=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.nodeConfig,V.nodeConfig)),S=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.loadingConfig,V.loadingConfig)),P=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.dragConfig,V.dragConfig)),L=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.menuConfig,V.menuConfig)),R=(0,_vue.computed)(()=>{var e=V.indent,{customHeight:t,customMinHeight:r,customMaxHeight:a}=z,l=x.value.nodeStyle,o={};return t&&(o.height=(0,_dom.toCssUnit)(t)),r&&(o.minHeight=(0,_dom.toCssUnit)(r)),a&&(o.maxHeight=(0,_dom.toCssUnit)(a)),e&&(o["--vxe-ui-tree-node-indent"]=(0,_dom.toCssUnit)(e)),l&&({indeterminateColor:t,checkedColor:r}=l,t&&(o["--vxe-ui-tree-node-checkbox-indeterminate-color"]=t),r)&&(o["--vxe-ui-tree-node-checkbox-checked-color"]=r),o}),H=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.filterConfig,V.filterConfig)),F={computeKeyField:c,computeParentField:K,computeChildrenField:B,computeMapChildrenField:$,computeRadioOpts:f,computeCheckboxOpts:x,computeNodeOpts:d,computeDragOpts:P},q={xID:e,props:V,context:s,internalData:A,reactData:z,getRefMaps:()=>g,getComputeMaps:()=>F},Y=e=>{var t;return e?(t=k.value,e=_xeUtils.default.get(e,t),(0,_util.enNodeValue)(e)):""};let te=e=>{var t=z.selectRadioKey;return t===e};let re=e=>{var t=z.updateCheckboxFlag,r=A.selectCheckboxMaps;return!(!t||!r[e])};let ae=e=>{var t=z.updateCheckboxFlag,r=A.indeterminateRowMaps;return!(!t||!r[e])};let v=e=>{a("update:checkNodeKeys",e)},n=e=>{a("update:checkNodeKey",e)},le=(e,r)=>{let a=A.nodeMaps;if(e){_xeUtils.default.isArray(e)||(e=[e]);let t=[];e.forEach(e=>{e=(0,_util.enNodeValue)(e),e=a[e];e&&t.push(e.item)}),oe(t,r)}return(0,_vue.nextTick)()},oe=(e,r)=>{var t=V.transform;let a=A.selectCheckboxMaps;var l=$.value,o=B.value,d=x.value.checkStrictly,n=e=>{var t=Y(e);r?a[t]||(a[t]=e):a[t]&&delete a[t]};d?e.forEach(n):_xeUtils.default.eachTree(e,n,{children:t?l:o}),z.updateCheckboxFlag++,Q()},l=(e,t,r)=>{t?r[e]||(r[e]=!0):r[e]&&delete r[e]},j=(e,t,r)=>{a(e,(0,_ui.createEvent)(r,{$tree:q},t))},de=()=>{var e=O.value;return e?e.parentElement:null},ne=e=>{var t=z.parentHeight,e=V[e];let 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},ie=()=>{z.customHeight=ne("height"),z.customMinHeight=ne("minHeight"),z.customMaxHeight=ne("maxHeight"),!z.scrollYLoad||z.customHeight||z.customMinHeight||(z.customHeight=300)},se=()=>{var e=A.treeFullData;let n=k.value;var t=B.value;let i={};_xeUtils.default.eachTree(e,(e,t,r,a,l,o)=>{let d=Y(e);d||(d=getNodeUniqueId(),_xeUtils.default.set(e,n,d)),i[d]={item:e,index:t,$index:-1,_index:-1,items:r,parent:l,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1}},{children:t}),A.nodeMaps=i},G=()=>{var e=V.transform;let{afterTreeList:t,nodeMaps:i}=A;var r=B.value,a=$.value;let s=0;_xeUtils.default.eachTree(t,(e,t,r,a,l,o)=>{var d=Y(e),n=i[d];n?(n.items=r,n.treeIndex=t,n._index=s):(n={item:e,index:t,$index:-1,_index:s,items:r,parent:l,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1},i[d]=n),s++},{children:e?a:r})},ue=()=>{var{transform:t,filterValue:r}=V,{treeFullData:a,lastFilterValue:e}=A;let l=U.value;var o=B.value,d=$.value;let{autoExpandAll:n,beforeFilterMethod:i,filterMethod:s,afterFilterMethod:u}=H.value,c=a,g=c,v="";if(r||0===r){v=""+r;r=s?e=>s({$tree:q,node:e,filterValue:v}):e=>-1<String(e[l]).toLowerCase().indexOf(v.toLowerCase());let e={$tree:q,filterValue:v};i&&i(e),c=t?g=_xeUtils.default.searchTree(a,r,{original:!0,isEvery:!0,children:o,mapChildren:d}):a.filter(r),A.lastFilterValue=v,(0,_vue.nextTick)(()=>{n?q.setAllExpandNode(!0).then(()=>{u&&u(e)}):u&&u(e)})}else{if(t&&(g=_xeUtils.default.searchTree(a,()=>!0,{original:!0,isEvery:!0,children:o,mapChildren:d}),c=g,e)){let e={$tree:q,filterValue:v};i&&i(e),(0,_vue.nextTick)(()=>{n?q.clearAllExpandNode().then(()=>{u&&u(e)}):u&&u(e)})}A.lastFilterValue=""}A.afterVisibleList=c,A.afterTreeList=g,G()},h=()=>{var e=V.transform;let{afterTreeList:t,treeExpandedMaps:i}=A;var r=$.value;let s={};if(e){let n=[];return _xeUtils.default.eachTree(t,(e,t,r,a,l)=>{var o=Y(e),d=Y(l);(!l||s[d]&&i[d])&&(s[o]=1,n.push(e))},{children:r}),ge(n),A.afterVisibleList=n}return A.afterVisibleList},X=e=>{var t=z.scrollYLoad;let{scrollYStore:r,nodeMaps:a}=A,l=A.afterVisibleList;e&&(ue(),l=h());e=t?l.slice(r.startIndex,r.endIndex):l.slice(0);e.forEach((e,t)=>{e=Y(e),e=a[e];e&&(e.$index=t)}),z.treeList=e},ce=_xeUtils.default.debounce(()=>X(!0),350,{trailing:!0}),t=e=>{let{expandAll:t,expandNodeKeys:r,transform:a,rootParentValue:l,rootValues:o}=V,{initialized:d,scrollYStore:n}=A;var i=c.value,s=K.value,u=B.value,i=a?_xeUtils.default.toArrayTree(e,{key:i,parentKey:s,mapChildren:u,rootParentValue:l,rootValues:o}):e?e.slice(0):[],s=(A.treeFullData=i,Object.assign(n,{startIndex:0,endIndex:1,visibleSize:0}),ge(i));return se(),X(!0),!s||V.height||V.maxHeight||(0,_log.errLog)("vxe.error.reqProp",["[tree] height | max-height | virtual-y-config.enabled=false"]),he().then(()=>{d||e&&e.length&&(A.initialized=!0,t?q.setAllExpandNode(!0):r&&r.length&&q.setExpandByNodeId(r,!0),le(V.checkNodeKeys||[],!0)),ie();{let{lastScrollLeft:e,lastScrollTop:t}=A;_e().then(()=>{if(e||t)return A.lastScrollLeft=0,A.lastScrollTop=0,scrollTo(e,t)})}})},ge=e=>{var t=V.transform,r=M.value,e=e||A.treeFullData,t=!!t&&!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<e.length);return z.scrollYLoad=t},W=()=>{var e=z.scrollYLoad,{scrollYStore:t,afterVisibleList:r}=A;z.bodyHeight=e?r.length*t.rowHeight:0,z.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},ve=()=>{X(),W()},he=()=>(0,_vue.nextTick)().then(()=>{var e=z.scrollYLoad,t=A.scrollYStore,r=N.value,a=M.value;let l=0,o;(o=r?o||r.children[0]:o)&&(l=o.offsetHeight),l=Math.max(20,l),t.rowHeight=l,(e?(r=p.value,e=Math.max(8,r?Math.ceil(r.clientHeight/l):0),r=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+r,t.endIndex),ve):W)()}),pe=(e,t)=>{var r=p.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),r&&(_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t))&&(r.scrollTop=t),z.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},J=()=>{var e,t,r,a=A.scrollYStore,a=a.rowHeight,l=O.value;return l&&l.clientWidth&&l.clientHeight?(l=de(),e=C.value,t=y.value,e=e?e.clientHeight:0,t=t?t.clientHeight:0,l&&(r=(0,_dom.getPaddingTopBottomSize)(l),z.parentHeight=Math.max(e+t+a,l.clientHeight-r-e-t)),ie(),he().then(()=>{ie(),W()})):(0,_vue.nextTick)()},fe=()=>{var e=A.scrollYStore,{startIndex:t,endIndex:r,visibleSize:a,offsetSize:l,rowHeight:o}=e,d=p.value;d&&(d=d.scrollTop,d=Math.floor(d/o),o=Math.max(0,d-1-l),l=d+a+l,!(d<=t||r-a-1<=d)||t===o&&r===l||(e.startIndex=o,e.endIndex=l,ve()))},xe=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,a=t!==A.lastScrollLeft,l=r!==A.lastScrollTop;A.lastScrollTop=r,A.lastScrollLeft=t,z.scrollYLoad&&fe(),A.lastScrollTime=Date.now(),j("scroll",{scrollLeft:t,scrollTop:r,isX:a,isY:l},e)},_e=()=>{var e=p.value;return e&&(e.scrollTop=0,e.scrollLeft=0),A.lastScrollTop=0,(A.lastScrollLeft=0,_vue.nextTick)()},me=(e,t)=>{var r=V.drag,a=A.nodeMaps,l=e.currentTarget,{trigger:o,isCrossDrag:d,isPeerDrag:n,disabledMethod:i}=P.value,s=Y(t);let u=r?"node"===o:!1;(0,_dom.getEventTargetNode)(e,l,"vxe-tree--node-item-switcher").flag||(r={node:t,$tree:q},o=a[s],!u)||!(d||n||o&&!o.level)||i&&i(r)||He(e,{node:t})},Ce=(e,t)=>{var{showRadio:r,showCheckbox:a,trigger:l}=V,o=f.value,d=x.value;let n=!1,i=!1,s=!1,u=!1;T.value?(n=!0,Te(e,t)):z.currentNode&&(z.currentNode=null),"node"===l&&(u=!0,ke(e,t)),r&&"node"===o.trigger&&(i=!0,Ie(e,t)),a&&"node"===d.trigger&&(s=!0,Me(e,t)),j("node-click",{node:t,triggerCurrent:n,triggerRadio:i,triggerCheckbox:s,triggerExpand:u},e)},ye=(e,t)=>{j("node-dblclick",{node:t},e)},Ne=(a,l)=>{var e=V.menuConfig,t=T.value,r=L.value;(e?(0,_utils.isEnableConf)(r):r.enabled)&&({options:e,visibleMethod:r}=r,r&&!r({$tree:q,options:e,node:l})||(t?Te(a,l):z.currentNode&&(z.currentNode=null),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(a,{options:e,events:{optionClick(e){var t=e.option,r=menus.get(t.code),r=r?r.treeMenuMethod:null,t={menu:t,node:l,$event:a,$tree:q,option:t};r&&r(t,a),j("menu-click",t,e.$event)}}}))),j("node-menu",{node:l},a)},Ee=o=>{var e=x.value;let r=V.loadMethod,d=e.checkStrictly;return new Promise(e=>{if(r){var t=A.nodeMaps;let a=Y(o),l=t[a];A.treeExpandLazyLoadedMaps[a]=!0,Promise.resolve(r({$tree:q,node:o})).then(r=>{var e=A.treeExpandLazyLoadedMaps;if(l.treeLoaded=!0,e[a]&&(e[a]=!1),r=_xeUtils.default.isArray(r)?r:[])return q.loadChildrenNode(o,r).then(e=>{var t=A.treeExpandedMaps;return e.length&&!t[a]&&(t[a]=!0),z.updateExpandedFlag++,!d&&q.isCheckedByCheckboxNodeId(a)&&oe(e,!0),j("load-success",{node:o,data:r},new Event("load-success")),(0,_vue.nextTick)()});j("load-success",{node:o,data:r},new Event("load-success"))}).catch(e=>{var t=A.treeExpandLazyLoadedMaps;l.treeLoaded=!1,t[a]&&(t[a]=!1),j("load-error",{node:o,data:e},new Event("load-error"))}).finally(()=>(h(),X(),J()))}else e()})},be=(e,t)=>{let{lazy:a,accordion:r,toggleMethod:l}=V,{treeExpandLazyLoadedMaps:o,treeExpandedMaps:d}=A,n=A.nodeMaps,i=B.value,s=w.value,u=[],c=l?e.filter(e=>l({$tree:q,expanded:t,node:e})):e;r&&(c=c.length?[c[c.length-1]]:[],e=Y(c[0]),e=n[e])&&e.items.forEach(e=>{e=Y(e);d[e]&&delete d[e]});let g=[];return t?c.forEach(e=>{var t,r=Y(e);d[r]||(t=n[r],a&&e[s]&&!t.treeLoaded&&!o[r]?u.push(Ee(e)):e[i]&&e[i].length&&(d[r]=!0,g.push(e)))}):c.forEach(e=>{var t=Y(e);d[t]&&(delete d[t],g.push(e))}),z.updateExpandedFlag++,h(),X(),Promise.all(u).then(()=>J())},ke=(e,t)=>{var r=V.lazy,{treeExpandedMaps:a,treeExpandLazyLoadedMaps:l}=A,o=Y(t),a=!a[o];e.stopPropagation(),r&&l[o]||be([t],a),j("node-expand",{node:t,expanded:a},e)},Q=()=>{var e=V.transform;let{selectCheckboxMaps:i,indeterminateRowMaps:s,afterTreeList:t}=A,o=B.value;var r=$.value;let{checkStrictly:a,checkMethod:u}=x.value;if(!a){let a={},l=[];_xeUtils.default.eachTree(t,e=>{var t=Y(e),r=e[o];r&&r.length&&!a[t]&&(a[t]=1,l.unshift([e,t,r]))},{children:e?r:o}),l.forEach(e=>{var t=e[0],r=e[1],e=e[2];let a=0,l=0,o=0;var d=e.length;e.forEach(u?e=>{var t=Y(e),r=i[t];u({$tree:q,node:e})?(r?a++:s[t]&&l++,o++):r?a++:s[t]&&l++}:e=>{e=Y(e);i[e]?a++:s[e]&&l++,o++});let n=!1;e=!(n=0<d?0<o?(0<a||0<l)&&a>=o:0<a&&a>=o||!!i[r]:i[r])&&(0<a||0<l);n?(i[r]=t,s[r]&&delete s[r]):(i[r]&&delete i[r],e?s[r]=t:s[r]&&delete s[r])}),z.updateCheckboxFlag++}},Me=(e,r)=>{e.preventDefault(),e.stopPropagation();var a=V.transform;let{selectCheckboxMaps:l,nodeMaps:t}=A;var o=B.value,d=$.value,{checkStrictly:n,checkMode:i,checkMethod:s}=x.value,u=Y(r),c=_xeUtils.default.get(r,o),c=c&&0<c.length,g=(t[u]||{}).level,s=s?!s({$tree:q,node:r}):!_(i,c,g);if(!s){let t=!1;l[u]?delete l[u]:(t=!0,l[u]=r),n||_xeUtils.default.eachTree(_xeUtils.default.get(r,a?d:o),e=>{e=Y(e);t?l[e]||(l[e]=!0):l[e]&&delete l[e]},{children:a?d:o}),z.updateCheckboxFlag++,Q();i=_xeUtils.default.keys(l).map(_util.deNodeValue);v(i),j("checkbox-change",{node:r,value:i,checked:t},e)}},Te=(e,t)=>{e.preventDefault();var{currentMethod:r,trigger:a}=d.value,l=B.value,l=_xeUtils.default.get(t,l),l=l&&l.length;let o=!!r;if("child"===a){if(l)return}else if("parent"===a&&!l)return;(o=r?!r({node:t}):o)||(z.currentNode=t,j("current-change",{node:t,checked:!0},e))},Ie=(e,t)=>{e.preventDefault(),e.stopPropagation();var r=A.nodeMaps,a=f.value,l=B.value,{checkMode:a,checkMethod:o}=a,d=Y(t),l=_xeUtils.default.get(t,l),l=l&&0<l.length,r=(r[d]||{}).level;(o?o({$tree:q,node:t}):_(a,l,r))&&(o=(0,_util.deNodeValue)(d),z.selectRadioKey=d,n(o),j("radio-change",{node:t,value:o,checked:!0},e))},Se=()=>{var e=O.value;e&&e.clientWidth&&J()},Le={dispatchEvent:j,getNodeId:Y,getNodeById(e){var t=A.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},loadData(e){return t(e||[])},reloadData(e){return t(e||[])},clearCurrentNode(){return(z.currentNode=null,_vue.nextTick)()},getCurrentNodeId(){var e=z.currentNode;return e?(0,_util.deNodeValue)(Y(e)):null},getCurrentNode(){var e=z.currentNode,t=A.nodeMaps;if(e){t=t[Y(e)];if(t)return t.item}return null},setCurrentNodeId(e){var t=A.nodeMaps,t=t[(0,_util.enNodeValue)(e)];return z.currentNode=t?t.item:null,(0,_vue.nextTick)()},setCurrentNode(e){return z.currentNode=e,(0,_vue.nextTick)()},clearRadioNode(){return z.selectRadioKey=null,n(null),(0,_vue.nextTick)()},getRadioNodeId(){return z.selectRadioKey||null},getRadioNode(){var e=z.selectRadioKey,t=A.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},setRadioNodeId(e){return z.selectRadioKey=(0,_util.enNodeValue)(e),n(e),(0,_vue.nextTick)()},setRadioNode(e){return e?(e=Y(e),z.selectRadioKey=e,n((0,_util.deNodeValue)(e))):n(null),(0,_vue.nextTick)()},setCheckboxNode(e,t){return e&&(_xeUtils.default.isArray(e)||(e=[e]),oe(e,t)),v(q.getCheckboxNodeIds()),(0,_vue.nextTick)()},setCheckboxByNodeId(e,t){return le(e,t),v(q.getCheckboxNodeIds()),(0,_vue.nextTick)()},getCheckboxNodeIds(){var e=A.selectCheckboxMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_util.deNodeValue)(t))}),r},getCheckboxNodes(){let{nodeMaps:r,selectCheckboxMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},clearCheckboxNode(){return A.indeterminateRowMaps={},A.selectCheckboxMaps={},z.updateCheckboxFlag++,v([]),Q(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))},setAllCheckboxNode(e){var t=V.transform;let r={};var a=B.value,l=$.value;let o=[],d=[];return e&&_xeUtils.default.eachTree(A.afterTreeList,e=>{var t=Y(e);o.push(t),d.push(e),r[t]=!0},{children:t?l:a}),A.indeterminateRowMaps={},A.selectCheckboxMaps=r,z.updateCheckboxFlag++,Q(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:o,checkNodes:d}))},clearExpandNode(){return Le.clearAllExpandNode()},clearAllExpandNode(){let e=z.scrollYLoad;var{nodeMaps:t,scrollYStore:r}=A;return _xeUtils.default.each(t,e=>{e.treeLoaded=!1}),A.treeExpandedMaps={},z.updateExpandedFlag++,z.topSpaceHeight=0,r.startIndex=0,r.endIndex=1,h(),X(),J().then(()=>(e&&fe(),J()))},setExpandByNodeId(e,t){let r=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.enNodeValue)(e);l(e,t,r)}),z.updateExpandedFlag++),h(),X(),J()},getExpandNodeIds(){var e=A.treeExpandedMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_util.deNodeValue)(t))}),r},getExpandNodes(){let{nodeMaps:r,treeExpandedMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},setExpandNode(e,t){let r=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Y(e);l(e,t,r)}),z.updateExpandedFlag++),h(),X(),J()},toggleExpandByNodeId(e){let t=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.enNodeValue)(e);l(e,!t[""+e],t)}),z.updateExpandedFlag++),h(),X(),J()},toggleExpandNode(e){let t=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Y(e);l(e,!t[e],t)}),z.updateExpandedFlag++),h(),X(),J()},setAllExpandNode(e){var t=V.transform;let r=z.scrollYLoad,{scrollYStore:a,treeExpandedMaps:l}=A,o=B.value;var d=$.value;return e?_xeUtils.default.eachTree(A.afterTreeList,e=>{var t=_xeUtils.default.get(e,o);t&&t.length&&(t=Y(e),l[t]=!0)},{children:t?d:o}):A.treeExpandedMaps={},z.updateExpandedFlag++,z.topSpaceHeight=0,a.startIndex=0,a.endIndex=1,h(),X(),J().then(()=>(r&&fe(),J()))},reloadExpandNode(e){var t=V.lazy;return t?(Le.clearExpandLoaded(e),Ee(e)):J()},clearExpandLoaded(e){var t=V.lazy,r=A.nodeMaps;return t&&(t=r[Y(e)])&&(t.treeLoaded=!1),J()},loadChildrenNode(t,e){let{lazy:r,transform:a}=V,n=A.nodeMaps;if(!r)return Promise.resolve([]);let l=B.value,o=$.value,i=n[Y(t)],s=i?i.level:0,u=i?i.nodes:[];return(e=>{let r=k.value;return Promise.resolve(e.map(e=>{var t,e=Object.assign({},e);return Y(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,r,t)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,t,r,a,l,o)=>{var d=Y(e);n[d]={item:e,index:-1,$index:-1,_index:-1,items:r,parent:l||i.item,nodes:u.concat(o),level:s+o.length,treeIndex:-1,lineCount:0,treeLoaded:!1}},{children:l}),t[l]=e,a&&(t[o]=e),G(),e))},isExpandByNode:e=>{var t=z.updateExpandedFlag,r=A.treeExpandedMaps,e=Y(e);return!(!t||!r[e])},isCheckedByRadioNodeId:te,isCheckedByRadioNode:e=>te(Y(e)),isCheckedByCheckboxNodeId:re,isIndeterminateByCheckboxNode:e=>ae(Y(e)),isCheckedByCheckboxNode:e=>re(Y(e)),getCheckboxIndeterminateNodes(){let{nodeMaps:r,indeterminateRowMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},recalculate:J,getFullData(){var e=A.treeFullData;return e.slice(0)},scrollTo:pe,scrollToNode(e){return q.scrollToNodeId(Y(e))},scrollToNodeId(t){var e=V.transform;let{scrollYStore:r,afterTreeList:a}=A;var l=B.value,o=$.value;let d=p.value;if(t&&d)if(e){e=_xeUtils.default.findTree(a,e=>Y(e)===t,{children:e?o:l});if(e)return q.setExpandNode(e.nodes,!0).then(()=>{var e=_xeUtils.default.findIndexOf(A.afterVisibleList,e=>Y(e)===t);if(-1<e)return e=Math.max(0,(e-1)*r.rowHeight),pe(d.scrollLeft,e)})}else{o=d.querySelector(`.vxe-tree--node-wrapper[nodeid="${t}"]`);if(o)return pe(d.scrollLeft,o.offsetTop)}return J()},clearScroll:_e},De=()=>{var e=O.value;if(e){let t="node--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},we=e=>{var t=O.value;if(t){e=Y(e);_xeUtils.default.arrayEach(t.querySelectorAll(`.vxe-tree--node-wrapper[nodeid="${e}"]`),e=>{(0,_dom.addClass)(e,"node--drag-origin")})}},Ue=e=>{var t=z.dragNode,r=P.value.tooltipMethod;let a="";a=r?""+(r({$tree:q,node:t})||""):getI18n("vxe.tree.dragTip",[e.textContent||""]),z.dragTipText=a},i=()=>{var e=b.value,t=E.value;e&&(e.style.display=""),t&&(t.style.display="")},Z=()=>{u.node=null},Re=()=>{var e=z.dragNode;e&&(i(),De(),Z(),z.dragNode=null)},He=(e,t)=>{e.stopPropagation();var r=t.node,{trigger:a,dragStartMethod:l}=P.value,o=e.currentTarget,a="node"===a?o:o.parentElement.parentElement;De(),l&&!l(t)?(a.draggable=!1,z.dragNode=null,i()):(z.dragNode=r,a.draggable=!0,we(r),Ue(a),j("node-dragstart",t,e))},Fe=()=>{Re()},Ve=(e,t,r,a)=>{var l=O.value;if(l){var o=A.prevDragToChild,d=l.getBoundingClientRect(),n=l.clientHeight;if(t){var i=E.value;if(i)if(r){var s=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,s.y-d.y);t+e>n&&(e=n-t),i.style.display="block",i.style.top=t+"px",i.style.height=e+"px",i.setAttribute("drag-pos",a),i.setAttribute("drag-to-child",o?"y":"n")}else i.style.display=""}s=b.value;s&&(s.style.display="block",s.style.top=Math.min(l.clientHeight-l.scrollTop-s.clientHeight,e.clientY-d.y)+"px",s.style.left=Math.min(l.clientWidth-l.scrollLeft-s.clientWidth-1,e.clientX-d.x)+"px",s.setAttribute("drag-status",r?o?"sub":"normal":"disabled"))}},ee=()=>{var e=O.value;i(),De(),(0,_anime.clearRowAnimate)(e,[".vxe-tree--node-wrapper"]),A.prevDragToChild=!1,z.dragNode=null},Oe=(g,v,h,p,e)=>{let f=V.transform,{nodeMaps:x,treeFullData:_,afterVisibleList:m}=A;var C=P.value;let{animation:y,isCrossDrag:N,isPeerDrag:E,isSelfToChildDrag:b,dragEndMethod:t,dragToChildMethod:k}=C;C=t||(C?C.dragEndMethod:null);let M=c.value,T=K.value,I=B.value,S=$.value,L="bottom"===p?1:0,D=O.value,w={status:!1};if(D&&h&&v){if(h!==v){var U={oldNode:v,newNode:h,dragNode:v,dragPos:p,dragToChild:!!e,offsetIndex:L};let r=Y(v);var R=x[r]||{};let s=R._index,u=0,c=-1,a=(y&&(H=D.querySelector(`.vxe-tree--node-wrapper[nodeid="${h}"]`),F=D.querySelector(`.vxe-tree--node-wrapper[nodeid="${r}"]`),(H=H||F)&&(u=H.offsetHeight),F)&&(c=F.offsetTop),-1),l=-1,t={},o=!1,d=R;var H=Y(h);let n=x[H];if(f&&d&&n){var F=d.level,R=n.level;if(_xeUtils.default.eachTree([v],e=>{t[Y(e)]=e},{children:S}),F&&R)if(E&&!N){if(d.item[T]!==n.item[T])return ee(),Z(),w}else{if(!N)return ee(),Z(),w;if(t[H]&&(o=!0,!N||!b))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ee(),Z(),w}else if(F){if(!N)return ee(),Z(),w}else if(R){if(!N)return ee(),Z(),w;if(t[H]&&(o=!0,!N||!b))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ee(),Z(),w}}let i=b&&k?k(U):e;return Promise.resolve(!C||C(U)).then(e=>{var t;return e?(f?d&&n&&(e=_xeUtils.default.toTreeArray(A.afterTreeList,{updated:!1,key:M,parentKey:T,children:S}),t=q.findNodeIndexOf(e,v),e.splice(t,1),t=q.findNodeIndexOf(e,h)+L,e.splice(t,0,v),o&&N&&b&&_xeUtils.default.each(v[I],e=>{e[T]=v[T]}),v[T]=i?h[M]:h[T],A.treeFullData=_xeUtils.default.toArrayTree(e,{key:M,parentKey:T,children:I,mapChildren:S})):(a=q.findNodeIndexOf(m,v),t=q.findNodeIndexOf(_,v),m.splice(a,1),_.splice(t,1),e=q.findNodeIndexOf(m,h),t=q.findNodeIndexOf(_,h),l=e+L,e=t+L,m.splice(l,0,v),_.splice(e,0,v)),se(),X(f),f||G(),Q(),z.scrollYLoad&&W(),g&&j("node-dragend",{oldNode:v,newNode:h,dragNode:v,dragPos:p,dragToChild:i,offsetIndex:L,_index:{newIndex:l,oldIndex:a}},g),(0,_vue.nextTick)().then(()=>{if(y){var a=z.treeList,l=A.nodeMaps,o=l[r],d=o._index,n=a[0],l=l[Y(n)],n=D;if(l){var l=l._index,i=l+a.length;let e=-1,t=-1,r=1;s<l?(e=0,t=d-l):s>i?(i=o.$index,e=i+1,t=a.length,r=-1):d>s?(e=s-l,t=e+d-s):(e=d-l,t=e+s-d+1,r=-1);o=a.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=Y(e);t.push(`.vxe-tree--node-wrapper[nodeid="${e}"]`)});i=n.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(i,r*u)}}l=[`.vxe-tree--node-wrapper[nodeid="${r}"]`],d=n.querySelectorAll(l.join(",")),a=d[0];-1<c&&a&&(0,_anime.moveRowAnimateToTb)(d,c-a.offsetTop)}J()}).then(()=>({status:!0}))):w}).catch(()=>w).then(e=>(ee(),Z(),e))}ee(),Z()}return Promise.resolve(w)},Ae=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},ze=e=>{var t=V.lazy,r=z.dragNode,{nodeMaps:a,prevDragNode:l,prevDragPos:o,prevDragToChild:d}=A,n=w.value;t&&d&&(t=a[Y(l)],l[n])&&(!t||!t.treeLoaded)||Oe(e,r,l,o,d)},Ke=e=>{var t,r,{lazy:a,transform:l}=V,o=z.dragNode,d=A.nodeMaps,n=P.value,i=K.value,s=w.value,{isCrossDrag:n,isPeerDrag:u,isToChildDrag:c}=n,g=(o||n||e.preventDefault(),(0,_dom.hasControlKey)(e)),v=e.currentTarget,h=v.getAttribute("nodeid")||"",d=d[h];d&&(e.preventDefault(),t=d.item,r=e.clientY-v.getBoundingClientRect().y<v.clientHeight/2?"top":"bottom",A.prevDragToChild=!!(l&&n&&c&&g),A.prevDragNode=t,A.prevDragPos=r,o&&Y(o)===h||g&&a&&t[s]&&d&&!d.treeLoaded||!n&&l&&(u?o[i]!==t[i]:d.level)?Ve(e,v,!1,r):(Ve(e,v,!0,r),j("node-dragover",{oldRNode:o,targetNode:t,dragPos:r},e)))};e={handleData:X,cacheNodeMap:se,updateAfterDataIndex:G,updateCheckboxStatus:Q,updateYSpace:W,findNodeIndexOf(e,t){return t?_xeUtils.default.findIndexOf(e,e=>q.eqNode(e,t)):-1},eqNode(e,t){return!(!e||!t||e!==t&&Y(e)!==Y(t))},handleCrossTreeNodeDragCancelEvent(){ee(),Z()},handleCrossTreeNodeDragFinishEvent(){},handleCrossTreeNodeDragInsertEvent(){},handleCrossTreeNodeDragoverEmptyEvent(){},hideCrossTreeNodeDropClearStatus(){i()}};Object.assign(q,Le,e);let Be=(e,t)=>{var{drag:r,transform:a}=V,l=A.nodeMaps,{showIcon:o,isPeerDrag:d,isCrossDrag:n,visibleMethod:i}=P.value;let s={node:e,$tree:q};if(r&&o&&a&&(!i||i(s))){e=l[t];if(e&&(d||n||!e.level)){var{icon:r,trigger:o,disabledMethod:a}=P.value;let t=a&&a(s);i={};return"node"!==o&&(i.onMousedown=e=>{t||He(e,s)},i.onMouseup=Fe),(0,_vue.h)("div",Object.assign({class:["vxe-tree--drag-handle",{"is--disabled":t}]},i),[(0,_vue.h)("i",{class:r||getIcon().TREE_DRAG})])}}return(0,_ui.renderEmptyElement)(q)},_=(e,t,r)=>{if(e){if("first"===e)return!r;if("last"===e)return!t}return!0},$e=(r,e,a,l,o)=>{var t=V.showRadio,{showIcon:d,checkMode:n,checkMethod:i,visibleMode:s,visibleMethod:u}=f.value,u=u?u({$tree:q,node:r}):_(s,a,l);if(t&&d&&u){let t=i?!i({$tree:q,node:r}):!_(n,a,l);return(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":o,"is--disabled":t}],onClick:e=>{t||Ie(e,r)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?getIcon().RADIO_CHECKED:getIcon().RADIO_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(q)},Pe=(r,e,a,l,o,d)=>{var t=V.showCheckbox,{showIcon:n,checkMode:i,checkMethod:s,visibleMode:u,visibleMethod:c}=x.value,c=c?c({$tree:q,node:r}):_(u,a,l);if(t&&n&&c){let t=s?!s({$tree:q,node:r}):!_(i,a,l);return(0,_vue.h)("div",{class:["vxe-tree--checkbox-option",{"is--checked":o,"is--indeterminate":d,"is--disabled":t}],onClick:e=>{t||Me(e,r)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",d?getIcon().CHECKBOX_INDETERMINATE:o?getIcon().CHECKBOX_CHECKED:getIcon().CHECKBOX_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(q)},qe=(t,e)=>{var{lazy:r,drag:a,transform:l,showRadio:o,showCheckbox:d,showLine:n,iconOpen:i,iconClose:s,iconLoaded:u,showIcon:c}=V,{currentNode:g,selectRadioKey:v,updateExpandedFlag:h}=z,{afterTreeList:p,nodeMaps:f,treeExpandedMaps:x,treeExpandLazyLoadedMaps:_}=A,m=B.value,C=U.value,y=w.value,m=_xeUtils.default.get(t,m),m=m&&0<m.length,N=D.icon,E=D.title,b=D.extra,h=h&&x[e],x=f[e]||{},f=_xeUtils.default.get(t,C),C=x.level;let k=!1,M=(o&&(k=e===String(v)),!1),T=!1,I=(d&&(M=re(e),T=ae(e)),!1),S=!1,L=!1;r&&(S=!!_[e],I=t[y],L=!!x.treeLoaded);o=x.items[x.treeIndex-1],v={node:t,isExpand:h},d={onMousedown(e){me(e,t)},onMouseup:Fe,onClick(e){Ce(e,t)},onDblclick(e){ye(e,t)},onContextmenu(e){Ne(e,t)}};return a&&l&&(d.onDragstart=Ae,d.onDragend=ze,d.onDragover=Ke),(0,_vue.h)("div",Object.assign({key:e,class:["vxe-tree--node-wrapper","node--level-"+C],nodeid:e},d),[(0,_vue.h)("div",{class:["vxe-tree--node-item",{"is--current":g&&e===Y(g),"is-radio--checked":k,"is-checkbox--checked":M,"is-checkbox--indeterminate":T}]},[n?(0,_vue.h)("div",{class:"vxe-tree--node-line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--node-line",style:{height:`${Y(p[0])===e?1:(0,_util.calcTreeLine)(q,t,o)}px`}})]):(0,_ui.renderEmptyElement)(q),(0,_vue.h)("div",{class:"vxe-tree--node-item-switcher"},c&&(!r||L?m:I)?[(0,_vue.h)("div",{class:"vxe-tree--node-item-icon",onClick(e){ke(e,t)}},N?(0,_vn.getSlotVNs)(N(v)):[(0,_vue.h)("i",{class:S?u||getIcon().TREE_NODE_LOADED:h?i||getIcon().TREE_NODE_OPEN:s||getIcon().TREE_NODE_CLOSE})])]:[]),Be(t,e),$e(t,e,m,C,k),Pe(t,e,m,C,M,T),(0,_vue.h)("div",{class:"vxe-tree--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-tree--node-item-title"},E?(0,_vn.getSlotVNs)(E(v)):""+f),b?(0,_vue.h)("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(b(v))):(0,_ui.renderEmptyElement)(q)])])])},Ye=e=>{var t=V.transform;let r=A.treeExpandedMaps,a=B.value;if(!e.length)return[(0,_vue.h)("div",{class:"vxe-tree--empty-placeholder"},getI18n("vxe.tree.searchEmpty"))];let l=[];return e.forEach(t?e=>{var t=Y(e);l.push(qe(e,t))}:e=>{var t=Y(e),e=(l.push(qe(e,t)),_xeUtils.default.get(e,a));e&&e.length&&r[t]&&l.push(...Ye(e))}),l};let r=(0,_vue.ref)(0),je=((0,_vue.watch)(()=>V.data?V.data.length:0,()=>{r.value++}),(0,_vue.watch)(()=>V.data,()=>{r.value++}),(0,_vue.watch)(()=>V.rootParentValue,()=>{r.value++}),(0,_vue.watch)(()=>V.rootValues?V.rootValues.length:0,()=>{r.value++}),(0,_vue.watch)(()=>V.rootValues,()=>{r.value++}),(0,_vue.watch)(r,()=>{t(V.data||[])}),(0,_vue.watch)(()=>V.checkNodeKey,e=>{z.selectRadioKey=(0,_util.enNodeValue)(e)}),(0,_vue.ref)(0)),o=((0,_vue.watch)(()=>V.checkNodeKeys?V.checkNodeKeys.length:0,()=>{je.value++}),(0,_vue.watch)(()=>V.checkNodeKeys,()=>{je.value++}),(0,_vue.watch)(je,()=>{var e;e=V.checkNodeKeys||[],A.selectCheckboxMaps={},le(e,!0)}),(0,_vue.watch)(()=>V.filterValue,()=>{ce(new Event("filter"))}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>V.height,()=>{o.value++}),(0,_vue.watch)(()=>V.minHeight,()=>{o.value++}),(0,_vue.watch)(()=>V.maxHeight,()=>{o.value++}),(0,_vue.watch)(o,()=>{J()}),(0,_vue.onMounted)(()=>{var{transform:e,drag:t,menuConfig:r}=V,a=P.value,t=(t&&!e&&(0,_log.errLog)("vxe.error.notSupportProp",["drag","transform=false","transform=true"]),a.isCrossTreeDrag&&(0,_log.errLog)("vxe.error.notProp",["drag-config.isCrossTreeDrag"]),_ui.VxeUI.getComponent("VxeContextMenu"));r&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-context-menu"]),V.autoResize&&(e=O.value,a=de(),r=_ui.globalResize.create(()=>{V.autoResize&&J()}),e&&r.observe(e),a&&r.observe(a),A.resizeObserver=r),_ui.globalEvents.on(q,"resize",Se)}),(0,_vue.onBeforeUnmount)(()=>{var e=A.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off(q,"resize"),_xeUtils.default.assign(z,createReactData()),_xeUtils.default.assign(A,createInternalData())}),z.selectRadioKey=(0,_util.enNodeValue)(V.checkNodeKey),t(V.data||[]),q.renderVN=()=>{var{loading:e,trigger:t,showLine:r}=V,{bodyHeight:a,topSpaceHeight:l,treeList:o}=z,d=m.value,n=f.value,i=x.value,s=S.value,u=I.value,c=R.value;let g=D.loading;var v=D.header,h=D.footer;return(0,_vue.h)("div",{ref:O,class:["vxe-tree",{["size--"+d]:d,"show--line":r,"checkbox--highlight":i.highlight,"radio--highlight":n.highlight,"node--hover":u,"node--trigger":"node"===t,"is--loading":e}]},[v?(0,_vue.h)("div",{ref:C,class:"vxe-tree--header-wrapper"},v({$tree:q})):(0,_ui.renderEmptyElement)(q),(0,_vue.h)("div",{ref:p,class:"vxe-tree--node-list-wrapper",style:c,onScroll:xe},[(0,_vue.h)("div",{class:"vxe-tree--y-space",style:{height:a?a+"px":""}}),(0,_vue.h)("div",{ref:N,class:"vxe-tree--node-list-body",style:{transform:`translateY(${l}px)`}},Ye(o))]),h?(0,_vue.h)("div",{ref:y,class:"vxe-tree--footer-wrapper"},h({$tree:q})):(0,_ui.renderEmptyElement)(q),(()=>{var e=V.drag,{dragNode:t,dragTipText:r}=z,a=P.value;return e?(0,_vue.h)("div",{class:"vxe-tree--drag-wrapper"},[(0,_vue.h)("div",{ref:E,class:["vxe-tree--drag-node-line",{"is--guides":a.showGuidesStatus}]}),t&&a.showDragTip?(0,_vue.h)("div",{ref:b,class:"vxe-tree--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-normal-status",getIcon().TREE_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-sub-status",getIcon().TREE_DRAG_STATUS_SUB_NODE]}),(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-disabled-status",getIcon().TREE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-content"},r)])]):(0,_ui.renderEmptyElement)(q)]):(0,_ui.renderEmptyElement)(q)})(),(0,_vue.h)(_loading.default,{class:"vxe-tree--loading",modelValue:e,icon:s.icon,text:s.text},g?{default:()=>g({$tree:q})}:{})])},(0,_vue.provide)("$xeTree",q),q},render(){return this.renderVN()}});
|
|
@@ -199,14 +199,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
199
199
|
return disabled;
|
|
200
200
|
});
|
|
201
201
|
const computeBtnTransfer = (0, _vue.computed)(() => {
|
|
202
|
+
const popupOpts = computePopupOpts.value;
|
|
202
203
|
const {
|
|
203
204
|
transfer
|
|
204
|
-
} =
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
return popupOpts.transfer;
|
|
205
|
+
} = popupOpts;
|
|
206
|
+
if (_xeUtils.default.isBoolean(transfer)) {
|
|
207
|
+
return transfer;
|
|
208
208
|
}
|
|
209
|
-
if (transfer === null) {
|
|
209
|
+
if (props.transfer === null) {
|
|
210
210
|
const globalTransfer = (0, _ui.getConfig)().treeSelect.transfer;
|
|
211
211
|
if (_xeUtils.default.isBoolean(globalTransfer)) {
|
|
212
212
|
return globalTransfer;
|
|
@@ -215,7 +215,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
215
215
|
return true;
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
|
-
return transfer;
|
|
218
|
+
return props.transfer;
|
|
219
219
|
});
|
|
220
220
|
const computePopupOpts = (0, _vue.computed)(() => {
|
|
221
221
|
return Object.assign({}, (0, _ui.getConfig)().treeSelect.popupConfig, props.popupConfig);
|
|
@@ -288,9 +288,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
288
288
|
const treeOpts = computeTreeOpts.value;
|
|
289
289
|
return Object.assign({}, treeOpts.filterConfig, props.filterConfig);
|
|
290
290
|
});
|
|
291
|
+
const computeSelectVals = (0, _vue.computed)(() => {
|
|
292
|
+
const {
|
|
293
|
+
modelValue
|
|
294
|
+
} = props;
|
|
295
|
+
return _xeUtils.default.eqNull(modelValue) ? [] : _xeUtils.default.isArray(modelValue) ? modelValue : [modelValue];
|
|
296
|
+
});
|
|
291
297
|
const computeSelectLabel = (0, _vue.computed)(() => {
|
|
292
298
|
const {
|
|
293
|
-
modelValue,
|
|
294
299
|
showFullLabel
|
|
295
300
|
} = props;
|
|
296
301
|
const {
|
|
@@ -302,7 +307,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
302
307
|
lazyNodeMaps
|
|
303
308
|
} = internalData;
|
|
304
309
|
const labelField = computeLabelField.value;
|
|
305
|
-
const selectVals =
|
|
310
|
+
const selectVals = computeSelectVals.value;
|
|
306
311
|
return selectVals.map(val => {
|
|
307
312
|
const cacheItem = fullNodeMaps[val];
|
|
308
313
|
if (fullOptFlag && cacheItem) {
|
|
@@ -391,12 +396,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
391
396
|
nodeid = getOptUniqueId();
|
|
392
397
|
}
|
|
393
398
|
if (keyMaps[nodeid]) {
|
|
394
|
-
(0, _log.errLog)('vxe.error.repeatKey', [
|
|
399
|
+
(0, _log.errLog)('vxe.error.repeatKey', [nodeKeyField, nodeid]);
|
|
395
400
|
}
|
|
396
401
|
keyMaps[nodeid] = true;
|
|
397
402
|
const value = item[valueField];
|
|
398
403
|
if (nodeMaps[value]) {
|
|
399
|
-
(0, _log.errLog)('vxe.error.repeatKey', [
|
|
404
|
+
(0, _log.errLog)('vxe.error.repeatKey', [valueField, value]);
|
|
400
405
|
}
|
|
401
406
|
nodeMaps[value] = {
|
|
402
407
|
item,
|
|
@@ -404,7 +409,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
404
409
|
items,
|
|
405
410
|
parent: parentItem,
|
|
406
411
|
nodes,
|
|
407
|
-
fullLabel: nodes.map(item => item[labelField]).join(
|
|
412
|
+
fullLabel: nodes.map(item => item[labelField]).join(separator || ' / ')
|
|
408
413
|
};
|
|
409
414
|
};
|
|
410
415
|
if (optList) {
|
|
@@ -483,7 +488,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
483
488
|
handleStyle();
|
|
484
489
|
return (0, _vue.nextTick)().then(handleStyle);
|
|
485
490
|
};
|
|
486
|
-
const showOptionPanel =
|
|
491
|
+
const showOptionPanel = evnt => {
|
|
487
492
|
const {
|
|
488
493
|
loading,
|
|
489
494
|
remote,
|
|
@@ -515,7 +520,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
515
520
|
updatePlacement();
|
|
516
521
|
dispatchEvent('visible-change', {
|
|
517
522
|
visible: true
|
|
518
|
-
}, null);
|
|
523
|
+
}, evnt || null);
|
|
519
524
|
}
|
|
520
525
|
};
|
|
521
526
|
const hideOptionPanel = evnt => {
|
|
@@ -575,7 +580,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
575
580
|
dispatchEvent('all-change', {
|
|
576
581
|
value: checkNodeKeys
|
|
577
582
|
}, $event);
|
|
578
|
-
if (_xeUtils.default.isBoolean(
|
|
583
|
+
if (_xeUtils.default.isBoolean(checkedClosable) ? checkedClosable : autoClose) {
|
|
579
584
|
hideOptionPanel($event);
|
|
580
585
|
}
|
|
581
586
|
});
|
|
@@ -595,7 +600,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
595
600
|
if ($tree) {
|
|
596
601
|
const value = multiple ? [] : null;
|
|
597
602
|
$tree.clearCheckboxNode().then(() => {
|
|
598
|
-
if (_xeUtils.default.isBoolean(
|
|
603
|
+
if (_xeUtils.default.isBoolean(clearClosable) ? clearClosable : autoClose) {
|
|
599
604
|
hideOptionPanel($event);
|
|
600
605
|
}
|
|
601
606
|
});
|
|
@@ -694,7 +699,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
694
699
|
if (!isDisabled) {
|
|
695
700
|
if (!reactData.visiblePanel) {
|
|
696
701
|
reactData.triggerFocusPanel = true;
|
|
697
|
-
showOptionPanel();
|
|
702
|
+
showOptionPanel(evnt);
|
|
698
703
|
setTimeout(() => {
|
|
699
704
|
reactData.triggerFocusPanel = false;
|
|
700
705
|
}, 150);
|
|
@@ -746,7 +751,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
746
751
|
if (reactData.visiblePanel) {
|
|
747
752
|
hideOptionPanel($event);
|
|
748
753
|
} else {
|
|
749
|
-
showOptionPanel();
|
|
754
|
+
showOptionPanel($event);
|
|
750
755
|
}
|
|
751
756
|
}
|
|
752
757
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("../../tree/src/util"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../button")),_tree=_interopRequireDefault(require("../../tree")),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getOptUniqueId(){return _xeUtils.default.uniqueId("node_")}function createReactData(){return{initialized:!1,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,fullOptFlag:1,lazyOptFlag:1}}function createInternalData(){return{fullOptionList:[],fullNodeMaps:{},lazyNodeMaps:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:{type:Boolean,default:(0,_ui.getConfig)().treeSelect.clearable},placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().treeSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().treeSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},showFullLabel:{type:Boolean,default:(0,_ui.getConfig)().treeSelect.showFullLabel},separator:{type:String,default:(0,_ui.getConfig)().treeSelect.separator},filterable:Boolean,filterConfig:Object,multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,lazyOptions:Array,options:Array,optionProps:Object,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().treeSelect.size||(0,_ui.getConfig)().size},remote:Boolean,remoteConfig:Function,popupConfig:Object,treeConfig:Object,menuConfig:Object,virtualYConfig:Object,autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.autoClose},checkedClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.checkedClosable},clearClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.clearClosable},showCloseButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showCloseButton},showTotalButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showTotalButton},showCheckedButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showCheckedButton},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showClearButton},showExpandButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showExpandButton},transfer:{type:Boolean,default:null},remoteMethod:Function},emits:["update:modelValue","change","all-change","clear","blur","focus","click","node-click","visible-change"],setup(R,e){let{emit:a,slots:$}=e,h=(0,_vue.inject)("$xeModal",null),m=(0,_vue.inject)("$xeDrawer",null),x=(0,_vue.inject)("$xeTable",null),n=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let re=(0,_ui.useSize)(R).computeSize,K=(0,_vue.ref)(),H=(0,_vue.ref)(),Y=(0,_vue.ref)(),se=(0,_vue.ref)(),Z=(0,_vue.ref)(),G=(0,_vue.ref)(),J=(0,_vue.reactive)(createReactData()),r=createInternalData(),b={refElem:K},ce=(0,_vue.computed)(()=>{var e=R.readonly;return null===e?!!n&&n.props.readonly:e}),Q=(0,_vue.computed)(()=>{var e=R.disabled;return null===e?!!n&&n.props.disabled:e}),W=(0,_vue.computed)(()=>{var e=R.transfer,t=X.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().treeSelect.transfer;if(_xeUtils.default.isBoolean(t))return t;if(x||h||m||n)return!0}return e}),X=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.popupConfig,R.popupConfig)),ee=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.treeConfig,R.treeConfig,{data:void 0})),de=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.menuConfig,R.menuConfig)),ve=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({isHover:!0},e.nodeConfig)}),pe=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({showIcon:!!e.showCheckbox},e.checkboxConfig,{trigger:"node"})}),_e=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({showIcon:!!e.showRadio},e.radioConfig,{trigger:"node"})}),l=(0,_vue.computed)(()=>R.optionProps||{}),te=(0,_vue.computed)(()=>ee.value.keyField||"id"),le=(0,_vue.computed)(()=>l.value.label||"label"),ae=(0,_vue.computed)(()=>l.value.value||"value"),ne=(0,_vue.computed)(()=>l.value.children||"children"),oe=(0,_vue.computed)(()=>{var e=l.value,t=ee.value;return e.parent||t.parentField||"parentId"}),fe=(0,_vue.computed)(()=>l.value.hasChild||"hasChild"),ge=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.virtualYConfig,R.virtualYConfig)),i=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.remoteConfig,R.remoteConfig)),he=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({},e.filterConfig,R.filterConfig)}),me=(0,_vue.computed)(()=>{let{modelValue:e,showFullLabel:l}=R,{fullOptFlag:a,lazyOptFlag:n}=J,{fullNodeMaps:o,lazyNodeMaps:i}=r,u=le.value;return(_xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]).map(e=>{var t=o[e];if(a&&t)return l?t.fullLabel:t.item[u];if(n){t=i[e];if(t)return l?t.fullLabel:t.item[u]}return e}).join(", ")}),xe=(0,_vue.computed)(()=>{var{height:e,width:t}=X.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e),l.maxHeight=(0,_dom.toCssUnit)(e)),l}),C={},ie={xID:t,props:R,context:e,reactData:J,internalData:r,getRefMaps:()=>b,getComputeMaps:()=>C},u=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$treeSelect:ie},t))},y=e=>{a("update:modelValue",e)},ue=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=$[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[];t={dispatchEvent:u};let E=e=>{e=e[te.value];return e?encodeURIComponent(e):""},s=e=>{let r=R.separator;var t=ee.value;let s=te.value;var l=oe.value,a=ne.value;let c=ae.value,d=le.value;var n=t.transform;let v={},p={};var o=(e,t,l,a,n,o)=>{let i=E(e);i=i||getOptUniqueId(),p[i]&&(0,_log.errLog)("vxe.error.repeatKey",["[tree-select] "+s,i]),p[i]=!0;var u=e[c];v[u]&&(0,_log.errLog)("vxe.error.repeatKey",["[tree-select] "+c,u]),v[u]={item:e,index:t,items:l,parent:n,nodes:o,fullLabel:o.map(e=>e[d]).join((r||"/")+" ")}};return e&&(n?(n=_xeUtils.default.toArrayTree(e,{key:s,parentKey:l,mapChildren:a,rootParentValue:t.rootParentValue,rootValues:t.rootValues}),_xeUtils.default.eachTree(n,o,{children:a})):_xeUtils.default.eachTree(e,o,{children:a})),v},c=()=>{var e=R.options;r.fullNodeMaps=s(e||[]),r.fullOptionList=e||[],J.fullOptFlag++},d=()=>{var e=R.lazyOptions;r.lazyNodeMaps=s(e||[]),J.lazyOptFlag++},S=()=>{var e=X.value.zIndex||R.zIndex;e?J.panelIndex=_xeUtils.default.toNumber(e):J.panelIndex<(0,_utils.getLastZIndex)()&&(J.panelIndex=(0,_utils.nextZIndex)())},v=()=>{let l=R.placement,a=J.panelIndex,n=K.value,o=Z.value,i=W.value,u=X.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(n,o,{placement:u.placement||l,defaultPlacement:u.defaultPlacement,teleportTo:i}),t=Object.assign(e.style,{zIndex:a});J.panelStyle=t,J.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},I=()=>{var{loading:e,remote:t,filterable:l}=R,a=r.fullOptionList,n=Q.value,o=i.value;e||n||(clearTimeout(r.hpTimeout),J.initialized||(J.initialized=!0),J.isActivated=!0,J.isAniVisible=!0,l&&t&&o.enabled&&o.autoLoad&&!a.length&&F(),setTimeout(()=>{J.visiblePanel=!0,V(),v()},10),S(),v(),u("visible-change",{visible:!0},null))},p=e=>{J.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{J.isAniVisible=!1},350),u("visible-change",{visible:!1},e||null)},_=(e,t,l)=>{t=_xeUtils.default.isArray(t)?t.map(_util.deNodeValue):(0,_util.deNodeValue)(t);y(t),t!==R.modelValue&&(u("change",{value:t,node:l,option:l},e),n)&&o&&n.triggerItemEvent(e,o.itemConfig.field,t)},w=(e,t)=>{_(e,t,null),u("clear",{value:t},e)},be=e=>{e=e.$event;w(e,null),p(e)},Ce=e=>{let l=e.$event,{multiple:t,autoClose:a,checkedClosable:n}=R;e=G.value;t&&e&&e.setAllCheckboxNode(!0).then(({checkNodeKeys:e,checkNodes:t})=>{_(l,e,t[0]),u("all-change",{value:e},l),(_xeUtils.default.isBoolean(a)?a:n)&&p(l)})},ye=e=>{let t=e.$event,{multiple:l,autoClose:a,clearClosable:n}=R;var o,e=G.value;e&&(o=l?[]:null,e.clearCheckboxNode().then(()=>{(_xeUtils.default.isBoolean(a)?a:n)&&p(t)}),_(t,o,null),u("clear",{value:o},t))},Ee=e=>{e=e.$event;p(e)},Se=()=>{var e=G.value;e&&e.setAllExpandNode(!0)},Ie=()=>{var e=G.value;e&&e.clearAllExpandNode()},k=e=>{var t=J.visiblePanel;Q.value||t&&(t=Z.value,(0,_dom.getEventTargetNode)(e,t).flag?v():p(e))},B=e=>{var t,l,a=J.visiblePanel;Q.value||(t=K.value,l=Z.value,J.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!J.isActivated&&p(e))},N=e=>{var{visiblePanel:t,isActivated:l}=J;t&&p(e),l&&(J.isActivated=!1),(t||l)&&(e=H.value)&&e.blur()},O=()=>{var e=J.visiblePanel;e&&v()},V=()=>{R.filterable&&(0,_vue.nextTick)(()=>{var e=Y.value;e&&e.focus()})},we=e=>{Q.value||J.visiblePanel||(J.triggerFocusPanel=!0,I(),setTimeout(()=>{J.triggerFocusPanel=!1},150)),u("focus",{},e)},ke=e=>{Oe(e),u("click",{},e)},Be=e=>{J.isActivated=!1,u("blur",{},e)},Ne=e=>{J.searchValue=e},F=()=>{var{modelValue:e,remote:t,remoteMethod:l}=R,a=J.searchValue,n=i.value,l=n.queryMethod||l;t&&l&&n.enabled&&(J.searchLoading=!0,Promise.resolve(l({$treeSelect:ie,searchValue:a,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{J.searchLoading=!1}))},Oe=e=>{e=e.$event;e.preventDefault(),J.triggerFocusPanel?J.triggerFocusPanel=!1:J.visiblePanel?p(e):I()},Ve=()=>{v()},Fe=e=>{var t=e.$event;u("node-click",e,t)},Pe=e=>{var{value:e,$event:t,node:l}=e;_(t,e,l),p(t)},Ue=e=>{var{value:e,$event:t,node:l}=e;_(t,e,l)},Te=()=>{c()};Object.assign(ie,t,{});let f=(0,_vue.ref)(0),g=((0,_vue.watch)(()=>R.options?R.options.length:-1,()=>{f.value++}),(0,_vue.watch)(()=>R.options,()=>{f.value++}),(0,_vue.watch)(f,()=>{c()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>R.lazyOptions?R.lazyOptions.length:-1,()=>{g.value++}),(0,_vue.watch)(()=>R.lazyOptions,()=>{g.value++}),(0,_vue.watch)(g,()=>{d()}),c(),d(),(0,_vue.onMounted)(()=>{_xeUtils.default.isBoolean(R.autoClose)&&(0,_log.warnLog)("vxe.error.delProp",["auto-close","checked-closable | clear-closable"]),_ui.globalEvents.on(ie,"mousewheel",k),_ui.globalEvents.on(ie,"mousedown",B),_ui.globalEvents.on(ie,"blur",N),_ui.globalEvents.on(ie,"resize",O)}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(ie,"mousewheel"),_ui.globalEvents.off(ie,"mousedown"),_ui.globalEvents.off(ie,"blur"),_ui.globalEvents.off(ie,"resize"),_xeUtils.default.assign(J,createReactData()),_xeUtils.default.assign(r,createInternalData())}),(0,_vue.provide)("$xeTreeSelect",ie),ie.renderVN=()=>{var{className:e,modelValue:t,multiple:l,options:a,loading:n,menuConfig:o,filterable:i,showTotalButton:u,showCheckedButton:r,showClearButton:s,showExpandButton:c,showCloseButton:d}=R,{initialized:v,isActivated:p,isAniVisible:_,visiblePanel:f,searchValue:g}=J,h=re.value,m=Q.value,x=me.value,b=W.value,C=ce.value,y=xe.value,E=$.header,S=$.footer;let I=$.prefix;var w=X.value,k=w.className||R.popupClassName;if(C)return(0,_vue.h)("div",{ref:K,class:["vxe-tree-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-tree-select-label"},x)]);var C=ee.value,B=de.value,N=ve.value,O=pe.value,V=_e.value,F=te.value,P=le.value,z=ae.value,L=ne.value,A=oe.value,j=fe.value,q=ge.value,M=he.value,U=C.slots,D=_xeUtils.default.eqNull(t)?[]:_xeUtils.default.isArray(t)?t:[t],T={};if(U){let{icon:t,title:l,extra:a}=U;t&&(T.icon=e=>ue(t,e)),l&&(T.title=e=>ue(l,e)),a&&(T.extra=e=>ue(a,e))}return(0,_vue.h)("div",{ref:K,class:["vxe-tree-select",e?_xeUtils.default.isFunction(e)?e({$treeSelect:ie}):e:"",{["size--"+h]:h,"is--filterable":i,"is--visible":f,"is--disabled":m,"is--loading":n,"is--active":p}]},[(0,_vue.h)(_input.default,{ref:H,clearable:R.clearable,placeholder:n?(0,_ui.getI18n)("vxe.select.loadingText"):R.placeholder,editable:!1,disabled:m,type:"text",prefixIcon:R.prefixIcon,suffixIcon:n?(0,_ui.getIcon)().TREE_SELECT_LOADED:f?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:n?"":x,title:x,onClear:be,onClick:ke,onFocus:we,onBlur:Be,onSuffixClick:Oe},I?{prefix:()=>I({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!b||!v},[(0,_vue.h)("div",{ref:Z,class:["vxe-table--ignore-clear vxe-tree-select--panel",k?_xeUtils.default.isFunction(k)?k({$treeSelect:ie}):k:"",{["size--"+h]:h,"is--transfer":b,"ani--leave":!n&&_,"ani--enter":!n&&f}],placement:J.panelPlacement,style:J.panelStyle},v?[(0,_vue.h)("div",{class:"vxe-tree-select--panel-wrapper"},[i?(0,_vue.h)("div",{class:"vxe-tree-select--panel-search"},[(0,_vue.h)(_input.default,{ref:Y,class:"vxe-tree-select-search--input",modelValue:g,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.treeSelect.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":Ne})]):(0,_ui.renderEmptyElement)(ie),r&&l||s||c||E?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},E?E({}):[(0,_vue.h)("div",{class:"vxe-tree-select--header-button"},[r&&s?(0,_vue.h)("div",{class:"vxe-tree-select--selected-btns"},[r&&l?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text",onClick:Ce}):(0,_ui.renderEmptyElement)(ie),s?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text",onClick:ye}):(0,_ui.renderEmptyElement)(ie)]):(0,_ui.renderEmptyElement)(ie),c?(0,_vue.h)("div",{class:"vxe-tree-select--expand-btns"},[c?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allExpand"),mode:"text",onClick:Se}):(0,_ui.renderEmptyElement)(ie),c?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearExpand"),mode:"text",onClick:Ie}):(0,_ui.renderEmptyElement)(ie)]):(0,_ui.renderEmptyElement)(ie)])]):(0,_ui.renderEmptyElement)(ie),(0,_vue.h)("div",{class:"vxe-tree-select--panel-body"},[(0,_vue.h)("div",{ref:se,class:"vxe-tree-select-tree--wrapper",style:y},[(0,_vue.h)(_tree.default,{ref:G,class:"vxe-tree-select--tree",height:w.height?"100%":C.height,minHeight:C.minHeight,maxHeight:w.height?"":C.maxHeight,autoResize:!0,data:a,indent:C.indent,showRadio:!l,radioConfig:V,checkNodeKey:l?null:t,showCheckbox:!!l,checkNodeKeys:l?t:null,checkboxConfig:O,titleField:P,valueField:z,keyField:F,childrenField:C.childrenField||L,parentField:A,hasChildField:C.hasChildField||j,accordion:C.accordion,expandAll:C.expandAll,expandNodeKeys:C.expandNodeKeys,nodeConfig:N,lazy:C.lazy,loadMethod:C.loadMethod,toggleMethod:C.toggleMethod,transform:C.transform,rootParentValue:C.rootParentValue,rootValues:C.rootValues,trigger:C.trigger,showIcon:C.showIcon,showLine:C.showLine,iconOpen:C.iconOpen,iconLoaded:C.iconLoaded,iconClose:C.iconClose,filterValue:g,filterConfig:M,menuConfig:o?B:void 0,virtualYConfig:q,onNodeExpand:Ve,onNodeClick:Fe,onRadioChange:Pe,onCheckboxChange:Ue,onLoadSuccess:Te},T)])]),S||u||d&&l?(0,_vue.h)("div",{class:"vxe-tree-select--panel-footer"},S?S({}):[(0,_vue.h)("div",{class:"vxe-tree-select--footer-button"},[u?(0,_vue.h)("div",{class:"vxe-tree-select--total-btns"},(0,_ui.getI18n)("vxe.treeSelect.total",[D.length])):(0,_ui.renderEmptyElement)(ie),d&&l?(0,_vue.h)("div",{class:"vxe-tree-select--oper-btns"},[(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text",onClick:Ee})]):(0,_ui.renderEmptyElement)(ie)])]):(0,_ui.renderEmptyElement)(ie)])]:[])])])},ie},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("../../tree/src/util"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../button")),_tree=_interopRequireDefault(require("../../tree")),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getOptUniqueId(){return _xeUtils.default.uniqueId("node_")}function createReactData(){return{initialized:!1,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,fullOptFlag:1,lazyOptFlag:1}}function createInternalData(){return{fullOptionList:[],fullNodeMaps:{},lazyNodeMaps:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:{type:Boolean,default:(0,_ui.getConfig)().treeSelect.clearable},placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().treeSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().treeSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},showFullLabel:{type:Boolean,default:(0,_ui.getConfig)().treeSelect.showFullLabel},separator:{type:String,default:(0,_ui.getConfig)().treeSelect.separator},filterable:Boolean,filterConfig:Object,multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,lazyOptions:Array,options:Array,optionProps:Object,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().treeSelect.size||(0,_ui.getConfig)().size},remote:Boolean,remoteConfig:Function,popupConfig:Object,treeConfig:Object,menuConfig:Object,virtualYConfig:Object,autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.autoClose},checkedClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.checkedClosable},clearClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.clearClosable},showCloseButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showCloseButton},showTotalButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showTotalButton},showCheckedButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showCheckedButton},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showClearButton},showExpandButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showExpandButton},transfer:{type:Boolean,default:null},remoteMethod:Function},emits:["update:modelValue","change","all-change","clear","blur","focus","click","node-click","visible-change"],setup(R,e){let{emit:a,slots:$}=e,h=(0,_vue.inject)("$xeModal",null),m=(0,_vue.inject)("$xeDrawer",null),x=(0,_vue.inject)("$xeTable",null),n=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let re=(0,_ui.useSize)(R).computeSize,K=(0,_vue.ref)(),H=(0,_vue.ref)(),Y=(0,_vue.ref)(),se=(0,_vue.ref)(),Z=(0,_vue.ref)(),G=(0,_vue.ref)(),J=(0,_vue.reactive)(createReactData()),r=createInternalData(),b={refElem:K},ce=(0,_vue.computed)(()=>{var e=R.readonly;return null===e?!!n&&n.props.readonly:e}),Q=(0,_vue.computed)(()=>{var e=R.disabled;return null===e?!!n&&n.props.disabled:e}),W=(0,_vue.computed)(()=>{var e=X.value.transfer;if(_xeUtils.default.isBoolean(e))return e;if(null===R.transfer){e=(0,_ui.getConfig)().treeSelect.transfer;if(_xeUtils.default.isBoolean(e))return e;if(x||h||m||n)return!0}return R.transfer}),X=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.popupConfig,R.popupConfig)),ee=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.treeConfig,R.treeConfig,{data:void 0})),de=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.menuConfig,R.menuConfig)),ve=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({isHover:!0},e.nodeConfig)}),pe=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({showIcon:!!e.showCheckbox},e.checkboxConfig,{trigger:"node"})}),_e=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({showIcon:!!e.showRadio},e.radioConfig,{trigger:"node"})}),l=(0,_vue.computed)(()=>R.optionProps||{}),te=(0,_vue.computed)(()=>ee.value.keyField||"id"),le=(0,_vue.computed)(()=>l.value.label||"label"),ae=(0,_vue.computed)(()=>l.value.value||"value"),ne=(0,_vue.computed)(()=>l.value.children||"children"),oe=(0,_vue.computed)(()=>{var e=l.value,t=ee.value;return e.parent||t.parentField||"parentId"}),fe=(0,_vue.computed)(()=>l.value.hasChild||"hasChild"),ge=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.virtualYConfig,R.virtualYConfig)),u=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.remoteConfig,R.remoteConfig)),he=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({},e.filterConfig,R.filterConfig)}),C=(0,_vue.computed)(()=>{var e=R.modelValue;return _xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]}),me=(0,_vue.computed)(()=>{let l=R.showFullLabel,{fullOptFlag:a,lazyOptFlag:n}=J,{fullNodeMaps:o,lazyNodeMaps:i}=r,u=le.value;return C.value.map(e=>{var t=o[e];if(a&&t)return l?t.fullLabel:t.item[u];if(n){t=i[e];if(t)return l?t.fullLabel:t.item[u]}return e}).join(", ")}),xe=(0,_vue.computed)(()=>{var{height:e,width:t}=X.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e),l.maxHeight=(0,_dom.toCssUnit)(e)),l}),y={},ie={xID:t,props:R,context:e,reactData:J,internalData:r,getRefMaps:()=>b,getComputeMaps:()=>y},s=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$treeSelect:ie},t))},E=e=>{a("update:modelValue",e)},ue=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=$[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[];t={dispatchEvent:s};let S=e=>{e=e[te.value];return e?encodeURIComponent(e):""},i=e=>{let r=R.separator;var t=ee.value;let s=te.value;var l=oe.value,a=ne.value;let c=ae.value,d=le.value;var n=t.transform;let v={},p={};var o=(e,t,l,a,n,o)=>{let i=S(e);i=i||getOptUniqueId(),p[i]&&(0,_log.errLog)("vxe.error.repeatKey",[s,i]),p[i]=!0;var u=e[c];v[u]&&(0,_log.errLog)("vxe.error.repeatKey",[c,u]),v[u]={item:e,index:t,items:l,parent:n,nodes:o,fullLabel:o.map(e=>e[d]).join(r||" / ")}};return e&&(n?(n=_xeUtils.default.toArrayTree(e,{key:s,parentKey:l,mapChildren:a,rootParentValue:t.rootParentValue,rootValues:t.rootValues}),_xeUtils.default.eachTree(n,o,{children:a})):_xeUtils.default.eachTree(e,o,{children:a})),v},c=()=>{var e=R.options;r.fullNodeMaps=i(e||[]),r.fullOptionList=e||[],J.fullOptFlag++},d=()=>{var e=R.lazyOptions;r.lazyNodeMaps=i(e||[]),J.lazyOptFlag++},I=()=>{var e=X.value.zIndex||R.zIndex;e?J.panelIndex=_xeUtils.default.toNumber(e):J.panelIndex<(0,_utils.getLastZIndex)()&&(J.panelIndex=(0,_utils.nextZIndex)())},v=()=>{let l=R.placement,a=J.panelIndex,n=K.value,o=Z.value,i=W.value,u=X.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(n,o,{placement:u.placement||l,defaultPlacement:u.defaultPlacement,teleportTo:i}),t=Object.assign(e.style,{zIndex:a});J.panelStyle=t,J.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},w=e=>{var{loading:t,remote:l,filterable:a}=R,n=r.fullOptionList,o=Q.value,i=u.value;t||o||(clearTimeout(r.hpTimeout),J.initialized||(J.initialized=!0),J.isActivated=!0,J.isAniVisible=!0,a&&l&&i.enabled&&i.autoLoad&&!n.length&&P(),setTimeout(()=>{J.visiblePanel=!0,F(),v()},10),I(),v(),s("visible-change",{visible:!0},e||null))},p=e=>{J.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{J.isAniVisible=!1},350),s("visible-change",{visible:!1},e||null)},_=(e,t,l)=>{t=_xeUtils.default.isArray(t)?t.map(_util.deNodeValue):(0,_util.deNodeValue)(t);E(t),t!==R.modelValue&&(s("change",{value:t,node:l,option:l},e),n)&&o&&n.triggerItemEvent(e,o.itemConfig.field,t)},k=(e,t)=>{_(e,t,null),s("clear",{value:t},e)},be=e=>{e=e.$event;k(e,null),p(e)},Ce=e=>{let l=e.$event,{multiple:t,autoClose:a,checkedClosable:n}=R;e=G.value;t&&e&&e.setAllCheckboxNode(!0).then(({checkNodeKeys:e,checkNodes:t})=>{_(l,e,t[0]),s("all-change",{value:e},l),(_xeUtils.default.isBoolean(n)?n:a)&&p(l)})},ye=e=>{let t=e.$event,{multiple:l,autoClose:a,clearClosable:n}=R;var o,e=G.value;e&&(o=l?[]:null,e.clearCheckboxNode().then(()=>{(_xeUtils.default.isBoolean(n)?n:a)&&p(t)}),_(t,o,null),s("clear",{value:o},t))},Ee=e=>{e=e.$event;p(e)},Se=()=>{var e=G.value;e&&e.setAllExpandNode(!0)},Ie=()=>{var e=G.value;e&&e.clearAllExpandNode()},B=e=>{var t=J.visiblePanel;Q.value||t&&(t=Z.value,(0,_dom.getEventTargetNode)(e,t).flag?v():p(e))},N=e=>{var t,l,a=J.visiblePanel;Q.value||(t=K.value,l=Z.value,J.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!J.isActivated&&p(e))},O=e=>{var{visiblePanel:t,isActivated:l}=J;t&&p(e),l&&(J.isActivated=!1),(t||l)&&(e=H.value)&&e.blur()},V=()=>{var e=J.visiblePanel;e&&v()},F=()=>{R.filterable&&(0,_vue.nextTick)(()=>{var e=Y.value;e&&e.focus()})},we=e=>{Q.value||J.visiblePanel||(J.triggerFocusPanel=!0,w(e),setTimeout(()=>{J.triggerFocusPanel=!1},150)),s("focus",{},e)},ke=e=>{Oe(e),s("click",{},e)},Be=e=>{J.isActivated=!1,s("blur",{},e)},Ne=e=>{J.searchValue=e},P=()=>{var{modelValue:e,remote:t,remoteMethod:l}=R,a=J.searchValue,n=u.value,l=n.queryMethod||l;t&&l&&n.enabled&&(J.searchLoading=!0,Promise.resolve(l({$treeSelect:ie,searchValue:a,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{J.searchLoading=!1}))},Oe=e=>{e=e.$event;e.preventDefault(),J.triggerFocusPanel?J.triggerFocusPanel=!1:(J.visiblePanel?p:w)(e)},Ve=()=>{v()},Fe=e=>{var t=e.$event;s("node-click",e,t)},Pe=e=>{var{value:e,$event:t,node:l}=e;_(t,e,l),p(t)},Ue=e=>{var{value:e,$event:t,node:l}=e;_(t,e,l)},Te=()=>{c()};Object.assign(ie,t,{});let f=(0,_vue.ref)(0),g=((0,_vue.watch)(()=>R.options?R.options.length:-1,()=>{f.value++}),(0,_vue.watch)(()=>R.options,()=>{f.value++}),(0,_vue.watch)(f,()=>{c()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>R.lazyOptions?R.lazyOptions.length:-1,()=>{g.value++}),(0,_vue.watch)(()=>R.lazyOptions,()=>{g.value++}),(0,_vue.watch)(g,()=>{d()}),c(),d(),(0,_vue.onMounted)(()=>{_xeUtils.default.isBoolean(R.autoClose)&&(0,_log.warnLog)("vxe.error.delProp",["auto-close","checked-closable | clear-closable"]),_ui.globalEvents.on(ie,"mousewheel",B),_ui.globalEvents.on(ie,"mousedown",N),_ui.globalEvents.on(ie,"blur",O),_ui.globalEvents.on(ie,"resize",V)}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(ie,"mousewheel"),_ui.globalEvents.off(ie,"mousedown"),_ui.globalEvents.off(ie,"blur"),_ui.globalEvents.off(ie,"resize"),_xeUtils.default.assign(J,createReactData()),_xeUtils.default.assign(r,createInternalData())}),(0,_vue.provide)("$xeTreeSelect",ie),ie.renderVN=()=>{var{className:e,modelValue:t,multiple:l,options:a,loading:n,menuConfig:o,filterable:i,showTotalButton:u,showCheckedButton:r,showClearButton:s,showExpandButton:c,showCloseButton:d}=R,{initialized:v,isActivated:p,isAniVisible:_,visiblePanel:f,searchValue:g}=J,h=re.value,m=Q.value,x=me.value,b=W.value,C=ce.value,y=xe.value,E=$.header,S=$.footer;let I=$.prefix;var w=X.value,k=w.className||R.popupClassName;if(C)return(0,_vue.h)("div",{ref:K,class:["vxe-tree-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-tree-select-label"},x)]);var C=ee.value,B=de.value,N=ve.value,O=pe.value,V=_e.value,F=te.value,P=le.value,z=ae.value,L=ne.value,A=oe.value,j=fe.value,q=ge.value,M=he.value,U=C.slots,D=_xeUtils.default.eqNull(t)?[]:_xeUtils.default.isArray(t)?t:[t],T={};if(U){let{icon:t,title:l,extra:a}=U;t&&(T.icon=e=>ue(t,e)),l&&(T.title=e=>ue(l,e)),a&&(T.extra=e=>ue(a,e))}return(0,_vue.h)("div",{ref:K,class:["vxe-tree-select",e?_xeUtils.default.isFunction(e)?e({$treeSelect:ie}):e:"",{["size--"+h]:h,"is--filterable":i,"is--visible":f,"is--disabled":m,"is--loading":n,"is--active":p}]},[(0,_vue.h)(_input.default,{ref:H,clearable:R.clearable,placeholder:n?(0,_ui.getI18n)("vxe.select.loadingText"):R.placeholder,editable:!1,disabled:m,type:"text",prefixIcon:R.prefixIcon,suffixIcon:n?(0,_ui.getIcon)().TREE_SELECT_LOADED:f?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:n?"":x,title:x,onClear:be,onClick:ke,onFocus:we,onBlur:Be,onSuffixClick:Oe},I?{prefix:()=>I({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!b||!v},[(0,_vue.h)("div",{ref:Z,class:["vxe-table--ignore-clear vxe-tree-select--panel",k?_xeUtils.default.isFunction(k)?k({$treeSelect:ie}):k:"",{["size--"+h]:h,"is--transfer":b,"ani--leave":!n&&_,"ani--enter":!n&&f}],placement:J.panelPlacement,style:J.panelStyle},v?[(0,_vue.h)("div",{class:"vxe-tree-select--panel-wrapper"},[i?(0,_vue.h)("div",{class:"vxe-tree-select--panel-search"},[(0,_vue.h)(_input.default,{ref:Y,class:"vxe-tree-select-search--input",modelValue:g,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.treeSelect.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":Ne})]):(0,_ui.renderEmptyElement)(ie),r&&l||s||c||E?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},E?E({}):[(0,_vue.h)("div",{class:"vxe-tree-select--header-button"},[r&&s?(0,_vue.h)("div",{class:"vxe-tree-select--selected-btns"},[r&&l?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text",onClick:Ce}):(0,_ui.renderEmptyElement)(ie),s?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text",onClick:ye}):(0,_ui.renderEmptyElement)(ie)]):(0,_ui.renderEmptyElement)(ie),c?(0,_vue.h)("div",{class:"vxe-tree-select--expand-btns"},[c?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allExpand"),mode:"text",onClick:Se}):(0,_ui.renderEmptyElement)(ie),c?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearExpand"),mode:"text",onClick:Ie}):(0,_ui.renderEmptyElement)(ie)]):(0,_ui.renderEmptyElement)(ie)])]):(0,_ui.renderEmptyElement)(ie),(0,_vue.h)("div",{class:"vxe-tree-select--panel-body"},[(0,_vue.h)("div",{ref:se,class:"vxe-tree-select-tree--wrapper",style:y},[(0,_vue.h)(_tree.default,{ref:G,class:"vxe-tree-select--tree",height:w.height?"100%":C.height,minHeight:C.minHeight,maxHeight:w.height?"":C.maxHeight,autoResize:!0,data:a,indent:C.indent,showRadio:!l,radioConfig:V,checkNodeKey:l?null:t,showCheckbox:!!l,checkNodeKeys:l?t:null,checkboxConfig:O,titleField:P,valueField:z,keyField:F,childrenField:C.childrenField||L,parentField:A,hasChildField:C.hasChildField||j,accordion:C.accordion,expandAll:C.expandAll,expandNodeKeys:C.expandNodeKeys,nodeConfig:N,lazy:C.lazy,loadMethod:C.loadMethod,toggleMethod:C.toggleMethod,transform:C.transform,rootParentValue:C.rootParentValue,rootValues:C.rootValues,trigger:C.trigger,showIcon:C.showIcon,showLine:C.showLine,iconOpen:C.iconOpen,iconLoaded:C.iconLoaded,iconClose:C.iconClose,filterValue:g,filterConfig:M,menuConfig:o?B:void 0,virtualYConfig:q,onNodeExpand:Ve,onNodeClick:Fe,onRadioChange:Pe,onCheckboxChange:Ue,onLoadSuccess:Te},T)])]),S||u||d&&l?(0,_vue.h)("div",{class:"vxe-tree-select--panel-footer"},S?S({}):[(0,_vue.h)("div",{class:"vxe-tree-select--footer-button"},[u?(0,_vue.h)("div",{class:"vxe-tree-select--total-btns"},(0,_ui.getI18n)("vxe.treeSelect.total",[D.length])):(0,_ui.renderEmptyElement)(ie),d&&l?(0,_vue.h)("div",{class:"vxe-tree-select--oper-btns"},[(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text",onClick:Ee})]):(0,_ui.renderEmptyElement)(ie)])]):(0,_ui.renderEmptyElement)(ie)])]:[])])])},ie},render(){return this.renderVN()}});
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
|
|
85
85
|
.vxe-tree-select--panel-search {
|
|
86
86
|
display: block;
|
|
87
|
+
padding: var(--vxe-ui-current-padding);
|
|
87
88
|
}
|
|
88
89
|
.vxe-tree-select--panel-search .vxe-tree-select-search--input {
|
|
89
90
|
width: 100%;
|
|
@@ -131,14 +132,6 @@
|
|
|
131
132
|
pointer-events: auto;
|
|
132
133
|
}
|
|
133
134
|
|
|
134
|
-
.vxe-tree-select--panel-search {
|
|
135
|
-
display: block;
|
|
136
|
-
padding: var(--vxe-ui-current-padding);
|
|
137
|
-
}
|
|
138
|
-
.vxe-tree-select--panel-search .vxe-tree-select-search--input {
|
|
139
|
-
width: 100%;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
135
|
.vxe-tree-select--panel-header {
|
|
143
136
|
border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
144
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-tree-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-tree-select.is--filterable .vxe-tree-select-tree--wrapper{padding-top:0}.vxe-tree-select.is--filterable .vxe-tree-select--panel-header{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-tree-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-tree-select>.vxe-input{width:100%}.vxe-tree-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-tree-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-tree-select--panel{pointer-events:none;display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select--panel:not(.is--transfer){min-width:100%}.vxe-tree-select--panel.is--transfer{position:fixed}.vxe-tree-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-tree-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-tree-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-tree-select--panel.ani--enter>div::after{display:none}.vxe-tree-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree-select--panel-search{display:block}.vxe-tree-select--panel-search .vxe-tree-select-search--input{width:100%}.vxe-tree-select--footer-button,.vxe-tree-select--header-button{display:flex;flex-direction:row;white-space:nowrap}.vxe-tree-select--total-btns{padding-left:var(--vxe-ui-current-padding);flex-shrink:0}.vxe-tree-select--oper-btns{display:flex;flex-direction:row;flex-grow:1;justify-content:right}.vxe-tree-select--expand-btns,.vxe-tree-select--footer-button,.vxe-tree-select--selected-btns{display:flex;flex-direction:row;flex-grow:1}.vxe-tree-select--selected-btns+.vxe-tree-select--expand-btns{padding-left:2.2em}.vxe-tree-select--panel-wrapper{display:flex;flex-direction:column;position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color);pointer-events:auto}.vxe-tree-select--panel-
|
|
1
|
+
.vxe-tree-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-tree-select.is--filterable .vxe-tree-select-tree--wrapper{padding-top:0}.vxe-tree-select.is--filterable .vxe-tree-select--panel-header{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-tree-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-tree-select>.vxe-input{width:100%}.vxe-tree-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-tree-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-tree-select--panel{pointer-events:none;display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select--panel:not(.is--transfer){min-width:100%}.vxe-tree-select--panel.is--transfer{position:fixed}.vxe-tree-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-tree-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-tree-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-tree-select--panel.ani--enter>div::after{display:none}.vxe-tree-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree-select--panel-search{display:block;padding:var(--vxe-ui-current-padding)}.vxe-tree-select--panel-search .vxe-tree-select-search--input{width:100%}.vxe-tree-select--footer-button,.vxe-tree-select--header-button{display:flex;flex-direction:row;white-space:nowrap}.vxe-tree-select--total-btns{padding-left:var(--vxe-ui-current-padding);flex-shrink:0}.vxe-tree-select--oper-btns{display:flex;flex-direction:row;flex-grow:1;justify-content:right}.vxe-tree-select--expand-btns,.vxe-tree-select--footer-button,.vxe-tree-select--selected-btns{display:flex;flex-direction:row;flex-grow:1}.vxe-tree-select--selected-btns+.vxe-tree-select--expand-btns{padding-left:2.2em}.vxe-tree-select--panel-wrapper{display:flex;flex-direction:column;position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color);pointer-events:auto}.vxe-tree-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer,.vxe-tree-select--panel-header{padding:4px 0}.vxe-tree-select-tree--wrapper{position:relative;overflow:auto;padding:var(--vxe-ui-current-padding) 0;outline:0}.vxe-tree-select--tree{width:100%}.vxe-tree-select--tree .vxe-tree--node-item.is-checkbox--checked>.vxe-tree--node-item-inner,.vxe-tree-select--tree .vxe-tree--node-item.is-radio--checked>.vxe-tree--node-item-inner{color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--tree .vxe-tree--node-item-inner{cursor:pointer}.vxe-tree-select,.vxe-tree-select--panel{--vxe-ui-current-padding:var(--vxe-ui-layout-padding-default);--vxe-ui-tree-node-root-indent:var(--vxe-ui-current-padding)}.vxe-tree-select--panel.size--mini,.vxe-tree-select--panel.size--small,.vxe-tree-select.size--mini,.vxe-tree-select.size--small{--vxe-ui-current-padding:var(--vxe-ui-layout-padding-half)}.vxe-tree-select,.vxe-tree-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-tree-select--panel.size--medium,.vxe-tree-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-tree-select--panel.size--small,.vxe-tree-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-tree-select--panel.size--mini,.vxe-tree-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
package/lib/ui/index.js
CHANGED
|
@@ -26,7 +26,7 @@ Object.keys(_core).forEach(function (key) {
|
|
|
26
26
|
});
|
|
27
27
|
var _dynamics = require("../dynamics");
|
|
28
28
|
var _log = require("./src/log");
|
|
29
|
-
const version = exports.version = "4.14.
|
|
29
|
+
const version = exports.version = "4.14.40";
|
|
30
30
|
_core.VxeUI.uiVersion = version;
|
|
31
31
|
_core.VxeUI.dynamicApp = _dynamics.dynamicApp;
|
|
32
32
|
function config(options) {
|
|
@@ -86,7 +86,10 @@ _core.VxeUI.setup = setup;
|
|
|
86
86
|
},
|
|
87
87
|
carouselItem: {},
|
|
88
88
|
cascader: {
|
|
89
|
-
|
|
89
|
+
showFullLabel: true,
|
|
90
|
+
treeConfig: {
|
|
91
|
+
showIcon: true
|
|
92
|
+
}
|
|
90
93
|
},
|
|
91
94
|
checkbox: {},
|
|
92
95
|
checkboxButton: {},
|
|
@@ -440,7 +443,6 @@ _core.VxeUI.setup = setup;
|
|
|
440
443
|
}
|
|
441
444
|
},
|
|
442
445
|
treeSelect: {
|
|
443
|
-
autoClose: null,
|
|
444
446
|
// separator: '/',
|
|
445
447
|
virtualYConfig: {
|
|
446
448
|
enabled: true,
|
|
@@ -678,6 +680,10 @@ const iconPrefix = 'vxe-icon-';
|
|
|
678
680
|
BACKTOP_TOP: iconPrefix + 'top',
|
|
679
681
|
// context-menu
|
|
680
682
|
CONTEXT_MENU_OPTION_LOADING: iconPrefix + 'spinner roll',
|
|
681
|
-
CONTEXT_MENU_CHILDREN: iconPrefix + 'arrow-right'
|
|
683
|
+
CONTEXT_MENU_CHILDREN: iconPrefix + 'arrow-right',
|
|
684
|
+
// cascader
|
|
685
|
+
CASCADER_NODE_OPEN: iconPrefix + 'arrow-right',
|
|
686
|
+
CASCADER_NODE_CLOSE: iconPrefix + 'arrow-right',
|
|
687
|
+
CASCADER_NODE_LOADED: iconPrefix + 'spinner roll'
|
|
682
688
|
});
|
|
683
689
|
var _default = exports.default = _core.VxeUI;
|