vxe-pc-ui 3.17.7 → 3.17.8

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 (96) hide show
  1. package/es/button/src/button.js +2 -2
  2. package/es/button-group/style.css +1 -1
  3. package/es/button-group/style.min.css +1 -1
  4. package/es/color-picker/src/color-picker.js +2 -2
  5. package/es/date-picker/src/date-picker.js +2 -2
  6. package/es/date-range-picker/src/date-range-picker.js +2 -2
  7. package/es/drawer/src/drawer.js +2 -2
  8. package/es/icon/style.css +1 -1
  9. package/es/icon-picker/src/icon-picker.js +2 -2
  10. package/es/menu/src/menu.js +2 -2
  11. package/es/modal/src/modal.js +2 -2
  12. package/es/select/src/select.js +2 -2
  13. package/es/style.css +1 -1
  14. package/es/style.min.css +1 -1
  15. package/es/table-select/src/table-select.js +2 -2
  16. package/es/tooltip/src/tooltip.js +72 -127
  17. package/es/tree/src/tree.js +2 -2
  18. package/es/tree-select/src/tree-select.js +2 -2
  19. package/es/ui/index.js +4 -4
  20. package/es/ui/src/dom.js +114 -81
  21. package/es/ui/src/log.js +1 -1
  22. package/es/vxe-button-group/style.css +1 -1
  23. package/es/vxe-button-group/style.min.css +1 -1
  24. package/lib/button/src/button.js +1 -1
  25. package/lib/button/src/button.min.js +1 -1
  26. package/lib/button-group/style/style.css +1 -1
  27. package/lib/button-group/style/style.min.css +1 -1
  28. package/lib/color-picker/src/color-picker.js +1 -1
  29. package/lib/color-picker/src/color-picker.min.js +1 -1
  30. package/lib/date-picker/src/date-picker.js +1 -1
  31. package/lib/date-picker/src/date-picker.min.js +1 -1
  32. package/lib/date-range-picker/src/date-range-picker.js +1 -1
  33. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  34. package/lib/drawer/src/drawer.js +1 -1
  35. package/lib/drawer/src/drawer.min.js +1 -1
  36. package/lib/icon/style/style.css +1 -1
  37. package/lib/icon/style/style.min.css +1 -1
  38. package/lib/icon-picker/src/icon-picker.js +1 -1
  39. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  40. package/lib/index.umd.js +204 -222
  41. package/lib/index.umd.min.js +1 -1
  42. package/lib/menu/src/menu.js +1 -1
  43. package/lib/menu/src/menu.min.js +1 -1
  44. package/lib/modal/src/modal.js +1 -1
  45. package/lib/modal/src/modal.min.js +1 -1
  46. package/lib/select/src/select.js +1 -1
  47. package/lib/select/src/select.min.js +1 -1
  48. package/lib/style.css +1 -1
  49. package/lib/style.min.css +1 -1
  50. package/lib/table-select/src/table-select.js +1 -1
  51. package/lib/table-select/src/table-select.min.js +1 -1
  52. package/lib/tooltip/src/tooltip.js +78 -126
  53. package/lib/tooltip/src/tooltip.min.js +1 -1
  54. package/lib/tree/src/tree.js +3 -2
  55. package/lib/tree/src/tree.min.js +1 -1
  56. package/lib/tree-select/src/tree-select.js +1 -1
  57. package/lib/tree-select/src/tree-select.min.js +1 -1
  58. package/lib/ui/index.js +4 -4
  59. package/lib/ui/index.min.js +1 -1
  60. package/lib/ui/src/dom.js +109 -79
  61. package/lib/ui/src/dom.min.js +1 -1
  62. package/lib/ui/src/log.js +1 -1
  63. package/lib/ui/src/log.min.js +1 -1
  64. package/lib/vxe-button-group/style/style.css +1 -1
  65. package/lib/vxe-button-group/style/style.min.css +1 -1
  66. package/package.json +1 -1
  67. package/packages/button/src/button.ts +2 -2
  68. package/packages/color-picker/src/color-picker.ts +2 -2
  69. package/packages/date-picker/src/date-picker.ts +2 -2
  70. package/packages/date-range-picker/src/date-range-picker.ts +2 -2
  71. package/packages/drawer/src/drawer.ts +2 -2
  72. package/packages/icon-picker/src/icon-picker.ts +2 -2
  73. package/packages/menu/src/menu.ts +2 -2
  74. package/packages/modal/src/modal.ts +2 -2
  75. package/packages/select/src/select.ts +2 -2
  76. package/packages/table-select/src/table-select.ts +2 -2
  77. package/packages/tooltip/src/tooltip.ts +74 -126
  78. package/packages/tree/src/tree.ts +2 -2
  79. package/packages/tree-select/src/tree-select.ts +2 -2
  80. package/packages/ui/index.ts +3 -3
  81. package/packages/ui/src/dom.ts +125 -84
  82. package/styles/components/button-group.scss +4 -2
  83. package/types/components/table.d.ts +6 -0
  84. package/types/components/tooltip.d.ts +4 -0
  85. /package/es/icon/{iconfont.1787197085834.ttf → iconfont.1787216119203.ttf} +0 -0
  86. /package/es/icon/{iconfont.1787197085834.woff → iconfont.1787216119203.woff} +0 -0
  87. /package/es/icon/{iconfont.1787197085834.woff2 → iconfont.1787216119203.woff2} +0 -0
  88. /package/es/{iconfont.1787197085834.ttf → iconfont.1787216119203.ttf} +0 -0
  89. /package/es/{iconfont.1787197085834.woff → iconfont.1787216119203.woff} +0 -0
  90. /package/es/{iconfont.1787197085834.woff2 → iconfont.1787216119203.woff2} +0 -0
  91. /package/lib/icon/style/{iconfont.1787197085834.ttf → iconfont.1787216119203.ttf} +0 -0
  92. /package/lib/icon/style/{iconfont.1787197085834.woff → iconfont.1787216119203.woff} +0 -0
  93. /package/lib/icon/style/{iconfont.1787197085834.woff2 → iconfont.1787216119203.woff2} +0 -0
  94. /package/lib/{iconfont.1787197085834.ttf → iconfont.1787216119203.ttf} +0 -0
  95. /package/lib/{iconfont.1787197085834.woff → iconfont.1787216119203.woff} +0 -0
  96. /package/lib/{iconfont.1787197085834.woff2 → iconfont.1787216119203.woff2} +0 -0
@@ -507,7 +507,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
507
507
  if (btnTransfer) {
508
508
  if (panelElem) {
509
509
  var appendTo = popupOpts.appendTo;
510
- (0, _dom.getPopupContainer)(appendTo).appendChild(panelElem);
510
+ (0, _dom.getPopupAppendElement)(appendTo).appendChild(panelElem);
511
511
  }
512
512
  }
