vxe-pc-ui 3.3.16 → 3.3.18

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.
Files changed (35) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/style.css +1 -1
  3. package/es/style.min.css +1 -1
  4. package/es/tree/src/tree.js +117 -9
  5. package/es/ui/index.js +1 -1
  6. package/es/ui/src/log.js +1 -1
  7. package/lib/icon/style/style.css +1 -1
  8. package/lib/icon/style/style.min.css +1 -1
  9. package/lib/index.umd.js +125 -13
  10. package/lib/index.umd.min.js +1 -1
  11. package/lib/style.css +1 -1
  12. package/lib/style.min.css +1 -1
  13. package/lib/tree/src/tree.js +123 -11
  14. package/lib/tree/src/tree.min.js +1 -1
  15. package/lib/ui/index.js +1 -1
  16. package/lib/ui/index.min.js +1 -1
  17. package/lib/ui/src/log.js +1 -1
  18. package/lib/ui/src/log.min.js +1 -1
  19. package/package.json +2 -2
  20. package/packages/tree/src/tree.ts +129 -9
  21. package/types/components/grid.d.ts +12 -0
  22. package/types/components/table.d.ts +38 -0
  23. package/types/components/tree.d.ts +13 -1
  24. /package/es/icon/{iconfont.1733230810320.ttf → iconfont.1733331629052.ttf} +0 -0
  25. /package/es/icon/{iconfont.1733230810320.woff → iconfont.1733331629052.woff} +0 -0
  26. /package/es/icon/{iconfont.1733230810320.woff2 → iconfont.1733331629052.woff2} +0 -0
  27. /package/es/{iconfont.1733230810320.ttf → iconfont.1733331629052.ttf} +0 -0
  28. /package/es/{iconfont.1733230810320.woff → iconfont.1733331629052.woff} +0 -0
  29. /package/es/{iconfont.1733230810320.woff2 → iconfont.1733331629052.woff2} +0 -0
  30. /package/lib/icon/style/{iconfont.1733230810320.ttf → iconfont.1733331629052.ttf} +0 -0
  31. /package/lib/icon/style/{iconfont.1733230810320.woff → iconfont.1733331629052.woff} +0 -0
  32. /package/lib/icon/style/{iconfont.1733230810320.woff2 → iconfont.1733331629052.woff2} +0 -0
  33. /package/lib/{iconfont.1733230810320.ttf → iconfont.1733331629052.ttf} +0 -0
  34. /package/lib/{iconfont.1733230810320.woff → iconfont.1733331629052.woff} +0 -0
  35. /package/lib/{iconfont.1733230810320.woff2 → iconfont.1733331629052.woff2} +0 -0
@@ -289,12 +289,74 @@ var _default2 = exports.default = (0, _comp.defineVxeComponent)({
289
289
  $tree: $xeTree
290
290
  }, params));
291
291
  },
292
+ clearCurrentNode: function clearCurrentNode() {
293
+ var $xeTree = this;
294
+ var reactData = $xeTree.reactData;
295
+ reactData.currentNode = null;
296
+ return $xeTree.$nextTick();
297
+ },
298
+ getCurrentNodeId: function getCurrentNodeId() {
299
+ var $xeTree = this;
300
+ var reactData = $xeTree.reactData;
301
+ var currentNode = reactData.currentNode;
302
+ if (currentNode) {
303
+ return $xeTree.getNodeId(currentNode);
304
+ }
305
+ return null;
306
+ },
307
+ getCurrentNode: function getCurrentNode() {
308
+ var $xeTree = this;
309
+ var reactData = $xeTree.reactData;
310
+ var currentNode = reactData.currentNode,
311
+ nodeMaps = reactData.nodeMaps;
312
+ if (currentNode) {
313
+ var nodeItem = nodeMaps[currentNode];
314
+ if (nodeItem) {
315
+ return nodeItem.item;
316
+ }
317
+ }
318
+ return null;
319
+ },
320
+ setCurrentNodeId: function setCurrentNodeId(nodeKey) {
321
+ var $xeTree = this;
322
+ var reactData = $xeTree.reactData;
323
+ var nodeMaps = reactData.nodeMaps;
324
+ var nodeItem = nodeMaps[nodeKey];
325
+ reactData.currentNode = nodeItem ? nodeItem.item : null;
326
+ return $xeTree.$nextTick();
327
+ },
328
+ setCurrentNode: function setCurrentNode(node) {
329
+ var $xeTree = this;
330
+ var reactData = $xeTree.reactData;
331
+ reactData.currentNode = node;
332
+ return $xeTree.$nextTick();
333
+ },
292
334
  clearRadioNode: function clearRadioNode() {
293
335
  var $xeTree = this;
294
336
  var reactData = $xeTree.reactData;
295
337
  reactData.selectRadioKey = null;
296
338
  return $xeTree.$nextTick();
297
339
  },
