NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/vxe-table/lib/tools/src/dom.min.js
2023-09-14 14:47:11 +08:00

1 line
4.2 KiB
Java

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.DomTools=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils/methods/xe-utils")),_utils=_interopRequireDefault(require("./utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var browse=_xeUtils.default.browse(),htmlElem=browse.isDoc?document.querySelector("html"):0,bodyElem=browse.isDoc?document.body:0,reClsMap={};function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp("(?:^|\\s)".concat(e,"(?!\\S)"),"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var l=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,l&&l!==htmlElem&&l!==bodyElem&&(o.top-=l.scrollTop,o.left-=l.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}var DomTools={browse:browse,isPx:function(e){return e&&/^\d+(px)?$/.test(e)},isScale:function(e){return e&&/^\d+%$/.test(e)},hasClass:function(e,t){return e&&e.className&&e.className.match&&e.className.match(getClsRE(t))},removeClass:function(e,t){e&&DomTools.hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))},addClass:function(e,t){e&&!DomTools.hasClass(e,t)&&(DomTools.removeClass(e,t),e.className="".concat(e.className," ").concat(t))},updateCellTitle:function(e,t){var o=e.currentTarget.querySelector(".vxe-cell"),l="html"===t.type?o.innerText:o.textContent;o.getAttribute("title")!==l&&o.setAttribute("title",l)},rowToVisible:function(e,t){var o=e.$refs.tableBody.$el,l=o.querySelector('[data-rowid="'.concat(_utils.default.getRowid(e,t),'"]'));if(l){var r=o.clientHeight,n=o.scrollTop,s=l.offsetTop+(l.offsetParent?l.offsetParent.offsetTop:0),i=l.clientHeight;if(s<n||n+r<s)return e.scrollTo(null,s);if(r+n<=s+i)return e.scrollTo(null,n+i)}else if(e.scrollYLoad)return e.scrollTo(null,(e.afterFullData.indexOf(t)-1)*e.scrollYStore.rowHeight);return Promise.resolve()},colToVisible:function(e,t){var o=e.$refs.tableBody.$el,l=o.querySelector(".".concat(t.id));if(l){var r=o.clientWidth,n=o.scrollLeft,s=l.offsetLeft+(l.offsetParent?l.offsetParent.offsetLeft:0),i=l.clientWidth;if(s<n||n+r<s)return e.scrollTo(s);if(r+n<=s+i)return e.scrollTo(n+i)}else if(e.scrollXLoad){for(var a=e.visibleColumn,f=0,c=0;c<a.length&&a[c]!==t;c++)f+=a[c].renderWidth;return e.scrollTo(f)}return Promise.resolve()},getDomNode:function(){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}},getEventTargetNode:function(e,t,o,l){for(var r,n=e.target;n&&n.nodeType&&n!==document;){if(o&&DomTools.hasClass(n,o)&&(!l||l(n)))r=n;else if(n===t)return{flag:!o||!!r,container:t,targetElem:r};n=n.parentNode}return{flag:!1}},getOffsetPos:function(e,t){return getNodeOffset(e,t,{left:0,top:0})},getAbsolutePos:function(e){var t=e.getBoundingClientRect(),o=t.top,l=t.left,r=DomTools.getDomNode();return{boundingTop:o,top:r.scrollTop+o,boundingLeft:l,left:r.scrollLeft+l,visibleHeight:r.visibleHeight,visibleWidth:r.visibleWidth}},getCellNodeIndex:function(e){var t=e.parentNode;return{columnIndex:_xeUtils.default.arrayIndexOf(t.children,e),rowIndex:_xeUtils.default.arrayIndexOf(t.parentNode.children,t)}},getRowNodes:function(e,t,o){for(var l=t.columnIndex,r=t.rowIndex,n=o.columnIndex,s=o.rowIndex,i=[],a=Math.min(r,s),f=Math.max(r,s);a<=f;a++){for(var c=[],u=e[a],d=Math.min(l,n),m=Math.max(l,n);d<=m;d++){var p=u.children[d];c.push(p)}i.push(c)}return i},getCellIndexs:function(e){var t=e.parentNode,o=t.getAttribute("data-rowid"),l=[].indexOf.call(t.children,e);return{rowid:o,rowIndex:[].indexOf.call(t.parentNode.children,t),columnIndex:l}},getCell:function(e,t){var o=t.row,l=t.column,r=_utils.default.getRowid(e,o),n=e.$refs["".concat(l.fixed||"table","Body")]||e.$refs.tableBody;return n&&n.$el?n.$el.querySelector('.vxe-body--row[data-rowid="'.concat(r,'"] .').concat(l.id)):null},toView:function(e){var t="scrollIntoViewIfNeeded",o="scrollIntoView";e&&(e[t]?e[t]():e[o]&&e[o]())},triggerEvent:function(e,t){var o;"function"==typeof Event?o=new Event(t):(o=document.createEvent("Event")).initEvent(t,!0,!0),e.dispatchEvent(o)}},_default=exports.DomTools=DomTools;exports.default=_default;