513
513
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.getRowUniqueId=getRowUniqueId;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input/src/input"));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.")}var _createComponentLog=(0,_log.createComponentLog)("table-select"),errLog=_createComponentLog.errLog;function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function createReactData(){return{initialized:!1,tableColumns:[],fullOptionList:[],panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}}function createInternalData(){return{fullRowMaps:{}}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableSelect",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:[String,Number,Array],clearable:{type:Boolean,default:function(){return(0,_ui.getConfig)().tableSelect.clearable}},placeholder:{type:String,default:function(){return _xeUtils.default.eqNull((0,_ui.getConfig)().tableSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().tableSelect.placeholder}},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],prefixIcon:String,placement:String,columns:Array,options:Array,optionProps:Object,lazyOptions:Array,zIndex:Number,size:{type:String,default:function(){return(0,_ui.getConfig)().tableSelect.size||(0,_ui.getConfig)().size}},popupConfig:Object,gridConfig:Object,transfer:{type:Boolean,default:null}},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeTableSelect:this}},data:function(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t,gridEvents:{}})},computed:Object.assign(Object.assign({},{}),{computeFormReadonly:function(){var e=this.$xeForm,t=this.readonly;return null===t?!!e&&e.readonly:t},computeIsDisabled:function(){var e=this.$xeForm,t=this.disabled;return null===t?!!e&&e.disabled:t},computeBtnTransfer:function(){var e=this,t=e.$xeForm,n=e.$xeTable,i=e.$xeModal,a=e.$xeDrawer,l=e.transfer,e=e.computePopupOpts;if(_xeUtils.default.isBoolean(e.transfer))return e.transfer;if(null===l){e=(0,_ui.getConfig)().tableSelect.transfer;if(_xeUtils.default.isBoolean(e))return e;if(n||i||a||t)return!0}return l},computePropsOpts:function(){return this.optionProps||{}},computeRowOpts:function(){var e=this.computeGridOpts;return Object.assign({},e.rowConfig,{isCurrent:!0})},computeRowKeyField:function(){return this.computeRowOpts.keyField||"_X_ROW_KEY"},computeLabelField:function(){return this.computePropsOpts.label||"label"},computeValueField:function(){return this.computePropsOpts.value||"value"},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().tableSelect.popupConfig,this.popupConfig)},computeGridOpts:function(){return Object.assign({},(0,_ui.getConfig)().tableSelect.gridConfig,this.gridConfig,{data:void 0})},computeSelectGridOpts:function(){var a=this,e=a.computeGridOpts,l=e.pagerConfig,t=e.proxyConfig;if(t){var n,o,r,i=t.ajax;if(i&&i.query)return n=_xeUtils.default.clone(t,!0),(o=i.query)&&(r=t.response||t.props||{},Object.assign(n.ajax,{query:function(e){for(var t=arguments.length,n=new Array(1<t?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return Promise.resolve(o.apply(void 0,[e].concat(n))).then(function(e){var t,n=[];return n=l?(t=r.result,(_xeUtils.default.isFunction(t)?t({data:e,$table:null,$grid:null,$gantt:null}):_xeUtils.default.get(e,t||"result"))||[]):((t=r.list)?_xeUtils.default.isFunction(t)?t({data:e,$table:null,$grid:null,$gantt:null}):_xeUtils.default.get(e,t):e)||[],a.cacheDataMap(n||[]),e})}})),Object.assign({},e,{proxyConfig:n})}return e},computeSelectLabel:function(){var e=this,t=e.reactData,n=e.value,i=e.lazyOptions,t=t.fullOptionList,a=e.internalData.fullRowMaps,l=e.computeValueField,o=e.computeLabelField;return t?(_xeUtils.default.isArray(n)?n:[n]).map(function(t){var e=a[t];if(e)return e.item[o];if(i){e=i.find(function(e){return e[l]===t});if(e)return e[o]}return t}).join(", "):""},computePopupWrapperStyle:function(){var e=this.computePopupOpts,t=e.height,e=e.width,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t)),n}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$tableSelect:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},getRowid:function(e){e=e[this.computeRowKeyField];return e?encodeURIComponent(e):""},getRowsByValue:function(e){var t=this.internalData.fullRowMaps,n=[];return(_xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){e=t[e];e&&n.push(e.item)}),n},updateModel:function(n){var i=this,a=i.multiple;i.$nextTick(function(){var e,t=i.$refs.refGrid;t&&(e=i.getRowsByValue(n)).length&&(a?t.setCheckboxRow(e,!0):t.setRadioRow(e[0]))})},loadTableColumn:function(e){var t,n,i,a,l=this.reactData;e&&e.length&&(t=this.multiple,a=i=!(n=[]),e.forEach(function(e){i||"radio"!==e.type?a||"checkbox"!==e.type||(a=!0):i=!0,n.push(e)}),t?a||n.unshift({type:"checkbox",width:70}):i||n.unshift({type:"radio",width:70}),l.tableColumns=n)},cacheDataMap:function(e){var a=this,t=a,n=a.reactData,i=a.internalData,l=t.options,o=a.computeRowKeyField,r=a.computeValueField,u=a.computeGridOpts,s=u.treeConfig,u=u.pagerConfig,c={},p={};s||_xeUtils.default.arrayEach(e||l||[],function(e,t,n){var i=(i=a.getRowid(e))||getRowUniqueId(),i=(p[i]&&errLog("vxe.error.repeatKey",[o,i]),p[i]=!0,e[r]);c[i]&&errLog("vxe.error.repeatKey",[r,i]),c[i]={item:e,index:t,items:n,parent:null,nodes:[]}}),n.fullOptionList=e||l||[],i.fullRowMaps=u?Object.assign({},i.fullRowMaps,c):c,a.updateModel(t.value)},updateZindex:function(){var e=this.reactData,t=this.computePopupOpts.zIndex||this.zIndex;t?e.panelIndex=_xeUtils.default.toNumber(t):e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updatePlacement:function(){function e(){var e=(0,_dom.updatePanelPlacement)(l,o,{placement:u.placement||i,defaultPlacement:u.defaultPlacement,teleportTo:r}),t=Object.assign(e.style,{zIndex:a});n.panelStyle=t,n.panelPlacement=e.placement}var t=this,n=t.reactData,i=t.placement,a=n.panelIndex,l=t.$refs.refElem,o=t.$refs.refOptionPanel,r=t.computeBtnTransfer,u=t.computePopupOpts;return e(),t.$nextTick().then(e)},showOptionPanel:function(){var e,t=this,n=t,i=t.reactData,a=t.internalData,l=n.loading,o=t.computePopupOpts;l||t.computeIsDisabled||(a.vpTimeout&&clearTimeout(a.vpTimeout),a.hpTimeout&&clearTimeout(a.hpTimeout),i.initialized||(i.initialized=!0,l=t.computeBtnTransfer,e=t.$refs.refOptionPanel,l&&e&&(l=o.appendTo,(0,_dom.getPopupContainer)(l).appendChild(e))),i.isActivated=!0,i.isAniVisible=!0,a.vpTimeout=setTimeout(function(){i.visiblePanel=!0,t.updateModel(n.value),a.vpTimeout=void 0,t.updatePlacement()},10),t.updateZindex(),t.updatePlacement())},hideOptionPanel:function(){var e=this.reactData,t=this.internalData;e.visiblePanel=!1,t.hpTimeout=setTimeout(function(){e.isAniVisible=!1},350)},changeEvent:function(e,t,n){var i=this,a=i,l=i.$xeForm,o=i.formItemInfo;i.emitModel(t),t!==a.value&&(i.dispatchEvent("change",{value:t,row:n,option:n},e),l)&&o&&l.triggerItemEvent(e,o.itemConfig.field,t)},clearValueEvent:function(e,t){this.changeEvent(e,t,null),this.dispatchEvent("clear",{value:t},e)},clearEvent:function(e,t){var n=this.$refs.refGrid;n&&(n.clearRadioRow(),n.clearCheckboxRow()),this.clearValueEvent(t,null),this.hideOptionPanel()},handleGlobalMousewheelEvent:function(e){var t=this,n=t.reactData.visiblePanel;t.computeIsDisabled||n&&(n=t.$refs.refOptionPanel,(0,_dom.getEventTargetNode)(e,n).flag?t.updatePlacement():t.hideOptionPanel())},handleGlobalMousedownEvent:function(e){var t,n,i=this,a=i.reactData,l=a.visiblePanel;i.computeIsDisabled||(t=i.$refs.refElem,n=i.$refs.refOptionPanel,a.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,l&&!a.isActivated&&i.hideOptionPanel())},handleGlobalBlurEvent:function(){var e=this.reactData,t=e.visiblePanel,n=e.isActivated;t&&this.hideOptionPanel(),n&&(e.isActivated=!1),(t||n)&&(e=this.$refs.refInput)&&e.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},focusEvent:function(e){var t=this.reactData;this.computeIsDisabled||t.visiblePanel||(t.triggerFocusPanel=!0,this.showOptionPanel(),setTimeout(function(){t.triggerFocusPanel=!1},150)),this.dispatchEvent("focus",{},e)},clickEvent:function(e){this.togglePanelEvent(e),this.dispatchEvent("click",{},e)},blurEvent:function(e){this.reactData.isActivated=!1,this.dispatchEvent("blur",{},e)},togglePanelEvent:function(e){var t=this.reactData;e.$event.preventDefault(),t.triggerFocusPanel?t.triggerFocusPanel=!1:t.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},radioChangeEvent:function(e){var t=e.$event,e=e.row,n=e[this.computeValueField];this.changeEvent(t,n,e),this.hideOptionPanel()},checkboxChangeEvent:function(e){var t=e.$grid,n=e.$event,e=e.row,i=this.computeValueField;t&&(t=t.getCheckboxRecords().map(function(e){return e[i]}),this.changeEvent(n,t,e))},checkboxAllEvent:function(e){this.checkboxChangeEvent(e)},renderVN:function(e){var t=_ui.VxeUI.getComponent("vxe-grid"),n=this,i=n,a=n.$scopedSlots,l=n.reactData,o=i.className,r=i.options,u=i.loading,s=l.initialized,c=l.isActivated,p=l.isAniVisible,d=l.visiblePanel,f=l.tableColumns,m=n.computeSize,v=n.computeIsDisabled,g=n.computeSelectLabel,h=n.computeBtnTransfer,b=n.computeSelectGridOpts,x=n.computeRowOpts,_=n.computePopupWrapperStyle,y=a.header,E=a.footer,P=a.prefix,O=n.computePopupOpts.className;return n.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-table-select--readonly",o]},[e("span",{class:"vxe-table-select-label"},g)]):e("div",{ref:"refElem",class:["vxe-table-select",o?_xeUtils.default.isFunction(o)?o({$tableSelect:n}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(m),m),"is--visible",d),"is--disabled",v),"is--loading",u),"is--active",c)]},[e(_input.default,{ref:"refInput",props:{clearable:i.clearable,placeholder:i.placeholder,editable:!1,disabled:v,type:"text",prefixIcon:i.prefixIcon,suffixIcon:u?(0,_ui.getIcon)().TABLE_SELECT_LOADED:d?(0,_ui.getIcon)().TABLE_SELECT_OPEN:(0,_ui.getIcon)().TABLE_SELECT_CLOSE,value:u?(0,_ui.getI18n)("vxe.select.loadingText"):g},on:{clear:n.clearEvent,click:n.clickEvent,focus:n.focusEvent,blur:n.blurEvent,"suffix-click":n.togglePanelEvent},scopedSlots:P?{prefix:function(){return P({})}}:{}}),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-table-select--panel",O?_xeUtils.default.isFunction(O)?O({$tableSelect:n}):O:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(m),m),"is--transfer",h),"ani--leave",!u&&p),"ani--enter",!u&&d)],attrs:{placement:l.panelPlacement},style:l.panelStyle},s?[e("div",{class:"vxe-table-select--panel-wrapper"},[y?e("div",{class:"vxe-table-select--panel-header"},y({})):(0,_ui.renderEmptyElement)(n),e("div",{class:"vxe-table-select--panel-body"},[e("div",{ref:"refGridWrapper",class:"vxe-table-select-grid--wrapper",style:_},[t?e(t,{ref:"refGrid",class:"vxe-table-select--grid",props:Object.assign(Object.assign({},b),{rowConfig:x,data:r,columns:f.length?f:b.columns,height:"100%",autoResize:!0}),on:Object.assign(Object.assign({},n.gridEvents),{"radio-change":n.radioChangeEvent,"checkbox-change":n.checkboxChangeEvent,"checkbox-all":n.checkboxAllEvent}),scopedSlots:Object.assign({},a,{header:void 0,footer:void 0,prefixSlot:void 0})}):(0,_ui.renderEmptyElement)(n)])]),E?e("div",{class:"vxe-table-select--panel-footer"},E({})):(0,_ui.renderEmptyElement)(n)])]:[])])}},watch:{options:function(){this.cacheDataMap()},columns:function(e){this.loadTableColumn(e)},value:function(e){this.updateModel(e)}},created:function(){var n=this,e=n,i=(n.internalData=createInternalData(),n.gridEvents);["form-submit","form-reset","form-collapse","page-change"].forEach(function(t){i[(0,_vn.getOnName)(t)]=function(e){n.dispatchEvent(t,e,e.$event)}}),n.loadTableColumn(e.columns),n.cacheDataMap()},mounted:function(){var e=this,t=e,n=e.reactData,i=_ui.VxeUI.getComponent("vxe-grid"),t=(e.$nextTick(function(){i||errLog("vxe.error.reqComp",["vxe-grid"])}),t.gridConfig);t&&t.proxyConfig&&!1!==t.proxyConfig.autoLoad&&(n.initialized=!0),_ui.globalEvents.on(e,"mousewheel",e.handleGlobalMousewheelEvent),_ui.globalEvents.on(e,"mousedown",e.handleGlobalMousedownEvent),_ui.globalEvents.on(e,"blur",e.handleGlobalBlurEvent),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this,t=e.reactData,n=e.internalData,i=e.$refs.refOptionPanel;i&&i.parentNode&&i.parentNode.removeChild(i),_ui.globalEvents.off(e,"mousewheel"),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"blur"),_ui.globalEvents.off(e,"resize"),_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(n,createInternalData())},render:function(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.getRowUniqueId=getRowUniqueId;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input/src/input"));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.")}var _createComponentLog=(0,_log.createComponentLog)("table-select"),errLog=_createComponentLog.errLog;function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function createReactData(){return{initialized:!1,tableColumns:[],fullOptionList:[],panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}}function createInternalData(){return{fullRowMaps:{}}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableSelect",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:[String,Number,Array],clearable:{type:Boolean,default:function(){return(0,_ui.getConfig)().tableSelect.clearable}},placeholder:{type:String,default:function(){return _xeUtils.default.eqNull((0,_ui.getConfig)().tableSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().tableSelect.placeholder}},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],prefixIcon:String,placement:String,columns:Array,options:Array,optionProps:Object,lazyOptions:Array,zIndex:Number,size:{type:String,default:function(){return(0,_ui.getConfig)().tableSelect.size||(0,_ui.getConfig)().size}},popupConfig:Object,gridConfig:Object,transfer:{type:Boolean,default:null}},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeTableSelect:this}},data:function(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t,gridEvents:{}})},computed:Object.assign(Object.assign({},{}),{computeFormReadonly:function(){var e=this.$xeForm,t=this.readonly;return null===t?!!e&&e.readonly:t},computeIsDisabled:function(){var e=this.$xeForm,t=this.disabled;return null===t?!!e&&e.disabled:t},computeBtnTransfer:function(){var e=this,t=e.$xeForm,n=e.$xeTable,i=e.$xeModal,a=e.$xeDrawer,l=e.transfer,e=e.computePopupOpts;if(_xeUtils.default.isBoolean(e.transfer))return e.transfer;if(null===l){e=(0,_ui.getConfig)().tableSelect.transfer;if(_xeUtils.default.isBoolean(e))return e;if(n||i||a||t)return!0}return l},computePropsOpts:function(){return this.optionProps||{}},computeRowOpts:function(){var e=this.computeGridOpts;return Object.assign({},e.rowConfig,{isCurrent:!0})},computeRowKeyField:function(){return this.computeRowOpts.keyField||"_X_ROW_KEY"},computeLabelField:function(){return this.computePropsOpts.label||"label"},computeValueField:function(){return this.computePropsOpts.value||"value"},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().tableSelect.popupConfig,this.popupConfig)},computeGridOpts:function(){return Object.assign({},(0,_ui.getConfig)().tableSelect.gridConfig,this.gridConfig,{data:void 0})},computeSelectGridOpts:function(){var a=this,e=a.computeGridOpts,l=e.pagerConfig,t=e.proxyConfig;if(t){var n,o,r,i=t.ajax;if(i&&i.query)return n=_xeUtils.default.clone(t,!0),(o=i.query)&&(r=t.response||t.props||{},Object.assign(n.ajax,{query:function(e){for(var t=arguments.length,n=new Array(1<t?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return Promise.resolve(o.apply(void 0,[e].concat(n))).then(function(e){var t,n=[];return n=l?(t=r.result,(_xeUtils.default.isFunction(t)?t({data:e,$table:null,$grid:null,$gantt:null}):_xeUtils.default.get(e,t||"result"))||[]):((t=r.list)?_xeUtils.default.isFunction(t)?t({data:e,$table:null,$grid:null,$gantt:null}):_xeUtils.default.get(e,t):e)||[],a.cacheDataMap(n||[]),e})}})),Object.assign({},e,{proxyConfig:n})}return e},computeSelectLabel:function(){var e=this,t=e.reactData,n=e.value,i=e.lazyOptions,t=t.fullOptionList,a=e.internalData.fullRowMaps,l=e.computeValueField,o=e.computeLabelField;return t?(_xeUtils.default.isArray(n)?n:[n]).map(function(t){var e=a[t];if(e)return e.item[o];if(i){e=i.find(function(e){return e[l]===t});if(e)return e[o]}return t}).join(", "):""},computePopupWrapperStyle:function(){var e=this.computePopupOpts,t=e.height,e=e.width,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t)),n}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$tableSelect:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},getRowid:function(e){e=e[this.computeRowKeyField];return e?encodeURIComponent(e):""},getRowsByValue:function(e){var t=this.internalData.fullRowMaps,n=[];return(_xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]).forEach(function(e){e=t[e];e&&n.push(e.item)}),n},updateModel:function(n){var i=this,a=i.multiple;i.$nextTick(function(){var e,t=i.$refs.refGrid;t&&(e=i.getRowsByValue(n)).length&&(a?t.setCheckboxRow(e,!0):t.setRadioRow(e[0]))})},loadTableColumn:function(e){var t,n,i,a,l=this.reactData;e&&e.length&&(t=this.multiple,a=i=!(n=[]),e.forEach(function(e){i||"radio"!==e.type?a||"checkbox"!==e.type||(a=!0):i=!0,n.push(e)}),t?a||n.unshift({type:"checkbox",width:70}):i||n.unshift({type:"radio",width:70}),l.tableColumns=n)},cacheDataMap:function(e){var a=this,t=a,n=a.reactData,i=a.internalData,l=t.options,o=a.computeRowKeyField,r=a.computeValueField,u=a.computeGridOpts,s=u.treeConfig,u=u.pagerConfig,c={},p={};s||_xeUtils.default.arrayEach(e||l||[],function(e,t,n){var i=(i=a.getRowid(e))||getRowUniqueId(),i=(p[i]&&errLog("vxe.error.repeatKey",[o,i]),p[i]=!0,e[r]);c[i]&&errLog("vxe.error.repeatKey",[r,i]),c[i]={item:e,index:t,items:n,parent:null,nodes:[]}}),n.fullOptionList=e||l||[],i.fullRowMaps=u?Object.assign({},i.fullRowMaps,c):c,a.updateModel(t.value)},updateZindex:function(){var e=this.reactData,t=this.computePopupOpts.zIndex||this.zIndex;t?e.panelIndex=_xeUtils.default.toNumber(t):e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updatePlacement:function(){function e(){var e=(0,_dom.updatePanelPlacement)(l,o,{placement:u.placement||i,defaultPlacement:u.defaultPlacement,teleportTo:r}),t=Object.assign(e.style,{zIndex:a});n.panelStyle=t,n.panelPlacement=e.placement}var t=this,n=t.reactData,i=t.placement,a=n.panelIndex,l=t.$refs.refElem,o=t.$refs.refOptionPanel,r=t.computeBtnTransfer,u=t.computePopupOpts;return e(),t.$nextTick().then(e)},showOptionPanel:function(){var e,t=this,n=t,i=t.reactData,a=t.internalData,l=n.loading,o=t.computePopupOpts;l||t.computeIsDisabled||(a.vpTimeout&&clearTimeout(a.vpTimeout),a.hpTimeout&&clearTimeout(a.hpTimeout),i.initialized||(i.initialized=!0,l=t.computeBtnTransfer,e=t.$refs.refOptionPanel,l&&e&&(l=o.appendTo,(0,_dom.getPopupAppendElement)(l).appendChild(e))),i.isActivated=!0,i.isAniVisible=!0,a.vpTimeout=setTimeout(function(){i.visiblePanel=!0,t.updateModel(n.value),a.vpTimeout=void 0,t.updatePlacement()},10),t.updateZindex(),t.updatePlacement())},hideOptionPanel:function(){var e=this.reactData,t=this.internalData;e.visiblePanel=!1,t.hpTimeout=setTimeout(function(){e.isAniVisible=!1},350)},changeEvent:function(e,t,n){var i=this,a=i,l=i.$xeForm,o=i.formItemInfo;i.emitModel(t),t!==a.value&&(i.dispatchEvent("change",{value:t,row:n,option:n},e),l)&&o&&l.triggerItemEvent(e,o.itemConfig.field,t)},clearValueEvent:function(e,t){this.changeEvent(e,t,null),this.dispatchEvent("clear",{value:t},e)},clearEvent:function(e,t){var n=this.$refs.refGrid;n&&(n.clearRadioRow(),n.clearCheckboxRow()),this.clearValueEvent(t,null),this.hideOptionPanel()},handleGlobalMousewheelEvent:function(e){var t=this,n=t.reactData.visiblePanel;t.computeIsDisabled||n&&(n=t.$refs.refOptionPanel,(0,_dom.getEventTargetNode)(e,n).flag?t.updatePlacement():t.hideOptionPanel())},handleGlobalMousedownEvent:function(e){var t,n,i=this,a=i.reactData,l=a.visiblePanel;i.computeIsDisabled||(t=i.$refs.refElem,n=i.$refs.refOptionPanel,a.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,l&&!a.isActivated&&i.hideOptionPanel())},handleGlobalBlurEvent:function(){var e=this.reactData,t=e.visiblePanel,n=e.isActivated;t&&this.hideOptionPanel(),n&&(e.isActivated=!1),(t||n)&&(e=this.$refs.refInput)&&e.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},focusEvent:function(e){var t=this.reactData;this.computeIsDisabled||t.visiblePanel||(t.triggerFocusPanel=!0,this.showOptionPanel(),setTimeout(function(){t.triggerFocusPanel=!1},150)),this.dispatchEvent("focus",{},e)},clickEvent:function(e){this.togglePanelEvent(e),this.dispatchEvent("click",{},e)},blurEvent:function(e){this.reactData.isActivated=!1,this.dispatchEvent("blur",{},e)},togglePanelEvent:function(e){var t=this.reactData;e.$event.preventDefault(),t.triggerFocusPanel?t.triggerFocusPanel=!1:t.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},radioChangeEvent:function(e){var t=e.$event,e=e.row,n=e[this.computeValueField];this.changeEvent(t,n,e),this.hideOptionPanel()},checkboxChangeEvent:function(e){var t=e.$grid,n=e.$event,e=e.row,i=this.computeValueField;t&&(t=t.getCheckboxRecords().map(function(e){return e[i]}),this.changeEvent(n,t,e))},checkboxAllEvent:function(e){this.checkboxChangeEvent(e)},renderVN:function(e){var t=_ui.VxeUI.getComponent("vxe-grid"),n=this,i=n,a=n.$scopedSlots,l=n.reactData,o=i.className,r=i.options,u=i.loading,s=l.initialized,c=l.isActivated,p=l.isAniVisible,d=l.visiblePanel,f=l.tableColumns,m=n.computeSize,v=n.computeIsDisabled,g=n.computeSelectLabel,h=n.computeBtnTransfer,b=n.computeSelectGridOpts,x=n.computeRowOpts,_=n.computePopupWrapperStyle,y=a.header,E=a.footer,P=a.prefix,O=n.computePopupOpts.className;return n.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-table-select--readonly",o]},[e("span",{class:"vxe-table-select-label"},g)]):e("div",{ref:"refElem",class:["vxe-table-select",o?_xeUtils.default.isFunction(o)?o({$tableSelect:n}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(m),m),"is--visible",d),"is--disabled",v),"is--loading",u),"is--active",c)]},[e(_input.default,{ref:"refInput",props:{clearable:i.clearable,placeholder:i.placeholder,editable:!1,disabled:v,type:"text",prefixIcon:i.prefixIcon,suffixIcon:u?(0,_ui.getIcon)().TABLE_SELECT_LOADED:d?(0,_ui.getIcon)().TABLE_SELECT_OPEN:(0,_ui.getIcon)().TABLE_SELECT_CLOSE,value:u?(0,_ui.getI18n)("vxe.select.loadingText"):g},on:{clear:n.clearEvent,click:n.clickEvent,focus:n.focusEvent,blur:n.blurEvent,"suffix-click":n.togglePanelEvent},scopedSlots:P?{prefix:function(){return P({})}}:{}}),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-table-select--panel",O?_xeUtils.default.isFunction(O)?O({$tableSelect:n}):O:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(m),m),"is--transfer",h),"ani--leave",!u&&p),"ani--enter",!u&&d)],attrs:{placement:l.panelPlacement},style:l.panelStyle},s?[e("div",{class:"vxe-table-select--panel-wrapper"},[y?e("div",{class:"vxe-table-select--panel-header"},y({})):(0,_ui.renderEmptyElement)(n),e("div",{class:"vxe-table-select--panel-body"},[e("div",{ref:"refGridWrapper",class:"vxe-table-select-grid--wrapper",style:_},[t?e(t,{ref:"refGrid",class:"vxe-table-select--grid",props:Object.assign(Object.assign({},b),{rowConfig:x,data:r,columns:f.length?f:b.columns,height:"100%",autoResize:!0}),on:Object.assign(Object.assign({},n.gridEvents),{"radio-change":n.radioChangeEvent,"checkbox-change":n.checkboxChangeEvent,"checkbox-all":n.checkboxAllEvent}),scopedSlots:Object.assign({},a,{header:void 0,footer:void 0,prefixSlot:void 0})}):(0,_ui.renderEmptyElement)(n)])]),E?e("div",{class:"vxe-table-select--panel-footer"},E({})):(0,_ui.renderEmptyElement)(n)])]:[])])}},watch:{options:function(){this.cacheDataMap()},columns:function(e){this.loadTableColumn(e)},value:function(e){this.updateModel(e)}},created:function(){var n=this,e=n,i=(n.internalData=createInternalData(),n.gridEvents);["form-submit","form-reset","form-collapse","page-change"].forEach(function(t){i[(0,_vn.getOnName)(t)]=function(e){n.dispatchEvent(t,e,e.$event)}}),n.loadTableColumn(e.columns),n.cacheDataMap()},mounted:function(){var e=this,t=e,n=e.reactData,i=_ui.VxeUI.getComponent("vxe-grid"),t=(e.$nextTick(function(){i||errLog("vxe.error.reqComp",["vxe-grid"])}),t.gridConfig);t&&t.proxyConfig&&!1!==t.proxyConfig.autoLoad&&(n.initialized=!0),_ui.globalEvents.on(e,"mousewheel",e.handleGlobalMousewheelEvent),_ui.globalEvents.on(e,"mousedown",e.handleGlobalMousedownEvent),_ui.globalEvents.on(e,"blur",e.handleGlobalBlurEvent),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this,t=e.reactData,n=e.internalData,i=e.$refs.refOptionPanel;i&&i.parentNode&&i.parentNode.removeChild(i),_ui.globalEvents.off(e,"mousewheel"),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"blur"),_ui.globalEvents.off(e,"resize"),_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(n,createInternalData())},render:function(e){return this.renderVN(e)}});
@@ -157,6 +157,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
157
157
  default: function _default() {
158
158
  return (0, _ui.getConfig)().tooltip.leaveDelay;
159
159
  }
