vxe-table 4.19.7 → 4.19.8
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 +179 -59
- package/dist/style.css +1 -1
- package/es/grid/src/grid.js +1 -1
- package/es/style.css +1 -1
- package/es/table/src/table.js +159 -56
- package/es/table/src/util.js +18 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +1 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +51 -15
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/table.js +30 -11
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +19 -1
- package/lib/table/src/util.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/package.json +1 -1
- package/packages/grid/src/grid.ts +1 -1
- package/packages/table/src/table.ts +164 -58
- package/packages/table/src/util.ts +21 -1
- /package/es/{iconfont.1780638747281.ttf → iconfont.1780726776354.ttf} +0 -0
- /package/es/{iconfont.1780638747281.woff → iconfont.1780726776354.woff} +0 -0
- /package/es/{iconfont.1780638747281.woff2 → iconfont.1780726776354.woff2} +0 -0
- /package/lib/{iconfont.1780638747281.ttf → iconfont.1780726776354.ttf} +0 -0
- /package/lib/{iconfont.1780638747281.woff → iconfont.1780726776354.woff} +0 -0
- /package/lib/{iconfont.1780638747281.woff2 → iconfont.1780726776354.woff2} +0 -0
package/es/table/src/table.js
CHANGED
|
@@ -4,7 +4,7 @@ import XEUtils from 'xe-utils';
|
|
|
4
4
|
import { initTpImg, getTpImg, isPx, isScale, hasClass, addClass, removeClass, wheelScrollTopTo, wheelScrollLeftTo, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey, checkTargetElement, hasEventInputTarget } from '../../ui/src/dom';
|
|
5
5
|
import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils';
|
|
6
6
|
import { VxeUI } from '../../ui';
|
|
7
|
-
import { createReactData, createInternalData, getRowUniqueId, createRowId, clearTableAllStatus, getColumnList, toFilters, hasDeepKey, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getRefElem, getColReMinWidth, getColReMaxWidth, createHandleUpdateRowId, createHandleGetRowId, getCalcHeight, getCellRestHeight, getLastChildColumn } from './util';
|
|
7
|
+
import { createReactData, createInternalData, getRowUniqueId, createRowId, clearTableAllStatus, getColumnList, toFilters, hasDeepKey, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getRefElem, getColReMinWidth, getColReMaxWidth, createHandleUpdateRowId, createHandleGetRowId, getCalcHeight, getCellRestHeight, getLastChildColumn, getRowMaxHeight } from './util';
|
|
8
8
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
9
9
|
import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from '../../ui/src/anime';
|
|
10
10
|
import { warnLog, errLog } from '../../ui/src/log';
|
|
@@ -1962,34 +1962,38 @@ export default defineVxeComponent({
|
|
|
1962
1962
|
/**
|
|
1963
1963
|
* 计算自适应行高
|
|
1964
1964
|
*/
|
|
1965
|
-
const calcCellAutoHeight = (rowRest, wrapperEl) => {
|
|
1966
|
-
const {
|
|
1965
|
+
const calcCellAutoHeight = (rowid, rowRest, wrapperEl) => {
|
|
1966
|
+
const { fullCellHeightMaps } = internalData;
|
|
1967
|
+
let chRest = fullCellHeightMaps[rowid];
|
|
1968
|
+
if (!chRest) {
|
|
1969
|
+
chRest = {};
|
|
1970
|
+
fullCellHeightMaps[rowid] = chRest;
|
|
1971
|
+
}
|
|
1967
1972
|
const wrapperElemList = wrapperEl.querySelectorAll(`.vxe-cell--wrapper[rowid="${rowRest.rowid}"]`);
|
|
1968
|
-
let colHeight = 0;
|
|
1969
1973
|
let firstCellStyle = null;
|
|
1970
1974
|
let topBottomPadding = 0;
|
|
1975
|
+
let changeCH = false;
|
|
1971
1976
|
for (let i = 0; i < wrapperElemList.length; i++) {
|
|
1972
1977
|
const wrapperElem = wrapperElemList[i];
|
|
1973
1978
|
const cellElem = wrapperElem.parentElement;
|
|
1974
1979
|
const cellStyle = cellElem.style;
|
|
1975
1980
|
const orHeight = cellStyle.height;
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
}
|
|
1981
|
+
const colid = wrapperElem.getAttribute('colid') || '';
|
|
1982
|
+
cellStyle.height = '';
|
|
1979
1983
|
if (!firstCellStyle) {
|
|
1980
1984
|
firstCellStyle = getComputedStyle(cellElem);
|
|
1981
1985
|
topBottomPadding = firstCellStyle ? Math.ceil(XEUtils.toNumber(firstCellStyle.paddingTop) + XEUtils.toNumber(firstCellStyle.paddingBottom)) : 0;
|
|
1982
1986
|
}
|
|
1983
|
-
if (!scrollXLoad) {
|
|
1984
|
-
cellStyle.height = orHeight;
|
|
1985
|
-
}
|
|
1986
1987
|
const cellHeight = wrapperElem ? wrapperElem.clientHeight : 0;
|
|
1987
|
-
colHeight = Math.
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1988
|
+
const colHeight = Math.ceil(cellHeight + topBottomPadding);
|
|
1989
|
+
if (chRest[colid] !== colHeight) {
|
|
1990
|
+
changeCH = true;
|
|
1991
|
+
chRest[colid] = colHeight;
|
|
1992
|
+
}
|
|
1993
|
+
cellStyle.height = orHeight;
|
|
1991
1994
|
}
|
|
1992
|
-
|
|
1995
|
+
const cellMaxHeight = getRowMaxHeight(chRest, changeCH);
|
|
1996
|
+
return cellMaxHeight;
|
|
1993
1997
|
};
|
|
1994
1998
|
/**
|
|
1995
1999
|
* 自适应行高
|
|
@@ -2011,7 +2015,7 @@ export default defineVxeComponent({
|
|
|
2011
2015
|
const rowid = handleGetRowId(row);
|
|
2012
2016
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
2013
2017
|
if (rowRest) {
|
|
2014
|
-
const reHeight = calcCellAutoHeight(rowRest, el);
|
|
2018
|
+
const reHeight = calcCellAutoHeight(rowid, rowRest, el);
|
|
2015
2019
|
rowRest.height = Math.max(defaultRowHeight, reHeight);
|
|
2016
2020
|
}
|
|
2017
2021
|
el.removeAttribute('data-calc-row');
|
|
@@ -3281,7 +3285,6 @@ export default defineVxeComponent({
|
|
|
3281
3285
|
};
|
|
3282
3286
|
const handleRecalculateStyle = (reFull, reWidth, reHeight) => {
|
|
3283
3287
|
const el = refElem.value;
|
|
3284
|
-
internalData.rceRunTime = Date.now();
|
|
3285
3288
|
if (!el || !el.clientWidth) {
|
|
3286
3289
|
return nextTick();
|
|
3287
3290
|
}
|
|
@@ -3305,6 +3308,7 @@ export default defineVxeComponent({
|
|
|
3305
3308
|
if (reFull) {
|
|
3306
3309
|
updateTreeLineStyle();
|
|
3307
3310
|
}
|
|
3311
|
+
internalData.rceRunTime = Date.now();
|
|
3308
3312
|
return computeScrollLoad().then(() => {
|
|
3309
3313
|
// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
|
|
3310
3314
|
if (reWidth) {
|
|
@@ -3325,18 +3329,30 @@ export default defineVxeComponent({
|
|
|
3325
3329
|
if (reFull) {
|
|
3326
3330
|
updateTreeLineStyle();
|
|
3327
3331
|
}
|
|
3332
|
+
internalData.rceRunTime = Date.now();
|
|
3328
3333
|
if (reFull) {
|
|
3329
3334
|
return computeScrollLoad();
|
|
3330
3335
|
}
|
|
3331
3336
|
});
|
|
3332
3337
|
};
|
|
3338
|
+
const minRunDelay = 50;
|
|
3333
3339
|
const handleLazyRecalculate = (reFull, reWidth, reHeight) => {
|
|
3334
3340
|
return new Promise(resolve => {
|
|
3335
3341
|
const $xeGanttView = internalData.xeGanttView;
|
|
3336
3342
|
const { customStore } = reactData;
|
|
3337
3343
|
const { rceTimeout, rceRunTime } = internalData;
|
|
3338
3344
|
const resizeOpts = computeResizeOpts.value;
|
|
3339
|
-
|
|
3345
|
+
let rceDelay = internalData.rceDelay;
|
|
3346
|
+
// 如果在500毫秒内频繁执行,则执行次数减缓
|
|
3347
|
+
if (rceRunTime && rceRunTime > Date.now() - 500) {
|
|
3348
|
+
rceDelay += 50;
|
|
3349
|
+
}
|
|
3350
|
+
else {
|
|
3351
|
+
rceDelay = 0;
|
|
3352
|
+
}
|
|
3353
|
+
internalData.rceDelay = rceDelay;
|
|
3354
|
+
const refreshDelay = resizeOpts.refreshDelay || 30;
|
|
3355
|
+
const reDelay = rceDelay + refreshDelay;
|
|
3340
3356
|
const el = refElem.value;
|
|
3341
3357
|
if (el && el.clientWidth) {
|
|
3342
3358
|
autoCellWidth();
|
|
@@ -3347,7 +3363,7 @@ export default defineVxeComponent({
|
|
|
3347
3363
|
}
|
|
3348
3364
|
if (rceTimeout) {
|
|
3349
3365
|
clearTimeout(rceTimeout);
|
|
3350
|
-
if (rceRunTime && rceRunTime +
|
|
3366
|
+
if (rceRunTime && rceRunTime + minRunDelay < Date.now()) {
|
|
3351
3367
|
resolve(handleRecalculateStyle(reFull, reWidth, reHeight));
|
|
3352
3368
|
}
|
|
3353
3369
|
else {
|
|
@@ -3365,11 +3381,23 @@ export default defineVxeComponent({
|
|
|
3365
3381
|
internalData.rceTimeout = setTimeout(() => {
|
|
3366
3382
|
internalData.rceTimeout = undefined;
|
|
3367
3383
|
handleRecalculateStyle(reFull, reWidth, reHeight);
|
|
3368
|
-
|
|
3384
|
+
if ($xeGanttView && $xeGanttView.handleLazyRecalculate) {
|
|
3385
|
+
$xeGanttView.handleLazyRecalculate();
|
|
3386
|
+
}
|
|
3387
|
+
}, reDelay);
|
|
3369
3388
|
});
|
|
3370
3389
|
};
|
|
3390
|
+
let resizePending = false;
|
|
3371
3391
|
const handleResizeEvent = () => {
|
|
3372
|
-
|
|
3392
|
+
if (resizePending) {
|
|
3393
|
+
return;
|
|
3394
|
+
}
|
|
3395
|
+
resizePending = true;
|
|
3396
|
+
handleLazyRecalculate(true, true, true).then(() => {
|
|
3397
|
+
resizePending = false;
|
|
3398
|
+
}).catch(() => {
|
|
3399
|
+
resizePending = false;
|
|
3400
|
+
});
|
|
3373
3401
|
};
|
|
3374
3402
|
const handleUpdateAggValues = () => {
|
|
3375
3403
|
const { visibleColumn } = internalData;
|
|
@@ -3713,6 +3741,7 @@ export default defineVxeComponent({
|
|
|
3713
3741
|
reactData.insertRowFlag++;
|
|
3714
3742
|
internalData.removeRowMaps = {};
|
|
3715
3743
|
reactData.removeRowFlag++;
|
|
3744
|
+
internalData.fullCellHeightMaps = {};
|
|
3716
3745
|
const sYLoad = updateScrollYStatus(fullData);
|
|
3717
3746
|
// 全量数据
|
|
3718
3747
|
internalData.tableFullData = fullData;
|
|
@@ -4073,8 +4102,42 @@ export default defineVxeComponent({
|
|
|
4073
4102
|
internalData.fullColumnIdData = fullColIdData;
|
|
4074
4103
|
internalData.fullColumnFieldData = fullColFieldData;
|
|
4075
4104
|
};
|
|
4076
|
-
const
|
|
4105
|
+
const buildColumnInfo = () => {
|
|
4106
|
+
const { scrollXLoad, scrollYLoad, expandColumn } = reactData;
|
|
4077
4107
|
const expandOpts = computeExpandOpts.value;
|
|
4108
|
+
cacheColumnMap();
|
|
4109
|
+
parseColumns(true).then(() => {
|
|
4110
|
+
if (reactData.scrollXLoad) {
|
|
4111
|
+
loadScrollXData();
|
|
4112
|
+
}
|
|
4113
|
+
});
|
|
4114
|
+
$xeTable.clearHeaderFormatterCache();
|
|
4115
|
+
$xeTable.clearMergeCells();
|
|
4116
|
+
$xeTable.clearMergeFooterItems();
|
|
4117
|
+
$xeTable.handleTableData(true);
|
|
4118
|
+
$xeTable.handleAggregateSummaryData();
|
|
4119
|
+
if ((scrollXLoad || scrollYLoad) && (expandColumn && expandOpts.mode !== 'fixed')) {
|
|
4120
|
+
warnLog('vxe.error.scrollErrProp', ['column.type=expand']);
|
|
4121
|
+
}
|
|
4122
|
+
return nextTick().then(() => {
|
|
4123
|
+
if ($xeToolbar) {
|
|
4124
|
+
$xeToolbar.syncUpdate({
|
|
4125
|
+
collectColumn: internalData.collectColumn,
|
|
4126
|
+
$table: $xeTable
|
|
4127
|
+
});
|
|
4128
|
+
}
|
|
4129
|
+
if ($xeTable.handleUpdateCustomColumn) {
|
|
4130
|
+
$xeTable.handleUpdateCustomColumn();
|
|
4131
|
+
}
|
|
4132
|
+
const columnOpts = computeColumnOpts.value;
|
|
4133
|
+
if (props.showCustomHeader && reactData.isGroup && (columnOpts.resizable || props.resizable)) {
|
|
4134
|
+
warnLog('vxe.error.notConflictProp', ['show-custom-header & colgroup', 'column-config.resizable=false']);
|
|
4135
|
+
}
|
|
4136
|
+
reactData.isColLoading = false;
|
|
4137
|
+
return handleLazyRecalculate(false, true, true);
|
|
4138
|
+
});
|
|
4139
|
+
};
|
|
4140
|
+
const handleInitColumn = (collectColumn) => {
|
|
4078
4141
|
internalData.collectColumn = collectColumn;
|
|
4079
4142
|
const tFullColumn = getColumnList(collectColumn);
|
|
4080
4143
|
internalData.tableFullColumn = tFullColumn;
|
|
@@ -4082,38 +4145,7 @@ export default defineVxeComponent({
|
|
|
4082
4145
|
reactData.isColLoading = true;
|
|
4083
4146
|
initColumnHierarchy();
|
|
4084
4147
|
return Promise.resolve(restoreCustomStorage()).then(() => {
|
|
4085
|
-
|
|
4086
|
-
cacheColumnMap();
|
|
4087
|
-
parseColumns(true).then(() => {
|
|
4088
|
-
if (reactData.scrollXLoad) {
|
|
4089
|
-
loadScrollXData();
|
|
4090
|
-
}
|
|
4091
|
-
});
|
|
4092
|
-
$xeTable.clearHeaderFormatterCache();
|
|
4093
|
-
$xeTable.clearMergeCells();
|
|
4094
|
-
$xeTable.clearMergeFooterItems();
|
|
4095
|
-
$xeTable.handleTableData(true);
|
|
4096
|
-
$xeTable.handleAggregateSummaryData();
|
|
4097
|
-
if ((scrollXLoad || scrollYLoad) && (expandColumn && expandOpts.mode !== 'fixed')) {
|
|
4098
|
-
warnLog('vxe.error.scrollErrProp', ['column.type=expand']);
|
|
4099
|
-
}
|
|
4100
|
-
return nextTick().then(() => {
|
|
4101
|
-
if ($xeToolbar) {
|
|
4102
|
-
$xeToolbar.syncUpdate({
|
|
4103
|
-
collectColumn: internalData.collectColumn,
|
|
4104
|
-
$table: $xeTable
|
|
4105
|
-
});
|
|
4106
|
-
}
|
|
4107
|
-
if ($xeTable.handleUpdateCustomColumn) {
|
|
4108
|
-
$xeTable.handleUpdateCustomColumn();
|
|
4109
|
-
}
|
|
4110
|
-
const columnOpts = computeColumnOpts.value;
|
|
4111
|
-
if (props.showCustomHeader && reactData.isGroup && (columnOpts.resizable || props.resizable)) {
|
|
4112
|
-
warnLog('vxe.error.notConflictProp', ['show-custom-header & colgroup', 'column-config.resizable=false']);
|
|
4113
|
-
}
|
|
4114
|
-
reactData.isColLoading = false;
|
|
4115
|
-
return handleLazyRecalculate(false, true, true);
|
|
4116
|
-
});
|
|
4148
|
+
return buildColumnInfo();
|
|
4117
4149
|
});
|
|
4118
4150
|
};
|
|
4119
4151
|
const updateScrollXStatus = (fullColumn) => {
|
|
@@ -6054,7 +6086,7 @@ export default defineVxeComponent({
|
|
|
6054
6086
|
const rowid = XEUtils.isString(row) || XEUtils.isNumber(row) ? row : handleGetRowId(row);
|
|
6055
6087
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
6056
6088
|
if (rowRest) {
|
|
6057
|
-
rowRest.resizeHeight = calcCellAutoHeight(rowRest, el);
|
|
6089
|
+
rowRest.resizeHeight = calcCellAutoHeight(rowid, rowRest, el);
|
|
6058
6090
|
}
|
|
6059
6091
|
el.removeAttribute('data-calc-row');
|
|
6060
6092
|
});
|
|
@@ -7808,6 +7840,65 @@ export default defineVxeComponent({
|
|
|
7808
7840
|
clearHistory() {
|
|
7809
7841
|
return $xeTable.handleClearStack();
|
|
7810
7842
|
},
|
|
7843
|
+
/**
|
|
7844
|
+
* 用于 custom-config,用于手动恢复自定义列设置信息,恢复表格重置为初始状态
|
|
7845
|
+
* @param storeData
|
|
7846
|
+
* @returns
|
|
7847
|
+
*/
|
|
7848
|
+
setCustomStoreData(storeData) {
|
|
7849
|
+
if (!storeData) {
|
|
7850
|
+
return nextTick();
|
|
7851
|
+
}
|
|
7852
|
+
const customOpts = computeCustomOpts.value;
|
|
7853
|
+
const { checkMethod } = customOpts;
|
|
7854
|
+
// 重置状态
|
|
7855
|
+
clearTableAllStatus($xeTable);
|
|
7856
|
+
// 恢复列
|
|
7857
|
+
const allCols = [];
|
|
7858
|
+
XEUtils.eachTree(internalData.collectColumn, (column) => {
|
|
7859
|
+
column.resizeWidth = 0;
|
|
7860
|
+
column.fixed = column.defaultFixed;
|
|
7861
|
+
column.renderSortNumber = column.sortNumber;
|
|
7862
|
+
column.parentId = column.defaultParentId;
|
|
7863
|
+
if (!checkMethod || checkMethod({ $table: $xeTable, column })) {
|
|
7864
|
+
column.visible = column.defaultVisible;
|
|
7865
|
+
}
|
|
7866
|
+
column.aggFunc = column.defaultAggFunc;
|
|
7867
|
+
column.renderAggFn = column.defaultAggFunc;
|
|
7868
|
+
column.renderResizeWidth = column.renderWidth;
|
|
7869
|
+
allCols.push(column);
|
|
7870
|
+
});
|
|
7871
|
+
const newCollectCols = XEUtils.toArrayTree(XEUtils.orderBy(allCols, 'renderSortNumber'), { key: 'id', parentKey: 'parentId', children: 'children' });
|
|
7872
|
+
internalData.collectColumn = newCollectCols;
|
|
7873
|
+
internalData.tableFullColumn = getColumnList(newCollectCols);
|
|
7874
|
+
reactData.updateColFlag++;
|
|
7875
|
+
reactData.isColLoading = true;
|
|
7876
|
+
initColumnHierarchy();
|
|
7877
|
+
return Promise.resolve(handleCustomRestore(storeData)).then(() => {
|
|
7878
|
+
return buildColumnInfo();
|
|
7879
|
+
}).then(() => {
|
|
7880
|
+
// 恢复数据聚合分组
|
|
7881
|
+
const { isRowGroupStatus, rowGroupList } = reactData;
|
|
7882
|
+
if (isRowGroupStatus && !!$xeTable.handlePivotTableAggData) {
|
|
7883
|
+
const rowGroupFields = computeRowGroupFields.value;
|
|
7884
|
+
if (rowGroupFields ? rowGroupFields.length : rowGroupList.length) {
|
|
7885
|
+
if (rowGroupFields && rowGroupFields.length) {
|
|
7886
|
+
$xeTable.setRowGroups(rowGroupFields);
|
|
7887
|
+
}
|
|
7888
|
+
else {
|
|
7889
|
+
$xeTable.clearRowGroups();
|
|
7890
|
+
}
|
|
7891
|
+
}
|
|
7892
|
+
else {
|
|
7893
|
+
$xeTable.handleUpdateAggData();
|
|
7894
|
+
}
|
|
7895
|
+
}
|
|
7896
|
+
});
|
|
7897
|
+
},
|
|
7898
|
+
/**
|
|
7899
|
+
* 用于 custom-config,用于获取自定义列设置信息,用于自定义保持
|
|
7900
|
+
* @returns
|
|
7901
|
+
*/
|
|
7811
7902
|
getCustomStoreData() {
|
|
7812
7903
|
const { id } = props;
|
|
7813
7904
|
const customOpts = computeCustomOpts.value;
|
|
@@ -9587,6 +9678,9 @@ export default defineVxeComponent({
|
|
|
9587
9678
|
}
|
|
9588
9679
|
}
|
|
9589
9680
|
},
|
|
9681
|
+
/**
|
|
9682
|
+
* @private
|
|
9683
|
+
*/
|
|
9590
9684
|
handleRowResizeMousedownEvent(evnt, params) {
|
|
9591
9685
|
evnt.stopPropagation();
|
|
9592
9686
|
evnt.preventDefault();
|
|
@@ -9703,6 +9797,9 @@ export default defineVxeComponent({
|
|
|
9703
9797
|
};
|
|
9704
9798
|
updateEvent(evnt);
|
|
9705
9799
|
},
|
|
9800
|
+
/**
|
|
9801
|
+
* @private
|
|
9802
|
+
*/
|
|
9706
9803
|
handleRowResizeDblclickEvent(evnt, params) {
|
|
9707
9804
|
const resizableOpts = computeResizableOpts.value;
|
|
9708
9805
|
const { isDblclickAutoHeight } = resizableOpts;
|
|
@@ -9721,7 +9818,7 @@ export default defineVxeComponent({
|
|
|
9721
9818
|
}
|
|
9722
9819
|
const handleRsHeight = () => {
|
|
9723
9820
|
el.setAttribute('data-calc-row', 'Y');
|
|
9724
|
-
const resizeHeight = calcCellAutoHeight(rowRest, el);
|
|
9821
|
+
const resizeHeight = calcCellAutoHeight(rowid, rowRest, el);
|
|
9725
9822
|
el.removeAttribute('data-calc-row');
|
|
9726
9823
|
const resizeParams = Object.assign(Object.assign({}, params), { resizeHeight, resizeRow: row });
|
|
9727
9824
|
reactData.isDragResize = false;
|
|
@@ -9742,6 +9839,9 @@ export default defineVxeComponent({
|
|
|
9742
9839
|
}
|
|
9743
9840
|
}
|
|
9744
9841
|
},
|
|
9842
|
+
/**
|
|
9843
|
+
* @private
|
|
9844
|
+
*/
|
|
9745
9845
|
saveCustomStore(type) {
|
|
9746
9846
|
const { customConfig } = props;
|
|
9747
9847
|
const tableId = computeTableId.value;
|
|
@@ -9788,6 +9888,9 @@ export default defineVxeComponent({
|
|
|
9788
9888
|
}
|
|
9789
9889
|
return nextTick();
|
|
9790
9890
|
},
|
|
9891
|
+
/**
|
|
9892
|
+
* @private
|
|
9893
|
+
*/
|
|
9791
9894
|
handleCustom() {
|
|
9792
9895
|
const { mouseConfig } = props;
|
|
9793
9896
|
if (mouseConfig) {
|
package/es/table/src/util.js
CHANGED
|
@@ -83,6 +83,7 @@ export function createInternalData() {
|
|
|
83
83
|
sourceDataRowIdData: {},
|
|
84
84
|
fullColumnIdData: {},
|
|
85
85
|
fullColumnFieldData: {},
|
|
86
|
+
fullCellHeightMaps: {},
|
|
86
87
|
// 当前行
|
|
87
88
|
currentRow: null,
|
|
88
89
|
// 合并表头单元格的数据
|
|
@@ -143,7 +144,8 @@ export function createInternalData() {
|
|
|
143
144
|
inited: false,
|
|
144
145
|
tooltipTimeout: null,
|
|
145
146
|
initStatus: false,
|
|
146
|
-
isActivated: false
|
|
147
|
+
isActivated: false,
|
|
148
|
+
rceDelay: 0
|
|
147
149
|
// _sToTime: null
|
|
148
150
|
};
|
|
149
151
|
}
|
|
@@ -391,6 +393,21 @@ export function createReactData() {
|
|
|
391
393
|
isColLoading: false
|
|
392
394
|
};
|
|
393
395
|
}
|
|
396
|
+
const maxKey = '__max';
|
|
397
|
+
export function getRowMaxHeight(chRest, isForce) {
|
|
398
|
+
if (isForce || !chRest[maxKey]) {
|
|
399
|
+
let max = 0;
|
|
400
|
+
for (const key in chRest) {
|
|
401
|
+
const val = chRest[key];
|
|
402
|
+
if (key !== maxKey && XEUtils.isNumber(val) && val > max) {
|
|
403
|
+
max = val;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
chRest[maxKey] = max;
|
|
407
|
+
return max;
|
|
408
|
+
}
|
|
409
|
+
return chRest[maxKey];
|
|
410
|
+
}
|
|
394
411
|
const getAllConvertColumns = (columns, parentColumn) => {
|
|
395
412
|
const result = [];
|
|
396
413
|
columns.forEach((column) => {
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/grid/src/grid.js
CHANGED
|
@@ -31,7 +31,7 @@ const {
|
|
|
31
31
|
renderEmptyElement
|
|
32
32
|
} = _ui.VxeUI;
|
|
33
33
|
const tableComponentPropKeys = Object.keys(_props2.tableProps);
|
|
34
|
-
const tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeRowChildren', 'getTreeRowLevel', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'recalcRowHeight', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'hasPendingByRow', 'isPendingByRow', 'getPendingRecords', 'clearPendingRow', 'setFilterByEvent', 'sort', 'setSort', 'setSortByEvent', 'clearSort', 'clearSortByEvent', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'clearFilterByEvent', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'getScrollData', 'scrollTo', 'scrollToStartRow', 'scrollToEndRow', 'scrollToRow', 'scrollToStartColumn', 'scrollToEndColumn', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'setMergeHeaderCells', 'removeMergeHeaderCells', 'getMergeHeaderCells', 'clearMergeHeaderCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'setRowGroupExpand', 'setRowGroupExpandByField', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'updateCellLabel', 'clearFormatterCache', 'getFooterCellLabel', 'updateFooterCellLabel', 'clearFooterFormatterCache', 'undo', 'redo', 'getCellElement', 'focus', 'blur', 'connect', 'connectToolbar'];
|
|
34
|
+
const tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeRowChildren', 'getTreeRowLevel', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'recalcRowHeight', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'hasPendingByRow', 'isPendingByRow', 'getPendingRecords', 'clearPendingRow', 'setFilterByEvent', 'sort', 'setSort', 'setSortByEvent', 'clearSort', 'clearSortByEvent', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'clearFilterByEvent', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'getScrollData', 'scrollTo', 'scrollToStartRow', 'scrollToEndRow', 'scrollToRow', 'scrollToStartColumn', 'scrollToEndColumn', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'setMergeHeaderCells', 'removeMergeHeaderCells', 'getMergeHeaderCells', 'clearMergeHeaderCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'setCustomStoreData', 'getCustomStoreData', 'setRowGroupExpand', 'setRowGroupExpandByField', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'updateCellLabel', 'clearFormatterCache', 'getFooterCellLabel', 'updateFooterCellLabel', 'clearFooterFormatterCache', 'undo', 'redo', 'getCellElement', 'focus', 'blur', 'connect', 'connectToolbar'];
|
|
35
35
|
function createReactData() {
|
|
36
36
|
var _a;
|
|
37
37
|
return {
|
package/lib/grid/src/grid.min.js
CHANGED
|
@@ -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")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_props=require("./props"),_emits=require("./emits"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_emits2=require("../../table/src/emits"),_props2=require("../../table/src/props"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props2.tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeRowLevel","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","getScrollData","scrollTo","scrollToStartRow","scrollToEndRow","scrollToRow","scrollToStartColumn","scrollToEndColumn","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","setMergeHeaderCells","removeMergeHeaderCells","getMergeHeaderCells","clearMergeHeaderCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","updateCellLabel","clearFormatterCache","getFooterCellLabel","updateFooterCellLabel","clearFooterFormatterCache","undo","redo","getCellElement","focus","blur","connect","connectToolbar"];function createReactData(){var e;return{tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}}function createInternalData(){return{uFoot:!1}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:_props.gridProps,emits:_emits.gridEmits,setup(c,e){let{slots:d,emit:o}=e;var t=_xeUtils.default.uniqueId();let n=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),w=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],P=useFns.useSize(c).computeSize,j=(0,_vue.reactive)(createReactData()),M=createInternalData(),g=(0,_vue.ref)(),$=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)(),b=(0,_vue.ref)();var r=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=$.value;if(t&&t[r])return t[r](...e)}}),t};let a=r(tableComponentMethodKeys),q=(tableComponentMethodKeys.forEach(r=>{a[r]=(...e)=>{var t=$.value;if(t&&t[r])return t&&t[r](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),c.proxyConfig))),K=(0,_vue.computed)(()=>{var e=q.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),B=(0,_vue.computed)(()=>{var e=q.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),L=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,c.pagerConfig)),_=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,c.formConfig)),V=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,c.toolbarConfig)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,c.zoomConfig)),F=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=c,{isZMax:r,tZindex:o}=j,a={};return r?a.zIndex=o:(e&&(a.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(a.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),a}),T=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{void 0!==c[e]&&(t[e]=c[e])}),t}),k=(0,_vue.computed)(()=>{var{showFooter:e,seqConfig:t,pagerConfig:r,editConfig:o,proxyConfig:a}=c,{isZMax:l,tablePage:n,footerData:i}=j,s=T.value,u=q.value,g=L.value,d=G.value,s=Object.assign({},s);return(e&&!s.footerData||u.footer&&i.length)&&(s.footerData=i),l&&(s.maxHeight?s.maxHeight="100%":s.height="100%"),a&&(0,_utils.isEnableConf)(u)&&(s.loading=d,r)&&u.seq&&(0,_utils.isEnableConf)(g)&&(s.seqConfig=Object.assign({},t,{startIndex:(n.currentPage-1)*n.pageSize})),o&&(s.editConfig=Object.assign({},o)),s}),U=(0,_vue.computed)(()=>{var e=c.layouts;let t=[],r=[],o=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||w).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],a=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:a}});var I=(0,_vue.computed)(()=>L.value.currentPage),S=(0,_vue.computed)(()=>L.value.pageSize),O=(0,_vue.computed)(()=>L.value.total);let D=(0,_vue.computed)(()=>{var e=j.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),G=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=c,r=j.tableLoading,o=q.value,a=o.showLoading;return e||r&&a&&t&&(0,_utils.isEnableConf)(o)}),N={refElem:g,refTable:$,refForm:i,refToolbar:u,refPager:s,refPopupContainerElem:v},Q={computeProxyOpts:q,computePagerOpts:L,computeFormOpts:_,computeToolbarOpts:V,computeZoomOpts:h},z={xID:t,props:c,context:e,reactData:j,internalData:M,getRefMaps:()=>N,getComputeMaps:()=>Q},W=()=>{var e=V.value;c.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=$.value,t=u.value;e&&t&&e.connectToolbar(t)})},A=()=>{var e=c.proxyConfig,t=j.formData,r=q.value,o=_.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:o.data},C=e=>{var t=j.tablePage,r=c.pagerConfig,o=L.value;r&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):({currentPage:r,pageSize:e,total:o}=o,r&&(t.currentPage=r),e&&(t.pageSize=e),o&&(t.total=o)))},H=(e,t)=>{var r=q.value,r=(r.response||r.props||{}).message,o=$.value;let a;return(a=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:o,$grid:z,$gantt:null}):_xeUtils.default.get(e,r):a)||getI18n(t)},Y=(e,t,r)=>{var o=B.value,a=z.getCheckboxRecords();if(o)if(a.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&r();return Promise.resolve()},J=e=>{var t=c.proxyConfig,r=j.tablePage;let{$event:o,currentPage:a,pageSize:l}=e;var n=q.value;r.currentPage=a,r.pageSize=l,z.dispatchEvent("page-change",e,o),t&&(0,_utils.isEnableConf)(n)&&z.commitProxy("query").then(e=>{z.dispatchEvent("proxy-query",e,o)})},X=t=>{var e,r=$.value,o=c.proxyConfig;r&&(r=r.getComputeMaps().computeSortOpts,e=q.value,r.value.remote)&&(j.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(e)&&(j.tablePage.currentPage=1,z.commitProxy("query").then(e=>{z.dispatchEvent("proxy-query",e,t.$event)}))},ee=e=>{X(e),z.dispatchEvent("sort-change",e,e.$event)},te=e=>{X(e),z.dispatchEvent("clear-all-sort",e,e.$event)},re=t=>{var e,r=$.value,o=c.proxyConfig;r&&(r=r.getComputeMaps().computeFilterOpts,e=q.value,r.value.remote)&&(j.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(e)&&(j.tablePage.currentPage=1,M.uFoot=!0,z.commitProxy("query").then(e=>{z.dispatchEvent("proxy-query",e,t.$event)}),M.uFoot=!1,Z())},oe=e=>{re(e),z.dispatchEvent("filter-change",e,e.$event)},ae=e=>{re(e),z.dispatchEvent("clear-all-filter",e,e.$event)},le=t=>{var e=c.proxyConfig,r=q.value;j.tableLoading||(e&&(0,_utils.isEnableConf)(r)&&(M.uFoot=!0,z.commitProxy("reload").then(e=>{z.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),M.uFoot=!1,Z()),z.dispatchEvent("form-submit",t,t.$event))},ne=e=>{var t=$.value,r=c.proxyConfig;let o=e.$event;var a=q.value;r&&(0,_utils.isEnableConf)(a)&&(t&&t.clearScroll(),M.uFoot=!0,z.commitProxy("reload").then(e=>{z.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)}),M.uFoot=!1,Z()),z.dispatchEvent("form-reset",e,o)},ie=e=>{z.dispatchEvent("form-submit-invalid",e,e.$event)},se=e=>{var t=e.$event;z.dispatchEvent("form-toggle-collapse",e,t),z.dispatchEvent("form-collapse",e,t)},ue=e=>{var t=j.isZMax;return(e?!t:t)&&(j.isZMax=!t,j.tZindex<(0,_utils.getLastZIndex)())&&(j.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>z.recalculate(!0)).then(()=>(setTimeout(()=>z.recalculate(!0),15),j.isZMax))},y=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(d[e])return d[e];(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])}return null},ge=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?d[e]?r[t]=d[e]:(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e]):r[t]=e)}),r},de=()=>{var{formConfig:e,proxyConfig:r}=c,o=j.formData,a=q.value,l=_.value;if(e&&(0,_utils.isEnableConf)(l)||d.form){let e=[];if(d.form)e=d.form({$grid:z,$gantt:null});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t({$grid:z,$gantt:null,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]&&(t[e]=d[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:r&&(0,_utils.isEnableConf)(a)&&a.form?o:l.data})),{onSubmit:le,onReset:ne,onSubmitInvalid:ie,onCollapse:se}),t))}return(0,_vue.h)("div",{ref:m,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(z)},ce=()=>{var t,r,o,a,l,n=c.toolbarConfig,i=V.value,s=d.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return s?e=s({$grid:z,$gantt:null}):(n={},(s=i.slots)&&(t=y(s,"buttons"),r=y(s,"buttonPrefix"),o=y(s,"buttonSuffix"),a=y(s,"tools"),l=y(s,"toolPrefix"),s=y(s,"toolSuffix"),t&&(n.buttons=t),r&&(n.buttonPrefix=r),o&&(n.buttonSuffix=o),a&&(n.tools=a),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(_toolbar.default,Object.assign(Object.assign({ref:u},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:p,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(z)},ve=()=>{var e=d.top;return e?(0,_vue.h)("div",{ref:f,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},me=()=>{var e=d.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},pe=()=>{var e=d.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},fe=()=>{var e=c.proxyConfig,t=k.value,r=q.value,o=Object.assign({},_e),a=d.empty,l=d.loading,n=d.rowDragIcon||d["row-drag-icon"],i=d.columnDragIcon||d["column-drag-icon"],s=d.headerTooltip||d["header-tooltip"],u=d.tooltip,g=d.footerTooltip||d["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(o.onSortChange=ee,o.onClearAllSort=te),r.filter)&&(o.onFilterChange=oe,o.onClearAllFilter=ae),{});return a&&(e.empty=a),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),s&&(e.headerTooltip=s),u&&(e.tooltip=u),g&&(e.footerTooltip=g),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:$},t),o),e)])},xe=()=>d.bottom?(0,_vue.h)("div",{ref:x,key:"bottom",class:"vxe-grid--bottom-wrapper"},d.bottom({$grid:z,$gantt:null})):renderEmptyElement(z),be=()=>{var{proxyConfig:e,pagerConfig:t}=c,r=q.value,o=L.value,a=d.pager;return t&&(0,_utils.isEnableConf)(o)||d.pager?(0,_vue.h)("div",{ref:b,key:"pager",class:"vxe-grid--pager-wrapper"},a?a({$grid:z,$gantt:null}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:s},o),e&&(0,_utils.isEnableConf)(r)?j.tablePage:{}),{onPageChange:J}),ge(o.slots)):renderEmptyElement(z)]):renderEmptyElement(z)},E=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(de());break;case"Toolbar":t.push(ce());break;case"Top":t.push(ve());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[me(),fe(),pe()]));break;case"Bottom":t.push(xe());break;case"Pager":t.push(be());break;default:(0,_log.errLog)("vxe.error.notProp",["[grid] layouts -> "+e])}}),t},_e={},he=(_emits2.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);_e[e]=(...e)=>o(t,...e)}),()=>{var e=_.value;if(e.items){let n={};return e.items.forEach(t=>{var r,o,{field:a,itemRender:l}=t;if(a){let e=null;l&&({startField:l,endField:r,defaultValue:o}=l,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o),l)&&r&&(_xeUtils.default.set(n,l,null),_xeUtils.default.set(n,r,null)),n[a]=e}}),n}return{}}),Ce=()=>{var{proxyConfig:e,formConfig:t}=c,r=j.proxyInited,o=q.value,a=_.value;e&&(0,_utils.isEnableConf)(o)&&(t&&(0,_utils.isEnableConf)(a)&&o.form&&a.items&&(j.formData=he()),r||!(j.proxyInited=!0)!==o.autoLoad&&(0,_vue.nextTick)().then(()=>{M.uFoot=!0;var e=z.commitProxy("initial");return M.uFoot=!1,Z(),e}).then(e=>{Ee("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Z=()=>{var e=q.value.ajax;if(e&&e.queryFooter)return z.commitProxy("queryFooter")},ye=e=>{var t=h.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&j.isZMax&&!1!==t.escRestore&&z.triggerZoomEvent(e)},Ee=(e,t,r)=>{o(e,createEvent(r,{$grid:z,$gantt:null},t))};t={dispatchEvent:Ee,getEl(){return g.value},commitProxy(t,...v){let{showFooter:i,proxyConfig:s,toolbarConfig:e,pagerConfig:u,editRules:m,validConfig:p}=c,f=j.tablePage,x=B.value,b=K.value;var _=q.value;let h=L.value;var r=V.value;let{beforeQuery:C,afterQuery:y,beforeQueryFooter:a,afterQueryFooter:l,beforeDelete:n,afterDelete:E,beforeSave:R,afterSave:w,ajax:P={}}=_,F=_.response||_.props||{},T=$.value;if(T){let g=A(),d=null,c=null;c=_xeUtils.default.isString(t)?(o=r.buttons,r=e&&(0,_utils.isEnableConf)(r)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,d=r?r.item:null,t):(d=t).code;var o,k=d?d.params:null;switch(c){case"insert":return T.insert({});case"insert_edit":return T.insert({}).then(({row:e})=>T.setEditRow(e,!0));case"insert_actived":return T.insert({}).then(({row:e})=>T.setEditRow(e,!0));case"mark_cancel":O=c,S=B.value,U=$.value,(I=U?U.getCheckboxRecords():[]).length?(U&&U.togglePendingRow(I),z.clearCheckboxRow()):S&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:O,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return Y(c,"vxe.grid.removeSelectRecord",()=>T.removeCheckboxRow());case"import":T.importData(k);break;case"open_import":T.openImport(k);break;case"export":T.exportData(k);break;case"open_export":T.openExport(k);break;case"reset_custom":return T.resetCustom(!0);case"initial":case"reload":case"query":{var U=P.query;let n=P.querySuccess,o=P.queryError;if(U){var I="initial"===c,S="reload"===c;if(!I&&j.tableLoading)return(0,_vue.nextTick)();let e=null,r=[],a=[],t={};if(u&&((I||S)&&(f.currentPage=1),(0,_utils.isEnableConf)(h))&&(t=Object.assign({},f)),I){if(s&&(0,_utils.isEnableConf)(_)&&_.form&&(g=he(),j.formData=g),T){let{tableFullColumn:e,fullColumnFieldData:o}=T.internalData;var O=T.getComputeMaps().computeSortOpts;let t=O.value.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),r=t.map(e=>{var{field:e,order:t}=e,r=o[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),a=T.getCheckedFilters()}}else T&&(S?e=T.clearAll():(r=T.getSortColumns(),a=T.getCheckedFilters()));let l={$table:T,$grid:z,$gantt:null,code:c,button:d,isInited:I,isReload:S,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:g,options:U};return j.sortData=r,j.filterData=a,j.tableLoading=!0,Promise.all([Promise.resolve((C||U)(l,...v)),e]).then(([e])=>{let t=[];var r,o,a;return j.tableLoading=!1,e&&(r={data:e,$table:T,$grid:z,$gantt:null},u&&(0,_utils.isEnableConf)(h)?(a=F.total,a=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a||"page.total"))||0,f.total=_xeUtils.default.toNumber(a),o=F.result,t=(_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o||"result"))||[],o=Math.max(Math.ceil(a/f.pageSize),1),f.currentPage>o&&(f.currentPage=o)):(a=F.list,_xeUtils.default.isArray(e)?t=e:a&&(t=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a))||[])),i)&&(a=(o=F.footerData)?_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o):[],_xeUtils.default.isArray(a))&&(j.footerData=a),T?T.loadData(t):(0,_vue.nextTick)(()=>{var e=$.value;e&&e.loadData(t)}),y&&y(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(j.tableLoading=!1,o&&o(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.query"]);break}case"queryFooter":{var D=P.queryFooter;let r=P.queryFooterSuccess,o=P.queryFooterError;if(D){let e=[],t=(T&&(e=T.getCheckedFilters()),{$table:T,$grid:z,$gantt:null,code:c,button:d,filters:e,form:g,options:D});return Promise.resolve((a||D)(t,...v)).then(e=>(j.footerData=_xeUtils.default.isArray(e)?e:[],l&&l(t,...v),r&&r(Object.assign(Object.assign({},t),{response:e})),{status:!0})).catch(e=>(o&&o(Object.assign(Object.assign({},t),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.queryFooter"]);break}case"delete":{let o=P.delete,a=P.deleteSuccess,l=P.deleteError;if(o){let e=z.getCheckboxRecords(),t=e.filter(e=>!T.isInsertByRow(e));D={removeRecords:t};let r={$table:T,$grid:z,$gantt:null,code:c,button:d,body:D,form:g,options:o};if(e.length)return Y(c,"vxe.grid.deleteSelectRecord",()=>t.length?(j.tableLoading=!0,Promise.resolve((n||o)(r,...v)).then(e=>(j.tableLoading=!1,T.setPendingRow(t,!1),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:H(e,"vxe.grid.delSuccess"),status:"success"}),E?E(r,...v):(M.uFoot=!0,z.commitProxy("query"),M.uFoot=!1,Z()),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:H(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):T.remove(e));x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.delete"]);break}case"save":{let i=P.save,s=P.saveSuccess,u=P.saveError;if(i){let t=T.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:l}=t,n={$table:T,$grid:z,$gantt:null,code:c,button:d,body:t,form:g,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===T.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===T.findRowIndexOf(l,e))),Promise.resolve());return(e=m?T[p&&"full"===p.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||a.length||t.pendingRecords.length?(j.tableLoading=!0,Promise.resolve((R||i)(n,...v)).then(e=>(j.tableLoading=!1,T.clearPendingRow(),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:H(e,"vxe.grid.saveSuccess"),status:"success"}),w?w(n,...v):(M.uFoot=!0,z.commitProxy("query"),M.uFoot=!1,Z()),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:H(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.save"]);break}default:var D=commands.get(c);D&&((D=D.tableCommandMethod||D.commandMethod)?D({code:c,button:d,$grid:z,$table:T,$gantt:null},...v):(0,_log.errLog)("vxe.error.notCommands",["[grid] "+c]))}}return(0,_vue.nextTick)()},getParams(){return c.params},zoom(){return j.isZMax?z.revert():z.maximize()},isMaximized(){return j.isZMax},maximize(){return ue(!0)},revert(){return ue()},getFormData:A,getFormItems(e){var t=_.value,r=c.formConfig,o=t.items;let a=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&o?o:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},resetForm(){var e=i.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=i.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=i.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=i.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=j.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=s.value;t&&t.homePageByEvent(e)},endPage(){var e=j.tablePage,t=D.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=s.value;t&&t.endPageByEvent(e)},getCurrentPage(){var e=j.tablePage;return e.currentPage},setCurrentPage(e){var t=j.tablePage,r=D.value;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var r=s.value;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=j.tablePage;return e.pageSize},setPageSize(e){var t=j.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var r=s.value;r&&r.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=$.value;return c.proxyConfig?(e=j.sortData,{data:t?t.getFullData():[],filter:j.filterData,form:A(),sort:e.length?e[0]:{},sorts:e,pager:j.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}};let Re={extendTableMethods:r,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var t=c.height,r=j.isZMax,o=g.value;if(o){var a=m.value,l=p.value,n=f.value,i=x.value,s=b.value,u=o.parentElement;let e=0;return(e=!u||"100%"!==t&&"auto"!==t?e:r?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(s)}return 0},getParentHeight(){var e=g.value;return e?(e=e.parentElement,(j.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Re.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;var o;return r?((o=["reload","delete","save"].includes(r))&&(M.uFoot=!0),e=z.commitProxy(e,t).then(e=>{e&&e.status&&["query","reload","delete","save"].includes(r)&&z.dispatchEvent("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r}),t)}),M.uFoot=!1,o&&Z(),e):(0,_vue.nextTick)()},triggerToolbarBtnEvent(e,t){z.triggerToolbarCommitEvent(e,t),z.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){z.triggerToolbarCommitEvent(e,t),z.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){z.zoom(),z.dispatchEvent("zoom",{type:j.isZMax?"max":"revert"},e)}};Object.assign(z,a,t,Re,{loadColumn(e){var t=$.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return z.clearAll(),z.loadColumn(e)}});let R=(0,_vue.ref)(0);return(0,_vue.watch)(()=>c.columns?c.columns.length:-1,()=>{R.value++}),(0,_vue.watch)(()=>c.columns,()=>{R.value++}),(0,_vue.watch)(R,()=>{(0,_vue.nextTick)(()=>z.loadColumn(c.columns||[]))}),(0,_vue.watch)(()=>c.toolbarConfig,()=>{W()}),(0,_vue.watch)(I,()=>{C("currentPage")}),(0,_vue.watch)(S,()=>{C("pageSize")}),(0,_vue.watch)(O,()=>{C("total")}),(0,_vue.watch)(()=>c.proxyConfig,()=>{Ce()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(z))&&_xeUtils.default.isObject(e)&&Object.assign(z,e)}),C(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=c.columns,t=q.value;c.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),c.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["[grid] proxy-config.props","proxy-config.response"]),e&&e.length&&z.loadColumn(e),W(),Ce()}),globalEvents.on(z,"keydown",ye)}),(0,_vue.onBeforeUnmount)(()=>{globalEvents.off(z,"keydown"),_xeUtils.default.assign(j,createReactData()),_xeUtils.default.assign(M,createInternalData())}),z.renderVN=()=>{var e=P.value,t=F.value,r=G.value;return(0,_vue.h)("div",{ref:g,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!c.animat,"is--round":c.round,"is--maximize":j.isZMax,"is--loading":r}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=U.value,o=d.asideLeft||d["aside-left"],a=d.asideRight||d["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},E(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},o({})):renderEmptyElement(z),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},E(t)),a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},a({})):renderEmptyElement(z)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},E(r)),(0,_vue.h)("div",{ref:v})]})())},(0,_vue.provide)("$xeGrid",z),(0,_vue.provide)("$xeGantt",null),z},render(){return this.renderVN()}});
|
|
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")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_props=require("./props"),_emits=require("./emits"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_emits2=require("../../table/src/emits"),_props2=require("../../table/src/props"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props2.tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeRowLevel","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","getScrollData","scrollTo","scrollToStartRow","scrollToEndRow","scrollToRow","scrollToStartColumn","scrollToEndColumn","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","setMergeHeaderCells","removeMergeHeaderCells","getMergeHeaderCells","clearMergeHeaderCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","setCustomStoreData","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","updateCellLabel","clearFormatterCache","getFooterCellLabel","updateFooterCellLabel","clearFooterFormatterCache","undo","redo","getCellElement","focus","blur","connect","connectToolbar"];function createReactData(){var e;return{tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}}function createInternalData(){return{uFoot:!1}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:_props.gridProps,emits:_emits.gridEmits,setup(c,e){let{slots:d,emit:o}=e;var t=_xeUtils.default.uniqueId();let n=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),w=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],P=useFns.useSize(c).computeSize,j=(0,_vue.reactive)(createReactData()),M=createInternalData(),g=(0,_vue.ref)(),$=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)(),b=(0,_vue.ref)();var r=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=$.value;if(t&&t[r])return t[r](...e)}}),t};let a=r(tableComponentMethodKeys),q=(tableComponentMethodKeys.forEach(r=>{a[r]=(...e)=>{var t=$.value;if(t&&t[r])return t&&t[r](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),c.proxyConfig))),K=(0,_vue.computed)(()=>{var e=q.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),B=(0,_vue.computed)(()=>{var e=q.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),L=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,c.pagerConfig)),_=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,c.formConfig)),V=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,c.toolbarConfig)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,c.zoomConfig)),F=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=c,{isZMax:r,tZindex:o}=j,a={};return r?a.zIndex=o:(e&&(a.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(a.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),a}),T=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{void 0!==c[e]&&(t[e]=c[e])}),t}),k=(0,_vue.computed)(()=>{var{showFooter:e,seqConfig:t,pagerConfig:r,editConfig:o,proxyConfig:a}=c,{isZMax:l,tablePage:n,footerData:i}=j,s=T.value,u=q.value,g=L.value,d=G.value,s=Object.assign({},s);return(e&&!s.footerData||u.footer&&i.length)&&(s.footerData=i),l&&(s.maxHeight?s.maxHeight="100%":s.height="100%"),a&&(0,_utils.isEnableConf)(u)&&(s.loading=d,r)&&u.seq&&(0,_utils.isEnableConf)(g)&&(s.seqConfig=Object.assign({},t,{startIndex:(n.currentPage-1)*n.pageSize})),o&&(s.editConfig=Object.assign({},o)),s}),U=(0,_vue.computed)(()=>{var e=c.layouts;let t=[],r=[],o=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||w).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],a=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:a}});var S=(0,_vue.computed)(()=>L.value.currentPage),I=(0,_vue.computed)(()=>L.value.pageSize),O=(0,_vue.computed)(()=>L.value.total);let D=(0,_vue.computed)(()=>{var e=j.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),G=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=c,r=j.tableLoading,o=q.value,a=o.showLoading;return e||r&&a&&t&&(0,_utils.isEnableConf)(o)}),N={refElem:g,refTable:$,refForm:i,refToolbar:u,refPager:s,refPopupContainerElem:v},Q={computeProxyOpts:q,computePagerOpts:L,computeFormOpts:_,computeToolbarOpts:V,computeZoomOpts:h},z={xID:t,props:c,context:e,reactData:j,internalData:M,getRefMaps:()=>N,getComputeMaps:()=>Q},W=()=>{var e=V.value;c.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=$.value,t=u.value;e&&t&&e.connectToolbar(t)})},A=()=>{var e=c.proxyConfig,t=j.formData,r=q.value,o=_.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:o.data},C=e=>{var t=j.tablePage,r=c.pagerConfig,o=L.value;r&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):({currentPage:r,pageSize:e,total:o}=o,r&&(t.currentPage=r),e&&(t.pageSize=e),o&&(t.total=o)))},H=(e,t)=>{var r=q.value,r=(r.response||r.props||{}).message,o=$.value;let a;return(a=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:o,$grid:z,$gantt:null}):_xeUtils.default.get(e,r):a)||getI18n(t)},Y=(e,t,r)=>{var o=B.value,a=z.getCheckboxRecords();if(o)if(a.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&r();return Promise.resolve()},J=e=>{var t=c.proxyConfig,r=j.tablePage;let{$event:o,currentPage:a,pageSize:l}=e;var n=q.value;r.currentPage=a,r.pageSize=l,z.dispatchEvent("page-change",e,o),t&&(0,_utils.isEnableConf)(n)&&z.commitProxy("query").then(e=>{z.dispatchEvent("proxy-query",e,o)})},X=t=>{var e,r=$.value,o=c.proxyConfig;r&&(r=r.getComputeMaps().computeSortOpts,e=q.value,r.value.remote)&&(j.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(e)&&(j.tablePage.currentPage=1,z.commitProxy("query").then(e=>{z.dispatchEvent("proxy-query",e,t.$event)}))},ee=e=>{X(e),z.dispatchEvent("sort-change",e,e.$event)},te=e=>{X(e),z.dispatchEvent("clear-all-sort",e,e.$event)},re=t=>{var e,r=$.value,o=c.proxyConfig;r&&(r=r.getComputeMaps().computeFilterOpts,e=q.value,r.value.remote)&&(j.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(e)&&(j.tablePage.currentPage=1,M.uFoot=!0,z.commitProxy("query").then(e=>{z.dispatchEvent("proxy-query",e,t.$event)}),M.uFoot=!1,Z())},oe=e=>{re(e),z.dispatchEvent("filter-change",e,e.$event)},ae=e=>{re(e),z.dispatchEvent("clear-all-filter",e,e.$event)},le=t=>{var e=c.proxyConfig,r=q.value;j.tableLoading||(e&&(0,_utils.isEnableConf)(r)&&(M.uFoot=!0,z.commitProxy("reload").then(e=>{z.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),M.uFoot=!1,Z()),z.dispatchEvent("form-submit",t,t.$event))},ne=e=>{var t=$.value,r=c.proxyConfig;let o=e.$event;var a=q.value;r&&(0,_utils.isEnableConf)(a)&&(t&&t.clearScroll(),M.uFoot=!0,z.commitProxy("reload").then(e=>{z.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)}),M.uFoot=!1,Z()),z.dispatchEvent("form-reset",e,o)},ie=e=>{z.dispatchEvent("form-submit-invalid",e,e.$event)},se=e=>{var t=e.$event;z.dispatchEvent("form-toggle-collapse",e,t),z.dispatchEvent("form-collapse",e,t)},ue=e=>{var t=j.isZMax;return(e?!t:t)&&(j.isZMax=!t,j.tZindex<(0,_utils.getLastZIndex)())&&(j.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>z.recalculate(!0)).then(()=>(setTimeout(()=>z.recalculate(!0),15),j.isZMax))},y=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(d[e])return d[e];(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])}return null},ge=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?d[e]?r[t]=d[e]:(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e]):r[t]=e)}),r},de=()=>{var{formConfig:e,proxyConfig:r}=c,o=j.formData,a=q.value,l=_.value;if(e&&(0,_utils.isEnableConf)(l)||d.form){let e=[];if(d.form)e=d.form({$grid:z,$gantt:null});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t({$grid:z,$gantt:null,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]&&(t[e]=d[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:r&&(0,_utils.isEnableConf)(a)&&a.form?o:l.data})),{onSubmit:le,onReset:ne,onSubmitInvalid:ie,onCollapse:se}),t))}return(0,_vue.h)("div",{ref:m,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(z)},ce=()=>{var t,r,o,a,l,n=c.toolbarConfig,i=V.value,s=d.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return s?e=s({$grid:z,$gantt:null}):(n={},(s=i.slots)&&(t=y(s,"buttons"),r=y(s,"buttonPrefix"),o=y(s,"buttonSuffix"),a=y(s,"tools"),l=y(s,"toolPrefix"),s=y(s,"toolSuffix"),t&&(n.buttons=t),r&&(n.buttonPrefix=r),o&&(n.buttonSuffix=o),a&&(n.tools=a),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(_toolbar.default,Object.assign(Object.assign({ref:u},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:p,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(z)},ve=()=>{var e=d.top;return e?(0,_vue.h)("div",{ref:f,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},me=()=>{var e=d.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},pe=()=>{var e=d.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},fe=()=>{var e=c.proxyConfig,t=k.value,r=q.value,o=Object.assign({},_e),a=d.empty,l=d.loading,n=d.rowDragIcon||d["row-drag-icon"],i=d.columnDragIcon||d["column-drag-icon"],s=d.headerTooltip||d["header-tooltip"],u=d.tooltip,g=d.footerTooltip||d["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(o.onSortChange=ee,o.onClearAllSort=te),r.filter)&&(o.onFilterChange=oe,o.onClearAllFilter=ae),{});return a&&(e.empty=a),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),s&&(e.headerTooltip=s),u&&(e.tooltip=u),g&&(e.footerTooltip=g),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:$},t),o),e)])},xe=()=>d.bottom?(0,_vue.h)("div",{ref:x,key:"bottom",class:"vxe-grid--bottom-wrapper"},d.bottom({$grid:z,$gantt:null})):renderEmptyElement(z),be=()=>{var{proxyConfig:e,pagerConfig:t}=c,r=q.value,o=L.value,a=d.pager;return t&&(0,_utils.isEnableConf)(o)||d.pager?(0,_vue.h)("div",{ref:b,key:"pager",class:"vxe-grid--pager-wrapper"},a?a({$grid:z,$gantt:null}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:s},o),e&&(0,_utils.isEnableConf)(r)?j.tablePage:{}),{onPageChange:J}),ge(o.slots)):renderEmptyElement(z)]):renderEmptyElement(z)},E=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(de());break;case"Toolbar":t.push(ce());break;case"Top":t.push(ve());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[me(),fe(),pe()]));break;case"Bottom":t.push(xe());break;case"Pager":t.push(be());break;default:(0,_log.errLog)("vxe.error.notProp",["[grid] layouts -> "+e])}}),t},_e={},he=(_emits2.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);_e[e]=(...e)=>o(t,...e)}),()=>{var e=_.value;if(e.items){let n={};return e.items.forEach(t=>{var r,o,{field:a,itemRender:l}=t;if(a){let e=null;l&&({startField:l,endField:r,defaultValue:o}=l,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o),l)&&r&&(_xeUtils.default.set(n,l,null),_xeUtils.default.set(n,r,null)),n[a]=e}}),n}return{}}),Ce=()=>{var{proxyConfig:e,formConfig:t}=c,r=j.proxyInited,o=q.value,a=_.value;e&&(0,_utils.isEnableConf)(o)&&(t&&(0,_utils.isEnableConf)(a)&&o.form&&a.items&&(j.formData=he()),r||!(j.proxyInited=!0)!==o.autoLoad&&(0,_vue.nextTick)().then(()=>{M.uFoot=!0;var e=z.commitProxy("initial");return M.uFoot=!1,Z(),e}).then(e=>{Ee("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Z=()=>{var e=q.value.ajax;if(e&&e.queryFooter)return z.commitProxy("queryFooter")},ye=e=>{var t=h.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&j.isZMax&&!1!==t.escRestore&&z.triggerZoomEvent(e)},Ee=(e,t,r)=>{o(e,createEvent(r,{$grid:z,$gantt:null},t))};t={dispatchEvent:Ee,getEl(){return g.value},commitProxy(t,...v){let{showFooter:i,proxyConfig:s,toolbarConfig:e,pagerConfig:u,editRules:m,validConfig:p}=c,f=j.tablePage,x=B.value,b=K.value;var _=q.value;let h=L.value;var r=V.value;let{beforeQuery:C,afterQuery:y,beforeQueryFooter:a,afterQueryFooter:l,beforeDelete:n,afterDelete:E,beforeSave:R,afterSave:w,ajax:P={}}=_,F=_.response||_.props||{},T=$.value;if(T){let g=A(),d=null,c=null;c=_xeUtils.default.isString(t)?(o=r.buttons,r=e&&(0,_utils.isEnableConf)(r)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,d=r?r.item:null,t):(d=t).code;var o,k=d?d.params:null;switch(c){case"insert":return T.insert({});case"insert_edit":return T.insert({}).then(({row:e})=>T.setEditRow(e,!0));case"insert_actived":return T.insert({}).then(({row:e})=>T.setEditRow(e,!0));case"mark_cancel":O=c,I=B.value,U=$.value,(S=U?U.getCheckboxRecords():[]).length?(U&&U.togglePendingRow(S),z.clearCheckboxRow()):I&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:O,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return Y(c,"vxe.grid.removeSelectRecord",()=>T.removeCheckboxRow());case"import":T.importData(k);break;case"open_import":T.openImport(k);break;case"export":T.exportData(k);break;case"open_export":T.openExport(k);break;case"reset_custom":return T.resetCustom(!0);case"initial":case"reload":case"query":{var U=P.query;let n=P.querySuccess,o=P.queryError;if(U){var S="initial"===c,I="reload"===c;if(!S&&j.tableLoading)return(0,_vue.nextTick)();let e=null,r=[],a=[],t={};if(u&&((S||I)&&(f.currentPage=1),(0,_utils.isEnableConf)(h))&&(t=Object.assign({},f)),S){if(s&&(0,_utils.isEnableConf)(_)&&_.form&&(g=he(),j.formData=g),T){let{tableFullColumn:e,fullColumnFieldData:o}=T.internalData;var O=T.getComputeMaps().computeSortOpts;let t=O.value.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),r=t.map(e=>{var{field:e,order:t}=e,r=o[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),a=T.getCheckedFilters()}}else T&&(I?e=T.clearAll():(r=T.getSortColumns(),a=T.getCheckedFilters()));let l={$table:T,$grid:z,$gantt:null,code:c,button:d,isInited:S,isReload:I,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:g,options:U};return j.sortData=r,j.filterData=a,j.tableLoading=!0,Promise.all([Promise.resolve((C||U)(l,...v)),e]).then(([e])=>{let t=[];var r,o,a;return j.tableLoading=!1,e&&(r={data:e,$table:T,$grid:z,$gantt:null},u&&(0,_utils.isEnableConf)(h)?(a=F.total,a=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a||"page.total"))||0,f.total=_xeUtils.default.toNumber(a),o=F.result,t=(_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o||"result"))||[],o=Math.max(Math.ceil(a/f.pageSize),1),f.currentPage>o&&(f.currentPage=o)):(a=F.list,_xeUtils.default.isArray(e)?t=e:a&&(t=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a))||[])),i)&&(a=(o=F.footerData)?_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o):[],_xeUtils.default.isArray(a))&&(j.footerData=a),T?T.loadData(t):(0,_vue.nextTick)(()=>{var e=$.value;e&&e.loadData(t)}),y&&y(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(j.tableLoading=!1,o&&o(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.query"]);break}case"queryFooter":{var D=P.queryFooter;let r=P.queryFooterSuccess,o=P.queryFooterError;if(D){let e=[],t=(T&&(e=T.getCheckedFilters()),{$table:T,$grid:z,$gantt:null,code:c,button:d,filters:e,form:g,options:D});return Promise.resolve((a||D)(t,...v)).then(e=>(j.footerData=_xeUtils.default.isArray(e)?e:[],l&&l(t,...v),r&&r(Object.assign(Object.assign({},t),{response:e})),{status:!0})).catch(e=>(o&&o(Object.assign(Object.assign({},t),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.queryFooter"]);break}case"delete":{let o=P.delete,a=P.deleteSuccess,l=P.deleteError;if(o){let e=z.getCheckboxRecords(),t=e.filter(e=>!T.isInsertByRow(e));D={removeRecords:t};let r={$table:T,$grid:z,$gantt:null,code:c,button:d,body:D,form:g,options:o};if(e.length)return Y(c,"vxe.grid.deleteSelectRecord",()=>t.length?(j.tableLoading=!0,Promise.resolve((n||o)(r,...v)).then(e=>(j.tableLoading=!1,T.setPendingRow(t,!1),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:H(e,"vxe.grid.delSuccess"),status:"success"}),E?E(r,...v):(M.uFoot=!0,z.commitProxy("query"),M.uFoot=!1,Z()),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:H(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):T.remove(e));x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.delete"]);break}case"save":{let i=P.save,s=P.saveSuccess,u=P.saveError;if(i){let t=T.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:l}=t,n={$table:T,$grid:z,$gantt:null,code:c,button:d,body:t,form:g,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===T.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===T.findRowIndexOf(l,e))),Promise.resolve());return(e=m?T[p&&"full"===p.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||a.length||t.pendingRecords.length?(j.tableLoading=!0,Promise.resolve((R||i)(n,...v)).then(e=>(j.tableLoading=!1,T.clearPendingRow(),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:H(e,"vxe.grid.saveSuccess"),status:"success"}),w?w(n,...v):(M.uFoot=!0,z.commitProxy("query"),M.uFoot=!1,Z()),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:H(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.save"]);break}default:var D=commands.get(c);D&&((D=D.tableCommandMethod||D.commandMethod)?D({code:c,button:d,$grid:z,$table:T,$gantt:null},...v):(0,_log.errLog)("vxe.error.notCommands",["[grid] "+c]))}}return(0,_vue.nextTick)()},getParams(){return c.params},zoom(){return j.isZMax?z.revert():z.maximize()},isMaximized(){return j.isZMax},maximize(){return ue(!0)},revert(){return ue()},getFormData:A,getFormItems(e){var t=_.value,r=c.formConfig,o=t.items;let a=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&o?o:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},resetForm(){var e=i.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=i.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=i.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=i.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=j.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=s.value;t&&t.homePageByEvent(e)},endPage(){var e=j.tablePage,t=D.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=s.value;t&&t.endPageByEvent(e)},getCurrentPage(){var e=j.tablePage;return e.currentPage},setCurrentPage(e){var t=j.tablePage,r=D.value;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var r=s.value;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=j.tablePage;return e.pageSize},setPageSize(e){var t=j.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var r=s.value;r&&r.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=$.value;return c.proxyConfig?(e=j.sortData,{data:t?t.getFullData():[],filter:j.filterData,form:A(),sort:e.length?e[0]:{},sorts:e,pager:j.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}};let Re={extendTableMethods:r,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var t=c.height,r=j.isZMax,o=g.value;if(o){var a=m.value,l=p.value,n=f.value,i=x.value,s=b.value,u=o.parentElement;let e=0;return(e=!u||"100%"!==t&&"auto"!==t?e:r?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(s)}return 0},getParentHeight(){var e=g.value;return e?(e=e.parentElement,(j.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Re.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;var o;return r?((o=["reload","delete","save"].includes(r))&&(M.uFoot=!0),e=z.commitProxy(e,t).then(e=>{e&&e.status&&["query","reload","delete","save"].includes(r)&&z.dispatchEvent("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r}),t)}),M.uFoot=!1,o&&Z(),e):(0,_vue.nextTick)()},triggerToolbarBtnEvent(e,t){z.triggerToolbarCommitEvent(e,t),z.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){z.triggerToolbarCommitEvent(e,t),z.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){z.zoom(),z.dispatchEvent("zoom",{type:j.isZMax?"max":"revert"},e)}};Object.assign(z,a,t,Re,{loadColumn(e){var t=$.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return z.clearAll(),z.loadColumn(e)}});let R=(0,_vue.ref)(0);return(0,_vue.watch)(()=>c.columns?c.columns.length:-1,()=>{R.value++}),(0,_vue.watch)(()=>c.columns,()=>{R.value++}),(0,_vue.watch)(R,()=>{(0,_vue.nextTick)(()=>z.loadColumn(c.columns||[]))}),(0,_vue.watch)(()=>c.toolbarConfig,()=>{W()}),(0,_vue.watch)(S,()=>{C("currentPage")}),(0,_vue.watch)(I,()=>{C("pageSize")}),(0,_vue.watch)(O,()=>{C("total")}),(0,_vue.watch)(()=>c.proxyConfig,()=>{Ce()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(z))&&_xeUtils.default.isObject(e)&&Object.assign(z,e)}),C(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=c.columns,t=q.value;c.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),c.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["[grid] proxy-config.props","proxy-config.response"]),e&&e.length&&z.loadColumn(e),W(),Ce()}),globalEvents.on(z,"keydown",ye)}),(0,_vue.onBeforeUnmount)(()=>{globalEvents.off(z,"keydown"),_xeUtils.default.assign(j,createReactData()),_xeUtils.default.assign(M,createInternalData())}),z.renderVN=()=>{var e=P.value,t=F.value,r=G.value;return(0,_vue.h)("div",{ref:g,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!c.animat,"is--round":c.round,"is--maximize":j.isZMax,"is--loading":r}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=U.value,o=d.asideLeft||d["aside-left"],a=d.asideRight||d["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},E(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},o({})):renderEmptyElement(z),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},E(t)),a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},a({})):renderEmptyElement(z)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},E(r)),(0,_vue.h)("div",{ref:v})]})())},(0,_vue.provide)("$xeGrid",z),(0,_vue.provide)("$xeGantt",null),z},render(){return this.renderVN()}});
|