vxe-pc-ui 4.20.9 → 4.20.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.esm.js +1863 -2038
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/date-panel/src/date-panel.js +58 -36
- package/es/date-panel/style.css +22 -20
- package/es/date-panel/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +74 -38
- package/es/icon-picker/style.css +9 -3
- package/es/icon-picker/style.min.css +1 -1
- package/es/list/src/list.js +8 -164
- package/es/scrollbar/src/scrollbar.js +20 -173
- package/es/select/src/select.js +243 -8
- package/es/select/style.css +44 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tooltip/src/tooltip.js +2 -4
- package/es/tooltip/style.css +2 -0
- package/es/tooltip/style.min.css +1 -1
- package/es/tree/src/tree.js +17 -172
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-date-panel/style.css +22 -20
- package/es/vxe-date-panel/style.min.css +1 -1
- package/es/vxe-icon-picker/style.css +9 -3
- package/es/vxe-icon-picker/style.min.css +1 -1
- package/es/vxe-select/style.css +44 -0
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tooltip/style.css +2 -0
- package/es/vxe-tooltip/style.min.css +1 -1
- package/lib/date-panel/src/date-panel.js +56 -34
- package/lib/date-panel/src/date-panel.min.js +1 -1
- package/lib/date-panel/style/style.css +22 -20
- package/lib/date-panel/style/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +101 -45
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/icon-picker/style/style.css +9 -3
- package/lib/icon-picker/style/style.min.css +1 -1
- package/lib/index.umd.js +813 -756
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +25 -194
- package/lib/list/src/list.min.js +1 -1
- package/lib/scrollbar/src/scrollbar.js +34 -199
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/select/src/select.js +315 -68
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +44 -0
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tooltip/src/tooltip.js +2 -4
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tooltip/style/style.css +2 -0
- package/lib/tooltip/style/style.min.css +1 -1
- package/lib/tree/src/tree.js +36 -201
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-date-panel/style/style.css +22 -20
- package/lib/vxe-date-panel/style/style.min.css +1 -1
- package/lib/vxe-icon-picker/style/style.css +9 -3
- package/lib/vxe-icon-picker/style/style.min.css +1 -1
- package/lib/vxe-select/style/style.css +44 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tooltip/style/style.css +2 -0
- package/lib/vxe-tooltip/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/date-panel/src/date-panel.ts +58 -36
- package/packages/icon-picker/src/icon-picker.ts +80 -38
- package/packages/list/src/list.ts +24 -181
- package/packages/scrollbar/src/scrollbar.ts +36 -188
- package/packages/select/src/select.ts +278 -8
- package/packages/tooltip/src/tooltip.ts +2 -4
- package/packages/tree/src/tree.ts +33 -189
- package/styles/components/date-panel.scss +31 -29
- package/styles/components/icon-picker.scss +9 -3
- package/styles/components/select.scss +77 -0
- package/styles/components/tooltip.scss +1 -0
- package/types/components/gantt-module/gantt-view.d.ts +7 -16
- package/types/components/icon-picker.d.ts +21 -1
- package/types/components/list.d.ts +4 -0
- package/types/components/scrollbar.d.ts +7 -14
- package/types/components/select.d.ts +28 -3
- package/types/components/table.d.ts +20 -18
- package/types/components/tree.d.ts +7 -16
- /package/es/icon/{iconfont.1792139440389.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/es/icon/{iconfont.1792139440389.woff → iconfont.1792219842406.woff} +0 -0
- /package/es/icon/{iconfont.1792139440389.woff2 → iconfont.1792219842406.woff2} +0 -0
- /package/es/{iconfont.1792139440389.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/es/{iconfont.1792139440389.woff → iconfont.1792219842406.woff} +0 -0
- /package/es/{iconfont.1792139440389.woff2 → iconfont.1792219842406.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1792139440389.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1792139440389.woff → iconfont.1792219842406.woff} +0 -0
- /package/lib/icon/style/{iconfont.1792139440389.woff2 → iconfont.1792219842406.woff2} +0 -0
- /package/lib/{iconfont.1792139440389.ttf → iconfont.1792219842406.ttf} +0 -0
- /package/lib/{iconfont.1792139440389.woff → iconfont.1792219842406.woff} +0 -0
- /package/lib/{iconfont.1792139440389.woff2 → iconfont.1792219842406.woff2} +0 -0
|
@@ -438,9 +438,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
438
438
|
return updateTipStyle().then(() => {
|
|
439
439
|
return updateTipStyle();
|
|
440
440
|
}).then(() => {
|
|
441
|
-
|
|
442
|
-
updateTipStyle();
|
|
443
|
-
}, 15);
|
|
441
|
+
return updateTipStyle();
|
|
444
442
|
});
|
|
445
443
|
},
|
|
446
444
|
isActived() {
|
|
@@ -574,7 +572,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
574
572
|
(0, _vue.onMounted)(() => {
|
|
575
573
|
const $scrollbar = contentScrollbar.value;
|
|
576
574
|
if ($scrollbar) {
|
|
577
|
-
const viewEl = $scrollbar.
|
|
575
|
+
const viewEl = $scrollbar.getScrollViewElem();
|
|
578
576
|
if (viewEl) {
|
|
579
577
|
viewEl.addEventListener('wheel', wheelEvent, {
|
|
580
578
|
passive: false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_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"),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{baseUtils,getConfig,createEvent,globalEvents}=_ui.VxeUI,getDefVal=baseUtils.getDefVal;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 _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTooltip",props:{modelValue:Boolean,size:{type:String,default:()=>getConfig().tooltip.size||getConfig().size},selector:[String,Element],trigger:{type:String,default:()=>getConfig().tooltip.trigger||"hover"},theme:{type:String,default:()=>getConfig().tooltip.theme||"dark"},content:{type:[String,Number],default:null},useHtml:{type:Boolean,default:()=>_xeUtils.default.isBoolean(getConfig().tooltip.useHtml)?getConfig().tooltip.useHtml:null},useHTML:{type:Boolean,default:()=>getConfig().tooltip.useHTML},zIndex:[String,Number],popupClassName:[String,Function],width:{type:[String,Number],default:()=>getConfig().tooltip.Width},height:{type:[String,Number],default:()=>getConfig().tooltip.height},minWidth:{type:[String,Number],default:()=>getConfig().tooltip.minWidth},minHeight:{type:[String,Number],default:()=>getConfig().tooltip.minHeight},maxWidth:{type:[String,Number],default:()=>getConfig().tooltip.maxWidth},maxHeight:{type:[String,Number],default:()=>getConfig().tooltip.maxHeight},placement:{type:String,default:()=>getConfig().tooltip.placement},defaultPlacement:{type:String,default:()=>getConfig().tooltip.defaultPlacement},isArrow:{type:Boolean,default:()=>getConfig().tooltip.isArrow},enterable:{type:Boolean,default:()=>getConfig().tooltip.enterable},enterDelay:{type:Number,default:()=>getConfig().tooltip.enterDelay},leaveDelay:{type:Number,default:()=>getConfig().tooltip.leaveDelay},appendTo:{type:[String,Function],default:()=>getConfig().tooltip.appendTo},useScrollbar:{type:Boolean,default:()=>getDefVal(getConfig().tooltip.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object},emits:["update:modelValue","show","hide"],setup(m,e){let{slots:p,emit:i}=e;var t=_xeUtils.default.uniqueId();let d=_ui.useFns.useSize(m).computeSize,c=_ui.useFns.useVScrollbar(m).computeIsVScrollbar,h=(0,_vue.reactive)(createReactData()),a=createInternalData(),_=(0,_vue.ref)(),v=(0,_vue.ref)(),g=(0,_vue.ref)(),f=(0,_vue.computed)(()=>{var{width:e,height:t,minHeight:l,minWidth:i,maxHeight:n,maxWidth:o}=m,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),t&&(a.height=(0,_dom.toCssUnit)(t)),i&&(a.minWidth=(0,_dom.toCssUnit)(i)),l&&(a.minHeight=(0,_dom.toCssUnit)(l)),o&&(a.maxWidth=(0,_dom.toCssUnit)(o)),n&&(a.maxHeight=(0,_dom.toCssUnit)(n)),a}),l={refElem:_},x={xID:t,props:m,context:e,reactData:h,internalData:a,getRefMaps:()=>l},r=(e,t,l)=>{i(e,createEvent(l,{$tooltip:x},t))},n=e=>{e!==h.visible&&(h.visible=e,h.isUpdate=!0,i("update:modelValue",e))},o=()=>{var e=m.zIndex;e?h.tipZindex=_xeUtils.default.toNumber(e):h.tipZindex<(0,_utils.getLastZIndex)()&&(h.tipZindex=(0,_utils.nextZIndex)())},u=()=>{h.visible?x.close():
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_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"),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{baseUtils,getConfig,createEvent,globalEvents}=_ui.VxeUI,getDefVal=baseUtils.getDefVal;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 _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTooltip",props:{modelValue:Boolean,size:{type:String,default:()=>getConfig().tooltip.size||getConfig().size},selector:[String,Element],trigger:{type:String,default:()=>getConfig().tooltip.trigger||"hover"},theme:{type:String,default:()=>getConfig().tooltip.theme||"dark"},content:{type:[String,Number],default:null},useHtml:{type:Boolean,default:()=>_xeUtils.default.isBoolean(getConfig().tooltip.useHtml)?getConfig().tooltip.useHtml:null},useHTML:{type:Boolean,default:()=>getConfig().tooltip.useHTML},zIndex:[String,Number],popupClassName:[String,Function],width:{type:[String,Number],default:()=>getConfig().tooltip.Width},height:{type:[String,Number],default:()=>getConfig().tooltip.height},minWidth:{type:[String,Number],default:()=>getConfig().tooltip.minWidth},minHeight:{type:[String,Number],default:()=>getConfig().tooltip.minHeight},maxWidth:{type:[String,Number],default:()=>getConfig().tooltip.maxWidth},maxHeight:{type:[String,Number],default:()=>getConfig().tooltip.maxHeight},placement:{type:String,default:()=>getConfig().tooltip.placement},defaultPlacement:{type:String,default:()=>getConfig().tooltip.defaultPlacement},isArrow:{type:Boolean,default:()=>getConfig().tooltip.isArrow},enterable:{type:Boolean,default:()=>getConfig().tooltip.enterable},enterDelay:{type:Number,default:()=>getConfig().tooltip.enterDelay},leaveDelay:{type:Number,default:()=>getConfig().tooltip.leaveDelay},appendTo:{type:[String,Function],default:()=>getConfig().tooltip.appendTo},useScrollbar:{type:Boolean,default:()=>getDefVal(getConfig().tooltip.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object},emits:["update:modelValue","show","hide"],setup(m,e){let{slots:p,emit:i}=e;var t=_xeUtils.default.uniqueId();let d=_ui.useFns.useSize(m).computeSize,c=_ui.useFns.useVScrollbar(m).computeIsVScrollbar,h=(0,_vue.reactive)(createReactData()),a=createInternalData(),_=(0,_vue.ref)(),v=(0,_vue.ref)(),g=(0,_vue.ref)(),f=(0,_vue.computed)(()=>{var{width:e,height:t,minHeight:l,minWidth:i,maxHeight:n,maxWidth:o}=m,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),t&&(a.height=(0,_dom.toCssUnit)(t)),i&&(a.minWidth=(0,_dom.toCssUnit)(i)),l&&(a.minHeight=(0,_dom.toCssUnit)(l)),o&&(a.maxWidth=(0,_dom.toCssUnit)(o)),n&&(a.maxHeight=(0,_dom.toCssUnit)(n)),a}),l={refElem:_},x={xID:t,props:m,context:e,reactData:h,internalData:a,getRefMaps:()=>l},r=(e,t,l)=>{i(e,createEvent(l,{$tooltip:x},t))},n=e=>{e!==h.visible&&(h.visible=e,h.isUpdate=!0,i("update:modelValue",e))},o=()=>{var e=m.zIndex;e?h.tipZindex=_xeUtils.default.toNumber(e):h.tipZindex<(0,_utils.getLastZIndex)()&&(h.tipZindex=(0,_utils.nextZIndex)())},u=()=>{h.visible?x.close():U(h.target||D(),m.content)},s=()=>{U(h.target||D(),m.content)},y=()=>{var{trigger:e,enterable:t,leaveDelay:l}=m;h.tipActive=!1,t&&"hover"===e?setTimeout(()=>{h.tipActive||x.close()},l):x.close()},b=()=>{h.tipActive=!0},C=()=>{var{trigger:e,enterable:t,leaveDelay:l}=m;h.tipActive=!1,t&&"hover"===e&&setTimeout(()=>{h.tipActive||x.close()},l)},S=()=>{var e=m.appendTo,t=h.tipStore,l=_.value;return l&&!l.parentNode&&(0,_dom.getPopupAppendElement)(e).appendChild(l),n(!0),o(),t.placement="top",t.style={width:"auto",left:0,top:0,zIndex:m.zIndex||h.tipZindex},t.arrowStyle={left:"50%"},x.updatePlacement().then(()=>x.updatePlacement())},w=()=>{a.showDelayTip=_xeUtils.default.debounce(()=>{h.tipActive&&S()},m.enterDelay,{leading:!1,trailing:!0})},U=(e,t,l)=>{var i=p.content;if((i||""!==t&&!_xeUtils.default.eqNull(t))&&e){var i=a.showDelayTip,{trigger:n,enterDelay:o}=m;if(h.tipPos=l?{x:l.clientX,y:l.clientY,oLeft:l.offsetX,oTop:l.offsetY}:null,h.tipActive=!0,h.tipTarget=e,h.tipContent=t,h.visible)return x.updatePlacement();if(!o||"hover"!==n)return e=S(),r("show",{},l||null),e;i&&i(),r("show",{},l||null)}return(0,_vue.nextTick)()},D=()=>{var e=m.selector;if(e){if(_xeUtils.default.isElement(e))return e;if(_xeUtils.default.isString(e))return document.querySelector(e)}return null},T=()=>{var{placement:l,defaultPlacement:i,appendTo:n,isArrow:o}=m,{tipTarget:a,tipStore:r,tipPos:u,tipZindex:s}=h,p=_.value;if(a&&p){var d=a.getBoundingClientRect(),c=a.offsetWidth,v=a.offsetHeight,g=p.offsetWidth,f=d.left;let e=0,t=0;u&&(u.oLeft||u.oTop)&&(e=f,t=d.top+v,o?e=e+Math.max(8,Math.min(c-8,u.oLeft))-g/2:(e=u.x+1,t=u.y+1));f=(0,_dom.updatePanelPlacement)(a,p,{defaultTop:t,defaultLeft:e,placement:l,defaultPlacement:i,appendTo:n,isMinWidth:!1,teleportTo:!0}),d=Object.assign(f.style,{zIndex:s});r.placement=f.placement,r.style=d,r.arrowStyle.left=f.arrowLeft?f.arrowLeft+"px":""}return(0,_vue.nextTick)()};t={dispatchEvent:r,openByEvent(e,t,l){return U(t||h.target||D(),l,e)},open(e,t){return U(e||h.target||D(),t)},close(){return h.tipPos=null,h.tipTarget=null,h.tipActive=!1,Object.assign(h.tipStore,{style:{},placement:"",arrowStyle:null}),n(!1),r("hide",{},null),(0,_vue.nextTick)()},toVisible(e,t){return U(e,t)},updatePlacement(){return T().then(()=>T()).then(()=>T())},isActived(){return h.tipActive},setActived(e){h.tipActive=!!e}};let N=e=>{e.stopPropagation()},E=()=>{h.visible&&x.updatePlacement()},V=()=>{x.close()};e={handleCloseEvent:y};Object.assign(x,t,e);return(0,_vue.watch)(()=>m.enterDelay,()=>{w()}),(0,_vue.watch)(()=>m.content,e=>{h.tipContent=e}),(0,_vue.watch)(()=>m.modelValue,e=>{h.isUpdate||(e?U(h.target||D(),m.content):x.close()),h.isUpdate=!1}),w(),(0,_vue.onMounted)(()=>{var e=v.value,e=(e&&(e=e.getScrollViewElem())&&(e.addEventListener("wheel",N,{passive:!1}),a.scrollbarViewEl=e),g.value);e&&e.addEventListener("wheel",N,{passive:!1}),(0,_vue.nextTick)(()=>{var e,{trigger:t,content:i}=m;let n=_.value;if(n){let l=n.parentNode;l&&(h.tipContent=i,h.tipZindex=(0,_utils.nextZIndex)(),_xeUtils.default.arrayEach(n.children,(e,t)=>{t&&(l.insertBefore(e,n),h.target||(h.target=e))}),l.removeChild(n),e=h.target,e&&("hover"===t?(e.onmouseenter=s,e.onmouseleave=y):"click"===t&&(e.onclick=u)),m.modelValue)&&U(e||D(),i)}}),globalEvents.on(x,"blur",V),globalEvents.on(x,"scroll",E)}),(0,_vue.onBeforeUnmount)(()=>{var e=h.target,t=a.scrollbarViewEl,l=_.value,e=(e&&(e.onmouseenter=null,e.onmouseleave=null,e.onclick=null),g.value);e&&e.removeEventListener("wheel",N),t&&t.removeEventListener("wheel",N),l&&(e=l.parentNode)&&e.removeChild(l),globalEvents.off(x,"blur"),globalEvents.off(x,"scroll"),_xeUtils.default.assign(h,createReactData()),_xeUtils.default.assign(a,createInternalData())}),x.renderVN=()=>{var{popupClassName:e,theme:t,isArrow:l,enterable:i}=m,{tipActive:n,visible:o,tipStore:a}=h,r=p.default,u=d.value;let s;return i&&(s={onMouseenter:b,onMouseleave:C}),(0,_vue.h)("div",Object.assign({ref:_,class:["vxe-tooltip--wrapper","theme--"+t,e?_xeUtils.default.isFunction(e)?e({$tooltip:x}):e:"",{["size--"+u]:u,["placement--"+a.placement]:a.placement,"is--enterable":i,"is--visible":o,"is--arrow":l,"is--active":n}],style:a.style},s),[(0,_vue.h)("div",{key:"tby",class:"vxe-tooltip--body"},[(()=>{var{theme:e,useHtml:t,useHTML:l}=m,i=h.tipContent,n=c.value,o=f.value,a=p.content;let r=[];return a?r.push((0,_vue.h)("div",{key:"ct"},(0,_vn.getSlotVNs)(a({})))):(_xeUtils.default.isBoolean(t)?t:l)?r.push((0,_vue.h)("div",{key:"ch",innerHTML:i})):r.push((0,_vue.h)("span",{key:"cd"},""+i)),n?(0,_vue.h)(_scrollbar.default,{key:5,ref:v,class:"vxe-tooltip--scrollbar-content",theme:e,viewClassName:"vxe-tooltip--scrollbar-content-view",viewInnerClassName:"vxe-tooltip--scrollbar-content-inner",viewStyle:o},{default:()=>r}):(0,_vue.h)("div",{key:3,ref:g,class:"vxe-tooltip--content",style:o},r)})(),(0,_vue.h)("div",{class:"vxe-tooltip--arrow",style:a.arrowStyle})]),...r?(0,_vn.getSlotVNs)(r({})):[]])},x},render(){return this.renderVN()}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-tooltip--wrapper{display:none;position:absolute;top:-100%;left:-100%;font-size:12px;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);pointer-events:none}.vxe-tooltip--wrapper.is--visible{display:inline-block}.vxe-tooltip--wrapper.is--arrow .vxe-tooltip--arrow{display:block}.vxe-tooltip--wrapper.is--enterable:after{content:"";position:absolute;left:0;width:100%;height:6px;background-color:transparent}.vxe-tooltip--wrapper.is--enterable .vxe-tooltip--body{pointer-events:all}.vxe-tooltip--wrapper .vxe-tooltip--content,.vxe-tooltip--wrapper .vxe-tooltip--scrollbar-content-view{padding:8px 12px;max-width:600px;max-height:800px;white-space:pre-line;border-radius:var(--vxe-ui-base-border-radius);overflow:auto}.vxe-tooltip--wrapper .vxe-tooltip--arrow{display:none;position:absolute;border-color:transparent;border-width:6px;border-style:solid;left:50%;transform:translateX(-6px)}.vxe-tooltip--wrapper .vxe-tooltip--arrow:before{content:"";position:absolute;border-color:transparent;border-width:5px;border-style:solid;left:-5px}.vxe-tooltip--wrapper.placement--top.is--arrow{padding-bottom:6px}.vxe-tooltip--wrapper.placement--top.is--enterable:after{bottom:-6px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow{bottom:-11px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow:before{top:-7px}.vxe-tooltip--wrapper.placement--bottom.is--arrow{padding-top:6px}.vxe-tooltip--wrapper.placement--bottom.is--enterable:after{top:-6px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow{top:-11px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow:before{top:-3px}.vxe-tooltip--body{position:relative;border-radius:var(--vxe-ui-base-border-radius);white-space:normal;word-break:break-word;box-shadow:2px 2px 4px -2px rgba(0,0,0,.2)}.vxe-tooltip--wrapper.theme--light .vxe-tooltip--body{background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--dark .vxe-tooltip--body{background:var(--vxe-ui-tooltip-dark-background-color);color:var(--vxe-ui-tooltip-dark-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}
|
|
1
|
+
.vxe-tooltip--wrapper{display:none;position:absolute;top:-100%;left:-100%;font-size:12px;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);pointer-events:none}.vxe-tooltip--wrapper.is--visible{display:inline-block}.vxe-tooltip--wrapper.is--arrow .vxe-tooltip--arrow{display:block}.vxe-tooltip--wrapper.is--enterable:after{content:"";position:absolute;left:0;width:100%;height:6px;background-color:transparent}.vxe-tooltip--wrapper.is--enterable .vxe-tooltip--body{pointer-events:all}.vxe-tooltip--wrapper .vxe-tooltip--content,.vxe-tooltip--wrapper .vxe-tooltip--scrollbar-content-view{padding:8px 12px;width:-moz-max-content;width:max-content;max-width:600px;max-height:800px;white-space:pre-line;border-radius:var(--vxe-ui-base-border-radius);overflow:auto}.vxe-tooltip--wrapper .vxe-tooltip--arrow{display:none;position:absolute;border-color:transparent;border-width:6px;border-style:solid;left:50%;transform:translateX(-6px)}.vxe-tooltip--wrapper .vxe-tooltip--arrow:before{content:"";position:absolute;border-color:transparent;border-width:5px;border-style:solid;left:-5px}.vxe-tooltip--wrapper.placement--top.is--arrow{padding-bottom:6px}.vxe-tooltip--wrapper.placement--top.is--enterable:after{bottom:-6px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow{bottom:-11px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow:before{top:-7px}.vxe-tooltip--wrapper.placement--bottom.is--arrow{padding-top:6px}.vxe-tooltip--wrapper.placement--bottom.is--enterable:after{top:-6px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow{top:-11px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow:before{top:-3px}.vxe-tooltip--body{position:relative;border-radius:var(--vxe-ui-base-border-radius);white-space:normal;word-break:break-word;box-shadow:2px 2px 4px -2px rgba(0,0,0,.2)}.vxe-tooltip--wrapper.theme--light .vxe-tooltip--body{background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--dark .vxe-tooltip--body{background:var(--vxe-ui-tooltip-dark-background-color);color:var(--vxe-ui-tooltip-dark-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}
|
package/lib/tree/src/tree.js
CHANGED
|
@@ -24,17 +24,14 @@ const {
|
|
|
24
24
|
} = (0, _log.createComponentLog)('tree');
|
|
25
25
|
const {
|
|
26
26
|
menus,
|
|
27
|
-
scrollbarUtils,
|
|
28
27
|
getConfig,
|
|
29
28
|
getI18n,
|
|
30
|
-
getIcon
|
|
29
|
+
getIcon,
|
|
30
|
+
baseUtils
|
|
31
31
|
} = _ui.VxeUI;
|
|
32
32
|
const {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
getScrollFromClick,
|
|
36
|
-
getScrollFromDrag
|
|
37
|
-
} = scrollbarUtils;
|
|
33
|
+
getDefVal
|
|
34
|
+
} = baseUtils;
|
|
38
35
|
/**
|
|
39
36
|
* 生成节点的唯一主键
|
|
40
37
|
*/
|
|
@@ -239,7 +236,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
239
236
|
virtualYConfig: Object,
|
|
240
237
|
useScrollbar: {
|
|
241
238
|
type: Boolean,
|
|
242
|
-
default: () => (
|
|
239
|
+
default: () => getDefVal(getConfig().tree.useScrollbar, getConfig().useScrollbar)
|
|
243
240
|
},
|
|
244
241
|
scrollbarConfig: Object
|
|
245
242
|
},
|
|
@@ -250,28 +247,24 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
250
247
|
slots
|
|
251
248
|
} = context;
|
|
252
249
|
const xID = _xeUtils.default.uniqueId();
|
|
253
|
-
const {
|
|
254
|
-
computeSize
|
|
255
|
-
} = _ui.useFns.useSize(props);
|
|
256
|
-
const {
|
|
257
|
-
computeIsVScrollbar
|
|
258
|
-
} = _ui.useFns.useVScrollbar(props);
|
|
259
250
|
const refElem = (0, _vue.ref)();
|
|
260
251
|
const refHeaderWrapperElem = (0, _vue.ref)();
|
|
261
252
|
const refFooterWrapperElem = (0, _vue.ref)();
|
|
262
253
|
const refVirtualWrapper = (0, _vue.ref)();
|
|
263
254
|
const refVirtualSpaceElem = (0, _vue.ref)();
|
|
264
255
|
const refVirtualBody = (0, _vue.ref)();
|
|
265
|
-
const refTrackXElem = (0, _vue.ref)();
|
|
266
|
-
const refTrackYElem = (0, _vue.ref)();
|
|
267
|
-
const refThumbXElem = (0, _vue.ref)();
|
|
268
|
-
const refThumbYElem = (0, _vue.ref)();
|
|
269
256
|
const refDragNodeLineElem = (0, _vue.ref)();
|
|
270
257
|
const refDragTipElem = (0, _vue.ref)();
|
|
271
258
|
const refTooltip = (0, _vue.ref)();
|
|
272
259
|
const crossTreeDragNodeInfo = (0, _store.getCrossTreeDragNodeInfo)();
|
|
273
260
|
const internalData = createInternalData();
|
|
274
261
|
const reactData = (0, _vue.reactive)(createReactData());
|
|
262
|
+
const {
|
|
263
|
+
computeSize
|
|
264
|
+
} = _ui.useFns.useSize(props);
|
|
265
|
+
const {
|
|
266
|
+
computeIsVScrollbar
|
|
267
|
+
} = _ui.useFns.useVScrollbar(props);
|
|
275
268
|
const refMaps = {
|
|
276
269
|
refElem
|
|
277
270
|
};
|
|
@@ -414,32 +407,32 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
414
407
|
const computeScrollXHeight = (0, _vue.computed)(() => {
|
|
415
408
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
416
409
|
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
417
|
-
return (
|
|
410
|
+
return getDefVal(getDefVal(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
|
|
418
411
|
});
|
|
419
412
|
const computeScrollYWidth = (0, _vue.computed)(() => {
|
|
420
413
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
421
414
|
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
422
|
-
return (
|
|
415
|
+
return getDefVal(getDefVal(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
|
|
423
416
|
});
|
|
424
417
|
const computeScrollXVisible = (0, _vue.computed)(() => {
|
|
425
418
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
426
419
|
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
427
|
-
return (
|
|
420
|
+
return getDefVal(scrollbarXOpts.visible, scrollbarOpts.visible);
|
|
428
421
|
});
|
|
429
422
|
const computeScrollYVisible = (0, _vue.computed)(() => {
|
|
430
423
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
431
424
|
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
432
|
-
return (
|
|
425
|
+
return getDefVal(scrollbarYOpts.visible, scrollbarOpts.visible);
|
|
433
426
|
});
|
|
434
427
|
const computeScrollXAutoHide = (0, _vue.computed)(() => {
|
|
435
428
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
436
429
|
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
437
|
-
return (
|
|
430
|
+
return getDefVal(getDefVal(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
438
431
|
});
|
|
439
432
|
const computeScrollYAutoHide = (0, _vue.computed)(() => {
|
|
440
433
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
441
434
|
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
442
|
-
return (
|
|
435
|
+
return getDefVal(getDefVal(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
443
436
|
});
|
|
444
437
|
const computeScrollbarWrapperClss = (0, _vue.computed)(() => {
|
|
445
438
|
const {
|
|
@@ -482,6 +475,21 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
482
475
|
getRefMaps: () => refMaps,
|
|
483
476
|
getComputeMaps: () => computeMaps
|
|
484
477
|
};
|
|
478
|
+
const {
|
|
479
|
+
refTrackXElem,
|
|
480
|
+
refTrackYElem,
|
|
481
|
+
refThumbXElem,
|
|
482
|
+
refThumbYElem,
|
|
483
|
+
updateThumbSize,
|
|
484
|
+
updateThumbOffset,
|
|
485
|
+
clickTrackXEvent,
|
|
486
|
+
clickTrackYEvent,
|
|
487
|
+
pointerdownThumbXEvent,
|
|
488
|
+
pointermoveThumbXEvent,
|
|
489
|
+
cleatPointerThumbEvent,
|
|
490
|
+
pointerdownThumbYEvent,
|
|
491
|
+
pointermoveThumbYEvent
|
|
492
|
+
} = _ui.useFns.useInitVScrollbar($xeTree);
|
|
485
493
|
const getNodeId = node => {
|
|
486
494
|
if (!node) {
|
|
487
495
|
return '';
|
|
@@ -2031,6 +2039,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2031
2039
|
};
|
|
2032
2040
|
const treeMethods = {
|
|
2033
2041
|
dispatchEvent,
|
|
2042
|
+
getScrollViewElem() {
|
|
2043
|
+
const viewEl = refVirtualWrapper.value;
|
|
2044
|
+
return viewEl || null;
|
|
2045
|
+
},
|
|
2034
2046
|
getNodeId,
|
|
2035
2047
|
getNodeById(nodeid) {
|
|
2036
2048
|
const {
|
|
@@ -3494,183 +3506,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
3494
3506
|
}
|
|
3495
3507
|
}
|
|
3496
3508
|
};
|
|
3497
|
-
const updateThumbSize = () => {
|
|
3498
|
-
const viewEl = refVirtualWrapper.value;
|
|
3499
|
-
if (!viewEl) {
|
|
3500
|
-
return;
|
|
3501
|
-
}
|
|
3502
|
-
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
3503
|
-
return;
|
|
3504
|
-
}
|
|
3505
|
-
const trackXEl = refTrackXElem.value;
|
|
3506
|
-
const xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
3507
|
-
const thumbXElem = refThumbXElem.value;
|
|
3508
|
-
if (thumbXElem) {
|
|
3509
|
-
thumbXElem.style.width = xThumbWidth + 'px';
|
|
3510
|
-
}
|
|
3511
|
-
reactData.xThumbWidth = xThumbWidth;
|
|
3512
|
-
const trackYEl = refTrackYElem.value;
|
|
3513
|
-
const yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
3514
|
-
const thumbYElem = refThumbYElem.value;
|
|
3515
|
-
if (thumbYElem) {
|
|
3516
|
-
thumbYElem.style.height = yThumbHeight + 'px';
|
|
3517
|
-
}
|
|
3518
|
-
reactData.yThumbHeight = yThumbHeight;
|
|
3519
|
-
};
|
|
3520
|
-
const updateThumbOffset = () => {
|
|
3521
|
-
const viewEl = refVirtualWrapper.value;
|
|
3522
|
-
if (!viewEl) {
|
|
3523
|
-
return;
|
|
3524
|
-
}
|
|
3525
|
-
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
3526
|
-
return;
|
|
3527
|
-
}
|
|
3528
|
-
const {
|
|
3529
|
-
xThumbWidth,
|
|
3530
|
-
yThumbHeight
|
|
3531
|
-
} = reactData;
|
|
3532
|
-
const trackXEl = refTrackXElem.value;
|
|
3533
|
-
const thumbXElem = refThumbXElem.value;
|
|
3534
|
-
const xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
3535
|
-
internalData.xThumbLeft = xThumbLeft;
|
|
3536
|
-
if (thumbXElem && xThumbWidth) {
|
|
3537
|
-
thumbXElem.style.width = xThumbWidth + 'px';
|
|
3538
|
-
thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
|
|
3539
|
-
}
|
|
3540
|
-
const trackYEl = refTrackYElem.value;
|
|
3541
|
-
const thumbYElem = refThumbYElem.value;
|
|
3542
|
-
const yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
3543
|
-
internalData.yThumbTop = yThumbTop;
|
|
3544
|
-
if (thumbYElem && yThumbHeight) {
|
|
3545
|
-
thumbYElem.style.height = yThumbHeight + 'px';
|
|
3546
|
-
thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
|
|
3547
|
-
}
|
|
3548
|
-
};
|
|
3549
|
-
const clickTrackXEvent = evnt => {
|
|
3550
|
-
const trackEl = evnt.currentTarget;
|
|
3551
|
-
if (trackEl !== evnt.target) {
|
|
3552
|
-
return;
|
|
3553
|
-
}
|
|
3554
|
-
const viewEl = refVirtualWrapper.value;
|
|
3555
|
-
if (!viewEl) {
|
|
3556
|
-
return;
|
|
3557
|
-
}
|
|
3558
|
-
const {
|
|
3559
|
-
xThumbWidth
|
|
3560
|
-
} = reactData;
|
|
3561
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3562
|
-
viewEl.scrollTo({
|
|
3563
|
-
left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
3564
|
-
behavior: 'auto'
|
|
3565
|
-
});
|
|
3566
|
-
};
|
|
3567
|
-
const clickTrackYEvent = evnt => {
|
|
3568
|
-
const trackEl = evnt.currentTarget;
|
|
3569
|
-
if (trackEl !== evnt.target) {
|
|
3570
|
-
return;
|
|
3571
|
-
}
|
|
3572
|
-
const viewEl = refVirtualWrapper.value;
|
|
3573
|
-
if (!viewEl) {
|
|
3574
|
-
return;
|
|
3575
|
-
}
|
|
3576
|
-
const {
|
|
3577
|
-
yThumbHeight
|
|
3578
|
-
} = reactData;
|
|
3579
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3580
|
-
viewEl.scrollTo({
|
|
3581
|
-
top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
3582
|
-
behavior: 'auto'
|
|
3583
|
-
});
|
|
3584
|
-
};
|
|
3585
|
-
const pointerdownThumbXEvent = evnt => {
|
|
3586
|
-
const thumbEl = evnt.currentTarget;
|
|
3587
|
-
internalData.isThumbDrag = true;
|
|
3588
|
-
thumbEl.setPointerCapture(evnt.pointerId);
|
|
3589
|
-
const viewEl = refVirtualWrapper.value;
|
|
3590
|
-
if (!viewEl) {
|
|
3591
|
-
return;
|
|
3592
|
-
}
|
|
3593
|
-
const {
|
|
3594
|
-
xThumbWidth
|
|
3595
|
-
} = reactData;
|
|
3596
|
-
const trackEl = thumbEl.parentElement;
|
|
3597
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3598
|
-
const pointerPosition = evnt.clientX - trackRect.left;
|
|
3599
|
-
// 记录 thumb 的偏移
|
|
3600
|
-
const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
3601
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
3602
|
-
};
|
|
3603
|
-
const pointermoveThumbXEvent = evnt => {
|
|
3604
|
-
const thumbEl = evnt.currentTarget;
|
|
3605
|
-
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
3606
|
-
return;
|
|
3607
|
-
}
|
|
3608
|
-
const {
|
|
3609
|
-
isThumbDrag,
|
|
3610
|
-
thumbDragOffset
|
|
3611
|
-
} = internalData;
|
|
3612
|
-
if (isThumbDrag) {
|
|
3613
|
-
const viewEl = refVirtualWrapper.value;
|
|
3614
|
-
if (!viewEl) {
|
|
3615
|
-
return;
|
|
3616
|
-
}
|
|
3617
|
-
const {
|
|
3618
|
-
xThumbWidth
|
|
3619
|
-
} = reactData;
|
|
3620
|
-
const thumbEl = evnt.currentTarget;
|
|
3621
|
-
const trackEl = thumbEl.parentElement;
|
|
3622
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3623
|
-
// 更新偏移
|
|
3624
|
-
viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
3625
|
-
}
|
|
3626
|
-
};
|
|
3627
|
-
const cleatPointerThumbEvent = evnt => {
|
|
3628
|
-
const thumbEl = evnt.currentTarget;
|
|
3629
|
-
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
3630
|
-
internalData.isThumbDrag = false;
|
|
3631
|
-
};
|
|
3632
|
-
const pointerdownThumbYEvent = evnt => {
|
|
3633
|
-
const thumbEl = evnt.currentTarget;
|
|
3634
|
-
internalData.isThumbDrag = true;
|
|
3635
|
-
thumbEl.setPointerCapture(evnt.pointerId);
|
|
3636
|
-
const viewEl = refVirtualWrapper.value;
|
|
3637
|
-
if (!viewEl) {
|
|
3638
|
-
return;
|
|
3639
|
-
}
|
|
3640
|
-
const {
|
|
3641
|
-
yThumbHeight
|
|
3642
|
-
} = reactData;
|
|
3643
|
-
const trackEl = thumbEl.parentElement;
|
|
3644
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3645
|
-
const pointerPosition = evnt.clientY - trackRect.top;
|
|
3646
|
-
// 记录 thumb 的偏移
|
|
3647
|
-
const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
3648
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
3649
|
-
};
|
|
3650
|
-
const pointermoveThumbYEvent = evnt => {
|
|
3651
|
-
const thumbEl = evnt.currentTarget;
|
|
3652
|
-
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
3653
|
-
return;
|
|
3654
|
-
}
|
|
3655
|
-
const {
|
|
3656
|
-
isThumbDrag,
|
|
3657
|
-
thumbDragOffset
|
|
3658
|
-
} = internalData;
|
|
3659
|
-
if (isThumbDrag) {
|
|
3660
|
-
const viewEl = refVirtualWrapper.value;
|
|
3661
|
-
if (!viewEl) {
|
|
3662
|
-
return;
|
|
3663
|
-
}
|
|
3664
|
-
const {
|
|
3665
|
-
yThumbHeight
|
|
3666
|
-
} = reactData;
|
|
3667
|
-
const thumbEl = evnt.currentTarget;
|
|
3668
|
-
const trackEl = thumbEl.parentElement;
|
|
3669
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3670
|
-
// 更新偏移
|
|
3671
|
-
viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
3672
|
-
}
|
|
3673
|
-
};
|
|
3674
3509
|
Object.assign($xeTree, treeMethods, treePrivateMethods);
|
|
3675
3510
|
const renderDragIcon = (node, nodeid) => {
|
|
3676
3511
|
const {
|