160
+ },
161
+ appendTo: {
162
+ type: [String, Function],
163
+ default: function _default() {
164
+ return (0, _ui.getConfig)().tooltip.appendTo;
165
+ }
160
166
  }
161
167
  },
162
168
  data: function data() {
@@ -261,24 +267,59 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
261
267
  var $xeTooltip = this;
262
268
  return $xeTooltip.handleVisible(target, content);
263
269
  },
264
- updatePlacement: function updatePlacement() {
270
+ updateTipStyle: function updateTipStyle() {
265
271
  var $xeTooltip = this;
272
+ var props = $xeTooltip;
266
273
  var reactData = $xeTooltip.reactData;
267
- var visible = reactData.visible,
268
- tipTarget = reactData.tipTarget;
269
- var el = $xeTooltip.$refs.refElem;
270
- if (visible && tipTarget && el) {
271
- $xeTooltip.updateTipStyle();
272
- }
273
- return $xeTooltip.$nextTick().then(function () {
274
- var tipTarget = reactData.tipTarget;
275
- el = $xeTooltip.$refs.refElem;
276
- if (tipTarget && el) {
277
- $xeTooltip.updateTipStyle();
278
- return $xeTooltip.$nextTick().then(function () {
279
- $xeTooltip.updateTipStyle();
280
- });
274
+ var placement = props.placement,
275
+ defaultPlacement = props.defaultPlacement,
276
+ isArrow = props.isArrow;
277
+ var targetElem = reactData.tipTarget,
278
+ tipStore = reactData.tipStore,
279
+ tipPos = reactData.tipPos,
280
+ tipZindex = reactData.tipZindex;
281
+ var panelElem = $xeTooltip.$refs.refElem;
282
+ if (!targetElem || !panelElem) {
283
+ return;
284
+ }
285
+ var targetRect = targetElem.getBoundingClientRect();
286
+ var targetWidth = targetElem.offsetWidth;
287
+ var targetHeight = targetElem.offsetHeight;
288
+ var panelWidth = panelElem.offsetWidth;
289
+ var targetLeft = targetRect.left;
290
+ var targetTop = targetRect.top;
291
+ // 支持特殊定位逻辑
292
+ var left = targetLeft;
293
+ var top = targetTop + targetHeight;
294
+ if (tipPos && (tipPos.oLeft || tipPos.oTop)) {
295
+ if (isArrow) {
296
+ left = left + Math.max(8, Math.min(targetWidth - 8, tipPos.oLeft)) - panelWidth / 2;
297
+ } else {
298
+ left = tipPos.x + 1;
299
+ top = tipPos.y + 1;
281
300
  }
301
+ } else {
302
+ left = targetLeft + (targetWidth - panelWidth) / 2;
303
+ }
304
+ var ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
305
+ defaultTop: top,
306
+ defaultLeft: left,
307
+ placement: placement,
308
+ defaultPlacement: defaultPlacement,
309
+ teleportTo: true
310
+ });
311
+ var panelStyle = Object.assign(ppObj.style, {
312
+ zIndex: tipZindex
313
+ });
314
+ tipStore.placement = ppObj.placement;
315
+ tipStore.style = panelStyle;
316
+ tipStore.arrowStyle.left = "".concat(ppObj.arrowLeft, "px");
317
+ },
318
+ updatePlacement: function updatePlacement() {
319
+ var $xeTooltip = this;
320
+ $xeTooltip.updateTipStyle();
321
+ return $xeTooltip.$nextTick().then(function () {
322
+ return $xeTooltip.updateTipStyle();
282
323
  });
283
324
  },
284
325
  isActived: function isActived() {
@@ -291,100 +332,6 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
291
332
  var reactData = $xeTooltip.reactData;
292
333
  reactData.tipActive = !!active;
293
334
  },
294
- updateTipStyle: function updateTipStyle() {
295
- var $xeTooltip = this;
296
- var props = $xeTooltip;
297
- var reactData = $xeTooltip.reactData;
298
- var isArrow = props.isArrow,
299
- placement = props.placement,
300
- defaultPlacement = props.defaultPlacement;
301
- var targetElem = reactData.tipTarget,
302
- tipStore = reactData.tipStore,
303
- tipPos = reactData.tipPos;
304
- var top = '';
305
- var left = '';
306
- var panelPlacement = 'bottom';
307
- var arrowLeft = '';
308
- var panelElem = $xeTooltip.$refs.refElem;
309
- if (panelElem && targetElem) {
310
- var documentElement = document.documentElement;
311
- var bodyElem = document.body;
312
- var targetWidth = targetElem.offsetWidth;
313
- var targetHeight = targetElem.offsetHeight;
314
- var panelHeight = panelElem.offsetHeight;
315
- var panelWidth = panelElem.offsetWidth;
316
- var targetRect = targetElem.getBoundingClientRect();
317
- var visibleHeight = documentElement.clientHeight || bodyElem.clientHeight;
318
- var visibleWidth = documentElement.clientWidth || bodyElem.clientWidth;
319
- var marginSize = 6;
320
- left = targetRect.left;
321
- top = targetRect.top + targetHeight;
322
- if (tipPos && (tipPos.oLeft || tipPos.oTop)) {
323
- if (isArrow) {
324
- left = left + Math.max(8, Math.min(targetWidth - 8, tipPos.oLeft)) - panelWidth / 2;
325
- } else {
326
- left = tipPos.x + 1;
327
- top = tipPos.y + 1;
328
- }
329
- } else {
330
- left = targetRect.left + (targetWidth - panelWidth) / 2;
331
- }
332
- if (placement === 'top') {
333
- panelPlacement = 'top';
334
- top = targetRect.top - panelHeight;
335
- } else if (!placement) {
336
- if (defaultPlacement === 'top') {
337
- panelPlacement = 'top';
338
- top = targetRect.top - panelHeight;
339
- // 如果上面不够放,则向下
340
- if (top < marginSize) {
341
- panelPlacement = 'bottom';
342
- top = targetRect.top + targetHeight;
343
- }
344
- // 如果下面不够放,则向上(优先)
345
- if (top + panelHeight + marginSize > visibleHeight) {
346
- panelPlacement = 'top';
347
- top = targetRect.top - panelHeight;
348
- }
349
- } else {
350
- // 如果下面不够放,则向上
351
- if (top + panelHeight + marginSize > visibleHeight) {
352
- panelPlacement = 'top';
353
- top = targetRect.top - panelHeight;
354
- }
355
- // 如果上面不够放,则向下(优先)
356
- if (top < marginSize) {
357
- panelPlacement = 'bottom';
358
- top = targetRect.top + targetHeight;
359
- }
360
- }
361
- }
362
- // 如果溢出右边
363
- if (left + panelWidth + marginSize > visibleWidth) {
364
- left -= left + panelWidth + marginSize - visibleWidth;
365
- }
366
- // 如果溢出左边
367
- if (left < marginSize) {
368
- left = marginSize;
369
- }
370
- // 箭头
371
- if (left === targetRect.left) {
372
- if (targetWidth <= panelWidth) {
373
- arrowLeft = targetWidth / 2;
374
- }
375
- } else if (left < targetRect.left) {
376
- if (left + panelWidth > targetRect.left + targetWidth) {
377
- arrowLeft = targetRect.left - left + targetWidth / 2;
378
- } else {
379
- arrowLeft = targetRect.left - left + (panelWidth - (targetRect.left - left)) / 2;
380
- }
381
- }
382
- tipStore.placement = panelPlacement;
383
- tipStore.style.top = "".concat(top, "px");
384
- tipStore.style.left = "".concat(left, "px");
385
- tipStore.arrowStyle.left = "".concat(arrowLeft, "px");
386
- }
387
- },
388
335
  updateValue: function updateValue(value) {
389
336
  var $xeTooltip = this;
390
337
  var reactData = $xeTooltip.reactData;
@@ -394,10 +341,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
394
341
  $xeTooltip.emitModel(value);
395
342
  }
396
343
  },
397
- updateZindex: function updateZindex() {
344
+ updateZIndex: function updateZIndex() {
398
345
  var $xeTooltip = this;
346
+ var props = $xeTooltip;
399
347
  var reactData = $xeTooltip.reactData;
400
- if (reactData.tipZindex < (0, _utils.getLastZIndex)()) {
348
+ var zIndex = props.zIndex;
349
+ if (zIndex) {
350
+ reactData.tipZindex = _xeUtils.default.toNumber(zIndex);
351
+ } else if (reactData.tipZindex < (0, _utils.getLastZIndex)()) {
401
352
  reactData.tipZindex = (0, _utils.nextZIndex)();
402
353
  }
403
354
  },
@@ -460,16 +411,17 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
460
411
  var $xeTooltip = this;
461
412
  var props = $xeTooltip;
462
413
  var reactData = $xeTooltip.reactData;
414
+ var appendTo = props.appendTo;
463
415
  var tipStore = reactData.tipStore;
464
- var el = $xeTooltip.$refs.refElem;
465
- if (el) {
466
- var parentNode = el.parentNode;
416
+ var panelElem = $xeTooltip.$refs.refElem;
417
+ if (panelElem) {
418
+ var parentNode = panelElem.parentNode;
467
419
  if (!parentNode) {
468
- document.body.appendChild(el);
420
+ (0, _dom.getPopupAppendElement)(appendTo).appendChild(panelElem);
469
421
  }
470
422
  }
471
423
  $xeTooltip.updateValue(true);
472
- $xeTooltip.updateZindex();
424
+ $xeTooltip.updateZIndex();
473
425
  tipStore.placement = 'top';
474
426
  tipStore.style = {
475
427
  width: 'auto',
@@ -655,21 +607,21 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
655
607
  $xeTooltip.$nextTick(function () {
656
608
  var trigger = props.trigger,
657
609
  content = props.content;
658
- var wrapperElem = $xeTooltip.$refs.refElem;
659
- if (wrapperElem) {
660
- var parentNode = wrapperElem.parentNode;
610
+ var panelElem = $xeTooltip.$refs.refElem;
611
+ if (panelElem) {
612
+ var parentNode = panelElem.parentNode;
661
613
  if (parentNode) {
662
614
  reactData.tipContent = content;
663
615
  reactData.tipZindex = (0, _utils.nextZIndex)();
664
- _xeUtils.default.arrayEach(wrapperElem.children, function (elem, index) {
616
+ _xeUtils.default.arrayEach(panelElem.children, function (elem, index) {
665
617
  if (index) {
666
- parentNode.insertBefore(elem, wrapperElem);
618
+ parentNode.insertBefore(elem, panelElem);
667
619
  if (!reactData.target) {
668
620
  reactData.target = elem;
669
621
  }
670
622
  }
671
623
  });
672
- parentNode.removeChild(wrapperElem);
624
+ parentNode.removeChild(panelElem);
673
625
  var target = reactData.target;
674
626
  if (target) {
675
627
  if (trigger === 'hover') {
@@ -690,7 +642,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
690
642
  var $xeTooltip = this;
691
643
  var reactData = $xeTooltip.reactData;
692
644
  var target = reactData.target;
693
- var wrapperElem = $xeTooltip.$refs.refElem;
645
+ var panelElem = $xeTooltip.$refs.refElem;
694
646
  if (target) {
695
647
  target.onmouseenter = null;
696
648
  target.onmouseleave = null;
@@ -700,10 +652,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
700
652
  if (contentWrapperfEl) {
701
653
  contentWrapperfEl.removeEventListener('wheel', $xeTooltip.wheelEvent);
702
654
  }
703
- if (wrapperElem) {
704
- var parentNode = wrapperElem.parentNode;
655
+ if (panelElem) {
656
+ var parentNode = panelElem.parentNode;
705
657
  if (parentNode) {
706
- parentNode.removeChild(wrapperElem);
658
+ parentNode.removeChild(panelElem);
707
659
  }
708
660
  }
709
661
  },
@@ -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"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var i;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(i="Object"===(i={}.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:i)||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(t,e):void 0}function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=Array(e);i<e;i++)n[i]=t[i];return n}function _defineProperty(t,e,i){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function _toPropertyKey(t){t=_toPrimitive(t,"string");return"symbol"==_typeof(t)?t:t+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var i=t[Symbol.toPrimitive];if(void 0===i)return("string"===e?String:Number)(t);i=i.call(t,e||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}function createReactData(){return{target:null,isUpdate:!1,visible:!1,tipPos:null,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}}function createInternalData(){return{}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTooltip",mixins:[_ui.globalMixins.sizeMixin],props:{value:Boolean,size:{type:String,default:function(){return(0,_ui.getConfig)().tooltip.size||(0,_ui.getConfig)().size}},selector:String,trigger:{type:String,default:function(){return(0,_ui.getConfig)().tooltip.trigger||"hover"}},theme:{type:String,default:function(){return(0,_ui.getConfig)().tooltip.theme||"dark"}},content:{type:[String,Number],default:null},useHtml:{type:Boolean,default:function(){return _xeUtils.default.isBoolean((0,_ui.getConfig)().tooltip.useHtml)?(0,_ui.getConfig)().tooltip.useHtml:null}},useHTML:{type:Boolean,default:function(){return(0,_ui.getConfig)().tooltip.useHTML}},zIndex:[String,Number],popupClassName:[String,Function],width:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.Width}},height:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.height}},minWidth:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.minWidth}},minHeight:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.minHeight}},maxWidth:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.maxWidth}},maxHeight:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.maxHeight}},placement:{type:String,default:function(){return(0,_ui.getConfig)().tooltip.placement}},defaultPlacement:{type:String,default:function(){return(0,_ui.getConfig)().tooltip.defaultPlacement}},isArrow:{type:Boolean,default:function(){return(0,_ui.getConfig)().tooltip.isArrow}},enterable:{type:Boolean,default:function(){return(0,_ui.getConfig)().tooltip.enterable}},enterDelay:{type:Number,default:function(){return(0,_ui.getConfig)().tooltip.enterDelay}},leaveDelay:{type:Number,default:function(){return(0,_ui.getConfig)().tooltip.leaveDelay}}},data:function(){var t=_xeUtils.default.uniqueId(),e=createReactData();return Object.assign(Object.assign({},{}),{xID:t,reactData:e})},computed:Object.assign(Object.assign({},{}),{computeWrapperStyle:function(){var t=this,e=t.width,i=t.height,n=t.minHeight,r=t.minWidth,o=t.maxHeight,t=t.maxWidth,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),i&&(a.height=(0,_dom.toCssUnit)(i)),r&&(a.minWidth=(0,_dom.toCssUnit)(r)),n&&(a.minHeight=(0,_dom.toCssUnit)(n)),t&&(a.maxWidth=(0,_dom.toCssUnit)(t)),o&&(a.maxHeight=(0,_dom.toCssUnit)(o)),a}}),methods:{dispatchEvent:function(t,e,i){this.$emit(t,(0,_ui.createEvent)(i,{$tooltip:this},e))},emitModel:function(t){var e=this._events;this.$emit("input",t),e&&e.modelValue?this.$emit("modelValue",t):this.$emit("model-value",t)},getSelectorEl:function(){var t=this.selector;if(t){if(_xeUtils.default.isElement(t))return t;if(_xeUtils.default.isString(t))return document.querySelector(t)}return null},openByEvent:function(t,e,i){var n=this.reactData;return this.handleVisible(e||n.target||this.getSelectorEl(),i,t)},open:function(t,e){var i=this.reactData;return this.handleVisible(t||i.target||this.getSelectorEl(),e)},close:function(){var t=this.reactData;return t.tipPos=null,t.tipTarget=null,t.tipActive=!1,Object.assign(t.tipStore,{style:{},placement:"",arrowStyle:null}),this.updateValue(!1),this.$nextTick()},toVisible:function(t,e){return this.handleVisible(t,e)},updatePlacement:function(){var e=this,i=e.reactData,t=i.visible,n=e.$refs.refElem;return t&&i.tipTarget&&n&&e.updateTipStyle(),e.$nextTick().then(function(){var t=i.tipTarget;if(n=e.$refs.refElem,t&&n)return e.updateTipStyle(),e.$nextTick().then(function(){e.updateTipStyle()})})},isActived:function(){return this.reactData.tipActive},setActived:function(t){this.reactData.tipActive=!!t},updateTipStyle:function(){var t,e,i,n,r,o,a=this.reactData,l=this.isArrow,u=this.placement,s=this.defaultPlacement,c=a.tipTarget,p=a.tipStore,a=a.tipPos,f="",d="",h="bottom",m="",g=this.$refs.refElem;g&&c&&(o=document.documentElement,t=document.body,e=c.offsetWidth,i=c.offsetHeight,n=g.offsetHeight,g=g.offsetWidth,c=c.getBoundingClientRect(),r=o.clientHeight||t.clientHeight,o=o.clientWidth||t.clientWidth,d=c.left,f=c.top+i,a&&(a.oLeft||a.oTop)?l?d=d+Math.max(8,Math.min(e-8,a.oLeft))-g/2:(d=a.x+1,f=a.y+1):d=c.left+(e-g)/2,"top"===u?(h="top",f=c.top-n):u||("top"===s?(h="top",(f=c.top-n)<6&&(h="bottom",f=c.top+i),r<f+n+6&&(h="top",f=c.top-n)):(r<f+n+6&&(h="top",f=c.top-n),f<6&&(h="bottom",f=c.top+i))),o<d+g+6&&(d-=d+g+6-o),(d=d<6?6:d)===c.left?e<=g&&(m=e/2):d<c.left&&(m=d+g>c.left+e?c.left-d+e/2:c.left-d+(g-(c.left-d))/2),p.placement=h,p.style.top="".concat(f,"px"),p.style.left="".concat(d,"px"),p.arrowStyle.left="".concat(m,"px"))},updateValue:function(t){var e=this.reactData;t!==e.visible&&(e.visible=t,e.isUpdate=!0,this.emitModel(t))},updateZindex:function(){var t=this.reactData;t.tipZindex<(0,_utils.getLastZIndex)()&&(t.tipZindex=(0,_utils.nextZIndex)())},clickEvent:function(){var t=this,e=t,i=t.reactData;i.visible?t.close():t.handleVisible(i.target||t.getSelectorEl(),e.content)},targetMouseenterEvent:function(){var t=this.reactData;this.handleVisible(t.target||this.getSelectorEl(),this.content)},targetMouseleaveEvent:function(){var t=this,e=t.reactData,i=t.trigger,n=t.enterable,r=t.leaveDelay;e.tipActive=!1,n&&"hover"===i?setTimeout(function(){e.tipActive||t.close()},r):t.close()},wrapperMouseenterEvent:function(){this.reactData.tipActive=!0},wrapperMouseleaveEvent:function(){var t=this,e=t.reactData,i=t.trigger,n=t.enterable,r=t.leaveDelay;e.tipActive=!1,n&&"hover"===i&&setTimeout(function(){e.tipActive||t.close()},r)},showTip:function(){var t=this,e=t,i=t.reactData,n=i.tipStore,r=t.$refs.refElem;return r&&!r.parentNode&&document.body.appendChild(r),t.updateValue(!0),t.updateZindex(),n.placement="top",n.style={width:"auto",left:0,top:0,zIndex:e.zIndex||i.tipZindex},n.arrowStyle={left:"50%"},t.updatePlacement()},handleDelayFn:function(){var t=this,e=t.reactData;t.internalData.showDelayTip=_xeUtils.default.debounce(function(){e.tipActive&&t.showTip()},t.enterDelay,{leading:!1,trailing:!0})},handleVisible:function(t,e,i){var n=this,r=n,o=n.$scopedSlots,a=n.reactData,l=n.internalData,o=o.content;if((o||""!==e&&!_xeUtils.default.eqNull(e))&&t){o=l.showDelayTip,l=r.trigger,r=r.enterDelay;if(a.tipPos=i?{x:i.clientX,y:i.clientY,oLeft:i.offsetX,oTop:i.offsetY}:null,a.tipActive=!0,a.tipTarget=t,a.tipContent=e,a.visible)return n.updatePlacement();if(!r||"hover"!==l)return n.showTip();o&&o()}return n.$nextTick()},wheelEvent:function(t){t.stopPropagation()},renderContent:function(t){var e=this.$scopedSlots,i=this.reactData,n=this.useHtml,r=this.useHTML,i=i.tipContent,o=this.computeWrapperStyle,e=e.content,a=[];return e?a.push(t("div",{key:"ct"},(0,_vn.getSlotVNs)(e({})))):(_xeUtils.default.isBoolean(n)?n:r)?a.push(t("div",{key:"ch",domProps:{innerHTML:i}})):a.push(t("span",{key:"cd"},"".concat(i))),t("div",{key:3,ref:"contentWrapperfElem",class:"vxe-tooltip--content",style:o},a)},renderVN:function(t){var e,i=this,n=i.$scopedSlots,r=i.reactData,o=i.popupClassName,a=i.isArrow,l=i.enterable,u=r.tipActive,s=r.visible,r=r.tipStore,n=n.default,c=i.computeSize;return l&&(e={mouseenter:i.wrapperMouseenterEvent,mouseleave:i.wrapperMouseleaveEvent}),t("div",{ref:"refElem",class:["vxe-tooltip--wrapper","theme--".concat(i.theme),o?_xeUtils.default.isFunction(o)?o({$tooltip:i}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"placement--".concat(r.placement),r.placement),"is--enterable",l),"is--visible",s),"is--arrow",a),"is--active",u)],style:r.style,on:e},[t("div",{key:"tby",class:"vxe-tooltip--body"},[i.renderContent(t),t("div",{class:"vxe-tooltip--arrow",style:r.arrowStyle})])].concat(_toConsumableArray(n?(0,_vn.getSlotVNs)(n({})):[])))}},watch:{content:function(t){this.reactData.tipContent=t},value:function(t){var e=this,i=e,n=e.reactData;n.isUpdate||(t?e.handleVisible(n.target||e.getSelectorEl(),i.content):e.close()),n.isUpdate=!1},enterDelay:function(){this.handleDelayFn()}},created:function(){this.internalData=createInternalData(),this.handleDelayFn()},mounted:function(){var o=this,a=o,l=o.reactData,t=o.$refs.contentWrapperfElem;t&&t.addEventListener("wheel",o.wheelEvent,{passive:!1}),o.$nextTick(function(){var i,t,e=a.trigger,n=a.content,r=o.$refs.refElem;r&&(i=r.parentNode)&&(l.tipContent=n,l.tipZindex=(0,_utils.nextZIndex)(),_xeUtils.default.arrayEach(r.children,function(t,e){e&&(i.insertBefore(t,r),l.target||(l.target=t))}),i.removeChild(r),(t=l.target)&&("hover"===e?(t.onmouseenter=o.targetMouseenterEvent,t.onmouseleave=o.targetMouseleaveEvent):"click"===e&&(t.onclick=o.clickEvent)),a.value)&&o.handleVisible(t||o.getSelectorEl(),n)})},beforeDestroy:function(){var t=this.reactData.target,e=this.$refs.refElem,t=(t&&(t.onmouseenter=null,t.onmouseleave=null,t.onclick=null),this.$refs.contentWrapperfElem);t&&t.removeEventListener("wheel",this.wheelEvent),e&&(t=e.parentNode)&&t.removeChild(e)},destroyed:function(){var t=this.reactData,e=this.internalData;_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(e,createInternalData())},render:function(t){return this.renderVN(t)}});
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"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var i;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(i="Object"===(i={}.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:i)||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(t,e):void 0}function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=Array(e);i<e;i++)n[i]=t[i];return n}function _defineProperty(t,e,i){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function _toPropertyKey(t){t=_toPrimitive(t,"string");return"symbol"==_typeof(t)?t:t+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var i=t[Symbol.toPrimitive];if(void 0===i)return("string"===e?String:Number)(t);i=i.call(t,e||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}function createReactData(){return{target:null,isUpdate:!1,visible:!1,tipPos:null,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}}function createInternalData(){return{}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTooltip",mixins:[_ui.globalMixins.sizeMixin],props:{value:Boolean,size:{type:String,default:function(){return(0,_ui.getConfig)().tooltip.size||(0,_ui.getConfig)().size}},selector:String,trigger:{type:String,default:function(){return(0,_ui.getConfig)().tooltip.trigger||"hover"}},theme:{type:String,default:function(){return(0,_ui.getConfig)().tooltip.theme||"dark"}},content:{type:[String,Number],default:null},useHtml:{type:Boolean,default:function(){return _xeUtils.default.isBoolean((0,_ui.getConfig)().tooltip.useHtml)?(0,_ui.getConfig)().tooltip.useHtml:null}},useHTML:{type:Boolean,default:function(){return(0,_ui.getConfig)().tooltip.useHTML}},zIndex:[String,Number],popupClassName:[String,Function],width:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.Width}},height:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.height}},minWidth:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.minWidth}},minHeight:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.minHeight}},maxWidth:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.maxWidth}},maxHeight:{type:[String,Number],default:function(){return(0,_ui.getConfig)().tooltip.maxHeight}},placement:{type:String,default:function(){return(0,_ui.getConfig)().tooltip.placement}},defaultPlacement:{type:String,default:function(){return(0,_ui.getConfig)().tooltip.defaultPlacement}},isArrow:{type:Boolean,default:function(){return(0,_ui.getConfig)().tooltip.isArrow}},enterable:{type:Boolean,default:function(){return(0,_ui.getConfig)().tooltip.enterable}},enterDelay:{type:Number,default:function(){return(0,_ui.getConfig)().tooltip.enterDelay}},leaveDelay:{type:Number,default:function(){return(0,_ui.getConfig)().tooltip.leaveDelay}},appendTo:{type:[String,Function],default:function(){return(0,_ui.getConfig)().tooltip.appendTo}}},data:function(){var t=_xeUtils.default.uniqueId(),e=createReactData();return Object.assign(Object.assign({},{}),{xID:t,reactData:e})},computed:Object.assign(Object.assign({},{}),{computeWrapperStyle:function(){var t=this,e=t.width,i=t.height,n=t.minHeight,r=t.minWidth,o=t.maxHeight,t=t.maxWidth,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),i&&(a.height=(0,_dom.toCssUnit)(i)),r&&(a.minWidth=(0,_dom.toCssUnit)(r)),n&&(a.minHeight=(0,_dom.toCssUnit)(n)),t&&(a.maxWidth=(0,_dom.toCssUnit)(t)),o&&(a.maxHeight=(0,_dom.toCssUnit)(o)),a}}),methods:{dispatchEvent:function(t,e,i){this.$emit(t,(0,_ui.createEvent)(i,{$tooltip:this},e))},emitModel:function(t){var e=this._events;this.$emit("input",t),e&&e.modelValue?this.$emit("modelValue",t):this.$emit("model-value",t)},getSelectorEl:function(){var t=this.selector;if(t){if(_xeUtils.default.isElement(t))return t;if(_xeUtils.default.isString(t))return document.querySelector(t)}return null},openByEvent:function(t,e,i){var n=this.reactData;return this.handleVisible(e||n.target||this.getSelectorEl(),i,t)},open:function(t,e){var i=this.reactData;return this.handleVisible(t||i.target||this.getSelectorEl(),e)},close:function(){var t=this.reactData;return t.tipPos=null,t.tipTarget=null,t.tipActive=!1,Object.assign(t.tipStore,{style:{},placement:"",arrowStyle:null}),this.updateValue(!1),this.$nextTick()},toVisible:function(t,e){return this.handleVisible(t,e)},updateTipStyle:function(){var t,e,i,n,r,o,a=this.reactData,l=this.placement,u=this.defaultPlacement,s=this.isArrow,c=a.tipTarget,p=a.tipStore,f=a.tipPos,a=a.tipZindex,d=this.$refs.refElem;c&&d&&(r=c.getBoundingClientRect(),t=c.offsetWidth,o=c.offsetHeight,e=d.offsetWidth,n=i=r.left,r=r.top+o,f&&(f.oLeft||f.oTop)?s?n=i+Math.max(8,Math.min(t-8,f.oLeft))-e/2:(n=f.x+1,r=f.y+1):n=i+(t-e)/2,o=(0,_dom.updatePanelPlacement)(c,d,{defaultTop:r,defaultLeft:n,placement:l,defaultPlacement:u,teleportTo:!0}),s=Object.assign(o.style,{zIndex:a}),p.placement=o.placement,p.style=s,p.arrowStyle.left="".concat(o.arrowLeft,"px"))},updatePlacement:function(){var t=this;return t.updateTipStyle(),t.$nextTick().then(function(){return t.updateTipStyle()})},isActived:function(){return this.reactData.tipActive},setActived:function(t){this.reactData.tipActive=!!t},updateValue:function(t){var e=this.reactData;t!==e.visible&&(e.visible=t,e.isUpdate=!0,this.emitModel(t))},updateZIndex:function(){var t=this.reactData,e=this.zIndex;e?t.tipZindex=_xeUtils.default.toNumber(e):t.tipZindex<(0,_utils.getLastZIndex)()&&(t.tipZindex=(0,_utils.nextZIndex)())},clickEvent:function(){var t=this,e=t,i=t.reactData;i.visible?t.close():t.handleVisible(i.target||t.getSelectorEl(),e.content)},targetMouseenterEvent:function(){var t=this.reactData;this.handleVisible(t.target||this.getSelectorEl(),this.content)},targetMouseleaveEvent:function(){var t=this,e=t.reactData,i=t.trigger,n=t.enterable,r=t.leaveDelay;e.tipActive=!1,n&&"hover"===i?setTimeout(function(){e.tipActive||t.close()},r):t.close()},wrapperMouseenterEvent:function(){this.reactData.tipActive=!0},wrapperMouseleaveEvent:function(){var t=this,e=t.reactData,i=t.trigger,n=t.enterable,r=t.leaveDelay;e.tipActive=!1,n&&"hover"===i&&setTimeout(function(){e.tipActive||t.close()},r)},showTip:function(){var t=this,e=t,i=t.reactData,n=e.appendTo,r=i.tipStore,o=t.$refs.refElem;return o&&!o.parentNode&&(0,_dom.getPopupAppendElement)(n).appendChild(o),t.updateValue(!0),t.updateZIndex(),r.placement="top",r.style={width:"auto",left:0,top:0,zIndex:e.zIndex||i.tipZindex},r.arrowStyle={left:"50%"},t.updatePlacement()},handleDelayFn:function(){var t=this,e=t.reactData;t.internalData.showDelayTip=_xeUtils.default.debounce(function(){e.tipActive&&t.showTip()},t.enterDelay,{leading:!1,trailing:!0})},handleVisible:function(t,e,i){var n=this,r=n,o=n.$scopedSlots,a=n.reactData,l=n.internalData,o=o.content;if((o||""!==e&&!_xeUtils.default.eqNull(e))&&t){o=l.showDelayTip,l=r.trigger,r=r.enterDelay;if(a.tipPos=i?{x:i.clientX,y:i.clientY,oLeft:i.offsetX,oTop:i.offsetY}:null,a.tipActive=!0,a.tipTarget=t,a.tipContent=e,a.visible)return n.updatePlacement();if(!r||"hover"!==l)return n.showTip();o&&o()}return n.$nextTick()},wheelEvent:function(t){t.stopPropagation()},renderContent:function(t){var e=this.$scopedSlots,i=this.reactData,n=this.useHtml,r=this.useHTML,i=i.tipContent,o=this.computeWrapperStyle,e=e.content,a=[];return e?a.push(t("div",{key:"ct"},(0,_vn.getSlotVNs)(e({})))):(_xeUtils.default.isBoolean(n)?n:r)?a.push(t("div",{key:"ch",domProps:{innerHTML:i}})):a.push(t("span",{key:"cd"},"".concat(i))),t("div",{key:3,ref:"contentWrapperfElem",class:"vxe-tooltip--content",style:o},a)},renderVN:function(t){var e,i=this,n=i.$scopedSlots,r=i.reactData,o=i.popupClassName,a=i.isArrow,l=i.enterable,u=r.tipActive,s=r.visible,r=r.tipStore,n=n.default,c=i.computeSize;return l&&(e={mouseenter:i.wrapperMouseenterEvent,mouseleave:i.wrapperMouseleaveEvent}),t("div",{ref:"refElem",class:["vxe-tooltip--wrapper","theme--".concat(i.theme),o?_xeUtils.default.isFunction(o)?o({$tooltip:i}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"placement--".concat(r.placement),r.placement),"is--enterable",l),"is--visible",s),"is--arrow",a),"is--active",u)],style:r.style,on:e},[t("div",{key:"tby",class:"vxe-tooltip--body"},[i.renderContent(t),t("div",{class:"vxe-tooltip--arrow",style:r.arrowStyle})])].concat(_toConsumableArray(n?(0,_vn.getSlotVNs)(n({})):[])))}},watch:{content:function(t){this.reactData.tipContent=t},value:function(t){var e=this,i=e,n=e.reactData;n.isUpdate||(t?e.handleVisible(n.target||e.getSelectorEl(),i.content):e.close()),n.isUpdate=!1},enterDelay:function(){this.handleDelayFn()}},created:function(){this.internalData=createInternalData(),this.handleDelayFn()},mounted:function(){var o=this,a=o,l=o.reactData,t=o.$refs.contentWrapperfElem;t&&t.addEventListener("wheel",o.wheelEvent,{passive:!1}),o.$nextTick(function(){var i,t,e=a.trigger,n=a.content,r=o.$refs.refElem;r&&(i=r.parentNode)&&(l.tipContent=n,l.tipZindex=(0,_utils.nextZIndex)(),_xeUtils.default.arrayEach(r.children,function(t,e){e&&(i.insertBefore(t,r),l.target||(l.target=t))}),i.removeChild(r),(t=l.target)&&("hover"===e?(t.onmouseenter=o.targetMouseenterEvent,t.onmouseleave=o.targetMouseleaveEvent):"click"===e&&(t.onclick=o.clickEvent)),a.value)&&o.handleVisible(t||o.getSelectorEl(),n)})},beforeDestroy:function(){var t=this.reactData.target,e=this.$refs.refElem,t=(t&&(t.onmouseenter=null,t.onmouseleave=null,t.onclick=null),this.$refs.contentWrapperfElem);t&&t.removeEventListener("wheel",this.wheelEvent),e&&(t=e.parentNode)&&t.removeChild(e)},destroyed:function(){var t=this.reactData,e=this.internalData;_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(e,createInternalData())},render:function(t){return this.renderVN(t)}});
@@ -3687,12 +3687,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3687
3687
  var props = $xeTree;
3688
3688
  var slots = $xeTree.$scopedSlots;
3689
3689
  var internalData = $xeTree.internalData;
3690
- var transform = props.transform,
3690
+ var loading = props.loading,
3691
+ transform = props.transform,
3691
3692
  emptyText = props.emptyText;
3692
3693
  var treeExpandedMaps = internalData.treeExpandedMaps;
3693
3694
  var childrenField = $xeTree.computeChildrenField;
3694
3695
  var emptySlot = slots.empty;
3695
- if (!treeList.length) {
3696
+ if (!loading && !treeList.length) {
3696
3697
  return [h('div', {
3697
3698
  class: 'vxe-tree--empty-placeholder'
3698
3699
  }, emptySlot ? emptySlot({}) : [h('div', {