1 line
4.8 KiB
Java
1 line
4.8 KiB
Java
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils/methods/xe-utils")),_conf=_interopRequireDefault(require("../../conf")),_tools=require("../../tools");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var _default2={name:"VxeTooltip",props:{value:Boolean,size:{type:String,default:function(){return _conf.default.tooltip.size||_conf.default.size}},trigger:{type:String,default:function(){return _conf.default.tooltip.trigger}},theme:{type:String,default:function(){return _conf.default.tooltip.theme}},content:[String,Function],zIndex:[String,Number],isArrow:{type:Boolean,default:!0},enterable:Boolean,leaveDelay:{type:Number,default:_conf.default.tooltip.leaveDelay}},data:function(){return{isUpdate:!1,isHover:!1,visible:!1,message:"",tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:null}}},computed:{vSize:function(){return this.size||this.$parent.size||this.$parent.vSize}},watch:{content:function(e){this.message=e},value:function(e){this.isUpdate||this[e?"show":"close"](),this.isUpdate=!1}},mounted:function(){var i,o=this.$el,e=this.trigger,t=this.content,s=this.value,n=o.parentNode;this.message=t,this.tipZindex=_tools.UtilTools.nextZIndex(),_xeUtils.default.arrayEach(o.children,function(e,t){1<t&&(n.insertBefore(e,o),i||(i=e))}),n.removeChild(o),(this.target=i)&&("hover"===e?(i.onmouseleave=this.targetMouseleaveEvent,i.onmouseenter=this.targetMouseenterEvent):"click"===e&&(i.onclick=this.clickEvent)),s&&this.show()},beforeDestroy:function(){var e=this.$el,t=this.target,i=this.trigger,o=e.parentNode;o&&o.removeChild(e),t&&("hover"===i?(t.onmouseenter=null,t.onmouseleave=null):"click"===i&&(t.onclick=null))},render:function(e){var t,i,o=this.vSize,s=this.theme,n=this.message,r=this.isHover,l=this.isArrow,a=this.visible,u=this.tipStore,c=this.enterable;return c&&(i={mouseenter:this.wrapperMouseenterEvent,mouseleave:this.wrapperMouseleaveEvent}),e("div",{class:["vxe-table--tooltip-wrapper","theme--".concat(s),"placement--".concat(u.placement),(t={},_defineProperty(t,"size--".concat(o),o),_defineProperty(t,"is--enterable",c),_defineProperty(t,"is--visible",a),_defineProperty(t,"is--arrow",l),_defineProperty(t,"is--hover",r),t)],style:u.style,ref:"tipWrapper",on:i},[e("div",{class:"vxe-table--tooltip-content"},this.$slots.content||n),e("div",{class:"vxe-table--tooltip-arrow",style:u.arrowStyle})].concat(this.$slots.default))},methods:{show:function(){return this.toVisible(this.target)},close:function(){return this.tipTarget=null,Object.assign(this.tipStore,{style:{},placement:"",arrowStyle:null}),this.update(!1),this.$nextTick()},update:function(e){e!==this.visible&&(this.visible=e,this.isUpdate=!0,this.$listeners.input&&this.$emit("input",this.visible))},updateZindex:function(){this.tipZindex<_tools.UtilTools.getLastZIndex()&&(this.tipZindex=_tools.UtilTools.nextZIndex())},toVisible:function(e,t){if(this.targetActive=!0,e){var i=this.$el,o=this.tipStore,s=i.parentNode;return o.placement="top",o.style={width:"auto"},o.arrowStyle={left:"50%"},s||document.body.appendChild(i),t&&(this.message=t),this.tipTarget=e,this.update(!0),this.updateZindex(),this.updatePlacement()}return this.$nextTick()},updatePlacement:function(){var d=this;return this.$nextTick().then(function(){var i=d.$el,o=d.tipTarget,s=d.tipStore,e=d.zIndex;if(o&&i){var t=_tools.DomTools.getDomNode(),n=t.scrollTop,r=t.scrollLeft,l=t.visibleWidth,a=_tools.DomTools.getAbsolutePos(o),u=a.top,c=a.left,h=c,p=i.offsetHeight,f=i.offsetWidth;return h=c+Math.floor((o.offsetWidth-f)/2),s.style={zIndex:e||d.tipZindex,top:"".concat(u-p-6,"px"),left:"".concat(h,"px")},d.$nextTick().then(function(){var e=i.offsetHeight,t=i.offsetWidth;Object.assign(s.style,{top:"".concat(u-e-6,"px"),left:"".concat(h,"px")}),u-e<n+6&&(s.placement="bottom",s.style.top="".concat(u+o.offsetHeight+6,"px")),h<r+6?(h=r+6,s.arrowStyle.left="".concat(h+16<c?c-h+16:16,"px"),s.style.left="".concat(h,"px")):r+l<h+t&&(h=r+l-t-6,s.arrowStyle.left="".concat(t-Math.max(Math.floor((h+t-c)/2),22),"px"),s.style.left="".concat(h,"px"))})}})},clickEvent:function(){this[this.visible?"close":"show"]()},targetMouseenterEvent:function(){this.show()},targetMouseleaveEvent:function(){var e=this,t=this.trigger,i=this.enterable,o=this.leaveDelay;this.targetActive=!1,i&&"hover"===t?setTimeout(function(){e.isHover||e.close()},o):this.close()},wrapperMouseenterEvent:function(){this.isHover=!0},wrapperMouseleaveEvent:function(e){var t=this,i=this.$listeners,o=this.trigger,s=this.enterable,n=this.leaveDelay;this.isHover=!1,i.leave?this.$emit("leave",{$event:e}):s&&"hover"===o&&setTimeout(function(){t.targetActive||t.close()},n)}}};exports.default=_default2; |