UNPKG

vxe-table

Version:

A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.

1 lines • 6.92 kB
Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.checkTargetElement=checkTargetElement,exports.getAbsolutePos=getAbsolutePos,exports.getDomNode=getDomNode,exports.getEventTargetNode=getEventTargetNode,exports.getOffsetHeight=getOffsetHeight,exports.getOffsetPos=getOffsetPos,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.getPopupAppendElement=getPopupAppendElement,exports.getPopupContainer=getPopupContainer,exports.getPopupWrapperElement=getPopupWrapperElement,exports.getPropClass=getPropClass,exports.getTpImg=getTpImg,exports.hasAxternalInputTarget=hasAxternalInputTarget,exports.hasClass=hasClass,exports.hasControlKey=hasControlKey,exports.hasEventInputTarget=hasEventInputTarget,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.queryElement=queryElement,exports.removeClass=removeClass,exports.scrollToView=scrollToView,exports.scrollTopTo=scrollTopTo,exports.setScrollLeft=setScrollLeft,exports.setScrollTop=setScrollTop,exports.toCssUnit=toCssUnit,exports.triggerEvent=triggerEvent,exports.updateCellTitle=updateCellTitle,exports.updatePanelPlacement=updatePanelPlacement,exports.wheelScrollLeftTo=wheelScrollLeftTo,exports.wheelScrollTopTo=wheelScrollTopTo;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let reClsMap={},tpImgEl;function initTpImg(){return tpImgEl||((tpImgEl=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),tpImgEl}function getTpImg(){return tpImgEl||initTpImg()}function getPropClass(e,t){return e&&(_xeUtils.default.isFunction(e)?e(t):e)||""}function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp(`(?:^|\\s)${e}(?!\\S)`,"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var n=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,n&&n!==document.documentElement&&n!==document.body&&(o.top-=n.scrollTop,o.left-=n.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isPx(e){return e&&/^\d+(\.\d+)?(px)?$/.test(e)}function isScale(e){return e&&/^\d+(\.\d+)?%$/.test(e)}function hasClass(e,t){return!!e&&(e.classList?e.classList.contains(t):!!(e.className&&e.className.match&&e.className.match(getClsRE(t))))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function addClass(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className=e.className+" "+t)}function hasControlKey(e){return e.ctrlKey||e.metaKey}function toCssUnit(e,t="px"){return _xeUtils.default.isNumber(e)||/^\d+$/.test(""+e)?""+e+t:""+(e||"")}function queryElement(e,t){return e?e.querySelector(t):null}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getOffsetHeight(e){return e?e.offsetHeight:0}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function setScrollTop(e,t){e&&(e.scrollTop=t)}function setScrollLeft(e,t){e&&(e.scrollLeft=t)}function updateCellTitle(e,t){t="html"===t.type?e.innerText:e.textContent;e.getAttribute("title")!==t&&e.setAttribute("title",t)}function checkTargetElement(e,t,o){let n=e;if(t&&t.length)for(var[l,r,s]=t;n;){if(l===n||r&&n===r||s&&n===s)return!0;if(o&&n===o)return!1;n=n.parentElement}return!1}function getEventTargetNode(e,t,o,n){let l,r=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;for(;r&&r.nodeType&&r!==document;){if(o&&hasClass(r,o)&&(!n||n(r)))l=r;else if(r===t)return{flag:!o||!!l,container:t,targetElem:l};r=r.parentNode}return{flag:!1}}function getOffsetPos(e,t){return getNodeOffset(e,t,{left:0,top:0})}function getAbsolutePos(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,{scrollTop:o,scrollLeft:n,visibleHeight:l,visibleWidth:r}=getDomNode();return{boundingTop:t,top:o+t,boundingLeft:e,left:n+e,visibleHeight:l,visibleWidth:r}}function hasEventInputTarget(e){e=e?e.tagName:"";return e&&["input","textarea"].includes(e.toLowerCase())}function hasReusekeepControl(e){return!!e&&hasClass(e,"vxe-reusekeep-control")}function hasAxternalInputTarget(e){return!!hasEventInputTarget(e)&&!hasReusekeepControl(e)}let scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(e){e&&(e[scrollIntoViewIfNeeded]?e[scrollIntoViewIfNeeded]():e[scrollIntoView]&&e[scrollIntoView]())}function triggerEvent(e,t){e&&e.dispatchEvent(new Event(t))}function isNodeElement(e){return e&&1===e.nodeType}function scrollTopTo(o,n){let l=Math.abs(o),r=performance.now(),s=0,i=e=>{let t=(e-r)/l;t<0?t=0:1<t&&(t=1);e=Math.pow(t,2),e=Math.floor(o*e)-s;s+=e,n(e),t<1&&requestAnimationFrame(i)};requestAnimationFrame(i)}let wtlFrame;function wheelScrollLeftTo(e,t){wtlFrame&&cancelAnimationFrame(wtlFrame),wtlFrame=requestAnimationFrame(()=>{t(e),wtlFrame=null})}let wtaFrame;function wheelScrollTopTo(e,t){wtaFrame&&cancelAnimationFrame(wtaFrame),wtaFrame=requestAnimationFrame(()=>{t(e),wtaFrame=null})}function updatePanelPlacement(e,t,o){var{defaultTop:o,defaultLeft:n,placement:l,defaultPlacement:r,teleportTo:s,marginSize:i,isMinWidth:a}=Object.assign({teleportTo:!1,marginSize:18,isMinWidth:!0},o);let p="bottom",u="",c="",f=0;var m="";let g="";var d,h,T,x,C,A,E,w,P,N,b={};return t&&e&&(A=document.body,w=getPopupWrapperElement(t))&&(d=e.offsetWidth,h=e.offsetHeight,T=t.offsetWidth,x=t.offsetHeight,w=w.getBoundingClientRect(),t=t.getBoundingClientRect(),N=e.getBoundingClientRect(),C=A.clientHeight,A=A.clientWidth,E=w.left,w=w.top,P=N.left,N=N.top,m=e.offsetWidth,s?(f=n||P-(T-d)/2,u=o||N+h,"top"===l?(p="top",u=N-x):l||("top"===r?(p="top",(u=o?u:N-x)<i&&(p="bottom",u=N+h),u+x+i>C&&(p="top",u=N-x)):(u+x+i>C&&(p="top",u=N-x),u<i&&(p="bottom",u=N+h))),f+T+i>A&&(f-=f+T+i-A),f<i&&(f=i),u-=w,f-=E):("top"===l?(p="top",c=h):l||C<N+(u=h)+x+i&&i<N-h-x&&(p="top",u="",c=h),t.left+t.width+i>A&&(f=-(t.left+t.width+i-A))),_xeUtils.default.isNumber(u)&&(b.top=toCssUnit(u)),_xeUtils.default.isNumber(c)&&(b.bottom=toCssUnit(c)),_xeUtils.default.isNumber(f)&&(b.left=toCssUnit(f)),a&&_xeUtils.default.isNumber(m)&&(b.minWidth=toCssUnit(m)),f===P?d<=T&&(g=d/2):f<P&&(g=f+T>P+d?P-f+d/2:P-f+(T-(P-f))/2)),{top:u||0,bottom:c||0,left:f||0,arrowLeft:g||0,style:b,placement:p}}function getPopupWrapperElement(e){var t;return e&&(t=document.body,(e=e.parentElement)===t?document.documentElement:e)||null}function getPopupContainer(e){return(e&&_xeUtils.default.isFunction(e)?e({}):e)||"body"}function getPopupAppendElement(e){e=getPopupContainer(e);return _xeUtils.default.isString(e)?document.querySelector(e)||document.body:e}