340
+ getCheckboxNodeIds: function getCheckboxNodeIds() {
341
+ var $xeTree = this;
342
+ var reactData = $xeTree.reactData;
343
+ var selectCheckboxMaps = reactData.selectCheckboxMaps;
344
+ return Object.keys(selectCheckboxMaps);
345
+ },
346
+ getCheckboxNodes: function getCheckboxNodes() {
347
+ var $xeTree = this;
348
+ var reactData = $xeTree.reactData;
349
+ var nodeMaps = reactData.nodeMaps,
350
+ selectCheckboxMaps = reactData.selectCheckboxMaps;
351
+ var list = [];
352
+ _xeUtils.default.each(selectCheckboxMaps, function (item, nodeid) {
353
+ var nodeItem = nodeMaps[nodeid];
354
+ if (nodeItem) {
355
+ list.push(nodeItem.item);
356
+ }
357
+ });
358
+ return list;
359
+ },
298
360
  clearCheckboxNode: function clearCheckboxNode() {
299
361
  var $xeTree = this;
300
362
  var reactData = $xeTree.reactData;
@@ -304,7 +366,7 @@ var _default2 = exports.default = (0, _comp.defineVxeComponent)({
304
366
  setAllCheckboxNode: function setAllCheckboxNode(checked) {
305
367
  var $xeTree = this;
306
368
  var reactData = $xeTree.reactData;
307
- var selectMaps = Object.assign({}, reactData.selectCheckboxMaps);
369
+ var selectMaps = {};
308
370
  var childrenField = $xeTree.computeChildrenField;
309
371
  if (checked) {
310
372
  _xeUtils.default.eachTree(reactData.treeList, function (node) {
@@ -345,6 +407,26 @@ var _default2 = exports.default = (0, _comp.defineVxeComponent)({
345
407
  }
346
408
  return $xeTree.$nextTick();
347
409
  },
410
+ getExpandNodeIds: function getExpandNodeIds() {
411
+ var $xeTree = this;
412
+ var reactData = $xeTree.reactData;
413
+ var treeExpandedMaps = reactData.treeExpandedMaps;
414
+ return Object.keys(treeExpandedMaps);
415
+ },
416
+ getExpandNodes: function getExpandNodes() {
417
+ var $xeTree = this;
418
+ var reactData = $xeTree.reactData;
419
+ var nodeMaps = reactData.nodeMaps,
420
+ treeExpandedMaps = reactData.treeExpandedMaps;
421
+ var list = [];
422
+ _xeUtils.default.each(treeExpandedMaps, function (item, nodeid) {
423
+ var nodeItem = nodeMaps[nodeid];
424
+ if (nodeItem) {
425
+ list.push(nodeItem.item);
426
+ }
427
+ });
428
+ return list;
429
+ },
348
430
  setExpandNode: function setExpandNode(nodes, expanded) {
349
431
  var $xeTree = this;
350
432
  var reactData = $xeTree.reactData;
@@ -392,17 +474,23 @@ var _default2 = exports.default = (0, _comp.defineVxeComponent)({
392
474
  }
393
475
  return $xeTree.$nextTick();
394
476
  },
395
- setAllExpandNode: function setAllExpandNode() {
477
+ setAllExpandNode: function setAllExpandNode(expanded) {
396
478
  var $xeTree = this;
397
479
  var reactData = $xeTree.reactData;
398
- var expandedMaps = Object.assign({}, reactData.treeExpandedMaps);
480
+ var expandedMaps = {};
399
481
  var childrenField = $xeTree.computeChildrenField;
400
- _xeUtils.default.eachTree(reactData.treeList, function (node) {
401
- var nodeid = $xeTree.getNodeId(node);
402
- expandedMaps[nodeid] = true;
403
- }, {
404
- children: childrenField
405
- });
482
+ if (expanded) {
483
+ _xeUtils.default.eachTree(reactData.treeList, function (node) {
484
+ var childList = _xeUtils.default.get(node, childrenField);
485
+ var hasChild = childList && childList.length;
486
+ if (hasChild) {
487
+ var nodeid = $xeTree.getNodeId(node);
488
+ expandedMaps[nodeid] = true;
489
+ }
490
+ }, {
491
+ children: childrenField
492
+ });
493
+ }
406
494
  reactData.treeExpandedMaps = expandedMaps;
407
495
  return $xeTree.$nextTick();
408
496
  },
@@ -522,11 +610,35 @@ var _default2 = exports.default = (0, _comp.defineVxeComponent)({
522
610
  var $xeTree = this;
523
611
  $xeTree.$emit('update:checkNodeKey', value);
524
612
  },
525
- setRadioNode: function setRadioNode(node, checked) {
613
+ getRadioNodeId: function getRadioNodeId() {
614
+ var $xeTree = this;
615
+ var reactData = $xeTree.reactData;
616
+ return reactData.selectRadioKey || null;
617
+ },
618
+ setRadioNodeId: function setRadioNodeId(nodeKey) {
619
+ var $xeTree = this;
620
+ var reactData = $xeTree.reactData;
621
+ reactData.selectRadioKey = nodeKey;
622
+ return $xeTree.$nextTick();
623
+ },
624
+ getRadioNode: function getRadioNode() {
625
+ var $xeTree = this;
626
+ var reactData = $xeTree.reactData;
627
+ var selectRadioKey = reactData.selectRadioKey,
628
+ nodeMaps = reactData.nodeMaps;
629
+ if (selectRadioKey) {
630
+ var nodeItem = nodeMaps[selectRadioKey];
631
+ if (nodeItem) {
632
+ return nodeItem.item;
633
+ }
634
+ }
635
+ return null;
636
+ },
637
+ setRadioNode: function setRadioNode(node) {
526
638
  var $xeTree = this;
527
639
  var reactData = $xeTree.reactData;
528
640
  if (node) {
529
- reactData.selectRadioKey = checked ? $xeTree.getNodeId(node) : null;
641
+ reactData.selectRadioKey = $xeTree.getNodeId(node);
530
642
  }
531
643
  return $xeTree.$nextTick();
532
644
  },
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function handleSetExpand(e,t,n){t?n[e]||(n[e]=!0):n[e]&&delete n[e]}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTree",mixins:[_ui.globalMixins.sizeMixin],props:{data:Array,height:[String,Number],minHeight:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tree.minHeight}},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:function(){return(0,_ui.getConfig)().tree.accordion}},childrenField:{type:String,default:function(){return(0,_ui.getConfig)().tree.childrenField}},valueField:{type:String,default:function(){return(0,_ui.getConfig)().tree.valueField}},keyField:{type:String,default:function(){return(0,_ui.getConfig)().tree.keyField}},parentField:{type:String,default:function(){return(0,_ui.getConfig)().tree.parentField}},titleField:{type:String,default:function(){return(0,_ui.getConfig)().tree.titleField}},hasChildField:{type:String,default:function(){return(0,_ui.getConfig)().tree.hasChildField}},transform:Boolean,isCurrent:Boolean,isHover:Boolean,showLine:{type:Boolean,default:function(){return(0,_ui.getConfig)().tree.showLine}},trigger:String,indent:{type:Number,default:function(){return(0,_ui.getConfig)().tree.indent}},showRadio:{type:Boolean,default:function(){return(0,_ui.getConfig)().tree.showRadio}},checkNodeKey:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tree.checkNodeKey}},radioConfig:Object,showCheckbox:{type:Boolean,default:function(){return(0,_ui.getConfig)().tree.showCheckbox}},checkNodeKeys:{type:Array,default:function(){return(0,_ui.getConfig)().tree.checkNodeKeys}},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:function(){return(0,_ui.getConfig)().tree.iconOpen}},iconClose:{type:String,default:function(){return(0,_ui.getConfig)().tree.iconClose}},iconLoaded:{type:String,default:function(){return(0,_ui.getConfig)().tree.iconLoaded}},size:{type:String,default:function(){return(0,_ui.getConfig)().tree.size||(0,_ui.getConfig)().size}}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{currentNode:null,nodeMaps:{},selectRadioKey:null,treeList:[],treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},selectCheckboxMaps:{},indeterminateCheckboxMaps:{}},internalData:{}}},computed:Object.assign(Object.assign({},{}),{computeTitleField:function(){return this.titleField||"title"},computeKeyField:function(){return this.keyField||"id"},computeValueField:function(){var e=this.computeKeyField;return this.valueField||e},computeParentField:function(){return this.parentField||"parentId"},computeChildrenField:function(){return this.childrenField||"children"},computeHasChildField:function(){return this.hasChildField||"hasChild"},computeIsRowCurrent:function(){var e=this.computeNodeOpts.isCurrent;return _xeUtils.default.isBoolean(e)?e:this.isCurrent},computeIsRowHover:function(){var e=this.computeNodeOpts.isHover;return _xeUtils.default.isBoolean(e)?e:this.isHover},computeRadioOpts:function(){return Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.radioConfig,this.radioConfig)},computeCheckboxOpts:function(){return Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.checkboxConfig,this.checkboxConfig)},computeNodeOpts:function(){return Object.assign({},(0,_ui.getConfig)().tree.nodeConfig,this.nodeConfig)},computeLoadingOpts:function(){return Object.assign({},(0,_ui.getConfig)().tree.loadingConfig,this.loadingConfig)},computeTreeStyle:function(){var e=this.height,t=this.minHeight,n={};return e&&(n.height=(0,_dom.toCssUnit)(e)),t&&(n.minHeight=(0,_dom.toCssUnit)(t)),n}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$tree:this},t))},clearRadioNode:function(){return this.reactData.selectRadioKey=null,this.$nextTick()},clearCheckboxNode:function(){return this.reactData.selectCheckboxMaps={},this.$nextTick()},setAllCheckboxNode:function(e){var t=this,n=t.reactData,i=Object.assign({},n.selectCheckboxMaps),o=t.computeChildrenField;return e&&_xeUtils.default.eachTree(n.treeList,function(e){e=t.getNodeId(e);i[e]=!0},{children:o}),n.selectCheckboxMaps=i,t.$nextTick()},clearExpandNode:function(){return this.clearAllExpandNode()},clearAllExpandNode:function(){var e=this.reactData;return _xeUtils.default.each(e.nodeMaps,function(e){e.treeLoaded=!1}),e.treeExpandedMaps={},this.$nextTick()},setExpandByNodeId:function(e,t){var n=this.reactData,i=Object.assign({},n.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){handleSetExpand(e,t,i)}),n.treeExpandedMaps=i),this.$nextTick()},setExpandNode:function(e,t){var n=this,i=n.reactData,o=Object.assign({},i.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){handleSetExpand(n.getNodeId(e),t,o)}),i.treeExpandedMaps=o),n.$nextTick()},toggleExpandByNodeId:function(e){var t=this.reactData,n=Object.assign({},t.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){handleSetExpand(e,!n[e],n)}),t.treeExpandedMaps=n),this.$nextTick()},toggleExpandNode:function(e){var t=this,n=t.reactData,i=Object.assign({},n.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){e=t.getNodeId(e);handleSetExpand(e,!i[e],i)}),n.treeExpandedMaps=i),t.$nextTick()},setAllExpandNode:function(){var t=this,e=t.reactData,n=Object.assign({},e.treeExpandedMaps),i=t.computeChildrenField;return _xeUtils.default.eachTree(e.treeList,function(e){e=t.getNodeId(e);n[e]=!0},{children:i}),e.treeExpandedMaps=n,t.$nextTick()},reloadExpandNode:function(e){return this.lazy?(this.clearExpandLoaded(e),this.handleAsyncTreeExpandChilds(e)):this.$nextTick()},clearExpandLoaded:function(e){var t=this.reactData,n=this.lazy,t=t.nodeMaps;return n&&(n=t[this.getNodeId(e)])&&(n.treeLoaded=!1),this.$nextTick()},loadChildrenNode:function(a,e){var t,r,c,s,u=this,n=u.reactData,i=u.lazy,o=u.transform,l=n.nodeMaps;return i?(t=u.computeChildrenField,r=l[u.getNodeId(a)],c=r?r.level:0,s=r?r.nodes:[],u.createNode(e).then(function(e){return _xeUtils.default.eachTree(e,function(e,t,n,i,o,d){e=u.getNodeId(e);l[e]={item:a,itemIndex:-1,items:n,parent:o||r.item,nodes:s.concat(d),level:c+d.length,lineCount:0,treeLoaded:!1}},{children:t}),a[t]=e,o&&(a[t]=e),u.updateNodeLine(a),e})):Promise.resolve([])},getNodeId:function(e){var t=this.computeValueField,e=_xeUtils.default.get(e,t);return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)},isExpandByNode:function(e){return!!this.reactData.treeExpandedMaps[this.getNodeId(e)]},isCheckedByRadioNodeId:function(e){return this.reactData.selectRadioKey===e},isCheckedByRadioNode:function(e){return this.isCheckedByRadioNodeId(this.getNodeId(e))},isCheckedByCheckboxNodeId:function(e){return!!this.reactData.selectCheckboxMaps[e]},isCheckedByCheckboxNode:function(e){return this.isCheckedByCheckboxNodeId(this.getNodeId(e))},isIndeterminateByCheckboxNodeid:function(e){return!!this.reactData.indeterminateCheckboxMaps[e]},isIndeterminateByCheckboxNode:function(e){return this.isIndeterminateByCheckboxNodeid(this.getNodeId(e))},emitCheckboxMode:function(e){this.$emit("update:checkNodeKeys",e)},emitRadioMode:function(e){this.$emit("update:checkNodeKey",e)},setRadioNode:function(e,t){var n=this.reactData;return e&&(n.selectRadioKey=t?this.getNodeId(e):null),this.$nextTick()},setCheckboxNode:function(e,t){var n=this;return e&&(_xeUtils.default.isArray(e)||(e=[e]),n.handleCheckedCheckboxNode(e.map(function(e){return n.getNodeId(e)}),t)),n.$nextTick()},setCheckboxByNodeId:function(e,t){return e&&(_xeUtils.default.isArray(e)||(e=[e]),this.handleCheckedCheckboxNode(e,t)),this.$nextTick()},handleCheckedCheckboxNode:function(e,t){var n=this.reactData,i=Object.assign({},n.selectCheckboxMaps);e.forEach(function(e){t?i[e]=!0:i[e]&&delete i[e]}),n.selectCheckboxMaps=i},updateCheckboxChecked:function(e){var t=this.reactData,n={};e&&e.forEach(function(e){n[e]=!0}),t.selectCheckboxMaps=n},createNode:function(e){var n=this,i=n.computeValueField;return Promise.resolve(e.map(function(e){var t,e=Object.assign({},e);return n.getNodeId(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,i,t)),e}))},cacheNodeMap:function(){var r=this,e=r.reactData,t=e.treeList,c=r.computeValueField,s={};_xeUtils.default.eachTree(t,function(e,t,n,i,o,d){var a=r.getNodeId(e);a||(a=getNodeUniqueId(),_xeUtils.default.set(e,c,a)),s[a]={item:e,itemIndex:t,items:n,parent:o,nodes:d,level:d.length,lineCount:0,treeLoaded:!1}},{children:r.computeChildrenField}),e.nodeMaps=s},updateData:function(e){var t=this,n=t.reactData,i=t.transform;n.treeList=i?_xeUtils.default.toArrayTree(e,{key:t.computeKeyField,parentKey:t.computeParentField,mapChildren:t.computeChildrenField}):e?e.slice(0):[],t.cacheNodeMap()},handleCountLine:function(e,i,o){var d=this,t=d.reactData.treeExpandedMaps,n=d.computeChildrenField,a=d.getNodeId(e);o.lineCount++,t[a]&&_xeUtils.default.arrayEach(e[n],function(e,t,n){(!i||t<n.length-1)&&d.handleCountLine(e,!1,o)})},updateNodeLine:function(e){var n=this,i=n.reactData.nodeMaps;e&&(e=n.getNodeId(e),e=i[e])&&_xeUtils.default.lastArrayEach(e.nodes,function(e){var t=n.getNodeId(e),t=i[t];t&&(t.lineCount=0,n.handleCountLine(e,!0,t))})},handleNodeClickEvent:function(e,t){var n=this,i=n.reactData,o=n.showRadio,d=n.showCheckbox,a=n.trigger,r=n.computeRadioOpts,c=n.computeCheckboxOpts,s=!1,u=!1,l=!1,h=!1;n.computeIsRowCurrent?(s=!0,n.changeCurrentEvent(e,t)):i.currentNode&&(i.currentNode=null),"node"===a&&(h=!0,n.toggleExpandEvent(e,t)),o&&"node"===r.trigger&&(u=!0,n.changeRadioEvent(e,t)),d&&"node"===c.trigger&&(l=!0,n.changeCheckboxEvent(e,t)),n.dispatchEvent("node-click",{node:t,triggerCurrent:s,triggerRadio:u,triggerCheckbox:l,triggerExpand:h},e)},handleNodeDblclickEvent:function(e,t){this.dispatchEvent("node-dblclick",{node:t},e)},handleAsyncTreeExpandChilds:function(d){var a=this,r=a.reactData,c=a.loadMethod,s=a.computeCheckboxOpts.checkStrictly;return new Promise(function(e){var t,n,i,o;c?(t=Object.assign({},r.treeExpandLazyLoadedMaps),n=r.nodeMaps,i=a.getNodeId(d),o=n[i],t[i]=!0,r.treeExpandLazyLoadedMaps=t,Promise.resolve(c({$tree:a,node:d})).then(function(n){var e=r.treeExpandLazyLoadedMaps;if(o.treeLoaded=!0,e[i]&&(e[i]=!1),n=_xeUtils.default.isArray(n)?n:[])return a.loadChildrenNode(d,n).then(function(e){var t=Object.assign({},r.treeExpandedMaps);return e.length&&!t[i]&&(t[i]=!0),r.treeExpandedMaps=t,!s&&a.isCheckedByCheckboxNodeId(i)&&a.handleCheckedCheckboxNode(e.map(function(e){return a.getNodeId(e)}),!0),a.updateNodeLine(d),a.dispatchEvent("load-success",{node:d,data:n},new Event("load-success")),a.$nextTick()});a.updateNodeLine(d),a.dispatchEvent("load-success",{node:d,data:n},new Event("load-success"))}).catch(function(e){var t=r.treeExpandLazyLoadedMaps;o.treeLoaded=!0,t[i]&&(t[i]=!1),a.updateNodeLine(d),a.dispatchEvent("load-error",{node:d,data:e},new Event("load-error"))}).finally(function(){return a.$nextTick()})):e()})},handleBaseTreeExpand:function(e,t){var i=this,n=i.reactData,o=i.lazy,d=i.accordion,a=i.toggleMethod,r=n.nodeMaps,c=n.treeExpandLazyLoadedMaps,s=Object.assign({},n.treeExpandedMaps),u=i.computeChildrenField,l=i.computeHasChildField,h=[],e=a?e.filter(function(e){return a({$tree:i,expanded:t,node:e})}):e,p=(d&&(e=e.length?[e[e.length-1]]:[],d=i.getNodeId(e[0]),d=r[d])&&d.items.forEach(function(e){e=i.getNodeId(e);s[e]&&delete s[e]}),[]);return t?e.forEach(function(e){var t,n=i.getNodeId(e);s[n]||(t=r[n],o&&e[l]&&!t.treeLoaded&&!c[n]?h.push(i.handleAsyncTreeExpandChilds(e)):e[u]&&e[u].length&&(s[n]=!0,p.push(e)))}):e.forEach(function(e){var t=i.getNodeId(e);s[t]&&(delete s[t],p.push(e))}),n.treeExpandedMaps=s,p.forEach(function(e){i.updateNodeLine(e)}),Promise.all(h)},toggleExpandEvent:function(e,t){var n=this.reactData,i=this.lazy,o=n.treeExpandedMaps,n=n.treeExpandLazyLoadedMaps,d=this.getNodeId(t),o=!o[d];e.stopPropagation(),i&&n[d]||this.handleBaseTreeExpand([t],o)},handleNodeCheckboxStatus:function(e,n,i){var o,d,a=this,t=a.computeChildrenField,t=_xeUtils.default.get(e,t),e=a.getNodeId(e);t&&t.length?(o=!1,d=0,t.forEach(function(e){var e=a.getNodeId(e),t=n[e];(t||i[e])&&(t&&d++,o=!0)}),d===t.length?(n[e]||(n[e]=!0),i[e]&&delete i[e]):(n[e]&&delete n[e],i[e]=o)):i[e]&&delete i[e]},updateCheckboxStatus:function(){var s,u,l=this,e=l.reactData,t=e.treeList,h=l.computeChildrenField;l.computeCheckboxOpts.checkStrictly||(s=Object.assign({},e.selectCheckboxMaps),u={},_xeUtils.default.eachTree(t,function(e,t,n,i,o,d){var a=_xeUtils.default.get(e,h);if(a&&a.length||l.handleNodeCheckboxStatus(e,s,u),t===n.length-1)for(var r=d.length-2;0<=r;r--){var c=d[r];l.handleNodeCheckboxStatus(c,s,u)}}),e.selectCheckboxMaps=s,e.indeterminateCheckboxMaps=u)},changeCheckboxEvent:function(e,t){var n,i,o=this,d=o.reactData,a=(e.preventDefault(),e.stopPropagation(),o.computeCheckboxOpts),r=a.checkStrictly,a=a.checkMethod,c=!!a;(c=a?!a({node:t}):c)||(n=Object.assign({},d.selectCheckboxMaps),a=o.computeChildrenField,c=o.getNodeId(t),i=!1,n[c]?delete n[c]:(i=!0,n[c]=i),r||_xeUtils.default.eachTree(_xeUtils.default.get(t,a),function(e){e=o.getNodeId(e);i?n[e]||(n[e]=!0):n[e]&&delete n[e]},{children:a}),d.selectCheckboxMaps=n,o.updateCheckboxStatus(),c=Object.keys(d.selectCheckboxMaps),o.emitCheckboxMode(c),o.dispatchEvent("checkbox-change",{node:t,value:c,checked:i},e))},changeCurrentEvent:function(e,t){var n=this.reactData,i=(e.preventDefault(),this.computeNodeOpts),o=i.currentMethod,i=i.trigger,d=this.computeChildrenField,d=_xeUtils.default.get(t,d),d=d&&d.length,a=!!o;if("child"===i){if(d)return}else if("parent"===i&&!d)return;(a=o?!o({node:t}):a)||(n.currentNode=t,this.dispatchEvent("current-change",{node:t,checked:!0},e))},changeRadioEvent:function(e,t){var n=this,i=n.reactData;e.preventDefault(),e.stopPropagation();var o=n.computeRadioOpts.checkMethod,d=!!o;(d=o?!o({node:t}):d)||(o=n.getNodeId(t),i.selectRadioKey=o,n.emitRadioMode(o),n.dispatchEvent("radio-change",{node:t,value:o,checked:!0},e))},renderRadio:function(e,t,n,i){var o=this,d=o.showRadio,a=o.computeRadioOpts,r=a.showIcon,c=a.checkMethod,a=a.visibleMethod,a=!a||a({node:t}),s=!!c;return d&&r&&a?e("div",{class:["vxe-tree--radio-option",{"is--checked":i,"is--disabled":s=c?!c({node:t}):s}],on:{click:function(e){s||o.changeRadioEvent(e,t)}}},[e("span",{class:["vxe-radio--icon",i?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(o)},renderCheckbox:function(e,t,n,i){var o=this,d=o.showCheckbox,a=o.computeCheckboxOpts,r=a.showIcon,c=a.checkMethod,a=a.visibleMethod,n=o.isIndeterminateByCheckboxNodeid(n),a=!a||a({node:t}),s=!!c;return d&&r&&a?e("div",{class:["vxe-tree--checkbox-option",{"is--checked":i,"is--indeterminate":n,"is--disabled":s=c?!c({node:t}):s}],on:{click:function(e){s||o.changeCheckboxEvent(e,t)}}},[e("span",{class:["vxe-checkbox--icon",n?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:i?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(o)},renderNode:function(t,n){var i=this,e=i.$scopedSlots,o=i.reactData,d=i.lazy,a=i.showRadio,r=i.showCheckbox,c=i.showLine,s=i.indent,u=i.iconOpen,l=i.iconClose,h=i.iconLoaded,p=i.showIcon,f=o.nodeMaps,g=o.treeExpandedMaps,x=o.currentNode,C=o.selectRadioKey,o=o.treeExpandLazyLoadedMaps,v=i.computeTitleField,y=i.computeHasChildField,m=_xeUtils.default.get(n,i.computeChildrenField),k=m&&m.length,E=e.title,e=e.extra,N=i.getNodeId(n),b=g[N],f=f[N],v=_xeUtils.default.get(n,v),_=!1,a=(a&&(_=N==C),!1),C=(r&&(a=i.isCheckedByCheckboxNodeId(N)),!1),r=!1,I=!1,M=(d&&(r=!!o[N],C=n[y],I=!!f.treeLoaded),[]);return k&&g[N]&&(c&&M.push(t("div",{key:"line",class:"vxe-tree--node-child-line",style:{height:"calc(".concat(f.lineCount," * var(--vxe-ui-tree-node-height) - var(--vxe-ui-tree-node-height) / 2)"),left:"".concat((f.level+1)*(s||1),"px")}})),m.forEach(function(e){M.push(i.renderNode(t,e))})),t("div",{class:["vxe-tree--node-wrapper","node--level-".concat(f.level)],attrs:{nodeid:N}},[t("div",{class:["vxe-tree--node-item",{"is--current":x&&N===i.getNodeId(x),"is-radio--checked":_,"is-checkbox--checked":a}],style:{paddingLeft:"".concat((f.level-1)*(s||1),"px")},on:{click:function(e){i.handleNodeClickEvent(e,n)},dblclick:function(e){i.handleNodeDblclickEvent(e,n)}}},[p||c?t("div",{class:"vxe-tree--node-item-switcher"},p&&(!d||I?k:C)?[t("div",{class:"vxe-tree--node-item-icon",on:{click:function(e){i.toggleExpandEvent(e,n)}}},[t("i",{class:r?h||(0,_ui.getIcon)().TREE_NODE_LOADED:b?u||(0,_ui.getIcon)().TREE_NODE_OPEN:l||(0,_ui.getIcon)().TREE_NODE_CLOSE})])]:[]):(0,_ui.renderEmptyElement)(i),i.renderRadio(t,n,N,_),i.renderCheckbox(t,n,N,a),t("div",{class:"vxe-tree--node-item-inner"},[t("div",{class:"vxe-tree--node-item-title"},E?(0,_vn.getSlotVNs)(E({node:n})):"".concat(v)),e?t("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(e({node:n}))):(0,_ui.renderEmptyElement)(i)])]),k&&g[N]?t("div",{class:"vxe-tree--node-child-wrapper"},M):(0,_ui.renderEmptyElement)(i)])},renderNodeList:function(t){var n=this,e=n.reactData.treeList;return t("div",{class:"vxe-tree--node-list-wrapper"},e.map(function(e){return n.renderNode(t,e)}))},renderVN:function(e){var t=this,n=t.$scopedSlots,i=t.loading,o=t.trigger,d=t.showLine,a=t.computeSize,r=t.computeRadioOpts,c=t.computeCheckboxOpts,s=t.computeTreeStyle,u=t.computeLoadingOpts,l=t.computeIsRowHover,h=n.loading;return e("div",{ref:"refElem",class:["vxe-tree",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(a),a),"show--line",d),"checkbox--highlight",c.highlight),"radio--highlight",r.highlight),"node--hover",l),"node--trigger","node"===o),"is--loading",i)],style:s},[t.renderNodeList(e),e(_loading.default,{class:"vxe-tree--loading",props:{value:i,icon:u.icon,text:u.text},scopedSlots:h?{default:function(){return h({$tree:t})}}:{}})])}},watch:{data:function(e){this.updateData(e||[])},checkNodeKey:function(e){this.reactData.selectRadioKey=e},checkNodeKeys:function(){this.updateCheckboxChecked(this.checkNodeKeys||[])}},created:function(){this.reactData.selectRadioKey=this.checkNodeKey||null,this.updateData(this.data||[]),this.updateCheckboxChecked(this.checkNodeKeys||[])},beforeDestroy:function(){var e=this.reactData;e.treeList=[],e.treeExpandedMaps={},e.nodeMaps={}},render:function(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function handleSetExpand(e,t,n){t?n[e]||(n[e]=!0):n[e]&&delete n[e]}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTree",mixins:[_ui.globalMixins.sizeMixin],props:{data:Array,height:[String,Number],minHeight:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tree.minHeight}},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:function(){return(0,_ui.getConfig)().tree.accordion}},childrenField:{type:String,default:function(){return(0,_ui.getConfig)().tree.childrenField}},valueField:{type:String,default:function(){return(0,_ui.getConfig)().tree.valueField}},keyField:{type:String,default:function(){return(0,_ui.getConfig)().tree.keyField}},parentField:{type:String,default:function(){return(0,_ui.getConfig)().tree.parentField}},titleField:{type:String,default:function(){return(0,_ui.getConfig)().tree.titleField}},hasChildField:{type:String,default:function(){return(0,_ui.getConfig)().tree.hasChildField}},transform:Boolean,isCurrent:Boolean,isHover:Boolean,showLine:{type:Boolean,default:function(){return(0,_ui.getConfig)().tree.showLine}},trigger:String,indent:{type:Number,default:function(){return(0,_ui.getConfig)().tree.indent}},showRadio:{type:Boolean,default:function(){return(0,_ui.getConfig)().tree.showRadio}},checkNodeKey:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tree.checkNodeKey}},radioConfig:Object,showCheckbox:{type:Boolean,default:function(){return(0,_ui.getConfig)().tree.showCheckbox}},checkNodeKeys:{type:Array,default:function(){return(0,_ui.getConfig)().tree.checkNodeKeys}},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:function(){return(0,_ui.getConfig)().tree.iconOpen}},iconClose:{type:String,default:function(){return(0,_ui.getConfig)().tree.iconClose}},iconLoaded:{type:String,default:function(){return(0,_ui.getConfig)().tree.iconLoaded}},size:{type:String,default:function(){return(0,_ui.getConfig)().tree.size||(0,_ui.getConfig)().size}}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{currentNode:null,nodeMaps:{},selectRadioKey:null,treeList:[],treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},selectCheckboxMaps:{},indeterminateCheckboxMaps:{}},internalData:{}}},computed:Object.assign(Object.assign({},{}),{computeTitleField:function(){return this.titleField||"title"},computeKeyField:function(){return this.keyField||"id"},computeValueField:function(){var e=this.computeKeyField;return this.valueField||e},computeParentField:function(){return this.parentField||"parentId"},computeChildrenField:function(){return this.childrenField||"children"},computeHasChildField:function(){return this.hasChildField||"hasChild"},computeIsRowCurrent:function(){var e=this.computeNodeOpts.isCurrent;return _xeUtils.default.isBoolean(e)?e:this.isCurrent},computeIsRowHover:function(){var e=this.computeNodeOpts.isHover;return _xeUtils.default.isBoolean(e)?e:this.isHover},computeRadioOpts:function(){return Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.radioConfig,this.radioConfig)},computeCheckboxOpts:function(){return Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.checkboxConfig,this.checkboxConfig)},computeNodeOpts:function(){return Object.assign({},(0,_ui.getConfig)().tree.nodeConfig,this.nodeConfig)},computeLoadingOpts:function(){return Object.assign({},(0,_ui.getConfig)().tree.loadingConfig,this.loadingConfig)},computeTreeStyle:function(){var e=this.height,t=this.minHeight,n={};return e&&(n.height=(0,_dom.toCssUnit)(e)),t&&(n.minHeight=(0,_dom.toCssUnit)(t)),n}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$tree:this},t))},clearCurrentNode:function(){return this.reactData.currentNode=null,this.$nextTick()},getCurrentNodeId:function(){var e=this.reactData.currentNode;return e?this.getNodeId(e):null},getCurrentNode:function(){var e=this.reactData,t=e.currentNode;if(t){e=e.nodeMaps[t];if(e)return e.item}return null},setCurrentNodeId:function(e){var t=this.reactData,e=t.nodeMaps[e];return t.currentNode=e?e.item:null,this.$nextTick()},setCurrentNode:function(e){return this.reactData.currentNode=e,this.$nextTick()},clearRadioNode:function(){return this.reactData.selectRadioKey=null,this.$nextTick()},getCheckboxNodeIds:function(){var e=this.reactData.selectCheckboxMaps;return Object.keys(e)},getCheckboxNodes:function(){var e=this.reactData,n=e.nodeMaps,i=[];return _xeUtils.default.each(e.selectCheckboxMaps,function(e,t){t=n[t];t&&i.push(t.item)}),i},clearCheckboxNode:function(){return this.reactData.selectCheckboxMaps={},this.$nextTick()},setAllCheckboxNode:function(e){var t=this,n=t.reactData,i={};return e&&_xeUtils.default.eachTree(n.treeList,function(e){e=t.getNodeId(e);i[e]=!0},{children:t.computeChildrenField}),n.selectCheckboxMaps=i,t.$nextTick()},clearExpandNode:function(){return this.clearAllExpandNode()},clearAllExpandNode:function(){var e=this.reactData;return _xeUtils.default.each(e.nodeMaps,function(e){e.treeLoaded=!1}),e.treeExpandedMaps={},this.$nextTick()},setExpandByNodeId:function(e,t){var n=this.reactData,i=Object.assign({},n.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){handleSetExpand(e,t,i)}),n.treeExpandedMaps=i),this.$nextTick()},getExpandNodeIds:function(){var e=this.reactData.treeExpandedMaps;return Object.keys(e)},getExpandNodes:function(){var e=this.reactData,n=e.nodeMaps,i=[];return _xeUtils.default.each(e.treeExpandedMaps,function(e,t){t=n[t];t&&i.push(t.item)}),i},setExpandNode:function(e,t){var n=this,i=n.reactData,o=Object.assign({},i.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){handleSetExpand(n.getNodeId(e),t,o)}),i.treeExpandedMaps=o),n.$nextTick()},toggleExpandByNodeId:function(e){var t=this.reactData,n=Object.assign({},t.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){handleSetExpand(e,!n[e],n)}),t.treeExpandedMaps=n),this.$nextTick()},toggleExpandNode:function(e){var t=this,n=t.reactData,i=Object.assign({},n.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){e=t.getNodeId(e);handleSetExpand(e,!i[e],i)}),n.treeExpandedMaps=i),t.$nextTick()},setAllExpandNode:function(e){var n=this,t=n.reactData,i={},o=n.computeChildrenField;return e&&_xeUtils.default.eachTree(t.treeList,function(e){var t=_xeUtils.default.get(e,o);t&&t.length&&(t=n.getNodeId(e),i[t]=!0)},{children:o}),t.treeExpandedMaps=i,n.$nextTick()},reloadExpandNode:function(e){return this.lazy?(this.clearExpandLoaded(e),this.handleAsyncTreeExpandChilds(e)):this.$nextTick()},clearExpandLoaded:function(e){var t=this.reactData,n=this.lazy,t=t.nodeMaps;return n&&(n=t[this.getNodeId(e)])&&(n.treeLoaded=!1),this.$nextTick()},loadChildrenNode:function(r,e){var t,d,c,s,u=this,n=u.reactData,i=u.lazy,o=u.transform,l=n.nodeMaps;return i?(t=u.computeChildrenField,d=l[u.getNodeId(r)],c=d?d.level:0,s=d?d.nodes:[],u.createNode(e).then(function(e){return _xeUtils.default.eachTree(e,function(e,t,n,i,o,a){e=u.getNodeId(e);l[e]={item:r,itemIndex:-1,items:n,parent:o||d.item,nodes:s.concat(a),level:c+a.length,lineCount:0,treeLoaded:!1}},{children:t}),r[t]=e,o&&(r[t]=e),u.updateNodeLine(r),e})):Promise.resolve([])},getNodeId:function(e){var t=this.computeValueField,e=_xeUtils.default.get(e,t);return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)},isExpandByNode:function(e){return!!this.reactData.treeExpandedMaps[this.getNodeId(e)]},isCheckedByRadioNodeId:function(e){return this.reactData.selectRadioKey===e},isCheckedByRadioNode:function(e){return this.isCheckedByRadioNodeId(this.getNodeId(e))},isCheckedByCheckboxNodeId:function(e){return!!this.reactData.selectCheckboxMaps[e]},isCheckedByCheckboxNode:function(e){return this.isCheckedByCheckboxNodeId(this.getNodeId(e))},isIndeterminateByCheckboxNodeid:function(e){return!!this.reactData.indeterminateCheckboxMaps[e]},isIndeterminateByCheckboxNode:function(e){return this.isIndeterminateByCheckboxNodeid(this.getNodeId(e))},emitCheckboxMode:function(e){this.$emit("update:checkNodeKeys",e)},emitRadioMode:function(e){this.$emit("update:checkNodeKey",e)},getRadioNodeId:function(){return this.reactData.selectRadioKey||null},setRadioNodeId:function(e){return this.reactData.selectRadioKey=e,this.$nextTick()},getRadioNode:function(){var e=this.reactData,t=e.selectRadioKey;if(t){e=e.nodeMaps[t];if(e)return e.item}return null},setRadioNode:function(e){var t=this.reactData;return e&&(t.selectRadioKey=this.getNodeId(e)),this.$nextTick()},setCheckboxNode:function(e,t){var n=this;return e&&(_xeUtils.default.isArray(e)||(e=[e]),n.handleCheckedCheckboxNode(e.map(function(e){return n.getNodeId(e)}),t)),n.$nextTick()},setCheckboxByNodeId:function(e,t){return e&&(_xeUtils.default.isArray(e)||(e=[e]),this.handleCheckedCheckboxNode(e,t)),this.$nextTick()},handleCheckedCheckboxNode:function(e,t){var n=this.reactData,i=Object.assign({},n.selectCheckboxMaps);e.forEach(function(e){t?i[e]=!0:i[e]&&delete i[e]}),n.selectCheckboxMaps=i},updateCheckboxChecked:function(e){var t=this.reactData,n={};e&&e.forEach(function(e){n[e]=!0}),t.selectCheckboxMaps=n},createNode:function(e){var n=this,i=n.computeValueField;return Promise.resolve(e.map(function(e){var t,e=Object.assign({},e);return n.getNodeId(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,i,t)),e}))},cacheNodeMap:function(){var d=this,e=d.reactData,t=e.treeList,c=d.computeValueField,s={};_xeUtils.default.eachTree(t,function(e,t,n,i,o,a){var r=d.getNodeId(e);r||(r=getNodeUniqueId(),_xeUtils.default.set(e,c,r)),s[r]={item:e,itemIndex:t,items:n,parent:o,nodes:a,level:a.length,lineCount:0,treeLoaded:!1}},{children:d.computeChildrenField}),e.nodeMaps=s},updateData:function(e){var t=this,n=t.reactData,i=t.transform;n.treeList=i?_xeUtils.default.toArrayTree(e,{key:t.computeKeyField,parentKey:t.computeParentField,mapChildren:t.computeChildrenField}):e?e.slice(0):[],t.cacheNodeMap()},handleCountLine:function(e,i,o){var a=this,t=a.reactData.treeExpandedMaps,n=a.computeChildrenField,r=a.getNodeId(e);o.lineCount++,t[r]&&_xeUtils.default.arrayEach(e[n],function(e,t,n){(!i||t<n.length-1)&&a.handleCountLine(e,!1,o)})},updateNodeLine:function(e){var n=this,i=n.reactData.nodeMaps;e&&(e=n.getNodeId(e),e=i[e])&&_xeUtils.default.lastArrayEach(e.nodes,function(e){var t=n.getNodeId(e),t=i[t];t&&(t.lineCount=0,n.handleCountLine(e,!0,t))})},handleNodeClickEvent:function(e,t){var n=this,i=n.reactData,o=n.showRadio,a=n.showCheckbox,r=n.trigger,d=n.computeRadioOpts,c=n.computeCheckboxOpts,s=!1,u=!1,l=!1,h=!1;n.computeIsRowCurrent?(s=!0,n.changeCurrentEvent(e,t)):i.currentNode&&(i.currentNode=null),"node"===r&&(h=!0,n.toggleExpandEvent(e,t)),o&&"node"===d.trigger&&(u=!0,n.changeRadioEvent(e,t)),a&&"node"===c.trigger&&(l=!0,n.changeCheckboxEvent(e,t)),n.dispatchEvent("node-click",{node:t,triggerCurrent:s,triggerRadio:u,triggerCheckbox:l,triggerExpand:h},e)},handleNodeDblclickEvent:function(e,t){this.dispatchEvent("node-dblclick",{node:t},e)},handleAsyncTreeExpandChilds:function(a){var r=this,d=r.reactData,c=r.loadMethod,s=r.computeCheckboxOpts.checkStrictly;return new Promise(function(e){var t,n,i,o;c?(t=Object.assign({},d.treeExpandLazyLoadedMaps),n=d.nodeMaps,i=r.getNodeId(a),o=n[i],t[i]=!0,d.treeExpandLazyLoadedMaps=t,Promise.resolve(c({$tree:r,node:a})).then(function(n){var e=d.treeExpandLazyLoadedMaps;if(o.treeLoaded=!0,e[i]&&(e[i]=!1),n=_xeUtils.default.isArray(n)?n:[])return r.loadChildrenNode(a,n).then(function(e){var t=Object.assign({},d.treeExpandedMaps);return e.length&&!t[i]&&(t[i]=!0),d.treeExpandedMaps=t,!s&&r.isCheckedByCheckboxNodeId(i)&&r.handleCheckedCheckboxNode(e.map(function(e){return r.getNodeId(e)}),!0),r.updateNodeLine(a),r.dispatchEvent("load-success",{node:a,data:n},new Event("load-success")),r.$nextTick()});r.updateNodeLine(a),r.dispatchEvent("load-success",{node:a,data:n},new Event("load-success"))}).catch(function(e){var t=d.treeExpandLazyLoadedMaps;o.treeLoaded=!0,t[i]&&(t[i]=!1),r.updateNodeLine(a),r.dispatchEvent("load-error",{node:a,data:e},new Event("load-error"))}).finally(function(){return r.$nextTick()})):e()})},handleBaseTreeExpand:function(e,t){var i=this,n=i.reactData,o=i.lazy,a=i.accordion,r=i.toggleMethod,d=n.nodeMaps,c=n.treeExpandLazyLoadedMaps,s=Object.assign({},n.treeExpandedMaps),u=i.computeChildrenField,l=i.computeHasChildField,h=[],e=r?e.filter(function(e){return r({$tree:i,expanded:t,node:e})}):e,p=(a&&(e=e.length?[e[e.length-1]]:[],a=i.getNodeId(e[0]),a=d[a])&&a.items.forEach(function(e){e=i.getNodeId(e);s[e]&&delete s[e]}),[]);return t?e.forEach(function(e){var t,n=i.getNodeId(e);s[n]||(t=d[n],o&&e[l]&&!t.treeLoaded&&!c[n]?h.push(i.handleAsyncTreeExpandChilds(e)):e[u]&&e[u].length&&(s[n]=!0,p.push(e)))}):e.forEach(function(e){var t=i.getNodeId(e);s[t]&&(delete s[t],p.push(e))}),n.treeExpandedMaps=s,p.forEach(function(e){i.updateNodeLine(e)}),Promise.all(h)},toggleExpandEvent:function(e,t){var n=this.reactData,i=this.lazy,o=n.treeExpandedMaps,n=n.treeExpandLazyLoadedMaps,a=this.getNodeId(t),o=!o[a];e.stopPropagation(),i&&n[a]||this.handleBaseTreeExpand([t],o)},handleNodeCheckboxStatus:function(e,n,i){var o,a,r=this,t=r.computeChildrenField,t=_xeUtils.default.get(e,t),e=r.getNodeId(e);t&&t.length?(o=!1,a=0,t.forEach(function(e){var e=r.getNodeId(e),t=n[e];(t||i[e])&&(t&&a++,o=!0)}),a===t.length?(n[e]||(n[e]=!0),i[e]&&delete i[e]):(n[e]&&delete n[e],i[e]=o)):i[e]&&delete i[e]},updateCheckboxStatus:function(){var s,u,l=this,e=l.reactData,t=e.treeList,h=l.computeChildrenField;l.computeCheckboxOpts.checkStrictly||(s=Object.assign({},e.selectCheckboxMaps),u={},_xeUtils.default.eachTree(t,function(e,t,n,i,o,a){var r=_xeUtils.default.get(e,h);if(r&&r.length||l.handleNodeCheckboxStatus(e,s,u),t===n.length-1)for(var d=a.length-2;0<=d;d--){var c=a[d];l.handleNodeCheckboxStatus(c,s,u)}}),e.selectCheckboxMaps=s,e.indeterminateCheckboxMaps=u)},changeCheckboxEvent:function(e,t){var n,i,o=this,a=o.reactData,r=(e.preventDefault(),e.stopPropagation(),o.computeCheckboxOpts),d=r.checkStrictly,r=r.checkMethod,c=!!r;(c=r?!r({node:t}):c)||(n=Object.assign({},a.selectCheckboxMaps),r=o.computeChildrenField,c=o.getNodeId(t),i=!1,n[c]?delete n[c]:(i=!0,n[c]=i),d||_xeUtils.default.eachTree(_xeUtils.default.get(t,r),function(e){e=o.getNodeId(e);i?n[e]||(n[e]=!0):n[e]&&delete n[e]},{children:r}),a.selectCheckboxMaps=n,o.updateCheckboxStatus(),c=Object.keys(a.selectCheckboxMaps),o.emitCheckboxMode(c),o.dispatchEvent("checkbox-change",{node:t,value:c,checked:i},e))},changeCurrentEvent:function(e,t){var n=this.reactData,i=(e.preventDefault(),this.computeNodeOpts),o=i.currentMethod,i=i.trigger,a=this.computeChildrenField,a=_xeUtils.default.get(t,a),a=a&&a.length,r=!!o;if("child"===i){if(a)return}else if("parent"===i&&!a)return;(r=o?!o({node:t}):r)||(n.currentNode=t,this.dispatchEvent("current-change",{node:t,checked:!0},e))},changeRadioEvent:function(e,t){var n=this,i=n.reactData;e.preventDefault(),e.stopPropagation();var o=n.computeRadioOpts.checkMethod,a=!!o;(a=o?!o({node:t}):a)||(o=n.getNodeId(t),i.selectRadioKey=o,n.emitRadioMode(o),n.dispatchEvent("radio-change",{node:t,value:o,checked:!0},e))},renderRadio:function(e,t,n,i){var o=this,a=o.showRadio,r=o.computeRadioOpts,d=r.showIcon,c=r.checkMethod,r=r.visibleMethod,r=!r||r({node:t}),s=!!c;return a&&d&&r?e("div",{class:["vxe-tree--radio-option",{"is--checked":i,"is--disabled":s=c?!c({node:t}):s}],on:{click:function(e){s||o.changeRadioEvent(e,t)}}},[e("span",{class:["vxe-radio--icon",i?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(o)},renderCheckbox:function(e,t,n,i){var o=this,a=o.showCheckbox,r=o.computeCheckboxOpts,d=r.showIcon,c=r.checkMethod,r=r.visibleMethod,n=o.isIndeterminateByCheckboxNodeid(n),r=!r||r({node:t}),s=!!c;return a&&d&&r?e("div",{class:["vxe-tree--checkbox-option",{"is--checked":i,"is--indeterminate":n,"is--disabled":s=c?!c({node:t}):s}],on:{click:function(e){s||o.changeCheckboxEvent(e,t)}}},[e("span",{class:["vxe-checkbox--icon",n?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:i?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(o)},renderNode:function(t,n){var i=this,e=i.$scopedSlots,o=i.reactData,a=i.lazy,r=i.showRadio,d=i.showCheckbox,c=i.showLine,s=i.indent,u=i.iconOpen,l=i.iconClose,h=i.iconLoaded,p=i.showIcon,f=o.nodeMaps,g=o.treeExpandedMaps,x=o.currentNode,C=o.selectRadioKey,o=o.treeExpandLazyLoadedMaps,v=i.computeTitleField,k=i.computeHasChildField,y=_xeUtils.default.get(n,i.computeChildrenField),m=y&&y.length,N=e.title,e=e.extra,E=i.getNodeId(n),b=g[E],f=f[E],v=_xeUtils.default.get(n,v),_=!1,r=(r&&(_=E==C),!1),C=(d&&(r=i.isCheckedByCheckboxNodeId(E)),!1),d=!1,I=!1,M=(a&&(d=!!o[E],C=n[k],I=!!f.treeLoaded),[]);return m&&g[E]&&(c&&M.push(t("div",{key:"line",class:"vxe-tree--node-child-line",style:{height:"calc(".concat(f.lineCount," * var(--vxe-ui-tree-node-height) - var(--vxe-ui-tree-node-height) / 2)"),left:"".concat((f.level+1)*(s||1),"px")}})),y.forEach(function(e){M.push(i.renderNode(t,e))})),t("div",{class:["vxe-tree--node-wrapper","node--level-".concat(f.level)],attrs:{nodeid:E}},[t("div",{class:["vxe-tree--node-item",{"is--current":x&&E===i.getNodeId(x),"is-radio--checked":_,"is-checkbox--checked":r}],style:{paddingLeft:"".concat((f.level-1)*(s||1),"px")},on:{click:function(e){i.handleNodeClickEvent(e,n)},dblclick:function(e){i.handleNodeDblclickEvent(e,n)}}},[p||c?t("div",{class:"vxe-tree--node-item-switcher"},p&&(!a||I?m:C)?[t("div",{class:"vxe-tree--node-item-icon",on:{click:function(e){i.toggleExpandEvent(e,n)}}},[t("i",{class:d?h||(0,_ui.getIcon)().TREE_NODE_LOADED:b?u||(0,_ui.getIcon)().TREE_NODE_OPEN:l||(0,_ui.getIcon)().TREE_NODE_CLOSE})])]:[]):(0,_ui.renderEmptyElement)(i),i.renderRadio(t,n,E,_),i.renderCheckbox(t,n,E,r),t("div",{class:"vxe-tree--node-item-inner"},[t("div",{class:"vxe-tree--node-item-title"},N?(0,_vn.getSlotVNs)(N({node:n})):"".concat(v)),e?t("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(e({node:n}))):(0,_ui.renderEmptyElement)(i)])]),m&&g[E]?t("div",{class:"vxe-tree--node-child-wrapper"},M):(0,_ui.renderEmptyElement)(i)])},renderNodeList:function(t){var n=this,e=n.reactData.treeList;return t("div",{class:"vxe-tree--node-list-wrapper"},e.map(function(e){return n.renderNode(t,e)}))},renderVN:function(e){var t=this,n=t.$scopedSlots,i=t.loading,o=t.trigger,a=t.showLine,r=t.computeSize,d=t.computeRadioOpts,c=t.computeCheckboxOpts,s=t.computeTreeStyle,u=t.computeLoadingOpts,l=t.computeIsRowHover,h=n.loading;return e("div",{ref:"refElem",class:["vxe-tree",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(r),r),"show--line",a),"checkbox--highlight",c.highlight),"radio--highlight",d.highlight),"node--hover",l),"node--trigger","node"===o),"is--loading",i)],style:s},[t.renderNodeList(e),e(_loading.default,{class:"vxe-tree--loading",props:{value:i,icon:u.icon,text:u.text},scopedSlots:h?{default:function(){return h({$tree:t})}}:{}})])}},watch:{data:function(e){this.updateData(e||[])},checkNodeKey:function(e){this.reactData.selectRadioKey=e},checkNodeKeys:function(){this.updateCheckboxChecked(this.checkNodeKeys||[])}},created:function(){this.reactData.selectRadioKey=this.checkNodeKey||null,this.updateData(this.data||[]),this.updateCheckboxChecked(this.checkNodeKeys||[])},beforeDestroy:function(){var e=this.reactData;e.treeList=[],e.treeExpandedMaps={},e.nodeMaps={}},render:function(e){return this.renderVN(e)}});
package/lib/ui/index.js CHANGED
@@ -27,7 +27,7 @@ Object.keys(_core).forEach(function (key) {
27
27
  var _dynamics = require("../dynamics");
28
28
  var _utils = require("./src/utils");
29
29
  var _log = require("./src/log");
30
- var version = exports.version = "3.3.16";
30
+ var version = exports.version = "3.3.18";
31
31
  _core.VxeUI.version = version;
32
32
  _core.VxeUI.uiVersion = version;
33
33
  _core.VxeUI.tableVersion = '';
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={version:!0,config:!0,setup:!0},_core=(exports.config=config,exports.default=void 0,exports.setup=setup,exports.version=void 0,require("@vxe-ui/core")),_dynamics=(Object.keys(_core).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_core[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _core[e]}})}),require("../dynamics")),_utils=require("./src/utils"),_log=require("./src/log"),version=exports.version="3.3.16";function config(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["config","setConfig"]),(0,_core.setConfig)(e)}function setup(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),(0,_core.setConfig)(e)}_core.VxeUI.version=version,_core.VxeUI.uiVersion=version,_core.VxeUI.tableVersion="",_core.VxeUI.t=_core.VxeUI.getI18n,_core.VxeUI._t=_utils.getFuncText,_core.VxeUI.dynamicApp=_dynamics.dynamicApp,_core.VxeUI.config=config,_core.VxeUI.setup=setup,(0,_core.setConfig)({alert:{},anchor:{},anchorLink:{},avatar:{},badge:{},breadcrumb:{separator:"/"},breadcrumbItem:{},button:{trigger:"hover",prefixTooltip:{enterable:!0},suffixTooltip:{enterable:!0}},buttonGroup:{},calendar:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1},card:{border:!0,padding:!0},carousel:{height:200,loop:!0,interval:5e3},carouselItem:{},checkbox:{},checkboxGroup:{},col:{},collapse:{padding:!0,expandConfig:{showIcon:!0}},collapsePane:{},countdown:{},datePicker:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1},drawer:{position:"right",showHeader:!0,lockView:!0,mask:!0,showTitleOverflow:!0,showClose:!0,padding:!0,cancelClosable:!0,confirmClosable:!0},empty:{},form:{validConfig:{showMessage:!0,autoPos:!0,theme:"beautify"},tooltipConfig:{enterable:!0},titleAsterisk:!0,titleOverflow:!1,padding:!0},formDesign:{height:400,showHeader:!0,showPc:!0},formGather:{},formGroup:{},formItem:{},formView:{},icon:{},iconPicker:{icons:["home","company","comment","setting","send","envelope","envelope-open","bell","search","print","pc","goods","chart-line","edit","delete","save","folder","microphone","flag","link","location","sunny","rmb","usd","user","add-user","add-users","star","unlock","time","text","feedback","calendar","association-form","cloud-download","cloud-upload","file","subtable","chart-bar-x","chart-bar-y","chart-line","chart-pie","chart-radar"]},image:{showPreview:!0,showPrintButton:!0},imageGroup:{showPreview:!0,showPrintButton:!0},imagePreview:{showPrintButton:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},layoutAside:{},layoutBody:{},layoutContainer:{},layoutFooter:{},layoutHeader:{},link:{underline:!0},listDesign:{height:400,showPc:!0},listView:{},list:{scrollY:{enabled:!0,gt:100}},loading:{showIcon:!0,showText:!0},modal:{top:16,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,padding:!0,draggable:!0,showConfirmButton:null,cancelClosable:!0,confirmClosable:!0,zoomConfig:{minimizeMaxSize:10,minimizeVerticalOffset:{top:-24,left:0},minimizeHorizontalOffset:{top:0,left:32}},storageKey:"VXE_MODAL_POSITION"},noticeBar:{},numberInput:{digits:2,controls:!0},optgroup:{},option:{},pager:{pageSizePlacement:"top"},print:{},passwordInput:{controls:!0},printPageBreak:{},pulldown:{destroyOnClose:!0},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},rate:{},result:{},row:{},select:{multiCharOverflow:8,scrollY:{enabled:!0,gt:100,oSize:2}},slider:{max:100,min:0},steps:{},switch:{},tabPane:{},tableSelect:{gridConfig:{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0,rowConfig:{isHover:!0},scrollX:{enabled:!0,gt:0},scrollY:{mode:"wheel",enabled:!0,gt:0}}},tabs:{},tag:{},textEllipsis:{},text:{},textarea:{resize:"none"},tip:{},tooltip:{trigger:"hover",theme:"dark",enterDelay:500,leaveDelay:300,isArrow:!0},tree:{indent:20,minHeight:60,radioConfig:{strict:!0}},treeSelect:{treeConfig:{radioConfig:{},checkboxConfig:{}}},upload:{mode:"all",imageTypes:["jpg","jpeg","png","gif"],showList:!0,showUploadButton:!0,showButtonText:!0,showRemoveButton:!0,showButtonIcon:!0,showPreview:!0,dragToUpload:!0,imageStyle:{}},watermark:{rotate:-30,gap:[100,100]},table:{},colgroup:{},column:{},toolbar:{},grid:{}});var iconPrefix="vxe-icon-",_default=((0,_core.setIcon)({LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",BUTTON_TOOLTIP_ICON:iconPrefix+"question-circle-fill",MENU_ITEM_EXPAND_OPEN:iconPrefix+"arrow-down rotate180",MENU_ITEM_EXPAND_CLOSE:iconPrefix+"arrow-down",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",ICON_PICKER_OPEN:iconPrefix+"caret-down rotate180",ICON_PICKER_CLOSE:iconPrefix+"caret-down",PAGER_HOME:iconPrefix+"home-page",PAGER_END:iconPrefix+"end-page",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",RADIO_CHECKED:iconPrefix+"radio-checked-fill",RADIO_UNCHECKED:iconPrefix+"radio-unchecked",CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_SEARCH:iconPrefix+"search",NUMBER_INPUT_PREV_NUM:iconPrefix+"caret-up",NUMBER_INPUT_NEXT_NUM:iconPrefix+"caret-down",DATE_PICKER_DATE:iconPrefix+"calendar",PASSWORD_INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",PASSWORD_INPUT_HIDE_PWD:iconPrefix+"eye-fill",MODAL_ZOOM_MIN:iconPrefix+"minus",MODAL_ZOOM_REVERT:iconPrefix+"recover",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warning-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",DRAWER_CLOSE:iconPrefix+"close",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up",FORM_DESIGN_STYLE_SETTING:iconPrefix+"layout",FORM_DESIGN_PROPS_PC:iconPrefix+"pc",FORM_DESIGN_PROPS_MOBILE:iconPrefix+"mobile",FORM_DESIGN_PROPS_ADD:iconPrefix+"add",FORM_DESIGN_PROPS_EDIT:iconPrefix+"edit",FORM_DESIGN_WIDGET_ADD:iconPrefix+"square-plus-fill",FORM_DESIGN_WIDGET_COPY:iconPrefix+"copy",FORM_DESIGN_WIDGET_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_SWAP_LR:iconPrefix+"swap",FORM_DESIGN_WIDGET_OPTION_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN:iconPrefix+"square-plus",FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:iconPrefix+"square-minus",LIST_DESIGN_FIELD_SETTING:iconPrefix+"custom-column",LIST_DESIGN_LIST_SETTING:iconPrefix+"menu",LIST_DESIGN_LIST_SETTING_SEARCH_DELETE:iconPrefix+"delete",LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE:iconPrefix+"delete",UPLOAD_FILE_ERROR:iconPrefix+"warning-circle-fill",UPLOAD_FILE_ADD:iconPrefix+"upload",UPLOAD_FILE_REMOVE:iconPrefix+"delete",UPLOAD_FILE_DOWNLOAD:iconPrefix+"download",UPLOAD_IMAGE_RE_UPLOAD:iconPrefix+"repeat",UPLOAD_IMAGE_ADD:iconPrefix+"add",UPLOAD_IMAGE_REMOVE:iconPrefix+"close",UPLOAD_LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",UPLOAD_FILE_TYPE_DEFAULT:iconPrefix+"file",UPLOAD_FILE_TYPE_XLSX:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_XLS:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_PDF:iconPrefix+"file-pdf",UPLOAD_FILE_TYPE_PNG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_GIF:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPEG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_MD:iconPrefix+"file-markdown",UPLOAD_FILE_TYPE_PPD:iconPrefix+"file-ppt",UPLOAD_FILE_TYPE_DOCX:iconPrefix+"file-word",UPLOAD_FILE_TYPE_DOC:iconPrefix+"file-word",UPLOAD_FILE_TYPE_ZIP:iconPrefix+"file-zip",UPLOAD_FILE_TYPE_TXT:iconPrefix+"file-txt",IMAGE_PREVIEW_CLOSE:iconPrefix+"close",IMAGE_PREVIEW_PREVIOUS:iconPrefix+"arrow-left",IMAGE_PREVIEW_NEXT:iconPrefix+"arrow-right",IMAGE_PREVIEW_PCT_FULL:iconPrefix+"pct-full",IMAGE_PREVIEW_PCT_1_1:iconPrefix+"pct-1-1",IMAGE_PREVIEW_ZOOM_OUT:iconPrefix+"search-zoom-out",IMAGE_PREVIEW_ZOOM_IN:iconPrefix+"search-zoom-in",IMAGE_PREVIEW_ROTATE_LEFT:iconPrefix+"rotate-left",IMAGE_PREVIEW_ROTATE_RIGHT:iconPrefix+"rotate-right",IMAGE_PREVIEW_PRINT:iconPrefix+"print",IMAGE_PREVIEW_DOWNLOAD:iconPrefix+"download",ALERT_CLOSE:iconPrefix+"close",ALERT_INFO:iconPrefix+"info-circle-fill",ALERT_SUCCESS:iconPrefix+"success-circle-fill",ALERT_WARNING:iconPrefix+"warning-circle-fill",ALERT_ERROR:iconPrefix+"error-circle-fill",TREE_NODE_OPEN:iconPrefix+"caret-right rotate90",TREE_NODE_CLOSE:iconPrefix+"caret-right",TREE_NODE_LOADED:iconPrefix+"spinner roll",TREE_SELECT_LOADED:iconPrefix+"spinner roll",TREE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TREE_SELECT_CLOSE:iconPrefix+"caret-down",TABLE_SELECT_LOADED:iconPrefix+"spinner roll",TABLE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TABLE_SELECT_CLOSE:iconPrefix+"caret-down",TABS_TAB_BUTTON_LEFT:iconPrefix+"arrow-left",TABS_TAB_BUTTON_RIGHT:iconPrefix+"arrow-right",TABS_TAB_CLOSE:iconPrefix+"close",TABS_TAB_REFRESH:iconPrefix+"refresh",TABS_TAB_REFRESH_LOADING:iconPrefix+"refresh roll",TEXT_COPY:iconPrefix+"copy",TEXT_LOADING:iconPrefix+"spinner roll",CAROUSEL_HORIZONTAL_PREVIOUS:iconPrefix+"arrow-left",CAROUSEL_HORIZONTAL_NEXT:iconPrefix+"arrow-right",CAROUSEL_VERTICAL_PREVIOUS:iconPrefix+"arrow-up",CAROUSEL_VERTICAL_NEXT:iconPrefix+"arrow-down",COLLAPSE_OPEN:iconPrefix+"arrow-right rotate90",COLLAPSE_CLOSE:iconPrefix+"arrow-right",EMPTY_DEFAULT:iconPrefix+"empty",RESULT_INFO:iconPrefix+"info-circle-fill",RESULT_SUCCESS:iconPrefix+"success-circle-fill",RESULT_WARNING:iconPrefix+"warning-circle-fill",RESULT_ERROR:iconPrefix+"error-circle-fill",RESULT_QUESTION:iconPrefix+"question-circle-fill",RESULT_LOADING:iconPrefix+"spinner roll",RATE_CHECKED:iconPrefix+"star-fill",RATE_UNCHECKED:iconPrefix+"star"}),exports.default=_core.VxeUI);
1
+ Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={version:!0,config:!0,setup:!0},_core=(exports.config=config,exports.default=void 0,exports.setup=setup,exports.version=void 0,require("@vxe-ui/core")),_dynamics=(Object.keys(_core).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_core[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _core[e]}})}),require("../dynamics")),_utils=require("./src/utils"),_log=require("./src/log"),version=exports.version="3.3.18";function config(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["config","setConfig"]),(0,_core.setConfig)(e)}function setup(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),(0,_core.setConfig)(e)}_core.VxeUI.version=version,_core.VxeUI.uiVersion=version,_core.VxeUI.tableVersion="",_core.VxeUI.t=_core.VxeUI.getI18n,_core.VxeUI._t=_utils.getFuncText,_core.VxeUI.dynamicApp=_dynamics.dynamicApp,_core.VxeUI.config=config,_core.VxeUI.setup=setup,(0,_core.setConfig)({alert:{},anchor:{},anchorLink:{},avatar:{},badge:{},breadcrumb:{separator:"/"},breadcrumbItem:{},button:{trigger:"hover",prefixTooltip:{enterable:!0},suffixTooltip:{enterable:!0}},buttonGroup:{},calendar:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1},card:{border:!0,padding:!0},carousel:{height:200,loop:!0,interval:5e3},carouselItem:{},checkbox:{},checkboxGroup:{},col:{},collapse:{padding:!0,expandConfig:{showIcon:!0}},collapsePane:{},countdown:{},datePicker:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1},drawer:{position:"right",showHeader:!0,lockView:!0,mask:!0,showTitleOverflow:!0,showClose:!0,padding:!0,cancelClosable:!0,confirmClosable:!0},empty:{},form:{validConfig:{showMessage:!0,autoPos:!0,theme:"beautify"},tooltipConfig:{enterable:!0},titleAsterisk:!0,titleOverflow:!1,padding:!0},formDesign:{height:400,showHeader:!0,showPc:!0},formGather:{},formGroup:{},formItem:{},formView:{},icon:{},iconPicker:{icons:["home","company","comment","setting","send","envelope","envelope-open","bell","search","print","pc","goods","chart-line","edit","delete","save","folder","microphone","flag","link","location","sunny","rmb","usd","user","add-user","add-users","star","unlock","time","text","feedback","calendar","association-form","cloud-download","cloud-upload","file","subtable","chart-bar-x","chart-bar-y","chart-line","chart-pie","chart-radar"]},image:{showPreview:!0,showPrintButton:!0},imageGroup:{showPreview:!0,showPrintButton:!0},imagePreview:{showPrintButton:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},layoutAside:{},layoutBody:{},layoutContainer:{},layoutFooter:{},layoutHeader:{},link:{underline:!0},listDesign:{height:400,showPc:!0},listView:{},list:{scrollY:{enabled:!0,gt:100}},loading:{showIcon:!0,showText:!0},modal:{top:16,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,padding:!0,draggable:!0,showConfirmButton:null,cancelClosable:!0,confirmClosable:!0,zoomConfig:{minimizeMaxSize:10,minimizeVerticalOffset:{top:-24,left:0},minimizeHorizontalOffset:{top:0,left:32}},storageKey:"VXE_MODAL_POSITION"},noticeBar:{},numberInput:{digits:2,controls:!0},optgroup:{},option:{},pager:{pageSizePlacement:"top"},print:{},passwordInput:{controls:!0},printPageBreak:{},pulldown:{destroyOnClose:!0},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},rate:{},result:{},row:{},select:{multiCharOverflow:8,scrollY:{enabled:!0,gt:100,oSize:2}},slider:{max:100,min:0},steps:{},switch:{},tabPane:{},tableSelect:{gridConfig:{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0,rowConfig:{isHover:!0},scrollX:{enabled:!0,gt:0},scrollY:{mode:"wheel",enabled:!0,gt:0}}},tabs:{},tag:{},textEllipsis:{},text:{},textarea:{resize:"none"},tip:{},tooltip:{trigger:"hover",theme:"dark",enterDelay:500,leaveDelay:300,isArrow:!0},tree:{indent:20,minHeight:60,radioConfig:{strict:!0}},treeSelect:{treeConfig:{radioConfig:{},checkboxConfig:{}}},upload:{mode:"all",imageTypes:["jpg","jpeg","png","gif"],showList:!0,showUploadButton:!0,showButtonText:!0,showRemoveButton:!0,showButtonIcon:!0,showPreview:!0,dragToUpload:!0,imageStyle:{}},watermark:{rotate:-30,gap:[100,100]},table:{},colgroup:{},column:{},toolbar:{},grid:{}});var iconPrefix="vxe-icon-",_default=((0,_core.setIcon)({LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",BUTTON_TOOLTIP_ICON:iconPrefix+"question-circle-fill",MENU_ITEM_EXPAND_OPEN:iconPrefix+"arrow-down rotate180",MENU_ITEM_EXPAND_CLOSE:iconPrefix+"arrow-down",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",ICON_PICKER_OPEN:iconPrefix+"caret-down rotate180",ICON_PICKER_CLOSE:iconPrefix+"caret-down",PAGER_HOME:iconPrefix+"home-page",PAGER_END:iconPrefix+"end-page",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",RADIO_CHECKED:iconPrefix+"radio-checked-fill",RADIO_UNCHECKED:iconPrefix+"radio-unchecked",CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_SEARCH:iconPrefix+"search",NUMBER_INPUT_PREV_NUM:iconPrefix+"caret-up",NUMBER_INPUT_NEXT_NUM:iconPrefix+"caret-down",DATE_PICKER_DATE:iconPrefix+"calendar",PASSWORD_INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",PASSWORD_INPUT_HIDE_PWD:iconPrefix+"eye-fill",MODAL_ZOOM_MIN:iconPrefix+"minus",MODAL_ZOOM_REVERT:iconPrefix+"recover",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warning-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",DRAWER_CLOSE:iconPrefix+"close",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up",FORM_DESIGN_STYLE_SETTING:iconPrefix+"layout",FORM_DESIGN_PROPS_PC:iconPrefix+"pc",FORM_DESIGN_PROPS_MOBILE:iconPrefix+"mobile",FORM_DESIGN_PROPS_ADD:iconPrefix+"add",FORM_DESIGN_PROPS_EDIT:iconPrefix+"edit",FORM_DESIGN_WIDGET_ADD:iconPrefix+"square-plus-fill",FORM_DESIGN_WIDGET_COPY:iconPrefix+"copy",FORM_DESIGN_WIDGET_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_SWAP_LR:iconPrefix+"swap",FORM_DESIGN_WIDGET_OPTION_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN:iconPrefix+"square-plus",FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:iconPrefix+"square-minus",LIST_DESIGN_FIELD_SETTING:iconPrefix+"custom-column",LIST_DESIGN_LIST_SETTING:iconPrefix+"menu",LIST_DESIGN_LIST_SETTING_SEARCH_DELETE:iconPrefix+"delete",LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE:iconPrefix+"delete",UPLOAD_FILE_ERROR:iconPrefix+"warning-circle-fill",UPLOAD_FILE_ADD:iconPrefix+"upload",UPLOAD_FILE_REMOVE:iconPrefix+"delete",UPLOAD_FILE_DOWNLOAD:iconPrefix+"download",UPLOAD_IMAGE_RE_UPLOAD:iconPrefix+"repeat",UPLOAD_IMAGE_ADD:iconPrefix+"add",UPLOAD_IMAGE_REMOVE:iconPrefix+"close",UPLOAD_LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",UPLOAD_FILE_TYPE_DEFAULT:iconPrefix+"file",UPLOAD_FILE_TYPE_XLSX:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_XLS:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_PDF:iconPrefix+"file-pdf",UPLOAD_FILE_TYPE_PNG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_GIF:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPEG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_MD:iconPrefix+"file-markdown",UPLOAD_FILE_TYPE_PPD:iconPrefix+"file-ppt",UPLOAD_FILE_TYPE_DOCX:iconPrefix+"file-word",UPLOAD_FILE_TYPE_DOC:iconPrefix+"file-word",UPLOAD_FILE_TYPE_ZIP:iconPrefix+"file-zip",UPLOAD_FILE_TYPE_TXT:iconPrefix+"file-txt",IMAGE_PREVIEW_CLOSE:iconPrefix+"close",IMAGE_PREVIEW_PREVIOUS:iconPrefix+"arrow-left",IMAGE_PREVIEW_NEXT:iconPrefix+"arrow-right",IMAGE_PREVIEW_PCT_FULL:iconPrefix+"pct-full",IMAGE_PREVIEW_PCT_1_1:iconPrefix+"pct-1-1",IMAGE_PREVIEW_ZOOM_OUT:iconPrefix+"search-zoom-out",IMAGE_PREVIEW_ZOOM_IN:iconPrefix+"search-zoom-in",IMAGE_PREVIEW_ROTATE_LEFT:iconPrefix+"rotate-left",IMAGE_PREVIEW_ROTATE_RIGHT:iconPrefix+"rotate-right",IMAGE_PREVIEW_PRINT:iconPrefix+"print",IMAGE_PREVIEW_DOWNLOAD:iconPrefix+"download",ALERT_CLOSE:iconPrefix+"close",ALERT_INFO:iconPrefix+"info-circle-fill",ALERT_SUCCESS:iconPrefix+"success-circle-fill",ALERT_WARNING:iconPrefix+"warning-circle-fill",ALERT_ERROR:iconPrefix+"error-circle-fill",TREE_NODE_OPEN:iconPrefix+"caret-right rotate90",TREE_NODE_CLOSE:iconPrefix+"caret-right",TREE_NODE_LOADED:iconPrefix+"spinner roll",TREE_SELECT_LOADED:iconPrefix+"spinner roll",TREE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TREE_SELECT_CLOSE:iconPrefix+"caret-down",TABLE_SELECT_LOADED:iconPrefix+"spinner roll",TABLE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TABLE_SELECT_CLOSE:iconPrefix+"caret-down",TABS_TAB_BUTTON_LEFT:iconPrefix+"arrow-left",TABS_TAB_BUTTON_RIGHT:iconPrefix+"arrow-right",TABS_TAB_CLOSE:iconPrefix+"close",TABS_TAB_REFRESH:iconPrefix+"refresh",TABS_TAB_REFRESH_LOADING:iconPrefix+"refresh roll",TEXT_COPY:iconPrefix+"copy",TEXT_LOADING:iconPrefix+"spinner roll",CAROUSEL_HORIZONTAL_PREVIOUS:iconPrefix+"arrow-left",CAROUSEL_HORIZONTAL_NEXT:iconPrefix+"arrow-right",CAROUSEL_VERTICAL_PREVIOUS:iconPrefix+"arrow-up",CAROUSEL_VERTICAL_NEXT:iconPrefix+"arrow-down",COLLAPSE_OPEN:iconPrefix+"arrow-right rotate90",COLLAPSE_CLOSE:iconPrefix+"arrow-right",EMPTY_DEFAULT:iconPrefix+"empty",RESULT_INFO:iconPrefix+"info-circle-fill",RESULT_SUCCESS:iconPrefix+"success-circle-fill",RESULT_WARNING:iconPrefix+"warning-circle-fill",RESULT_ERROR:iconPrefix+"error-circle-fill",RESULT_QUESTION:iconPrefix+"question-circle-fill",RESULT_LOADING:iconPrefix+"spinner roll",RATE_CHECKED:iconPrefix+"star-fill",RATE_UNCHECKED:iconPrefix+"star"}),exports.default=_core.VxeUI);
package/lib/ui/src/log.js CHANGED
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.warnLog = exports.errLog = void 0;
7
7
  var _core = require("@vxe-ui/core");
8
- var version = "ui v".concat("3.3.16");
8
+ var version = "ui v".concat("3.3.18");
9
9
  var warnLog = exports.warnLog = _core.log.create('warn', version);
10
10
  var errLog = exports.errLog = _core.log.create('error', version);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core"),version="ui v".concat("3.3.16"),warnLog=exports.warnLog=_core.log.create("warn",version),errLog=exports.errLog=_core.log.create("error",version);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core"),version="ui v".concat("3.3.18"),warnLog=exports.warnLog=_core.log.create("warn",version),errLog=exports.errLog=_core.log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-pc-ui",
3
- "version": "3.3.16",
3
+ "version": "3.3.18",
4
4
  "description": "A vue based PC component library",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -63,7 +63,7 @@
63
63
  "vue": "2.6.14",
64
64
  "vue-i18n": "^8.15.1",
65
65
  "vue-router": "^3.5.1",
66
- "vxe-table": "^3.11.14"
66
+ "vxe-table": "^3.11.16"
67
67
  },
68
68
  "vetur": {
69
69
  "tags": "helper/vetur/tags.json",
@@ -260,6 +260,52 @@ export default defineVxeComponent({
260
260
  const $xeTree = this
261
261
  $xeTree.$emit(type, createEvent(evnt, { $tree: $xeTree }, params))
262
262
  },
263
+ clearCurrentNode () {
264
+ const $xeTree = this
265
+ const reactData = $xeTree.reactData
266
+
267
+ reactData.currentNode = null
268
+ return $xeTree.$nextTick()
269
+ },
270
+ getCurrentNodeId () {
271
+ const $xeTree = this
272
+ const reactData = $xeTree.reactData
273
+
274
+ const { currentNode } = reactData
275
+ if (currentNode) {
276
+ return $xeTree.getNodeId(currentNode)
277
+ }
278
+ return null
279
+ },
280
+ getCurrentNode () {
281
+ const $xeTree = this
282
+ const reactData = $xeTree.reactData
283
+
284
+ const { currentNode, nodeMaps } = reactData
285
+ if (currentNode) {
286
+ const nodeItem = nodeMaps[currentNode]
287
+ if (nodeItem) {
288
+ return nodeItem.item
289
+ }
290
+ }
291
+ return null
292
+ },
293
+ setCurrentNodeId (nodeKey: any) {
294
+ const $xeTree = this
295
+ const reactData = $xeTree.reactData
296
+
297
+ const { nodeMaps } = reactData
298
+ const nodeItem = nodeMaps[nodeKey]
299
+ reactData.currentNode = nodeItem ? nodeItem.item : null
300
+ return $xeTree.$nextTick()
301
+ },
302
+ setCurrentNode (node: any) {
303
+ const $xeTree = this
304
+ const reactData = $xeTree.reactData
305
+
306
+ reactData.currentNode = node
307
+ return $xeTree.$nextTick()
308
+ },
263
309
  clearRadioNode () {
264
310
  const $xeTree = this
265
311
  const reactData = $xeTree.reactData
@@ -267,6 +313,27 @@ export default defineVxeComponent({
267
313
  reactData.selectRadioKey = null
268
314
  return $xeTree.$nextTick()
269
315
  },
316
+ getCheckboxNodeIds () {
317
+ const $xeTree = this
318
+ const reactData = $xeTree.reactData
319
+
320
+ const { selectCheckboxMaps } = reactData
321
+ return Object.keys(selectCheckboxMaps)
322
+ },
323
+ getCheckboxNodes () {
324
+ const $xeTree = this
325
+ const reactData = $xeTree.reactData
326
+
327
+ const { nodeMaps, selectCheckboxMaps } = reactData
328
+ const list: any[] = []
329
+ XEUtils.each(selectCheckboxMaps, (item, nodeid) => {
330
+ const nodeItem = nodeMaps[nodeid]
331
+ if (nodeItem) {
332
+ list.push(nodeItem.item)
333
+ }
334
+ })
335
+ return list
336
+ },
270
337
  clearCheckboxNode () {
271
338
  const $xeTree = this
272
339
  const reactData = $xeTree.reactData
@@ -278,7 +345,7 @@ export default defineVxeComponent({
278
345
  const $xeTree = this
279
346
  const reactData = $xeTree.reactData
280
347
 
281
- const selectMaps: Record<string, boolean> = Object.assign({}, reactData.selectCheckboxMaps)
348
+ const selectMaps: Record<string, boolean> = {}
282
349
  const childrenField = $xeTree.computeChildrenField
283
350
  if (checked) {
284
351
  XEUtils.eachTree(reactData.treeList, (node) => {
@@ -320,6 +387,27 @@ export default defineVxeComponent({
320
387
  }
321
388
  return $xeTree.$nextTick()
322
389
  },
390
+ getExpandNodeIds () {
391
+ const $xeTree = this
392
+ const reactData = $xeTree.reactData
393
+
394
+ const { treeExpandedMaps } = reactData
395
+ return Object.keys(treeExpandedMaps)
396
+ },
397
+ getExpandNodes () {
398
+ const $xeTree = this
399
+ const reactData = $xeTree.reactData
400
+
401
+ const { nodeMaps, treeExpandedMaps } = reactData
402
+ const list: any[] = []
403
+ XEUtils.each(treeExpandedMaps, (item, nodeid) => {
404
+ const nodeItem = nodeMaps[nodeid]
405
+ if (nodeItem) {
406
+ list.push(nodeItem.item)
407
+ }
408
+ })
409
+ return list
410
+ },
323
411
  setExpandNode (nodes: any, expanded: any) {
324
412
  const $xeTree = this
325
413
  const reactData = $xeTree.reactData
@@ -370,16 +458,22 @@ export default defineVxeComponent({
370
458
  }
371
459
  return $xeTree.$nextTick()
372
460
  },
373
- setAllExpandNode () {
461
+ setAllExpandNode (expanded: boolean) {
374
462
  const $xeTree = this
375
463
  const reactData = $xeTree.reactData
376
464
 
377
- const expandedMaps: Record<string, boolean> = Object.assign({}, reactData.treeExpandedMaps)
465
+ const expandedMaps: Record<string, boolean> = {}
378
466
  const childrenField = $xeTree.computeChildrenField
379
- XEUtils.eachTree(reactData.treeList, (node) => {
380
- const nodeid = $xeTree.getNodeId(node)
381
- expandedMaps[nodeid] = true
382
- }, { children: childrenField })
467
+ if (expanded) {
468
+ XEUtils.eachTree(reactData.treeList, (node) => {
469
+ const childList: any[] = XEUtils.get(node, childrenField)
470
+ const hasChild = childList && childList.length
471
+ if (hasChild) {
472
+ const nodeid = $xeTree.getNodeId(node)
473
+ expandedMaps[nodeid] = true
474
+ }
475
+ }, { children: childrenField })
476
+ }
383
477
  reactData.treeExpandedMaps = expandedMaps
384
478
  return $xeTree.$nextTick()
385
479
  },
@@ -509,12 +603,38 @@ export default defineVxeComponent({
509
603
 
510
604
  $xeTree.$emit('update:checkNodeKey', value)
511
605
  },
512
- setRadioNode (node: any, checked: boolean) {
606
+ getRadioNodeId () {
607
+ const $xeTree = this
608
+ const reactData = $xeTree.reactData
609
+
610
+ return reactData.selectRadioKey || null
611
+ },
612
+ setRadioNodeId (nodeKey: any) {
613
+ const $xeTree = this
614
+ const reactData = $xeTree.reactData
615
+
616
+ reactData.selectRadioKey = nodeKey
617
+ return $xeTree.$nextTick()
618
+ },
619
+ getRadioNode () {
620
+ const $xeTree = this
621
+ const reactData = $xeTree.reactData
622
+
623
+ const { selectRadioKey, nodeMaps } = reactData
624
+ if (selectRadioKey) {
625
+ const nodeItem = nodeMaps[selectRadioKey]
626
+ if (nodeItem) {
627
+ return nodeItem.item
628
+ }
629
+ }
630
+ return null
631
+ },
632
+ setRadioNode (node: any) {
513
633
  const $xeTree = this
514
634
  const reactData = $xeTree.reactData
515
635
 
516
636
  if (node) {
517
- reactData.selectRadioKey = checked ? $xeTree.getNodeId(node) : null
637
+ reactData.selectRadioKey = $xeTree.getNodeId(node)
518
638
  }
519
639
  return $xeTree.$nextTick()
520
640
  },
@@ -345,7 +345,9 @@ export namespace VxeGridDefines {
345
345
  $grid: VxeGridConstructor<D>
346
346
  }
347
347
 
348
+ export interface KeydownStartEventParams<D = any> extends GridEventParams<D>, VxeTableDefines.KeydownStartEventParams<D> { }
348
349
  export interface KeydownEventParams<D = any> extends GridEventParams<D>, VxeTableDefines.KeydownEventParams<D> { }
350
+ export interface KeydownEndEventParams<D = any> extends GridEventParams<D>, VxeTableDefines.KeydownEndEventParams<D> { }
349
351
  export interface PasteEventParams<D = any> extends GridEventParams<D>, VxeTableDefines.PasteEventParams<D> { }
350
352
  export interface CopyEventParams<D = any> extends GridEventParams<D>, VxeTableDefines.CopyEventParams<D> { }
351
353
  export interface CutEventParams<D = any> extends GridEventParams<D>, VxeTableDefines.CutEventParams<D> { }
@@ -387,6 +389,7 @@ export namespace VxeGridDefines {
387
389
  export interface ColumnDragstartEventParams<D = any> extends GridEventParams<D>, VxeTableDefines.ColumnDragstartEventParams<D> { }
388
390
  export interface ColumnDragoverEventParams<D = any> extends GridEventParams<D>, VxeTableDefines.ColumnDragoverEventParams<D> { }
389
391
  export interface ColumnDragendEventParams<D = any> extends GridEventParams<D>, VxeTableDefines.ColumnDragendEventParams<D> { }
392
+ export interface EnterAppendRowEventParams<D = any> extends GridEventParams<D>, VxeTableDefines.EnterAppendRowEventParams<D> { }
390
393
 
391
394
  export interface ProxyQueryEventParams<D = any> extends GridEventParams<D> {
392
395
  status: boolean
@@ -424,7 +427,9 @@ export namespace VxeGridDefines {
424
427
  }
425
428
 
426
429
  export interface VxeGridEventProps<D = any> {
430
+ onKeydownStart?: VxeGridEvents.KeydownStart<D>
427
431
  onKeydown?: VxeGridEvents.Keydown<D>
432
+ onKeydownEnd?: VxeGridEvents.KeydownEnd<D>
428
433
  onPaste?: VxeGridEvents.Paste<D>
429
434
  onCopy?: VxeGridEvents.Copy<D>
430
435
  onCut?: VxeGridEvents.Cut<D>
@@ -466,6 +471,7 @@ export interface VxeGridEventProps<D = any> {
466
471
  onColumnDragstart?: VxeGridEvents.ColumnDragstart<D>
467
472
  onColumnDragover?: VxeGridEvents.ColumnDragover<D>
468
473
  onColumnDragend?: VxeGridEvents.ColumnDragend<D>
474
+ onEnterAppendRow?: VxeGridEvents.EnterAppendRow<D>
469
475
 
470
476
  // grid
471
477
  onProxyQuery?: VxeGridEvents.ProxyQuery<D>
@@ -488,7 +494,9 @@ export interface VxeGridEventProps<D = any> {
488
494
  }
489
495
 
490
496
  export interface VxeGridListeners<D = any> {
497
+ keydownStart?: VxeGridEvents.KeydownStart<D>
491
498
  keydown?: VxeGridEvents.Keydown<D>
499
+ keydownEnd?: VxeGridEvents.KeydownEnd<D>
492
500
  paste?: VxeGridEvents.Paste<D>
493
501
  copy?: VxeGridEvents.Copy<D>
494
502
  cut?: VxeGridEvents.Cut<D>
@@ -530,6 +538,7 @@ export interface VxeGridListeners<D = any> {
530
538
  columnDragstart?: VxeGridEvents.ColumnDragstart<D>
531
539
  columnDragover?: VxeGridEvents.ColumnDragover<D>
532
540
  columnDragend?: VxeGridEvents.ColumnDragend<D>
541
+ enterAppendRow?: VxeGridEvents.EnterAppendRow<D>
533
542
 
534
543
  // grid
535
544
  proxyQuery?: VxeGridEvents.ProxyQuery<D>
@@ -552,7 +561,9 @@ export interface VxeGridListeners<D = any> {
552
561
  }
553
562
 
554
563
  export namespace VxeGridEvents {
564
+ export type KeydownStart<D = any> = (params: VxeGridDefines.KeydownStartEventParams<D>) => void
555
565
  export type Keydown<D = any> = (params: VxeGridDefines.KeydownEventParams<D>) => void
566
+ export type KeydownEnd<D = any> = (params: VxeGridDefines.KeydownEndEventParams<D>) => void
556
567
  export type Paste<D = any> = (params: VxeGridDefines.PasteEventParams<D>) => void
557
568
  export type Copy<D = any> = (params: VxeGridDefines.CopyEventParams<D>) => void
558
569
  export type Cut<D = any> = (params: VxeGridDefines.CutEventParams<D>) => void
@@ -594,6 +605,7 @@ export namespace VxeGridEvents {
594
605
  export type ColumnDragstart<D = any> = (params: VxeGridDefines.ColumnDragstartEventParams<D>) => void
595
606
  export type ColumnDragover<D = any> = (params: VxeGridDefines.ColumnDragoverEventParams<D>) => void
596
607
  export type ColumnDragend<D = any> = (params: VxeGridDefines.ColumnDragendEventParams<D>) => void
608
+ export type EnterAppendRow<D = any> = (params: VxeGridDefines.EnterAppendRowEventParams<D>) => void
597
609
 
598
610
  export type ProxyQuery<D = any> = (params: VxeGridDefines.ProxyQueryEventParams<D>) => void
599
611
  export type ProxyDelete<D = any> = (params: VxeGridDefines.ProxyDeleteEventParams<D>) => void