This commit is contained in:
xuliangzhan
2019-07-14 13:36:02 +08:00
parent 19221b3797
commit 66e9cd5ec5
45 changed files with 248 additions and 102 deletions

View File

@@ -136,6 +136,8 @@ var _default = {
headerRowClassName = $table.headerRowClassName,
headerCellClassName = $table.headerCellClassName,
allColumnHeaderOverflow = $table.showHeaderOverflow,
allHeaderAlign = $table.headerAlign,
allAlign = $table.align,
highlightCurrentColumn = $table.highlightCurrentColumn,
_$table$mouseConfig = $table.mouseConfig,
mouseConfig = _$table$mouseConfig === void 0 ? {} : _$table$mouseConfig,
@@ -198,10 +200,12 @@ var _default = {
var columnKey = column.columnKey,
showHeaderOverflow = column.showHeaderOverflow,
headerAlign = column.headerAlign,
align = column.align,
own = column.own;
var isColGroup = column.children && column.children.length;
var fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX;
var headOverflow = _xeUtils.default.isUndefined(showHeaderOverflow) || _xeUtils.default.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
var headAlign = headerAlign || align || allHeaderAlign || allAlign;
var showEllipsis = headOverflow === 'ellipsis';
var showTitle = headOverflow === 'title';
var showTooltip = headOverflow === true || headOverflow === 'tooltip';
@@ -280,7 +284,7 @@ var _default = {
}
return h('th', {
class: ['vxe-header--column', column.id, (_ref = {}, _defineProperty(_ref, "col--".concat(headerAlign), headerAlign), _defineProperty(_ref, 'col--index', column.type === 'index'), _defineProperty(_ref, 'col--ellipsis', hasEllipsis), _defineProperty(_ref, 'fixed--hidden', fixedHiddenColumn), _defineProperty(_ref, 'filter--active', column.filters.some(function (item) {
class: ['vxe-header--column', column.id, (_ref = {}, _defineProperty(_ref, "col--".concat(headAlign), headAlign), _defineProperty(_ref, 'col--index', column.type === 'index'), _defineProperty(_ref, 'col--ellipsis', hasEllipsis), _defineProperty(_ref, 'fixed--hidden', fixedHiddenColumn), _defineProperty(_ref, 'filter--active', column.filters.some(function (item) {
return item.checked;
})), _ref), headerCellClassName ? _xeUtils.default.isFunction(headerCellClassName) ? headerCellClassName({
$table: $table,
@@ -350,6 +354,7 @@ var _default = {
fixedType = this.fixedType;
var _$table$$refs = $table.$refs,
tableBody = _$table$$refs.tableBody,
leftContainer = _$table$$refs.leftContainer,
rightContainer = _$table$$refs.rightContainer,
resizeBarElem = _$table$$refs.resizeBar;
var dragBtnElem = evnt.target,
@@ -366,12 +371,13 @@ var _default = {
var dragMinLeft = pos.left - cell.clientWidth + dragBtnWidth + minInterval;
var dragPosLeft = pos.left + Math.floor(dragBtnWidth / 2);
var domMousemove = document.onmousemove;
var domMouseup = document.onmouseup; // 计算右侧固定列位置
var domMouseup = document.onmouseup;
var isRightFixed = fixedType === 'right'; // 计算右侧固定列位置
var prevOffsetWidth = 0;
var prevCellElem = cell;
var prevCellElem = cell.previousElementSibling;
if (rightContainer && fixedType === 'right') {
if (rightContainer && isRightFixed) {
while (prevCellElem) {
if (_tools.DomTools.hasClass(prevCellElem, 'fixed--hidden')) {
break;
@@ -393,15 +399,16 @@ var _default = {
var left = dragPosLeft + offsetX;
var scrollLeft = fixedType ? 0 : tableBodyElem.scrollLeft;
if (fixedType === 'left' && rightContainer) {
// 左固定列不允许超过右侧固定列
left = Math.min(left, rightContainer.offsetLeft - minInterval);
} else if (fixedType === 'right') {
// 右侧固定列
dragMinLeft = dragPosLeft - cell.offsetWidth + minInterval;
if (fixedType === 'left') {
// 左固定列不允许超过右侧固定列、不允许超过右边距)
left = Math.min(left, (rightContainer ? rightContainer.offsetLeft : tableBodyElem.clientWidth) - minInterval);
} else if (isRightFixed) {
// 右侧固定列(不允许超过左侧固定列、不允许超过左边距)
dragMinLeft = (leftContainer ? leftContainer.clientWidth : 0) + minInterval;
left = Math.min(left, dragPosLeft + cell.clientWidth - minInterval);
}
dragLeft = left < dragMinLeft ? dragMinLeft : left;
dragLeft = Math.max(left, dragMinLeft + prevOffsetWidth);
resizeBarElem.style.left = "".concat(dragLeft - scrollLeft, "px");
};
@@ -415,7 +422,7 @@ var _default = {
document.onmouseup = function (evnt) {
document.onmousemove = domMousemove;
document.onmouseup = domMouseup;
column.resizeWidth = column.renderWidth + (dragLeft - dragPosLeft);
column.resizeWidth = column.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft);
resizeBarElem.style.display = 'none';
$table._isResize = false;
$table.analyColumnWidth();

File diff suppressed because one or more lines are too long