UNPKG

vxe-table

Version:

一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟滚动、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、虚拟列表、模态窗口、自定义模板、渲染器、贼灵活的配置项、扩展接口等...

1 lines 3.31 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.handleFieldOrColumn=handleFieldOrColumn,exports.getColMinWidth=getColMinWidth,exports.getOffsetSize=getOffsetSize,exports.calcTreeLine=calcTreeLine,exports.mergeBodyMethod=mergeBodyMethod,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.clearTableAllStatus=clearTableAllStatus;var _vXETable=_interopRequireDefault(require("../../v-x-e-table")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var lineOffsetSizes={mini:3,small:2,medium:1};function getPaddingLeftRightSize(e){if(e){e=getComputedStyle(e);return _xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)}return 0}function getElemenMarginWidth(e){if(e){var t=getComputedStyle(e),l=_xeUtils.default.toNumber(t.marginLeft),t=_xeUtils.default.toNumber(t.marginRight);return e.offsetWidth+l+t}return 0}function handleFieldOrColumn(e,t){return t?_xeUtils.default.isString(t)?e.getColumnByField(t):t:null}function queryCellElement(e,t){return e.querySelector(".vxe-cell"+t)}function getColMinWidth(e){var t=e.$table,l=e.column,r=e.cell,i=t.showHeaderOverflow,a=t.resizableOpts.minWidth;if(a){var n=_xeUtils.default.isFunction(a)?a(e):a;if("auto"!==n)return Math.max(1,_xeUtils.default.toNumber(n))}t=l.showHeaderOverflow,e=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?i:t,a="title"===e||(!0===e||"tooltip"===e)||"ellipsis"===e,n=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));return a&&(l=getPaddingLeftRightSize(queryCellElement(r,"--title>.vxe-cell--checkbox")),i=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),t=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),e=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-help-icon")),a=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--sort")),n+=l+i+t+e+getElemenMarginWidth(queryCellElement(r,">.vxe-cell--filter"))+a),n}function countTreeExpand(e,t){var l=t.$table,r=e[l.treeOpts.children],i=1;if(l.isTreeExpandByRow(e))for(var a=0;a<r.length;a++)i+=countTreeExpand(r[a],t);return i}function getOffsetSize(e){return lineOffsetSizes[e.vSize]||0}function calcTreeLine(e,t){var l=e.$table,r=e.$rowIndex,i=1;return r&&(i=countTreeExpand(t[r-1],e)),l.rowHeight*i-(r?1:12-getOffsetSize(l))}function mergeBodyMethod(e,t,l){for(var r=0;r<e.length;r++){var i=e[r],a=i.row,n=i.col,u=i.rowspan,i=i.colspan;if(-1<n&&-1<a&&u&&i){if(a===t&&n===l)return{rowspan:u,colspan:i};if(a<=t&&t<a+u&&n<=l&&l<n+i)return{rowspan:0,colspan:0}}}}function clearTableDefaultStatus(e){return e.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearActived&&_vXETable.default._edit&&e.clearActived(),e.clearSelected&&(e.keyboardConfig||e.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&e.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&_vXETable.default._filter&&e.clearFilter(),clearTableDefaultStatus(e)}