vxe-table 4.16.0-beta.0 → 4.16.0-beta.2
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/es/grid/src/grid.js +1 -0
- package/es/style.css +1 -1
- package/es/table/module/custom/hook.js +2 -1
- package/es/table/module/custom/panel.js +4 -0
- package/es/table/module/edit/hook.js +3 -2
- package/es/table/module/export/export-panel.js +3 -0
- package/es/table/module/export/hook.js +45 -24
- package/es/table/module/export/import-panel.js +3 -0
- package/es/table/module/menu/hook.js +2 -1
- package/es/table/module/validator/hook.js +3 -1
- package/es/table/src/body.js +7 -2
- package/es/table/src/column.js +1 -0
- package/es/table/src/columnInfo.js +5 -3
- package/es/table/src/footer.js +2 -0
- package/es/table/src/group.js +1 -0
- package/es/table/src/header.js +2 -0
- package/es/table/src/table.js +32 -26
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +1 -0
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +117 -49
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/hook.js +2 -1
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +4 -0
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +5 -2
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +3 -0
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/hook.js +52 -19
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/export/import-panel.js +3 -0
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/menu/hook.js +2 -0
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +3 -1
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/src/body.js +8 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/column.js +1 -0
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +6 -2
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +2 -0
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/group.js +1 -0
- package/lib/table/src/group.min.js +1 -1
- package/lib/table/src/header.js +2 -0
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +20 -20
- package/lib/table/src/table.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 -0
- package/packages/table/module/custom/hook.ts +2 -1
- package/packages/table/module/custom/panel.ts +4 -0
- package/packages/table/module/edit/hook.ts +3 -2
- package/packages/table/module/export/export-panel.ts +3 -0
- package/packages/table/module/export/hook.ts +52 -26
- package/packages/table/module/export/import-panel.ts +3 -0
- package/packages/table/module/menu/hook.ts +2 -1
- package/packages/table/module/validator/hook.ts +3 -1
- package/packages/table/src/body.ts +7 -2
- package/packages/table/src/column.ts +1 -0
- package/packages/table/src/columnInfo.ts +5 -3
- package/packages/table/src/footer.ts +2 -0
- package/packages/table/src/group.ts +1 -0
- package/packages/table/src/header.ts +2 -0
- package/packages/table/src/table.ts +33 -26
- /package/es/{iconfont.1755178488627.ttf → iconfont.1755245648660.ttf} +0 -0
- /package/es/{iconfont.1755178488627.woff → iconfont.1755245648660.woff} +0 -0
- /package/es/{iconfont.1755178488627.woff2 → iconfont.1755245648660.woff2} +0 -0
- /package/lib/{iconfont.1755178488627.ttf → iconfont.1755245648660.ttf} +0 -0
- /package/lib/{iconfont.1755178488627.woff → iconfont.1755245648660.woff} +0 -0
- /package/lib/{iconfont.1755178488627.woff2 → iconfont.1755245648660.woff2} +0 -0
package/es/table/src/table.js
CHANGED
|
@@ -330,12 +330,13 @@ export default defineVxeComponent({
|
|
|
330
330
|
const refScrollYSpaceElem = ref();
|
|
331
331
|
const $xeGrid = inject('$xeGrid', null);
|
|
332
332
|
const $xeGantt = inject('$xeGantt', null);
|
|
333
|
+
const $xeGGWrapper = $xeGrid || $xeGantt;
|
|
333
334
|
let $xeToolbar;
|
|
334
335
|
const computeTableId = computed(() => {
|
|
335
336
|
const { id } = props;
|
|
336
337
|
if (id) {
|
|
337
338
|
if (XEUtils.isFunction(id)) {
|
|
338
|
-
return `${id({ $table: $xeTable, $grid: $xeGrid }) || ''}`;
|
|
339
|
+
return `${id({ $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }) || ''}`;
|
|
339
340
|
}
|
|
340
341
|
return `${id}`;
|
|
341
342
|
}
|
|
@@ -3696,6 +3697,7 @@ export default defineVxeComponent({
|
|
|
3696
3697
|
};
|
|
3697
3698
|
const updateScrollYStatus = (fullData) => {
|
|
3698
3699
|
const { treeConfig } = props;
|
|
3700
|
+
const $xeGanttView = internalData.xeGanttView;
|
|
3699
3701
|
const virtualYOpts = computeVirtualYOpts.value;
|
|
3700
3702
|
const treeOpts = computeTreeOpts.value;
|
|
3701
3703
|
const { transform } = treeOpts;
|
|
@@ -3703,6 +3705,9 @@ export default defineVxeComponent({
|
|
|
3703
3705
|
// 如果gt为0,则总是启用
|
|
3704
3706
|
const scrollYLoad = (transform || !treeConfig) && !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt < allList.length);
|
|
3705
3707
|
reactData.scrollYLoad = scrollYLoad;
|
|
3708
|
+
if ($xeGanttView) {
|
|
3709
|
+
$xeGanttView.updateScrollYStatus(scrollYLoad);
|
|
3710
|
+
}
|
|
3706
3711
|
return scrollYLoad;
|
|
3707
3712
|
};
|
|
3708
3713
|
/**
|
|
@@ -4073,7 +4078,7 @@ export default defineVxeComponent({
|
|
|
4073
4078
|
}
|
|
4074
4079
|
};
|
|
4075
4080
|
const dispatchEvent = (type, params, evnt) => {
|
|
4076
|
-
emit(type, createEvent(evnt, { $table: $xeTable, $grid: $xeGrid }, params));
|
|
4081
|
+
emit(type, createEvent(evnt, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }, params));
|
|
4077
4082
|
};
|
|
4078
4083
|
const handleScrollToRowColumn = (fieldOrColumn, row) => {
|
|
4079
4084
|
const { fullColumnIdData } = internalData;
|
|
@@ -6725,7 +6730,7 @@ export default defineVxeComponent({
|
|
|
6725
6730
|
footData = footerData.slice(0);
|
|
6726
6731
|
}
|
|
6727
6732
|
else if (showFooter && footerMethod) {
|
|
6728
|
-
footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data: afterFullData, $table: $xeTable, $grid: $xeGrid }) : [];
|
|
6733
|
+
footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data: afterFullData, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }) : [];
|
|
6729
6734
|
}
|
|
6730
6735
|
reactData.footerTableData = footData;
|
|
6731
6736
|
$xeTable.handleUpdateFooterMerge();
|
|
@@ -7100,7 +7105,7 @@ export default defineVxeComponent({
|
|
|
7100
7105
|
}
|
|
7101
7106
|
}
|
|
7102
7107
|
else if (mouseConfig) {
|
|
7103
|
-
if (!getEventTargetNode(evnt, el).flag && !($
|
|
7108
|
+
if (!getEventTargetNode(evnt, el).flag && !($xeGGWrapper && getEventTargetNode(evnt, $xeGGWrapper.getRefMaps().refElem.value).flag) && !(tableMenu && getEventTargetNode(evnt, tableMenu.getRefMaps().refElem.value).flag) && !($xeToolbar && getEventTargetNode(evnt, $xeToolbar.getRefMaps().refElem.value).flag)) {
|
|
7104
7109
|
if ($xeTable.clearSelected) {
|
|
7105
7110
|
$xeTable.clearSelected();
|
|
7106
7111
|
}
|
|
@@ -7124,7 +7129,7 @@ export default defineVxeComponent({
|
|
|
7124
7129
|
$xeTable.closeMenu();
|
|
7125
7130
|
}
|
|
7126
7131
|
}
|
|
7127
|
-
const isActivated = getEventTargetNode(evnt, $
|
|
7132
|
+
const isActivated = getEventTargetNode(evnt, $xeGGWrapper ? $xeGGWrapper.getRefMaps().refElem.value : el).flag;
|
|
7128
7133
|
// 如果存在校验,点击了表格之外则清除
|
|
7129
7134
|
if (!isActivated && editRules && validOpts.autoClear) {
|
|
7130
7135
|
reactData.validErrorMaps = {};
|
|
@@ -7412,7 +7417,8 @@ export default defineVxeComponent({
|
|
|
7412
7417
|
column: selected.column,
|
|
7413
7418
|
columnIndex: tableMethods.getColumnIndex(selected.column),
|
|
7414
7419
|
$table: $xeTable,
|
|
7415
|
-
$grid: $xeGrid
|
|
7420
|
+
$grid: $xeGrid,
|
|
7421
|
+
$gantt: $xeGantt
|
|
7416
7422
|
};
|
|
7417
7423
|
// 是否被禁用
|
|
7418
7424
|
if (!beforeEditMethod || beforeEditMethod(params)) {
|
|
@@ -7439,7 +7445,8 @@ export default defineVxeComponent({
|
|
|
7439
7445
|
column: selected.column,
|
|
7440
7446
|
columnIndex: $xeTable.getColumnIndex(selected.column),
|
|
7441
7447
|
$table: $xeTable,
|
|
7442
|
-
$grid: $xeGrid
|
|
7448
|
+
$grid: $xeGrid,
|
|
7449
|
+
$gantt: $xeGantt
|
|
7443
7450
|
};
|
|
7444
7451
|
// 是否被禁用
|
|
7445
7452
|
if (!beforeEditMethod || beforeEditMethod(params)) {
|
|
@@ -7465,7 +7472,8 @@ export default defineVxeComponent({
|
|
|
7465
7472
|
rowIndex: $xeTable.getRowIndex(parentRow),
|
|
7466
7473
|
$rowIndex: $xeTable.getVMRowIndex(parentRow),
|
|
7467
7474
|
$table: $xeTable,
|
|
7468
|
-
$grid: $xeGrid
|
|
7475
|
+
$grid: $xeGrid,
|
|
7476
|
+
$gantt: $xeGantt
|
|
7469
7477
|
};
|
|
7470
7478
|
$xeTable.setTreeExpand(parentRow, false)
|
|
7471
7479
|
.then(() => $xeTable.scrollToRow(parentRow))
|
|
@@ -7487,9 +7495,10 @@ export default defineVxeComponent({
|
|
|
7487
7495
|
column: selected.column,
|
|
7488
7496
|
columnIndex: $xeTable.getColumnIndex(selected.column),
|
|
7489
7497
|
$table: $xeTable,
|
|
7490
|
-
$grid: $xeGrid
|
|
7498
|
+
$grid: $xeGrid,
|
|
7499
|
+
$gantt: $xeGantt
|
|
7491
7500
|
};
|
|
7492
|
-
if (!beforeEditMethod || beforeEditMethod(Object.assign(Object.assign({}, selected.args), { $table: $xeTable, $grid: $xeGrid }))) {
|
|
7501
|
+
if (!beforeEditMethod || beforeEditMethod(Object.assign(Object.assign({}, selected.args), { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }))) {
|
|
7493
7502
|
if (editMethod) {
|
|
7494
7503
|
editMethod(params);
|
|
7495
7504
|
}
|
|
@@ -7802,8 +7811,8 @@ export default defineVxeComponent({
|
|
|
7802
7811
|
};
|
|
7803
7812
|
const callSlot = (slotFunc, params) => {
|
|
7804
7813
|
if (slotFunc) {
|
|
7805
|
-
if ($
|
|
7806
|
-
return $
|
|
7814
|
+
if ($xeGGWrapper) {
|
|
7815
|
+
return $xeGGWrapper.callSlot(slotFunc, params);
|
|
7807
7816
|
}
|
|
7808
7817
|
// if (XEUtils.isString(slotFunc)) {
|
|
7809
7818
|
// slotFunc = slots[slotFunc] || null
|
|
@@ -7828,8 +7837,8 @@ export default defineVxeComponent({
|
|
|
7828
7837
|
*/
|
|
7829
7838
|
getParentElem() {
|
|
7830
7839
|
const el = refElem.value;
|
|
7831
|
-
if ($
|
|
7832
|
-
const gridEl = $
|
|
7840
|
+
if ($xeGGWrapper) {
|
|
7841
|
+
const gridEl = $xeGGWrapper.getRefMaps().refElem.value;
|
|
7833
7842
|
return gridEl ? gridEl.parentNode : null;
|
|
7834
7843
|
}
|
|
7835
7844
|
return el ? el.parentNode : null;
|
|
@@ -7845,8 +7854,8 @@ export default defineVxeComponent({
|
|
|
7845
7854
|
const parentPaddingSize = height === '100%' || height === 'auto' ? getPaddingTopBottomSize(parentElem) : 0;
|
|
7846
7855
|
let parentWrapperHeight = 0;
|
|
7847
7856
|
if (parentElem) {
|
|
7848
|
-
if ($
|
|
7849
|
-
parentWrapperHeight = $
|
|
7857
|
+
if ($xeGGWrapper && hasClass(parentElem, 'vxe-grid--table-wrapper')) {
|
|
7858
|
+
parentWrapperHeight = $xeGGWrapper.getParentHeight();
|
|
7850
7859
|
}
|
|
7851
7860
|
else {
|
|
7852
7861
|
parentWrapperHeight = parentElem.clientHeight;
|
|
@@ -7862,7 +7871,7 @@ export default defineVxeComponent({
|
|
|
7862
7871
|
* 如果存在表尾合计滚动条,则需要排除滚动条高度
|
|
7863
7872
|
*/
|
|
7864
7873
|
getExcludeHeight() {
|
|
7865
|
-
return $
|
|
7874
|
+
return $xeGGWrapper ? $xeGGWrapper.getExcludeHeight() : 0;
|
|
7866
7875
|
},
|
|
7867
7876
|
/**
|
|
7868
7877
|
* 定义行数据中的列属性,如果不存在则定义
|
|
@@ -8517,7 +8526,7 @@ export default defineVxeComponent({
|
|
|
8517
8526
|
let isStop = false;
|
|
8518
8527
|
for (let i = 0; i < evntList.length; i++) {
|
|
8519
8528
|
const func = evntList[i];
|
|
8520
|
-
const fnRest = func(Object.assign({ $grid: $xeGrid,
|
|
8529
|
+
const fnRest = func(Object.assign({ $table: $xeTable, $grid: $xeGrid, gantt: $xeGantt, $event: evnt }, args));
|
|
8521
8530
|
if (fnRest === false) {
|
|
8522
8531
|
isStop = true;
|
|
8523
8532
|
break;
|
|
@@ -10776,7 +10785,6 @@ export default defineVxeComponent({
|
|
|
10776
10785
|
updateScrollXSpace() {
|
|
10777
10786
|
const { scrollXLoad, overflowX, scrollXWidth } = reactData;
|
|
10778
10787
|
const { visibleColumn, scrollXStore, elemStore, fullColumnIdData } = internalData;
|
|
10779
|
-
const $xeGanttView = internalData.xeGanttView;
|
|
10780
10788
|
const mouseOpts = computeMouseOpts.value;
|
|
10781
10789
|
const tableBody = refTableBody.value;
|
|
10782
10790
|
const tableBodyElem = tableBody ? tableBody.$el : null;
|
|
@@ -10842,9 +10850,6 @@ export default defineVxeComponent({
|
|
|
10842
10850
|
if (isScrollXBig && mouseOpts.area) {
|
|
10843
10851
|
errLog('vxe.error.notProp', ['mouse-config.area']);
|
|
10844
10852
|
}
|
|
10845
|
-
if ($xeGanttView) {
|
|
10846
|
-
$xeGanttView.updateScrollXSpace();
|
|
10847
|
-
}
|
|
10848
10853
|
return nextTick().then(() => {
|
|
10849
10854
|
updateStyle();
|
|
10850
10855
|
});
|
|
@@ -11137,7 +11142,7 @@ export default defineVxeComponent({
|
|
|
11137
11142
|
const renderEmptyBody = () => {
|
|
11138
11143
|
const emptyOpts = computeEmptyOpts.value;
|
|
11139
11144
|
const emptySlot = slots.empty;
|
|
11140
|
-
const emptyParams = { $table: $xeTable, $grid: $xeGrid };
|
|
11145
|
+
const emptyParams = { $table: $xeTable, $grid: $xeGrid, gantt: $xeGantt };
|
|
11141
11146
|
if (emptySlot) {
|
|
11142
11147
|
return emptySlot(emptyParams);
|
|
11143
11148
|
}
|
|
@@ -11281,8 +11286,9 @@ export default defineVxeComponent({
|
|
|
11281
11286
|
_columnIndex = colRest._index;
|
|
11282
11287
|
}
|
|
11283
11288
|
const expandParams = {
|
|
11284
|
-
$grid: $xeGrid,
|
|
11285
11289
|
$table: $xeTable,
|
|
11290
|
+
$grid: $xeGrid,
|
|
11291
|
+
$gantt: $xeGantt,
|
|
11286
11292
|
seq,
|
|
11287
11293
|
column: expandColumn,
|
|
11288
11294
|
columnIndex,
|
|
@@ -11597,7 +11603,7 @@ export default defineVxeComponent({
|
|
|
11597
11603
|
text: loadingOpts.text
|
|
11598
11604
|
}, loadingSlot
|
|
11599
11605
|
? {
|
|
11600
|
-
default: () => callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, loading: currLoading })
|
|
11606
|
+
default: () => callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, loading: currLoading })
|
|
11601
11607
|
}
|
|
11602
11608
|
: {})
|
|
11603
11609
|
: loadingSlot
|
|
@@ -11605,7 +11611,7 @@ export default defineVxeComponent({
|
|
|
11605
11611
|
class: ['vxe-loading--custom-wrapper', {
|
|
11606
11612
|
'is--visible': currLoading
|
|
11607
11613
|
}]
|
|
11608
|
-
}, callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, loading: currLoading }))
|
|
11614
|
+
}, callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, loading: currLoading }))
|
|
11609
11615
|
: renderEmptyElement($xeTable),
|
|
11610
11616
|
/**
|
|
11611
11617
|
* 自定义列
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/grid/src/grid.js
CHANGED
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","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","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect","connectToolbar"];function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:_props.gridProps,emits:_emits.gridEmits,setup(d,e){let t,{slots:u,emit:a}=e;var r=_xeUtils.default.uniqueId();let n=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),k=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],I=useFns.useSize(d).computeSize,O=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1}}),o=createInternalData(),s=(0,_vue.ref)(),$=(0,_vue.ref)(),i=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)();var b=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=$.value;if(t&&t[r])return t[r](...e)}}),t};let _=b(tableComponentMethodKeys),M=(tableComponentMethodKeys.forEach(r=>{_[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),d.proxyConfig))),V=(0,_vue.computed)(()=>{var e=M.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),D=(0,_vue.computed)(()=>{var e=M.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),j=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,d.pagerConfig)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,d.formConfig)),F=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,d.toolbarConfig)),C=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,d.zoomConfig)),U=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=d,{isZMax:r,tZindex:a}=O,o={};return r?o.zIndex=a:(e&&(o.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(o.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),o}),T=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{t[e]=d[e]}),t}),S=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:r,proxyConfig:a}=d,{isZMax:o,tablePage:l}=O,n=T.value,i=M.value,s=j.value,u=H.value,g=Object.assign({},n);return o&&(n.maxHeight?g.maxHeight="100%":g.height="100%"),a&&(0,_utils.isEnableConf)(i)&&(g.loading=u,t)&&i.seq&&(0,_utils.isEnableConf)(s)&&(g.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),r&&(g.editConfig=Object.assign({},r)),g}),z=(0,_vue.computed)(()=>{var e=d.layouts;let t=[],r=[],a=[],o=[];return(t=e&&e.length?e:getConfig().grid.layouts||k).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],a=t[1]||[],o=t[2]||[]):a=t),{headKeys:r,bodyKeys:a,footKeys:o}});var A=(0,_vue.computed)(()=>j.value.currentPage),Z=(0,_vue.computed)(()=>j.value.pageSize),K=(0,_vue.computed)(()=>j.value.total);let y=(0,_vue.computed)(()=>{var e=O.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),H=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=d,r=O.tableLoading,a=M.value,o=a.showLoading;return e||r&&o&&t&&(0,_utils.isEnableConf)(a)}),N={refElem:s,refTable:$,refForm:i,refToolbar:g,refPager:c},G={computeProxyOpts:M,computePagerOpts:j,computeFormOpts:h,computeToolbarOpts:F,computeZoomOpts:C},q={xID:r,props:d,context:e,reactData:O,internalData:o,getRefMaps:()=>N,getComputeMaps:()=>G},Q=()=>{var e=F.value;d.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=$.value,t=g.value;e&&t&&e.connectToolbar(t)})},B=()=>{var e=d.proxyConfig,t=O.formData,r=M.value,a=h.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:a.data},E=e=>{var t=O.tablePage,r=d.pagerConfig,a=j.value;r&&(0,_utils.isEnableConf)(a)&&(e?a[e]&&(t[e]=_xeUtils.default.toNumber(a[e])):({currentPage:r,pageSize:e,total:a}=a,r&&(t.currentPage=r),e&&(t.pageSize=e),a&&(t.total=a)))},L=(e,t)=>{var r=M.value,r=(r.response||r.props||{}).message,a=$.value;let o;return(o=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:a,$grid:q,$gantt:null}):_xeUtils.default.get(e,r):o)||getI18n(t)},W=(e,t,r)=>{var a=D.value,o=q.getCheckboxRecords();if(a)if(o.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 o.length&&r();return Promise.resolve()},Y=e=>{var t=d.proxyConfig,r=O.tablePage;let{$event:a,currentPage:o,pageSize:l}=e;var n=M.value;r.currentPage=o,r.pageSize=l,q.dispatchEvent("page-change",e,a),t&&(0,_utils.isEnableConf)(n)&&q.commitProxy("query").then(e=>{q.dispatchEvent("proxy-query",e,a)})},J=t=>{var e,r=$.value,a=d.proxyConfig;r&&(r=r.getComputeMaps().computeSortOpts,e=M.value,r.value.remote)&&(O.sortData=t.sortList,a)&&(0,_utils.isEnableConf)(e)&&(O.tablePage.currentPage=1,q.commitProxy("query").then(e=>{q.dispatchEvent("proxy-query",e,t.$event)}))},X=e=>{J(e),q.dispatchEvent("sort-change",e,e.$event)},ee=e=>{J(e),q.dispatchEvent("clear-all-sort",e,e.$event)},te=t=>{var e,r=$.value,a=d.proxyConfig;r&&(r=r.getComputeMaps().computeFilterOpts,e=M.value,r.value.remote)&&(O.filterData=t.filterList,a)&&(0,_utils.isEnableConf)(e)&&(O.tablePage.currentPage=1,q.commitProxy("query").then(e=>{q.dispatchEvent("proxy-query",e,t.$event)}))},re=e=>{te(e),q.dispatchEvent("filter-change",e,e.$event)},ae=e=>{te(e),q.dispatchEvent("clear-all-filter",e,e.$event)},oe=t=>{var e=d.proxyConfig,r=M.value;O.tableLoading||(e&&(0,_utils.isEnableConf)(r)&&q.commitProxy("reload").then(e=>{q.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),q.dispatchEvent("form-submit",t,t.$event))},le=e=>{var t=$.value,r=d.proxyConfig;let a=e.$event;var o=M.value;r&&(0,_utils.isEnableConf)(o)&&(t&&t.clearScroll(),q.commitProxy("reload").then(e=>{q.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),a)})),q.dispatchEvent("form-reset",e,a)},ne=e=>{q.dispatchEvent("form-submit-invalid",e,e.$event)},ie=e=>{var t=e.$event;q.dispatchEvent("form-toggle-collapse",e,t),q.dispatchEvent("form-collapse",e,t)},se=e=>{var t=O.isZMax;return(e?!t:t)&&(O.isZMax=!t,O.tZindex<(0,_utils.getLastZIndex)())&&(O.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>q.recalculate(!0)).then(()=>(setTimeout(()=>q.recalculate(!0),15),O.isZMax))},R=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(u[e])return u[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},ue=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?u[e]?r[t]=u[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):r[t]=e)}),r},ge=()=>{var{formConfig:e,proxyConfig:r}=d,a=O.formData,o=M.value,l=h.value;if(e&&(0,_utils.isEnableConf)(l)||u.form){let e=[];if(u.form)e=u.form({$grid:q,$gantt:null});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=o.beforeItem;o&&t&&l.items.forEach(e=>{t({$grid:q,$gantt:null,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]&&(t[e]=u[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:r&&(0,_utils.isEnableConf)(o)&&o.form?a:l.data})),{onSubmit:oe,onReset:le,onSubmitInvalid:ne,onCollapse:ie}),t))}return(0,_vue.h)("div",{ref:v,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(q)},de=()=>{var t,r,a,o,l,n=d.toolbarConfig,i=F.value,s=u.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return s?e=s({$grid:q,$gantt:null}):(n={},(s=i.slots)&&(t=R(s,"buttons"),r=R(s,"buttonPrefix"),a=R(s,"buttonSuffix"),o=R(s,"tools"),l=R(s,"toolPrefix"),s=R(s,"toolSuffix"),t&&(n.buttons=t),r&&(n.buttonPrefix=r),a&&(n.buttonSuffix=a),o&&(n.tools=o),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(_toolbar.default,Object.assign(Object.assign({ref:g},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:m,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(q)},ce=()=>{var e=u.top;return e?(0,_vue.h)("div",{ref:p,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:q,$gantt:null})):renderEmptyElement(q)},ve=()=>{var e=u.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:q,$gantt:null})):renderEmptyElement(q)},me=()=>{var e=u.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:q,$gantt:null})):renderEmptyElement(q)},pe=()=>{var e=d.proxyConfig,t=S.value,r=M.value,a=Object.assign({},be),o=u.empty,l=u.loading,n=u.rowDragIcon||u["row-drag-icon"],i=u.columnDragIcon||u["column-drag-icon"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(a.onSortChange=X,a.onClearAllSort=ee),r.filter)&&(a.onFilterChange=re,a.onClearAllFilter=ae),{});return o&&(e.empty=o),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:$},t),a),e)])},fe=()=>u.bottom?(0,_vue.h)("div",{ref:f,key:"bottom",class:"vxe-grid--bottom-wrapper"},u.bottom({$grid:q,$gantt:null})):renderEmptyElement(q),xe=()=>{var{proxyConfig:e,pagerConfig:t}=d,r=M.value,a=j.value,o=u.pager;return t&&(0,_utils.isEnableConf)(a)||u.pager?(0,_vue.h)("div",{ref:x,key:"pager",class:"vxe-grid--pager-wrapper"},o?o({$grid:q,$gantt:null}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:c},a),e&&(0,_utils.isEnableConf)(r)?O.tablePage:{}),{onPageChange:Y}),ue(a.slots)):renderEmptyElement(q)]):renderEmptyElement(q)},w=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(ge());break;case"Toolbar":t.push(de());break;case"Top":t.push(ce());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[ve(),pe(),me()]));break;case"Bottom":t.push(fe());break;case"Pager":t.push(xe());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t},be={},_e=(_emits2.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);be[e]=(...e)=>a(t,...e)}),()=>{var e=h.value;if(e.items){let o={};return e.items.forEach(t=>{var{field:r,itemRender:a}=t;if(r){let e=null;a&&(a=a.defaultValue,_xeUtils.default.isFunction(a)?e=a({item:t}):_xeUtils.default.isUndefined(a)||(e=a)),o[r]=e}}),o}return{}}),he=()=>{var{proxyConfig:e,formConfig:t}=d,r=O.proxyInited,a=M.value,o=h.value;e&&(0,_utils.isEnableConf)(a)&&(t&&(0,_utils.isEnableConf)(o)&&a.form&&o.items&&(O.formData=_e()),r||!(O.proxyInited=!0)!==a.autoLoad&&(0,_vue.nextTick)().then(()=>q.commitProxy("initial")).then(e=>{ye("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Ce=e=>{var t=C.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&O.isZMax&&!1!==t.escRestore&&q.triggerZoomEvent(e)},ye=(e,t,r)=>{a(e,createEvent(r,{$grid:q,$gantt:null},t))};r={dispatchEvent:ye,getEl(){return s.value},commitProxy(t,...v){let{proxyConfig:a,toolbarConfig:e,pagerConfig:i,editRules:m,validConfig:p}=d,s=O.tablePage,f=D.value,x=V.value;var u=M.value;let b=j.value;var r=F.value;let{beforeQuery:_,afterQuery:h,beforeDelete:n,afterDelete:C,beforeSave:y,afterSave:E,ajax:R={}}=u,w=u.response||u.props||{},P=$.value;if(P){let g=B(),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,l=d?d.params:null;switch(c){case"insert":return P.insert({});case"insert_edit":return P.insert({}).then(({row:e})=>P.setEditRow(e,!0));case"insert_actived":return P.insert({}).then(({row:e})=>P.setEditRow(e,!0));case"mark_cancel":T=c,U=D.value,k=$.value,(I=k?k.getCheckboxRecords():[]).length?(k&&k.togglePendingRow(I),q.clearCheckboxRow()):U&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:T,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return W(c,"vxe.grid.removeSelectRecord",()=>P.removeCheckboxRow());case"import":P.importData(l);break;case"open_import":P.openImport(l);break;case"export":P.exportData(l);break;case"open_export":P.openExport(l);break;case"reset_custom":return P.resetCustom(!0);case"initial":case"reload":case"query":{var k=R.query;let n=R.querySuccess,t=R.queryError;if(k){var I="initial"===c,U="reload"===c;if(!I&&O.tableLoading)return(0,_vue.nextTick)();let r=[],o=[],e={};if(i&&((I||U)&&(s.currentPage=1),(0,_utils.isEnableConf)(b))&&(e=Object.assign({},s)),I){if(a&&(0,_utils.isEnableConf)(u)&&u.form&&(g=_e(),O.formData=g),P){let{tableFullColumn:e,fullColumnFieldData:a}=P.internalData;var T=P.getComputeMaps().computeSortOpts;let t=T.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=a[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),o=P.getCheckedFilters()}}else P&&(U?P.clearAll():(r=P.getSortColumns(),o=P.getCheckedFilters()));let l={$table:P,$grid:q,$gantt:null,code:c,button:d,isInited:I,isReload:U,page:e,sort:r.length?r[0]:{},sorts:r,filters:o,form:g,options:k};return O.sortData=r,O.filterData=o,O.tableLoading=!0,Promise.resolve((_||k)(l,...v)).then(e=>{let t=[];var r,a;return O.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(b)?(a=w.total,a=(_xeUtils.default.isFunction(a)?a({data:e,$table:P,$grid:q,$gantt:null}):_xeUtils.default.get(e,a||"page.total"))||0,s.total=_xeUtils.default.toNumber(a),r=w.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$table:P,$grid:q,$gantt:null}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(a/s.pageSize),1),s.currentPage>r&&(s.currentPage=r)):(a=w.list,t=(a?_xeUtils.default.isFunction(a)?a({data:e,$table:P,$grid:q,$gantt:null}):_xeUtils.default.get(e,a):e)||[])),P?P.loadData(t):(0,_vue.nextTick)(()=>{P&&P.loadData(t)}),h&&h(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(O.tableLoading=!1,t&&t(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let a=R.delete,o=R.deleteSuccess,l=R.deleteError;if(a){let e=q.getCheckboxRecords(),t=e.filter(e=>!P.isInsertByRow(e));var S={removeRecords:t};let r={$table:P,$grid:q,$gantt:null,code:c,button:d,body:S,form:g,options:a};if(e.length)return W(c,"vxe.grid.deleteSelectRecord",()=>t.length?(O.tableLoading=!0,Promise.resolve((n||a)(r,...v)).then(e=>(O.tableLoading=!1,P.setPendingRow(t,!1),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:L(e,"vxe.grid.delSuccess"),status:"success"}),C?C(r,...v):q.commitProxy("query"),o&&o(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(O.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:L(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):P.remove(e));f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let i=R.save,s=R.saveSuccess,u=R.saveError;if(i){let t=P.getRecordset(),{insertRecords:r,removeRecords:a,updateRecords:o,pendingRecords:l}=t,n={$table:P,$grid:q,$gantt:null,code:c,button:d,body:t,form:g,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===P.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===P.findRowIndexOf(l,e))),Promise.resolve());return(e=m?P[p&&"full"===p.msgMode?"fullValidate":"validate"](t.insertRecords.concat(o)):e).then(e=>{if(!e)return t.insertRecords.length||a.length||o.length||t.pendingRecords.length?(O.tableLoading=!0,Promise.resolve((y||i)(n,...v)).then(e=>(O.tableLoading=!1,P.clearPendingRow(),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:L(e,"vxe.grid.saveSuccess"),status:"success"}),E?E(n,...v):q.commitProxy("query"),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(O.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:L(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var S=commands.get(c);S&&((S=S.tableCommandMethod||S.commandMethod)?S({code:c,button:d,$grid:q,$table:P,$gantt:null},...v):(0,_log.errLog)("vxe.error.notCommands",[c]))}}return(0,_vue.nextTick)()},getParams(){return d.params},zoom(){return O.isZMax?q.revert():q.maximize()},isMaximized(){return O.isZMax},maximize(){return se(!0)},revert(){return se()},getFormData:B,getFormItems(e){var t=h.value,r=d.formConfig,a=t.items;let o=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&a?a:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[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=O.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=c.value;t&&t.homePageByEvent(e)},endPage(){var e=O.tablePage,t=y.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=c.value;t&&t.endPageByEvent(e)},setCurrentPage(e){var t=O.tablePage,r=y.value;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var r=c.value;r&&r.setCurrentPageByEvent(e,t)},setPageSize(e){var t=O.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var r=c.value;r&&r.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=$.value;return d.proxyConfig?(e=O.sortData,{data:t?t.getFullData():[],filter:O.filterData,form:B(),sort:e.length?e[0]:{},sorts:e,pager:O.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}};let Ee={extendTableMethods:b,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=u[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,r,a,o,l,n=O.isZMax,i=s.value;return i?(e=v.value,t=m.value,r=p.value,a=f.value,o=x.value,l=i.parentElement,(!n&&l?(0,_dom.getPaddingTopBottomSize)(l):0)+(0,_dom.getPaddingTopBottomSize)(i)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(o)):0},getParentHeight(){var e=s.value;return e?(e=e.parentElement,(O.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Ee.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;return q.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&q.dispatchEvent("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r}),t)})},triggerToolbarBtnEvent(e,t){q.triggerToolbarCommitEvent(e,t),q.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){q.triggerToolbarCommitEvent(e,t),q.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){q.zoom(),q.dispatchEvent("zoom",{type:O.isZMax?"max":"revert"},e)}};Object.assign(q,_,r,Ee,{loadColumn(e){var t=$.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return q.clearAll(),q.loadColumn(e)}});let P=(0,_vue.ref)(0);return(0,_vue.watch)(()=>d.columns?d.columns.length:-1,()=>{P.value++}),(0,_vue.watch)(()=>d.columns,()=>{P.value++}),(0,_vue.watch)(P,()=>{(0,_vue.nextTick)(()=>q.loadColumn(d.columns||[]))}),(0,_vue.watch)(()=>d.toolbarConfig,()=>{Q()}),(0,_vue.watch)(A,()=>{E("currentPage")}),(0,_vue.watch)(Z,()=>{E("pageSize")}),(0,_vue.watch)(K,()=>{E("total")}),(0,_vue.watch)(()=>d.proxyConfig,()=>{he()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(q))&&_xeUtils.default.isObject(e)&&Object.assign(q,e)}),E(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=d.columns,t=M.value;d.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),d.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),e&&e.length&&q.loadColumn(e),Q(),he()}),globalEvents.on(q,"keydown",Ce)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(q,"keydown"),_xeUtils.default.assign(o,createInternalData())}),q.renderVN=()=>{var e=I.value,t=U.value,r=H.value;return(0,_vue.h)("div",{ref:s,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!d.animat,"is--round":d.round,"is--maximize":O.isZMax,"is--loading":r}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=z.value,a=u.asideLeft||u["aside-left"],o=u.asideRight||u["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},w(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(q),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},w(t)),o?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},o({})):renderEmptyElement(q)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},w(r))]})())},(0,_vue.provide)("$xeGrid",q),q},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","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","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect","connectToolbar"];function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:_props.gridProps,emits:_emits.gridEmits,setup(d,e){let t,{slots:u,emit:a}=e;var r=_xeUtils.default.uniqueId();let n=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),k=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],I=useFns.useSize(d).computeSize,O=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1}}),o=createInternalData(),s=(0,_vue.ref)(),$=(0,_vue.ref)(),i=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)();var b=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=$.value;if(t&&t[r])return t[r](...e)}}),t};let _=b(tableComponentMethodKeys),M=(tableComponentMethodKeys.forEach(r=>{_[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),d.proxyConfig))),V=(0,_vue.computed)(()=>{var e=M.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),D=(0,_vue.computed)(()=>{var e=M.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),j=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,d.pagerConfig)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,d.formConfig)),F=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,d.toolbarConfig)),C=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,d.zoomConfig)),U=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=d,{isZMax:r,tZindex:a}=O,o={};return r?o.zIndex=a:(e&&(o.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(o.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),o}),T=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{t[e]=d[e]}),t}),S=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:r,proxyConfig:a}=d,{isZMax:o,tablePage:l}=O,n=T.value,i=M.value,s=j.value,u=H.value,g=Object.assign({},n);return o&&(n.maxHeight?g.maxHeight="100%":g.height="100%"),a&&(0,_utils.isEnableConf)(i)&&(g.loading=u,t)&&i.seq&&(0,_utils.isEnableConf)(s)&&(g.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),r&&(g.editConfig=Object.assign({},r)),g}),z=(0,_vue.computed)(()=>{var e=d.layouts;let t=[],r=[],a=[],o=[];return(t=e&&e.length?e:getConfig().grid.layouts||k).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],a=t[1]||[],o=t[2]||[]):a=t),{headKeys:r,bodyKeys:a,footKeys:o}});var A=(0,_vue.computed)(()=>j.value.currentPage),Z=(0,_vue.computed)(()=>j.value.pageSize),K=(0,_vue.computed)(()=>j.value.total);let y=(0,_vue.computed)(()=>{var e=O.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),H=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=d,r=O.tableLoading,a=M.value,o=a.showLoading;return e||r&&o&&t&&(0,_utils.isEnableConf)(a)}),G={refElem:s,refTable:$,refForm:i,refToolbar:g,refPager:c},N={computeProxyOpts:M,computePagerOpts:j,computeFormOpts:h,computeToolbarOpts:F,computeZoomOpts:C},q={xID:r,props:d,context:e,reactData:O,internalData:o,getRefMaps:()=>G,getComputeMaps:()=>N},Q=()=>{var e=F.value;d.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=$.value,t=g.value;e&&t&&e.connectToolbar(t)})},B=()=>{var e=d.proxyConfig,t=O.formData,r=M.value,a=h.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:a.data},E=e=>{var t=O.tablePage,r=d.pagerConfig,a=j.value;r&&(0,_utils.isEnableConf)(a)&&(e?a[e]&&(t[e]=_xeUtils.default.toNumber(a[e])):({currentPage:r,pageSize:e,total:a}=a,r&&(t.currentPage=r),e&&(t.pageSize=e),a&&(t.total=a)))},L=(e,t)=>{var r=M.value,r=(r.response||r.props||{}).message,a=$.value;let o;return(o=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:a,$grid:q,$gantt:null}):_xeUtils.default.get(e,r):o)||getI18n(t)},W=(e,t,r)=>{var a=D.value,o=q.getCheckboxRecords();if(a)if(o.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 o.length&&r();return Promise.resolve()},Y=e=>{var t=d.proxyConfig,r=O.tablePage;let{$event:a,currentPage:o,pageSize:l}=e;var n=M.value;r.currentPage=o,r.pageSize=l,q.dispatchEvent("page-change",e,a),t&&(0,_utils.isEnableConf)(n)&&q.commitProxy("query").then(e=>{q.dispatchEvent("proxy-query",e,a)})},J=t=>{var e,r=$.value,a=d.proxyConfig;r&&(r=r.getComputeMaps().computeSortOpts,e=M.value,r.value.remote)&&(O.sortData=t.sortList,a)&&(0,_utils.isEnableConf)(e)&&(O.tablePage.currentPage=1,q.commitProxy("query").then(e=>{q.dispatchEvent("proxy-query",e,t.$event)}))},X=e=>{J(e),q.dispatchEvent("sort-change",e,e.$event)},ee=e=>{J(e),q.dispatchEvent("clear-all-sort",e,e.$event)},te=t=>{var e,r=$.value,a=d.proxyConfig;r&&(r=r.getComputeMaps().computeFilterOpts,e=M.value,r.value.remote)&&(O.filterData=t.filterList,a)&&(0,_utils.isEnableConf)(e)&&(O.tablePage.currentPage=1,q.commitProxy("query").then(e=>{q.dispatchEvent("proxy-query",e,t.$event)}))},re=e=>{te(e),q.dispatchEvent("filter-change",e,e.$event)},ae=e=>{te(e),q.dispatchEvent("clear-all-filter",e,e.$event)},oe=t=>{var e=d.proxyConfig,r=M.value;O.tableLoading||(e&&(0,_utils.isEnableConf)(r)&&q.commitProxy("reload").then(e=>{q.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),q.dispatchEvent("form-submit",t,t.$event))},le=e=>{var t=$.value,r=d.proxyConfig;let a=e.$event;var o=M.value;r&&(0,_utils.isEnableConf)(o)&&(t&&t.clearScroll(),q.commitProxy("reload").then(e=>{q.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),a)})),q.dispatchEvent("form-reset",e,a)},ne=e=>{q.dispatchEvent("form-submit-invalid",e,e.$event)},ie=e=>{var t=e.$event;q.dispatchEvent("form-toggle-collapse",e,t),q.dispatchEvent("form-collapse",e,t)},se=e=>{var t=O.isZMax;return(e?!t:t)&&(O.isZMax=!t,O.tZindex<(0,_utils.getLastZIndex)())&&(O.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>q.recalculate(!0)).then(()=>(setTimeout(()=>q.recalculate(!0),15),O.isZMax))},R=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(u[e])return u[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},ue=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?u[e]?r[t]=u[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):r[t]=e)}),r},ge=()=>{var{formConfig:e,proxyConfig:r}=d,a=O.formData,o=M.value,l=h.value;if(e&&(0,_utils.isEnableConf)(l)||u.form){let e=[];if(u.form)e=u.form({$grid:q,$gantt:null});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=o.beforeItem;o&&t&&l.items.forEach(e=>{t({$grid:q,$gantt:null,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]&&(t[e]=u[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:r&&(0,_utils.isEnableConf)(o)&&o.form?a:l.data})),{onSubmit:oe,onReset:le,onSubmitInvalid:ne,onCollapse:ie}),t))}return(0,_vue.h)("div",{ref:v,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(q)},de=()=>{var t,r,a,o,l,n=d.toolbarConfig,i=F.value,s=u.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return s?e=s({$grid:q,$gantt:null}):(n={},(s=i.slots)&&(t=R(s,"buttons"),r=R(s,"buttonPrefix"),a=R(s,"buttonSuffix"),o=R(s,"tools"),l=R(s,"toolPrefix"),s=R(s,"toolSuffix"),t&&(n.buttons=t),r&&(n.buttonPrefix=r),a&&(n.buttonSuffix=a),o&&(n.tools=o),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(_toolbar.default,Object.assign(Object.assign({ref:g},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:m,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(q)},ce=()=>{var e=u.top;return e?(0,_vue.h)("div",{ref:p,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:q,$gantt:null})):renderEmptyElement(q)},ve=()=>{var e=u.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:q,$gantt:null})):renderEmptyElement(q)},me=()=>{var e=u.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:q,$gantt:null})):renderEmptyElement(q)},pe=()=>{var e=d.proxyConfig,t=S.value,r=M.value,a=Object.assign({},be),o=u.empty,l=u.loading,n=u.rowDragIcon||u["row-drag-icon"],i=u.columnDragIcon||u["column-drag-icon"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(a.onSortChange=X,a.onClearAllSort=ee),r.filter)&&(a.onFilterChange=re,a.onClearAllFilter=ae),{});return o&&(e.empty=o),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:$},t),a),e)])},fe=()=>u.bottom?(0,_vue.h)("div",{ref:f,key:"bottom",class:"vxe-grid--bottom-wrapper"},u.bottom({$grid:q,$gantt:null})):renderEmptyElement(q),xe=()=>{var{proxyConfig:e,pagerConfig:t}=d,r=M.value,a=j.value,o=u.pager;return t&&(0,_utils.isEnableConf)(a)||u.pager?(0,_vue.h)("div",{ref:x,key:"pager",class:"vxe-grid--pager-wrapper"},o?o({$grid:q,$gantt:null}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:c},a),e&&(0,_utils.isEnableConf)(r)?O.tablePage:{}),{onPageChange:Y}),ue(a.slots)):renderEmptyElement(q)]):renderEmptyElement(q)},w=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(ge());break;case"Toolbar":t.push(de());break;case"Top":t.push(ce());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[ve(),pe(),me()]));break;case"Bottom":t.push(fe());break;case"Pager":t.push(xe());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t},be={},_e=(_emits2.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);be[e]=(...e)=>a(t,...e)}),()=>{var e=h.value;if(e.items){let o={};return e.items.forEach(t=>{var{field:r,itemRender:a}=t;if(r){let e=null;a&&(a=a.defaultValue,_xeUtils.default.isFunction(a)?e=a({item:t}):_xeUtils.default.isUndefined(a)||(e=a)),o[r]=e}}),o}return{}}),he=()=>{var{proxyConfig:e,formConfig:t}=d,r=O.proxyInited,a=M.value,o=h.value;e&&(0,_utils.isEnableConf)(a)&&(t&&(0,_utils.isEnableConf)(o)&&a.form&&o.items&&(O.formData=_e()),r||!(O.proxyInited=!0)!==a.autoLoad&&(0,_vue.nextTick)().then(()=>q.commitProxy("initial")).then(e=>{ye("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Ce=e=>{var t=C.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&O.isZMax&&!1!==t.escRestore&&q.triggerZoomEvent(e)},ye=(e,t,r)=>{a(e,createEvent(r,{$grid:q,$gantt:null},t))};r={dispatchEvent:ye,getEl(){return s.value},commitProxy(t,...v){let{proxyConfig:a,toolbarConfig:e,pagerConfig:i,editRules:m,validConfig:p}=d,s=O.tablePage,f=D.value,x=V.value;var u=M.value;let b=j.value;var r=F.value;let{beforeQuery:_,afterQuery:h,beforeDelete:n,afterDelete:C,beforeSave:y,afterSave:E,ajax:R={}}=u,w=u.response||u.props||{},P=$.value;if(P){let g=B(),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,l=d?d.params:null;switch(c){case"insert":return P.insert({});case"insert_edit":return P.insert({}).then(({row:e})=>P.setEditRow(e,!0));case"insert_actived":return P.insert({}).then(({row:e})=>P.setEditRow(e,!0));case"mark_cancel":T=c,U=D.value,k=$.value,(I=k?k.getCheckboxRecords():[]).length?(k&&k.togglePendingRow(I),q.clearCheckboxRow()):U&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:T,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return W(c,"vxe.grid.removeSelectRecord",()=>P.removeCheckboxRow());case"import":P.importData(l);break;case"open_import":P.openImport(l);break;case"export":P.exportData(l);break;case"open_export":P.openExport(l);break;case"reset_custom":return P.resetCustom(!0);case"initial":case"reload":case"query":{var k=R.query;let n=R.querySuccess,t=R.queryError;if(k){var I="initial"===c,U="reload"===c;if(!I&&O.tableLoading)return(0,_vue.nextTick)();let r=[],o=[],e={};if(i&&((I||U)&&(s.currentPage=1),(0,_utils.isEnableConf)(b))&&(e=Object.assign({},s)),I){if(a&&(0,_utils.isEnableConf)(u)&&u.form&&(g=_e(),O.formData=g),P){let{tableFullColumn:e,fullColumnFieldData:a}=P.internalData;var T=P.getComputeMaps().computeSortOpts;let t=T.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=a[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),o=P.getCheckedFilters()}}else P&&(U?P.clearAll():(r=P.getSortColumns(),o=P.getCheckedFilters()));let l={$table:P,$grid:q,$gantt:null,code:c,button:d,isInited:I,isReload:U,page:e,sort:r.length?r[0]:{},sorts:r,filters:o,form:g,options:k};return O.sortData=r,O.filterData=o,O.tableLoading=!0,Promise.resolve((_||k)(l,...v)).then(e=>{let t=[];var r,a;return O.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(b)?(a=w.total,a=(_xeUtils.default.isFunction(a)?a({data:e,$table:P,$grid:q,$gantt:null}):_xeUtils.default.get(e,a||"page.total"))||0,s.total=_xeUtils.default.toNumber(a),r=w.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$table:P,$grid:q,$gantt:null}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(a/s.pageSize),1),s.currentPage>r&&(s.currentPage=r)):(a=w.list,t=(a?_xeUtils.default.isFunction(a)?a({data:e,$table:P,$grid:q,$gantt:null}):_xeUtils.default.get(e,a):e)||[])),P?P.loadData(t):(0,_vue.nextTick)(()=>{P&&P.loadData(t)}),h&&h(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(O.tableLoading=!1,t&&t(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let a=R.delete,o=R.deleteSuccess,l=R.deleteError;if(a){let e=q.getCheckboxRecords(),t=e.filter(e=>!P.isInsertByRow(e));var S={removeRecords:t};let r={$table:P,$grid:q,$gantt:null,code:c,button:d,body:S,form:g,options:a};if(e.length)return W(c,"vxe.grid.deleteSelectRecord",()=>t.length?(O.tableLoading=!0,Promise.resolve((n||a)(r,...v)).then(e=>(O.tableLoading=!1,P.setPendingRow(t,!1),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:L(e,"vxe.grid.delSuccess"),status:"success"}),C?C(r,...v):q.commitProxy("query"),o&&o(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(O.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:L(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):P.remove(e));f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let i=R.save,s=R.saveSuccess,u=R.saveError;if(i){let t=P.getRecordset(),{insertRecords:r,removeRecords:a,updateRecords:o,pendingRecords:l}=t,n={$table:P,$grid:q,$gantt:null,code:c,button:d,body:t,form:g,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===P.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===P.findRowIndexOf(l,e))),Promise.resolve());return(e=m?P[p&&"full"===p.msgMode?"fullValidate":"validate"](t.insertRecords.concat(o)):e).then(e=>{if(!e)return t.insertRecords.length||a.length||o.length||t.pendingRecords.length?(O.tableLoading=!0,Promise.resolve((y||i)(n,...v)).then(e=>(O.tableLoading=!1,P.clearPendingRow(),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:L(e,"vxe.grid.saveSuccess"),status:"success"}),E?E(n,...v):q.commitProxy("query"),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(O.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:L(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var S=commands.get(c);S&&((S=S.tableCommandMethod||S.commandMethod)?S({code:c,button:d,$grid:q,$table:P,$gantt:null},...v):(0,_log.errLog)("vxe.error.notCommands",[c]))}}return(0,_vue.nextTick)()},getParams(){return d.params},zoom(){return O.isZMax?q.revert():q.maximize()},isMaximized(){return O.isZMax},maximize(){return se(!0)},revert(){return se()},getFormData:B,getFormItems(e){var t=h.value,r=d.formConfig,a=t.items;let o=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&a?a:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[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=O.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=c.value;t&&t.homePageByEvent(e)},endPage(){var e=O.tablePage,t=y.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=c.value;t&&t.endPageByEvent(e)},setCurrentPage(e){var t=O.tablePage,r=y.value;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var r=c.value;r&&r.setCurrentPageByEvent(e,t)},setPageSize(e){var t=O.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var r=c.value;r&&r.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=$.value;return d.proxyConfig?(e=O.sortData,{data:t?t.getFullData():[],filter:O.filterData,form:B(),sort:e.length?e[0]:{},sorts:e,pager:O.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}};let Ee={extendTableMethods:b,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=u[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,r,a,o,l,n=O.isZMax,i=s.value;return i?(e=v.value,t=m.value,r=p.value,a=f.value,o=x.value,l=i.parentElement,(!n&&l?(0,_dom.getPaddingTopBottomSize)(l):0)+(0,_dom.getPaddingTopBottomSize)(i)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(o)):0},getParentHeight(){var e=s.value;return e?(e=e.parentElement,(O.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Ee.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;return q.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&q.dispatchEvent("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r}),t)})},triggerToolbarBtnEvent(e,t){q.triggerToolbarCommitEvent(e,t),q.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){q.triggerToolbarCommitEvent(e,t),q.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){q.zoom(),q.dispatchEvent("zoom",{type:O.isZMax?"max":"revert"},e)}};Object.assign(q,_,r,Ee,{loadColumn(e){var t=$.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return q.clearAll(),q.loadColumn(e)}});let P=(0,_vue.ref)(0);return(0,_vue.watch)(()=>d.columns?d.columns.length:-1,()=>{P.value++}),(0,_vue.watch)(()=>d.columns,()=>{P.value++}),(0,_vue.watch)(P,()=>{(0,_vue.nextTick)(()=>q.loadColumn(d.columns||[]))}),(0,_vue.watch)(()=>d.toolbarConfig,()=>{Q()}),(0,_vue.watch)(A,()=>{E("currentPage")}),(0,_vue.watch)(Z,()=>{E("pageSize")}),(0,_vue.watch)(K,()=>{E("total")}),(0,_vue.watch)(()=>d.proxyConfig,()=>{he()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(q))&&_xeUtils.default.isObject(e)&&Object.assign(q,e)}),E(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=d.columns,t=M.value;d.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),d.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),e&&e.length&&q.loadColumn(e),Q(),he()}),globalEvents.on(q,"keydown",Ce)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(q,"keydown"),_xeUtils.default.assign(o,createInternalData())}),q.renderVN=()=>{var e=I.value,t=U.value,r=H.value;return(0,_vue.h)("div",{ref:s,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!d.animat,"is--round":d.round,"is--maximize":O.isZMax,"is--loading":r}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=z.value,a=u.asideLeft||u["aside-left"],o=u.asideRight||u["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},w(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(q),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},w(t)),o?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},o({})):renderEmptyElement(q)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},w(r))]})())},(0,_vue.provide)("$xeGrid",q),(0,_vue.provide)("$xeGantt",null),q},render(){return this.renderVN()}});
|