vxe-table 3.24.0-beta.0 → 3.24.0
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 +2 -2
- package/es/style.css +1 -1
- package/es/table/module/edit/mixin.js +3 -1
- package/es/table/module/export/mixin.js +6 -4
- package/es/table/module/filter/mixin.js +4 -2
- package/es/table/module/filter/panel.js +4 -2
- package/es/table/src/body.js +4 -2
- package/es/table/src/cell.js +11 -6
- package/es/table/src/columnInfo.js +2 -1
- package/es/table/src/footer.js +2 -1
- package/es/table/src/header.js +5 -3
- package/es/table/src/methods.js +7 -4
- package/es/table/src/props.js +4 -0
- package/es/table/src/table.js +7 -1
- package/es/toolbar/src/toolbar.js +5 -4
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +2 -2
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +66 -36
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +3 -1
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/mixin.js +6 -4
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/filter/mixin.js +4 -2
- package/lib/table/module/filter/mixin.min.js +1 -1
- package/lib/table/module/filter/panel.js +4 -2
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/src/body.js +4 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +11 -6
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +2 -1
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +2 -1
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +5 -3
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +5 -5
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +4 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +7 -1
- package/lib/table/src/table.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +5 -4
- package/lib/toolbar/src/toolbar.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 +2 -2
- package/packages/grid/src/grid.ts +2 -2
- package/packages/table/module/edit/mixin.ts +3 -1
- package/packages/table/module/export/mixin.ts +6 -4
- package/packages/table/module/filter/mixin.ts +6 -4
- package/packages/table/module/filter/panel.ts +4 -2
- package/packages/table/src/body.ts +4 -2
- package/packages/table/src/cell.ts +11 -6
- package/packages/table/src/columnInfo.ts +2 -1
- package/packages/table/src/footer.ts +2 -1
- package/packages/table/src/header.ts +5 -3
- package/packages/table/src/methods.ts +7 -4
- package/packages/table/src/props.ts +4 -0
- package/packages/table/src/table.ts +8 -1
- package/packages/toolbar/src/toolbar.ts +5 -4
- /package/es/{iconfont.1789131659648.ttf → iconfont.1789914697948.ttf} +0 -0
- /package/es/{iconfont.1789131659648.woff → iconfont.1789914697948.woff} +0 -0
- /package/es/{iconfont.1789131659648.woff2 → iconfont.1789914697948.woff2} +0 -0
- /package/lib/{iconfont.1789131659648.ttf → iconfont.1789914697948.ttf} +0 -0
- /package/lib/{iconfont.1789131659648.woff → iconfont.1789914697948.woff} +0 -0
- /package/lib/{iconfont.1789131659648.woff2 → iconfont.1789914697948.woff2} +0 -0
|
@@ -925,7 +925,9 @@ export default {
|
|
|
925
925
|
const { editRender } = column;
|
|
926
926
|
const editOpts = $xeTable.computeEditOpts;
|
|
927
927
|
if (editConfig && isEnableConf(editRender)) {
|
|
928
|
-
const
|
|
928
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
929
|
+
const renderName = editRender.name;
|
|
930
|
+
const compRender = renderName ? (rendererOpts[renderName] || renderer.get(renderName)) : null;
|
|
929
931
|
let autoFocus = editRender.autofocus || editRender.autoFocus;
|
|
930
932
|
let autoSelect = editRender.autoSelect || editRender.autoselect;
|
|
931
933
|
let inputElem = null;
|
|
@@ -59,6 +59,7 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
59
59
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
60
60
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
61
61
|
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
62
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
62
63
|
if (!htmlCellElem) {
|
|
63
64
|
htmlCellElem = document.createElement('div');
|
|
64
65
|
}
|
|
@@ -91,7 +92,7 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
91
92
|
const renderOpts = editRender || cellRender;
|
|
92
93
|
let bodyExportMethod = column.exportMethod || columnOpts.exportMethod;
|
|
93
94
|
if (!bodyExportMethod && renderOpts && renderOpts.name) {
|
|
94
|
-
const compConf = renderer.get(renderOpts.name);
|
|
95
|
+
const compConf = rendererOpts[renderOpts.name] || renderer.get(renderOpts.name);
|
|
95
96
|
if (compConf) {
|
|
96
97
|
bodyExportMethod = compConf.tableExportMethod || compConf.exportMethod;
|
|
97
98
|
}
|
|
@@ -236,7 +237,7 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
236
237
|
const renderOpts = column.editRender || column.cellRender;
|
|
237
238
|
let bodyExportMethod = column.exportMethod || columnOpts.exportMethod;
|
|
238
239
|
if (!bodyExportMethod && renderOpts && renderOpts.name) {
|
|
239
|
-
const compConf = renderer.get(renderOpts.name);
|
|
240
|
+
const compConf = rendererOpts[renderOpts.name] || renderer.get(renderOpts.name);
|
|
240
241
|
if (compConf) {
|
|
241
242
|
bodyExportMethod = compConf.tableExportMethod || compConf.exportMethod;
|
|
242
243
|
}
|
|
@@ -306,7 +307,7 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
306
307
|
const renderOpts = column.editRender || column.cellRender;
|
|
307
308
|
let bodyExportMethod = column.exportMethod || columnOpts.exportMethod;
|
|
308
309
|
if (!bodyExportMethod && renderOpts && renderOpts.name) {
|
|
309
|
-
const compConf = renderer.get(renderOpts.name);
|
|
310
|
+
const compConf = rendererOpts[renderOpts.name] || renderer.get(renderOpts.name);
|
|
310
311
|
if (compConf) {
|
|
311
312
|
bodyExportMethod = compConf.tableExportMethod || compConf.exportMethod;
|
|
312
313
|
}
|
|
@@ -375,10 +376,11 @@ function getHeaderTitle($xeTable, opts, column) {
|
|
|
375
376
|
}
|
|
376
377
|
function getFooterCellValue($xeTable, opts, row, column) {
|
|
377
378
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
379
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
378
380
|
const renderOpts = column.editRender || column.cellRender;
|
|
379
381
|
let footLabelMethod = column.footerExportMethod;
|
|
380
382
|
if (!footLabelMethod && renderOpts && renderOpts.name) {
|
|
381
|
-
const compConf = renderer.get(renderOpts.name);
|
|
383
|
+
const compConf = rendererOpts[renderOpts.name] || renderer.get(renderOpts.name);
|
|
382
384
|
if (compConf) {
|
|
383
385
|
footLabelMethod = compConf.tableFooterExportMethod || compConf.footerExportMethod || compConf.footerCellExportMethod;
|
|
384
386
|
}
|
|
@@ -19,9 +19,10 @@ function updatePopupStyle($xeTable) {
|
|
|
19
19
|
}
|
|
20
20
|
const tableEl = $xeTable.$refs.refElem;
|
|
21
21
|
const filterOpts = $xeTable.computeFilterOpts;
|
|
22
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
22
23
|
const { maxHeight: customMaxHeight, transfer, zIndex } = filterOpts;
|
|
23
24
|
const filterRender = column ? column.filterRender : null;
|
|
24
|
-
const compConf = filterRender && isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
25
|
+
const compConf = filterRender && isEnableConf(filterRender) && filterRender.name ? (rendererOpts[filterRender.name] || renderer.get(filterRender.name)) : null;
|
|
25
26
|
const headerScrollElem = getRefElem(elemStore['main-header-scroll']);
|
|
26
27
|
if (!headerScrollElem) {
|
|
27
28
|
return $xeTable.$nextTick();
|
|
@@ -445,7 +446,8 @@ export default {
|
|
|
445
446
|
if (column) {
|
|
446
447
|
const { filters, filterRender } = column;
|
|
447
448
|
if (filters) {
|
|
448
|
-
const
|
|
449
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
450
|
+
const compConf = isEnableConf(filterRender) && filterRender.name ? (rendererOpts[filterRender.name] || renderer.get(filterRender.name)) : null;
|
|
449
451
|
const filterResetMethod = column.filterResetMethod || (compConf ? (compConf.tableFilterResetMethod || compConf.filterResetMethod) : null);
|
|
450
452
|
filters.forEach((item) => {
|
|
451
453
|
item._checked = false;
|
|
@@ -233,9 +233,10 @@ export default {
|
|
|
233
233
|
return [];
|
|
234
234
|
}
|
|
235
235
|
const filterOpts = $xeTable.computeFilterOpts;
|
|
236
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
236
237
|
const hasCheckOption = $xeFilterPanel.computeHasCheckOption;
|
|
237
238
|
const { filterRender, filterMultiple } = column;
|
|
238
|
-
const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
239
|
+
const compConf = filterRender && isEnableConf(filterRender) && filterRender.name ? (rendererOpts[filterRender.name] || renderer.get(filterRender.name)) : null;
|
|
239
240
|
const isDisabled = !hasCheckOption && !filterStore.isAllSelected && !filterStore.isIndeterminate;
|
|
240
241
|
return filterMultiple && (compConf ? !(compConf.showTableFilterFooter === false || compConf.showFilterFooter === false || compConf.isFooter === false) : true)
|
|
241
242
|
? [
|
|
@@ -272,8 +273,9 @@ export default {
|
|
|
272
273
|
if (!column) {
|
|
273
274
|
return renderEmptyElement($xeFilterPanel);
|
|
274
275
|
}
|
|
276
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
275
277
|
const filterRender = column ? column.filterRender : null;
|
|
276
|
-
const compConf = filterRender && isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
278
|
+
const compConf = filterRender && isEnableConf(filterRender) && filterRender.name ? (rendererOpts[filterRender.name] || renderer.get(filterRender.name)) : null;
|
|
277
279
|
const filterClassName = compConf ? (compConf.tableFilterClassName || compConf.filterClassName) : '';
|
|
278
280
|
const params = Object.assign({}, tableInternalData._currFilterParams, { $panel: $xeFilterPanel, $table: $xeTable });
|
|
279
281
|
const tableProps = $xeTable;
|
package/es/table/src/body.js
CHANGED
|
@@ -91,6 +91,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
91
91
|
const tooltipOpts = $xeTable.computeTooltipOpts;
|
|
92
92
|
const virtualXOpts = $xeTable.computeVirtualXOpts;
|
|
93
93
|
const virtualYOpts = $xeTable.computeVirtualYOpts;
|
|
94
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
94
95
|
const { isAllColumnDrag, isAllRowDrag } = $xeTable.resizableOpts;
|
|
95
96
|
const rowOpts = $xeTable.computeRowOpts;
|
|
96
97
|
const rowDragOpts = $xeTable.computeRowDragOpts;
|
|
@@ -109,7 +110,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
109
110
|
const colid = column.id;
|
|
110
111
|
const colRest = fullColumnIdData[colid] || {};
|
|
111
112
|
const renderOpts = editRender || cellRender;
|
|
112
|
-
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
113
|
+
const compConf = renderOpts && renderOpts.name ? (rendererOpts[renderOpts.name] || renderer.get(renderOpts.name)) : null;
|
|
113
114
|
const compCellClassName = compConf ? (compConf.tableCellClassName || compConf.cellClassName) : null;
|
|
114
115
|
const compCellStyle = compConf ? (compConf.tableCellStyle || compConf.cellStyle) : '';
|
|
115
116
|
const showAllTip = tooltipOpts.showAll;
|
|
@@ -801,7 +802,8 @@ export default {
|
|
|
801
802
|
emptyContent = emptySlot.call($xeTable, emptyParams);
|
|
802
803
|
}
|
|
803
804
|
else {
|
|
804
|
-
const
|
|
805
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
806
|
+
const compConf = emptyOpts.name ? (rendererOpts[emptyOpts.name] || renderer.get(emptyOpts.name)) : null;
|
|
805
807
|
const rtEmptyView = compConf ? (compConf.renderTableEmpty || compConf.renderTableEmptyView || compConf.renderEmpty) : null;
|
|
806
808
|
if (rtEmptyView) {
|
|
807
809
|
emptyContent = getSlotVNs(rtEmptyView.call($xeTable, h, emptyOpts, emptyParams));
|
package/es/table/src/cell.js
CHANGED
|
@@ -230,7 +230,8 @@ function getFooterContent(h, params) {
|
|
|
230
230
|
const renderOpts = editRenderOpts || cellRenderOpts;
|
|
231
231
|
const itemValue = $table.getFooterCellLabel(row, column);
|
|
232
232
|
if (renderOpts) {
|
|
233
|
-
const
|
|
233
|
+
const rendererOpts = $table.computeRendererOpts;
|
|
234
|
+
const compConf = renderOpts.name ? (rendererOpts[renderOpts.name] || renderer.get(renderOpts.name)) : null;
|
|
234
235
|
const rtFooter = compConf ? (compConf.renderTableFooter || compConf.renderFooter) : null;
|
|
235
236
|
if (rtFooter) {
|
|
236
237
|
const footParams = Object.assign(params, {
|
|
@@ -362,7 +363,8 @@ export const Cell = {
|
|
|
362
363
|
}
|
|
363
364
|
}
|
|
364
365
|
if (renderOpts) {
|
|
365
|
-
const
|
|
366
|
+
const rendererOpts = $table.computeRendererOpts;
|
|
367
|
+
const compConf = renderOpts.name ? (rendererOpts[renderOpts.name] || renderer.get(renderOpts.name)) : null;
|
|
366
368
|
const rtHeader = compConf ? (compConf.renderTableHeader || compConf.renderHeader) : null;
|
|
367
369
|
if (rtHeader) {
|
|
368
370
|
return getSlotVNs(renderTitleContent(h, params, rtHeader.call($table, h, renderOpts, params)));
|
|
@@ -454,9 +456,10 @@ export const Cell = {
|
|
|
454
456
|
if (defaultSlot) {
|
|
455
457
|
return renderCellBaseVNs(h, params, $table.callSlot(defaultSlot, params, h));
|
|
456
458
|
}
|
|
459
|
+
const rendererOpts = $table.computeRendererOpts;
|
|
457
460
|
// 如果是编辑模式-查看:slot default > formatter > cellRender.renderTableDefault > editRender.renderTableCell > editRender.renderTableDefault > cellRender.tableCellFormatter > editRender.tableCellFormatter > field
|
|
458
461
|
// 如果是查看表格:slot default > formatter > cellRender。renderTableDefault > cellRender.tableCellFormatter > field
|
|
459
|
-
const cellCompConf = cellRenderOpts ? renderer.get(cellRenderOpts.name) : null;
|
|
462
|
+
const cellCompConf = cellRenderOpts && cellRenderOpts.name ? (rendererOpts[cellRenderOpts.name] || renderer.get(cellRenderOpts.name)) : null;
|
|
460
463
|
if (cellRenderOpts) {
|
|
461
464
|
const cellDefaultRenderFn = cellCompConf ? (cellCompConf.renderTableDefault || cellCompConf.renderDefault) : null;
|
|
462
465
|
if (cellDefaultRenderFn && cellRenderOpts) {
|
|
@@ -464,7 +467,7 @@ export const Cell = {
|
|
|
464
467
|
}
|
|
465
468
|
}
|
|
466
469
|
if (editRenderOpts) {
|
|
467
|
-
const editCompConf = editRenderOpts ? renderer.get(editRenderOpts.name) : null;
|
|
470
|
+
const editCompConf = editRenderOpts && editRenderOpts.name ? (rendererOpts[editRenderOpts.name] || renderer.get(editRenderOpts.name)) : null;
|
|
468
471
|
const editCellRenderFn = editCompConf
|
|
469
472
|
? ((editCompConf.renderTableCell || editCompConf.renderCell) ||
|
|
470
473
|
(editCompConf.renderTableDefault || editCompConf.renderDefault))
|
|
@@ -1013,7 +1016,8 @@ export const Cell = {
|
|
|
1013
1016
|
return $table.callSlot(slots.content, params, h);
|
|
1014
1017
|
}
|
|
1015
1018
|
if (contentRender) {
|
|
1016
|
-
const
|
|
1019
|
+
const rendererOpts = $table.computeRendererOpts;
|
|
1020
|
+
const compConf = contentRender.name ? (rendererOpts[contentRender.name] || renderer.get(contentRender.name)) : null;
|
|
1017
1021
|
const rtExpand = compConf ? (compConf.renderTableExpand || compConf.renderExpand) : null;
|
|
1018
1022
|
if (rtExpand) {
|
|
1019
1023
|
return getSlotVNs(rtExpand.call($table, h, contentRender, params));
|
|
@@ -1237,7 +1241,8 @@ export const Cell = {
|
|
|
1237
1241
|
if (slots && slots.edit) {
|
|
1238
1242
|
return $table.callSlot(slots.edit, cellParams, h);
|
|
1239
1243
|
}
|
|
1240
|
-
const
|
|
1244
|
+
const rendererOpts = $table.computeRendererOpts;
|
|
1245
|
+
const compConf = editRenderOpts.name ? (rendererOpts[editRenderOpts.name] || renderer.get(editRenderOpts.name)) : null;
|
|
1241
1246
|
const rtEdit = compConf ? (compConf.renderTableEdit || compConf.renderEdit) : null;
|
|
1242
1247
|
if (rtEdit) {
|
|
1243
1248
|
return getSlotVNs(rtEdit.call($table, h, editRender, cellParams));
|
|
@@ -18,7 +18,8 @@ export class ColumnInfo {
|
|
|
18
18
|
const proxyOpts = $xeGrid ? $xeGrid.computeProxyOpts : null;
|
|
19
19
|
const defaultVisible = XEUtils.isBoolean(visible) ? visible : true;
|
|
20
20
|
const defaultRenderWidth = width && isPx(width) && width !== 'auto' ? Math.max(0, XEUtils.toInteger(width)) : 0;
|
|
21
|
-
const
|
|
21
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
22
|
+
const flCompConf = filterRender && isEnableConf(filterRender) && filterRender.name ? (rendererOpts[filterRender.name] || renderer.get(filterRender.name)) : null;
|
|
22
23
|
const ctFilterOptions = flCompConf ? flCompConf.createTableFilterOptions : null;
|
|
23
24
|
const filters = toFilters(colConfs.filters, colId);
|
|
24
25
|
const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
|
package/es/table/src/footer.js
CHANGED
|
@@ -28,12 +28,13 @@ function renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $
|
|
|
28
28
|
const cellOpts = $xeTable.computeCellOpts;
|
|
29
29
|
const footerCellOpts = $xeTable.computeFooterCellOpts;
|
|
30
30
|
const currCellHeight = getCalcHeight(footerCellOpts.height) || defaultRowHeight;
|
|
31
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
31
32
|
return tableColumn.map((column, $columnIndex) => {
|
|
32
33
|
const { type, showFooterOverflow, footerAlign, align, footerClassName, editRender, cellRender } = column;
|
|
33
34
|
const colid = column.id;
|
|
34
35
|
const colRest = fullColumnIdData[colid] || {};
|
|
35
36
|
const renderOpts = editRender || cellRender;
|
|
36
|
-
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
37
|
+
const compConf = renderOpts && renderOpts.name ? (rendererOpts[renderOpts.name] || renderer.get(renderOpts.name)) : null;
|
|
37
38
|
const showAllTip = footerTooltipOpts.showAll;
|
|
38
39
|
const fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed);
|
|
39
40
|
const cellPadding = getDefaultConfig(footerCellOpts.padding, cellOpts.padding);
|
package/es/table/src/header.js
CHANGED
|
@@ -26,6 +26,7 @@ function renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, _rowIndex, co
|
|
|
26
26
|
const cellOpts = $xeTable.computeCellOpts;
|
|
27
27
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
28
28
|
const headerCellOpts = $xeTable.computeHeaderCellOpts;
|
|
29
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
29
30
|
const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight;
|
|
30
31
|
const { disabledMethod: dragDisabledMethod, isCrossDrag, isPeerDrag } = columnDragOpts;
|
|
31
32
|
const isLastRow = _rowIndex === headerGroups.length - 1;
|
|
@@ -35,7 +36,7 @@ function renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, _rowIndex, co
|
|
|
35
36
|
const colid = column.id;
|
|
36
37
|
const colRest = fullColumnIdData[colid] || {};
|
|
37
38
|
const renderOpts = editRender || cellRender;
|
|
38
|
-
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
39
|
+
const compConf = renderOpts && renderOpts.name ? (rendererOpts[renderOpts.name] || renderer.get(renderOpts.name)) : null;
|
|
39
40
|
const isColGroup = column.children && column.children.length;
|
|
40
41
|
const fixedHiddenColumn = overflowX && !isColGroup && (fixedType ? column.fixed !== fixedType : !!column.fixed);
|
|
41
42
|
const cellPadding = getDefaultConfig(headerCellOpts.padding, cellOpts.padding);
|
|
@@ -228,6 +229,7 @@ function renderFilterRows(h, _vm, isOptimizeMode, cols) {
|
|
|
228
229
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
229
230
|
const headerCellOpts = $xeTable.computeHeaderCellOpts;
|
|
230
231
|
const floatingFilterOpts = $xeTable.computeFloatingFilterOpts;
|
|
232
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
231
233
|
const { cellClassName } = floatingFilterOpts;
|
|
232
234
|
const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight;
|
|
233
235
|
return cols.map((column, $columnIndex) => {
|
|
@@ -235,8 +237,8 @@ function renderFilterRows(h, _vm, isOptimizeMode, cols) {
|
|
|
235
237
|
const colid = column.id;
|
|
236
238
|
const colRest = fullColumnIdData[colid] || {};
|
|
237
239
|
const renderOpts = editRender || cellRender;
|
|
238
|
-
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
239
|
-
const flCompConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
240
|
+
const compConf = renderOpts && renderOpts.name ? (rendererOpts[renderOpts.name] || renderer.get(renderOpts.name)) : null;
|
|
241
|
+
const flCompConf = isEnableConf(filterRender) && filterRender.name ? (rendererOpts[filterRender.name] || renderer.get(filterRender.name)) : null;
|
|
240
242
|
const rtFloatingFilter = flCompConf ? flCompConf.renderTableFloatingFilter : null;
|
|
241
243
|
const flSlot = slots ? (slots.floatingFilter || slots['floating-filter']) : null;
|
|
242
244
|
const fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed);
|
package/es/table/src/methods.js
CHANGED
|
@@ -764,6 +764,7 @@ function updateAfterFullData($xeTable) {
|
|
|
764
764
|
const filterOpts = $xeTable.computeFilterOpts;
|
|
765
765
|
const sortOpts = $xeTable.computeSortOpts;
|
|
766
766
|
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
767
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
767
768
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
768
769
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
769
770
|
const { transform, rowField, parentField, mapChildrenField } = treeOpts;
|
|
@@ -803,7 +804,7 @@ function updateAfterFullData($xeTable) {
|
|
|
803
804
|
const handleFilter = (row) => {
|
|
804
805
|
return filterColumns.every(({ column, valueList, itemList }) => {
|
|
805
806
|
const { filterMethod, filterRender } = column;
|
|
806
|
-
const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
807
|
+
const compConf = isEnableConf(filterRender) && filterRender.name ? (rendererOpts[filterRender.name] || renderer.get(filterRender.name)) : null;
|
|
807
808
|
const compFilterMethod = compConf ? (compConf.tableFilterMethod || compConf.filterMethod) : null;
|
|
808
809
|
const tdFilterMethod = compConf ? (compConf.tableFilterDefaultMethod || compConf.defaultTableFilterMethod || compConf.defaultFilterMethod) : null;
|
|
809
810
|
const cellValue = getCellValue(row, column);
|
|
@@ -5525,6 +5526,7 @@ const tableMethods = {
|
|
|
5525
5526
|
}
|
|
5526
5527
|
const { editConfig } = props;
|
|
5527
5528
|
const { formatter, editRender, cellRender } = column;
|
|
5529
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
5528
5530
|
let etOpSize = null;
|
|
5529
5531
|
let etOgSize = null;
|
|
5530
5532
|
let clOpSize = null;
|
|
@@ -5541,8 +5543,8 @@ const tableMethods = {
|
|
|
5541
5543
|
const editRenderOpts = formatter ? null : (isEnableEdit && isEnableConf(editRender) ? editRender : null);
|
|
5542
5544
|
const cellRenderOpts = formatter ? null : (isEnableConf(cellRender) ? cellRender : null);
|
|
5543
5545
|
// formatter > cellRender.tableCellFormatter > editRender.tableCellFormatter
|
|
5544
|
-
const cellCompConf = cellRenderOpts ? renderer.get(cellRenderOpts.name) : null;
|
|
5545
|
-
const editCompConf = editRenderOpts ? renderer.get(editRenderOpts.name) : null;
|
|
5546
|
+
const cellCompConf = cellRenderOpts && cellRenderOpts.name ? (rendererOpts[cellRenderOpts.name] || renderer.get(cellRenderOpts.name)) : null;
|
|
5547
|
+
const editCompConf = editRenderOpts && editRenderOpts.name ? (rendererOpts[editRenderOpts.name] || renderer.get(editRenderOpts.name)) : null;
|
|
5546
5548
|
const cellDfFormatter = cellCompConf ? cellCompConf.tableCellFormatter : null;
|
|
5547
5549
|
const editDfFormatter = editCompConf ? editCompConf.tableCellFormatter : null;
|
|
5548
5550
|
const cellValue = getCellValue(row, column);
|
|
@@ -6784,8 +6786,9 @@ const tableMethods = {
|
|
|
6784
6786
|
if (column) {
|
|
6785
6787
|
const { filterStore } = reactData;
|
|
6786
6788
|
const { filterRender, filters } = column;
|
|
6789
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
6787
6790
|
const filterOptions = filters || [];
|
|
6788
|
-
const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
6791
|
+
const compConf = isEnableConf(filterRender) && filterRender.name ? (rendererOpts[filterRender.name] || renderer.get(filterRender.name)) : null;
|
|
6789
6792
|
const frMethod = column.filterRecoverMethod || (compConf ? (compConf.tableFilterRecoverMethod || compConf.filterRecoverMethod) : null);
|
|
6790
6793
|
filterStore.column = column;
|
|
6791
6794
|
// 复原状态
|
package/es/table/src/props.js
CHANGED
|
@@ -300,6 +300,10 @@ export const tableProps = {
|
|
|
300
300
|
animat: { type: Boolean, default: () => getConfig().table.animat },
|
|
301
301
|
// (可能会被废弃的参数,不要使用)
|
|
302
302
|
delayHover: { type: Number, default: () => getConfig().table.delayHover },
|
|
303
|
+
/**
|
|
304
|
+
* 渲染器配置项
|
|
305
|
+
*/
|
|
306
|
+
rendererConfig: Object,
|
|
303
307
|
// 额外的参数
|
|
304
308
|
params: Object
|
|
305
309
|
};
|
package/es/table/src/table.js
CHANGED
|
@@ -154,7 +154,8 @@ function renderEmptyBody(h, $xeTable) {
|
|
|
154
154
|
emptyContent = emptySlot.call($xeTable, emptyParams);
|
|
155
155
|
}
|
|
156
156
|
else {
|
|
157
|
-
const
|
|
157
|
+
const rendererOpts = $xeTable.computeRendererOpts;
|
|
158
|
+
const compConf = emptyOpts.name ? (rendererOpts[emptyOpts.name] || renderer.get(emptyOpts.name)) : null;
|
|
158
159
|
const rtEmptyView = compConf ? (compConf.renderTableEmpty || compConf.renderTableEmptyView || compConf.renderEmpty) : null;
|
|
159
160
|
if (rtEmptyView) {
|
|
160
161
|
emptyContent = getSlotVNs(rtEmptyView.call($xeTable, h, emptyOpts, emptyParams));
|
|
@@ -1376,6 +1377,11 @@ export default {
|
|
|
1376
1377
|
const props = $xeTable;
|
|
1377
1378
|
return Object.assign({}, getConfig().table.undoRedoHistoryConfig, props.undoRedoHistoryConfig);
|
|
1378
1379
|
},
|
|
1380
|
+
computeRendererOpts() {
|
|
1381
|
+
const $xeTable = this;
|
|
1382
|
+
const props = $xeTable;
|
|
1383
|
+
return Object.assign({}, getConfig().table.rendererConfig, props.rendererConfig);
|
|
1384
|
+
},
|
|
1379
1385
|
combineTabsResizeFlag() {
|
|
1380
1386
|
const $xeTable = this;
|
|
1381
1387
|
const $xeTabs = $xeTable.$xeTabs;
|
|
@@ -439,10 +439,11 @@ export default {
|
|
|
439
439
|
const buttonSuffixSlot = slots.buttonSuffix || slots['button-suffix'];
|
|
440
440
|
const btnVNs = [];
|
|
441
441
|
if (buttons) {
|
|
442
|
+
const rendererOpts = ($table ? $table.computeRendererOpts : null) || {};
|
|
442
443
|
buttons.forEach((item) => {
|
|
443
444
|
const { dropdowns, buttonRender } = item;
|
|
444
445
|
if (item.visible !== false) {
|
|
445
|
-
const compConf = buttonRender ? renderer.get(buttonRender.name) : null;
|
|
446
|
+
const compConf = buttonRender && buttonRender.name ? (rendererOpts[buttonRender.name] || renderer.get(buttonRender.name)) : null;
|
|
446
447
|
if (buttonRender && compConf && compConf.renderToolbarButton) {
|
|
447
448
|
const toolbarButtonClassName = compConf.toolbarButtonClassName;
|
|
448
449
|
const params = { $grid: $xeGrid, $gantt: $xeGantt, $table: $table, button: item };
|
|
@@ -503,16 +504,16 @@ export default {
|
|
|
503
504
|
const toolSuffixSlot = slots.toolSuffix || slots['tool-suffix'];
|
|
504
505
|
const btnVNs = [];
|
|
505
506
|
if (tools) {
|
|
507
|
+
const rendererOpts = ($table ? $table.computeRendererOpts : null) || {};
|
|
506
508
|
tools.forEach((item, tIndex) => {
|
|
507
509
|
const { dropdowns, toolRender } = item;
|
|
508
510
|
if (item.visible !== false) {
|
|
509
|
-
const
|
|
510
|
-
const compConf = toolRender ? renderer.get(rdName) : null;
|
|
511
|
+
const compConf = toolRender && toolRender.name ? (rendererOpts[toolRender.name] || renderer.get(toolRender.name)) : null;
|
|
511
512
|
if (toolRender && compConf && compConf.renderToolbarTool) {
|
|
512
513
|
const toolbarToolClassName = compConf.toolbarToolClassName;
|
|
513
514
|
const params = { $grid: $xeGrid, $gantt: $xeGantt, $table: $table, tool: item };
|
|
514
515
|
btnVNs.push(h('span', {
|
|
515
|
-
key:
|
|
516
|
+
key: tIndex,
|
|
516
517
|
class: ['vxe-tool--item', toolbarToolClassName ? (XEUtils.isFunction(toolbarToolClassName) ? toolbarToolClassName(params) : toolbarToolClassName) : '']
|
|
517
518
|
}, getSlotVNs(compConf.renderToolbarTool(h, toolRender, params))));
|
|
518
519
|
}
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VxeUI } from '@vxe-ui/core';
|
|
2
2
|
const { log } = VxeUI;
|
|
3
|
-
const tableVersion = `table v${"3.24.0
|
|
3
|
+
const tableVersion = `table v${"3.24.0"}`;
|
|
4
4
|
export function createComponentLog(name) {
|
|
5
5
|
const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : '';
|
|
6
6
|
const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
|
package/lib/grid/src/grid.js
CHANGED
|
@@ -1766,7 +1766,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
1766
1766
|
_xeUtils.default.eachTree(columns, column => {
|
|
1767
1767
|
if (column.slots) {
|
|
1768
1768
|
_xeUtils.default.each(column.slots, func => {
|
|
1769
|
-
if (!_xeUtils.default.isFunction(func)) {
|
|
1769
|
+
if (func && !_xeUtils.default.isFunction(func)) {
|
|
1770
1770
|
if (!slots[func]) {
|
|
1771
1771
|
errLog('vxe.error.notSlot', [func]);
|
|
1772
1772
|
}
|
|
@@ -1893,7 +1893,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
1893
1893
|
// 处理插槽
|
|
1894
1894
|
formOpts.items.forEach(item => {
|
|
1895
1895
|
_xeUtils.default.each(item.slots, func => {
|
|
1896
|
-
if (!_xeUtils.default.isFunction(func)) {
|
|
1896
|
+
if (func && !_xeUtils.default.isFunction(func)) {
|
|
1897
1897
|
if (slots[func]) {
|
|
1898
1898
|
formSlots[func] = slots[func];
|
|
1899
1899
|
}
|
package/lib/grid/src/grid.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_props=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{warnLog,errLog}=(0,_log.createComponentLog)("grid"),{getConfig,getI18n,commands,globalEvents,globalMixins,createEvent,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableMethods={},propKeys=Object.keys(_props.tableProps),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:a}=r;let o={};return _xeUtils.default.each(e,(e,t)=>{o[t]=(...e)=>{r.$emit(t,...e)}}),t&&(a.sort&&(o["sort-change"]=r.sortChangeEvent,o["clear-all-sort"]=r.clearAllSortEvent),a.filter)&&(o["filter-change"]=r.filterChangeEvent,o["clear-all-filter"]=r.clearAllFilterEvent),o}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}}_xeUtils.default.each(_table.default.methods,(e,r)=>{tableMethods[r]=function(...e){var t=this.$refs.refTable;return t&&t[r](...e)}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.tableProps),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xeGantt:null}},data(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t})},computed:Object.assign(Object.assign({},{}),{isRespMsg(){return this.computeIsRespMsg},computeIsRespMsg(){var e=this.computeProxyOpts;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)},isActiveMsg(){return this.computeIsActiveMsg},computeIsActiveMsg(){var e=this.computeProxyOpts;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:a}=this.reactData,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},computeTableExtendProps(){let t={},r=this;return propKeys.forEach(e=>{void 0!==r[e]&&(t[e]=r[e])}),t},computeTableProps(){var e=this,{showFooter:t,seqConfig:r,pagerConfig:a,editConfig:o,proxyConfig:s}=e,{isZMax:i,tablePage:n,footerData:l}=e.reactData,u=e.computeProxyOpts,g=e.computePagerOpts,c=e.computeIsLoading,e=Object.assign({},e.computeTableExtendProps);return(t&&!e.footerData||u.footer&&l.length)&&(e.footerData=l),i&&(e.maxHeight?e.maxHeight="100%":e.height="100%"),s&&(0,_utils.isEnableConf)(u)&&(e.loading=c,a)&&u.seq&&(0,_utils.isEnableConf)(g)&&(e.seqConfig=Object.assign({},r,{startIndex:(n.currentPage-1)*n.pageSize})),o&&(e.editConfig=Object.assign({},o)),e},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],a=[],o=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],a=t[1]||[],o=t[2]||[]):a=t),{headKeys:r,bodyKeys:a,footKeys:o}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total},computePageCount(){var e=this.reactData.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)},computeIsLoading(){var{loading:e,proxyConfig:t}=this,r=this.reactData.tableLoading,a=this.computeProxyOpts,o=a.showLoading;return e||r&&o&&t&&(0,_utils.isEnableConf)(a)}}),watch:{columns(e){let t=this;t.$nextTick(()=>t.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computeCustomCurrentPageFlag(){this.initPages("currentPage")},computeCustomPageSizeFlag(){this.initPages("pageSize")},computeCustomTotalFlag(){this.initPages("total")}},methods:Object.assign(Object.assign({},tableMethods),{dispatchEvent(e,t,r){this.$emit(e,createEvent(r,{$grid:this,$gantt:null},t))},initPages(e){var t=this.reactData.tablePage,r=this.pagerConfig,a=this.computePagerOpts;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)))},callSlot(e,t,r){var a=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var t=this,r=t.height,a=t.reactData.isZMax,o=t.$refs.refElem;if(o){var s=t.$refs.refFormWrapper,i=t.$refs.refToolbarWrapper,n=t.$refs.refTopWrapper,l=t.$refs.refBottomWrapper,t=t.$refs.refPagerWrapper,u=o.parentElement;let e=0;return(e=!u||"100%"!==r&&"auto"!==r?e:a?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(t)}return 0},getParentHeight(){var e=this.reactData,t=this.$refs.refElem;return t?(t=t.parentElement,(e.isZMax?(0,_dom.getDomNode)().visibleHeight:t?_xeUtils.default.toNumber(getComputedStyle(t).height):0)-this.getExcludeHeight()):0},initToolbar(){let r=this;r.$nextTick(()=>{var e=r.$refs.refTable,t=r.$refs.refToolbar;e&&t&&e.connectToolbar(t)})},getDefaultFormData(){var e=this.computeFormOpts;if(e.items){let i={};return e.items.forEach(t=>{var r,a,{field:o,itemRender:s}=t;if(o){let e=null;s&&({startField:s,endField:r,defaultValue:a}=s,_xeUtils.default.isFunction(a)?e=a({item:t}):_xeUtils.default.isUndefined(a)||(e=a),s)&&r&&(_xeUtils.default.set(i,s,null),_xeUtils.default.set(i,r,null)),i[o]=e}}),i}return{}},initProxy(){let t=this;var e=t,r=t.reactData;let a=t.internalData;var{proxyConfig:e,formConfig:o}=e,s=r.proxyInited,i=t.computeProxyOpts,n=t.computeFormOpts;e&&((0,_utils.isEnableConf)(o)&&i.form&&n.items&&(r.formData=t.getDefaultFormData()),s||!(r.proxyInited=!0)!==i.autoLoad&&t.$nextTick().then(()=>{a.uFoot=!0;var e=t.commitProxy("initial");return a.uFoot=!1,t.updateQueryFooter(),e}).then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},updateQueryFooter(){var e=this.computeProxyOpts.ajax;if(e&&e.queryFooter)return this.commitProxy("queryFooter")},handleGlobalKeydownEvent(e){var t=this.reactData,r=this.computeZoomOpts;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&t.isZMax&&!1!==r.escRestore&&this.triggerZoomEvent(e)},getRespMsg(e,t){var r=this.computeProxyOpts,r=(r.response||r.props||{}).message,a=this.$refs.refTable;let o;return(o=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:a,$grid:this,$gantt:null}):_xeUtils.default.get(e,r):o)||getI18n(t)},handleDeleteRow(e,t,r){var a=this.computeIsActiveMsg,o=this.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()},triggerPendingEvent(e){var t=this.computeIsActiveMsg,r=this.$refs.refTable,a=r.getCheckboxRecords();a.length?(r.togglePendingRow(a),this.clearCheckboxRow()):t&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})},commitProxy(t,...d){let p=this;var e=p;let f=p.reactData,m=p.internalData;var r=e.toolbar;let{showFooter:g,proxyConfig:c,toolbarConfig:a,pagerConfig:h,editRules:b,validConfig:v}=e,x=f.tablePage,y=p.computeIsActiveMsg,P=p.computeIsRespMsg;var E=p.computeProxyOpts;let C=p.computePagerOpts;var o,e=p.computeToolbarOpts;let{beforeQuery:_,afterQuery:O,beforeQueryFooter:l,afterQueryFooter:u,beforeDelete:F,afterDelete:$,beforeSave:w,afterSave:D,ajax:S={}}=E,T=E.response||E.props||{},j=p.$refs.refTable,U=p.getFormData(),I=null,R=null;R=_xeUtils.default.isString(t)?(o=e.buttons,r=(a||r)&&(0,_utils.isEnableConf)(e)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,I=r?r.item:null,t):(I=t).code;var s=I?I.params:null;switch(R){case"insert":return j.insert({});case"insert_edit":return j.insert({}).then(({row:e})=>j.setEditRow(e,!0));case"insert_actived":return j.insert({}).then(({row:e})=>j.setEditRow(e,!0));case"mark_cancel":p.triggerPendingEvent(R);break;case"remove":return p.handleDeleteRow(R,"vxe.grid.removeSelectRecord",()=>j.removeCheckboxRow());case"import":j.importData(s);break;case"open_import":j.openImport(s);break;case"export":j.exportData(s);break;case"open_export":j.openExport(s);break;case"reset_custom":j.resetCustom(!0);break;case"initial":case"reload":case"query":{var L=S.beforeQuery;let s=S.query,n=S.afterQuery,l=S.querySuccess,u=S.queryError;if(s){var k="initial"===R,M="reload"===R;if(!k&&f.tableLoading)return p.$nextTick();let e=null,r=[],o=[],t={};if(h&&((k||M)&&(x.currentPage=1),(0,_utils.isEnableConf)(h))&&(t=Object.assign({},x)),k){if(c&&(0,_utils.isEnableConf)(E)&&E.form&&(U=p.getDefaultFormData(),f.formData=U),j){let{tableFullColumn:e,fullColumnFieldData:a}=j,t=j.computeSortOpts.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=j.getCheckedFilters()}}else j&&(M?e=j.clearAll():(r=j.getSortColumns(),o=j.getCheckedFilters()));let i={$table:j,$grid:p,$gantt:null,code:R,button:I,isInited:k,isReload:M,page:t,sort:r.length?r[0]:{},sorts:r,filters:o,form:U,options:s},a=()=>(f.sortData=r,f.filterData=o,f.tableLoading=!0,Promise.all([Promise.resolve((_||s)(i,...d)),e]).then(([e])=>{if(f.tableLoading=!1,n)n(Object.assign(Object.assign({},i),{response:e,status:"success"}),...d);else{let t=[];var r,a,o,s;e&&(r=T.list,s=T.result,a={data:e,$table:j,$grid:p,$gantt:null},h&&(0,_utils.isEnableConf)(C)?(o=T.total,o=(_xeUtils.default.isFunction(o)?o(a):_xeUtils.default.get(e,o||"page.total"))||0,x.total=_xeUtils.default.toNumber(o),t=(_xeUtils.default.isFunction(s)?s(a):_xeUtils.default.get(e,s||"result"))||[],s=Math.max(Math.ceil(o/x.pageSize),1),x.currentPage>s&&(x.currentPage=s)):_xeUtils.default.isArray(e)?t=e:r&&(t=(_xeUtils.default.isFunction(r)?r(a):_xeUtils.default.get(e,r))||[]),g)&&(s=(o=T.footerData)?_xeUtils.default.isFunction(o)?o(a):_xeUtils.default.get(e,o):[],_xeUtils.default.isArray(s))&&(f.footerData=s),j?j.loadData(t):p.$nextTick(()=>{var e=p.$refs.refTable;e&&e.loadData(t)}),O&&O(Object.assign(Object.assign({},i),{response:e}),...d)}return l&&l(Object.assign(Object.assign({},i),{response:e})),{status:!0}}).catch(e=>(f.tableLoading=!1,n&&n(Object.assign(Object.assign({},i),{response:e,status:"error"}),...d),u&&u(Object.assign(Object.assign({},i),{response:e})),{status:!1})));return L?Promise.resolve(L(i,...d)).then(e=>{if(!1!==e)return a()}):a()}errLog("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"queryFooter":{k=S.beforeQueryFooter;let o=S.queryFooter,s=S.afterQueryFooter,i=S.queryFooterSuccess,n=S.queryFooterError;if(o){let e=[],t=(j&&(e=j.getCheckedFilters()),{}),r=(h&&(0,_utils.isEnableConf)(h)&&(t=Object.assign({},x)),{$table:j,$grid:p,$gantt:null,code:R,button:I,page:t,filters:e,form:U,options:o}),a=()=>Promise.resolve((l||o)(r,...d)).then(e=>(s?s(Object.assign(Object.assign({},r),{response:e,status:"success"}),...d):(f.footerData=_xeUtils.default.isArray(e)?e:[],u&&u(Object.assign(Object.assign({},r),{response:e}),...d)),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(s&&s(Object.assign(Object.assign({},r),{response:e,status:"error"}),...d),n&&n(Object.assign(Object.assign({},r),{response:e})),{status:!1}));return k?Promise.resolve(k(r,...d)).then(e=>{if(!1!==e)return a()}):a()}errLog("vxe.error.notFunc",["proxy-config.ajax.queryFooter"]);break}case"delete":{let o=S.beforeDelete,s=S.delete,i=S.afterDelete,n=S.deleteSuccess,l=S.deleteError;if(s){let e=j.getCheckboxRecords(),r=e.filter(e=>!j.isInsertByRow(e));M={removeRecords:r};let a={$table:j,$grid:p,$gantt:null,code:R,button:I,body:M,form:U,options:s};if(e.length)return p.handleDeleteRow(R,"vxe.grid.deleteSelectRecord",()=>{if(!r.length)return j.remove(e);let t=()=>(f.tableLoading=!0,Promise.resolve((F||s)(a,...d)).then(e=>(f.tableLoading=!1,i?i(Object.assign(Object.assign({},a),{response:e,status:"success"}),...d):(j.setPendingRow(r,!1),P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:p.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"}),$?$(Object.assign(Object.assign({},a),{response:e}),...d):(m.uFoot=!0,p.commitProxy("query"),m.uFoot=!1,p.updateQueryFooter())),n&&n(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(f.tableLoading=!1,i?i(Object.assign(Object.assign({},a),{response:e,status:"error"}),...d):P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:p.getRespMsg(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},a),{response:e})),{status:!1})));return o?Promise.resolve(o(a,...d)).then(e=>{if(!1!==e)return t()}):t()});y&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else errLog("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let n=S.beforeSave,l=S.save,u=S.afterSave,g=S.saveSuccess,c=S.saveError;if(l){let t=p.getRecordset(),{insertRecords:r,removeRecords:a,updateRecords:o,pendingRecords:s}=t,i={$table:j,$grid:p,$gantt:null,code:R,button:I,body:t,form:U,options:l},e=(r.length&&(t.pendingRecords=s.filter(e=>-1===r.indexOf(e))),s.length&&(t.insertRecords=r.filter(e=>-1===s.indexOf(e))),Promise.resolve());return(e=b?p[v&&"full"===v.msgMode?"fullValidate":"validate"](t.insertRecords.concat(o)):e).then(e=>{if(!e){if(t.insertRecords.length||a.length||o.length||t.pendingRecords.length){let t=()=>(f.tableLoading=!0,Promise.resolve((w||l)(i,...d)).then(e=>(f.tableLoading=!1,u?u(Object.assign(Object.assign({},i),{response:e,status:"success"}),...d):(j.clearPendingRow(),P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:p.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"}),D?D(Object.assign(Object.assign({},i),{response:e}),...d):(m.uFoot=!0,p.commitProxy("query"),m.uFoot=!1,p.updateQueryFooter())),g&&g(Object.assign(Object.assign({},i),{response:e})),{status:!0})).catch(e=>(f.tableLoading=!1,u?u(Object.assign(Object.assign({},i),{response:e,status:"error"}),...d):P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:p.getRespMsg(e,"vxe.grid.operError"),status:"error"}),c&&c(Object.assign(Object.assign({},i),{response:e})),{status:!1})));return n?Promise.resolve(n(i,...d)).then(e=>{if(!1!==e)return t()}):t()}y&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})}})}errLog("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:L=commands.get(R);L&&((k=L.tableCommandMethod||L.commandMethod)?k({code:R,button:I,$grid:p,$table:j,$gantt:null},...d):errLog("vxe.error.notCommands",[R]))}return p.$nextTick()},getFormData(){var e=this.proxyConfig,t=this.reactData.formData,r=this.computeProxyOpts,a=this.computeFormOpts;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:a.data},getFormItems(e){var t=this.computeFormOpts,r=this.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]},getFormFlatItems(){var e=this.$refs.refForm;return e?e.getFlatItems():[]},getFormNestedItems(){var e=this.$refs.refForm;return e?e.getNestedItems():[]},getFormItemByField(e){var t=this.$refs.refForm;return t?t.getItemByField(e):null},resetForm(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm(){var e=this.$refs.refForm;return e?e.validate():this.$nextTick()},validateFormField(e){var t=this.$refs.refForm;return t?t.validateField(e):this.$nextTick()},clearFormValidate(e){var t=this.$refs.refForm;return t?t.clearValidate(e):this.$nextTick()},homePage(){var e=this.reactData.tablePage;return e.currentPage=1,this.$nextTick()},homePageByEvent(e){var t=this.$refs.refPager;t&&t.homePageByEvent(e)},endPage(){var e=this.reactData.tablePage,t=this.computePageCount;return e.currentPage=t,this.$nextTick()},endPageByEvent(e){var t=this.$refs.refPager;t&&t.endPageByEvent(e)},getCurrentPage(){var e=this.reactData.tablePage;return e.currentPage},setCurrentPage(e){var t=this.reactData.tablePage,r=this.computePageCount;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),this.$nextTick()},setCurrentPageByEvent(e,t){var r=this.$refs.refPager;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=this.reactData.tablePage;return e.pageSize},setPageSize(e){var t=this.reactData.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),this.$nextTick()},setPageSizeByEvent(e,t){var r=this.$refs.refPager;r&&r.setPageSizeByEvent(e,t)},triggerToolbarCommitEvent(e,t){let r=this;var a,o=r.internalData;let s=e.code;return s?((a=["reload","delete","save"].includes(s))&&(o.uFoot=!0),e=r.commitProxy(e,t).then(e=>{s&&e&&e.status&&["query","reload","delete","save"].includes(s)&&r.dispatchEvent("delete"===s||"save"===s?"proxy-"+s:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===s}),t)}),a&&r.updateQueryFooter(),o.uFoot=!1,e):r.$nextTick()},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},pageChangeEvent(e){let t=this;var r=t.proxyConfig,a=t.reactData.tablePage;let{$event:o,currentPage:s,pageSize:i}=e;var n=t.computeProxyOpts;a.currentPage=s,a.pageSize=i,t.dispatchEvent("page-change",e,o),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,o)})},handleSortEvent(t){let r=this;var e=r,a=r.reactData,o=r.$refs.refTable,e=e.proxyConfig,s=r.computeProxyOpts;o.computeSortOpts.remote&&(a.sortData=t.sortList,e)&&(0,_utils.isEnableConf)(s)&&(a.tablePage.currentPage=1,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}))},sortChangeEvent(e){this.handleSortEvent(e),this.dispatchEvent("sort-change",e,e.$event)},clearAllSortEvent(e){this.handleSortEvent(e),this.dispatchEvent("clear-all-sort",e,e.$event)},handleFilterEvent(t){let r=this;var e=r,a=r.reactData,o=r.internalData,s=r.$refs.refTable,e=e.proxyConfig,i=r.computeProxyOpts;s.computeFilterOpts.remote&&(a.filterData=t.filterList,e)&&(0,_utils.isEnableConf)(i)&&(a.tablePage.currentPage=1,o.uFoot=!0,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}),o.uFoot=!1,r.updateQueryFooter())},filterChangeEvent(e){this.handleFilterEvent(e),this.dispatchEvent("filter-change",e,e.$event)},clearAllFilterEvent(e){this.handleFilterEvent(e),this.dispatchEvent("clear-all-filter",e,e.$event)},submitFormEvent(t){let r=this;var e=r,a=r.reactData,o=r.internalData,e=e.proxyConfig,s=r.computeProxyOpts;a.tableLoading||(e&&(0,_utils.isEnableConf)(s)?(r.dispatchEvent("form-submit",t,t.$event),o.uFoot=!0,r.commitProxy("reload").then(e=>{r.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),o.uFoot=!1,r.updateQueryFooter()):r.dispatchEvent("form-submit",t,t.$event))},resetFormEvent(e){let t=this;var r=t,a=t.internalData,o=t.$refs.refTable,r=r.proxyConfig;let s=e.$event;var i=t.computeProxyOpts;r&&(0,_utils.isEnableConf)(i)?(t.dispatchEvent("form-reset",e,s),o&&o.clearScroll(),a.uFoot=!0,t.commitProxy("reload").then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),s)}),a.uFoot=!1,t.updateQueryFooter()):t.dispatchEvent("form-reset",e,s)},submitInvalidEvent(e){this.dispatchEvent("form-submit-invalid",e,e.$event)},collapseEvent(e){var t=e.$event;this.dispatchEvent("form-toggle-collapse",e,t),this.dispatchEvent("form-collapse",e,t)},triggerZoomEvent(e){var t=this.reactData;this.zoom(),this.dispatchEvent("zoom",{type:t.isZMax?"max":"revert"},e)},getParams(){return this.params},zoom(){return this.reactData.isZMax?this.revert():this.maximize()},isMaximized(){return this.reactData.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){let t=this,r=t.reactData;var a=r.isZMax;return(e?!a:a)&&(r.isZMax=!a,r.tZindex<(0,_utils.getLastZIndex)())&&(r.tZindex=(0,_utils.nextZIndex)()),t.$nextTick().then(()=>t.recalculate(!0)).then(()=>(setTimeout(()=>t.recalculate(!0),15),r.isZMax))},getProxyInfo(){var e,t=this.$refs.refTable,r=this.reactData;return this.proxyConfig?(e=r.sortData,{data:t?t.getFullData():[],filter:r.filterData,form:this.getFormData(),sort:e.length?e[0]:{},sorts:e,pager:r.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},getCustomPagerData(){var e=this.pagerConfig,t=this.reactData.tablePage,r=this.computePagerOpts;return e&&(0,_utils.isEnableConf)(r)?{pSize:t.pageSize}:{}},loadColumn(e){let t=this.$scopedSlots;var r=this.$refs.refTable;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||errLog("vxe.error.notSlot",[e])})}),r.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)},getConfigSlot(e){let r=this.$scopedSlots,a={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?a[t]=r[e]:errLog("vxe.error.notSlot",[e]):a[t]=e)}),a},getToolbarSlots(){var e,t,r,a,o=this,s=o.$scopedSlots,i=o.computeToolbarOpts.slots,n={};return!s.buttons||i&&"buttons"===i.buttons||warnLog("vxe.error.reqProp",["[grid] toolbar-config.slots.buttons"]),!s.tools||i&&"tools"===i.tools||warnLog("vxe.error.reqProp",["[grid] toolbar-config.slots.tools"]),i&&(s=o.getFuncSlot(i,"buttons"),e=o.getFuncSlot(i,"buttonPrefix"),t=o.getFuncSlot(i,"buttonSuffix"),r=o.getFuncSlot(i,"tools"),a=o.getFuncSlot(i,"toolPrefix"),o=o.getFuncSlot(i,"toolSuffix"),s&&(n.buttons=s),e&&(n.buttonPrefix=e),t&&(n.buttonSuffix=t),r&&(n.tools=r),a&&(n.toolPrefix=a),o)&&(n.toolSuffix=o),n},getFuncSlot(e,t){var r=this.$scopedSlots,e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(r[e])return r[e];errLog("vxe.error.notSlot",[e])}return null},renderDefaultForm(e){var r=_ui.VxeUI.getComponent("VxeForm");let a=this;var o=a;let s=a.$scopedSlots;var{proxyConfig:o,formConfig:t}=o,i=a.reactData.formData,n=a.computeProxyOpts,l=a.computeFormOpts;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=n.beforeItem;n&&t&&l.items.forEach(e=>{t.call(a,{$grid:a,$gantt:null,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[r?e(r,{ref:"refForm",props:Object.assign({},l,{data:o&&n.form?i:l.data}),on:{submit:a.submitFormEvent,reset:a.resetFormEvent,collapse:a.collapseEvent,"submit-invalid":a.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(a)]}return[]},renderForm(e){var t=this,r=t.formConfig,a=t.$scopedSlots.form;return!a&&!(0,_utils.isEnableConf)(r)?renderEmptyElement(t):e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},a?a.call(t,{$grid:t,$gantt:null}):t.renderDefaultForm(e))},renderToolbar(e){var t=this,r=t.toolbarConfig,a=t.$scopedSlots.toolbar,o=t.computeToolbarOpts;return r&&(0,_utils.isEnableConf)(o)||a?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},a?a.call(t,{$grid:t,$gantt:null}):[e(_toolbar.default,{props:Object.assign({},o,{slots:void 0}),ref:"refToolbar",scopedSlots:t.getToolbarSlots()})]):renderEmptyElement(t)},renderTop(e){var t=this.$scopedSlots.top;return t?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableLeft(e){var t=this.$scopedSlots.left;return t?e("div",{class:"vxe-grid--left-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableRight(e){var t=this.$scopedSlots.right;return t?e("div",{class:"vxe-grid--right-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTable(e){var t=this.$scopedSlots,r=this.computeTableProps;return e("div",{class:"vxe-grid--table-wrapper"},[e(_table.default,{key:"table",props:r,on:getTableOns(this),scopedSlots:t,ref:"refTable"})])},renderBottom(e){var t=this.$scopedSlots.bottom;return t?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderPager(e){var t=_ui.VxeUI.getComponent("VxePager"),r=this,a=r.$scopedSlots,o=r.reactData,{proxyConfig:s,pagerConfig:i}=r,n=r.computeProxyOpts,l=r.computePagerOpts,u=a.pager;return i&&(0,_utils.isEnableConf)(l)||a.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},u?u.call(r,{$grid:r,$gantt:null}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},l),s&&(0,_utils.isEnableConf)(n)?o.tablePage:{}),on:{"page-change":r.pageChangeEvent},scopedSlots:r.getConfigSlot(l.slots)}):renderEmptyElement(r)]):renderEmptyElement(r)},renderChildLayout(t,e){let r=this,a=[];return e.forEach(e=>{switch(e){case"Form":a.push(r.renderForm(t));break;case"Toolbar":a.push(r.renderToolbar(t));break;case"Top":a.push(r.renderTop(t));break;case"Table":a.push(t("div",{key:"table",class:"vxe-grid--table-container"},[r.renderTableLeft(t),r.renderTable(t),r.renderTableRight(t)]));break;case"Bottom":a.push(r.renderBottom(t));break;case"Pager":a.push(r.renderPager(t));break;default:errLog("vxe.error.notProp",["layouts -> "+e])}}),a},renderLayout(e){var t=this,r=t.$scopedSlots,{headKeys:a,bodyKeys:o,footKeys:s}=t.computeCurrLayoutConf,i=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},t.renderChildLayout(e,a)),e("div",{class:"vxe-grid--layout-body-wrapper"},[i?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},i({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},t.renderChildLayout(e,o)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},t.renderChildLayout(e,s)),e("div",{ref:"refPopupContainerElem"})]},renderVN(e){var t=this,r=t.reactData,a=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+a]:a,"is--animat":!!t.animat,"is--round":t.round,"is--maximize":r.isZMax,"is--loading":t.computeIsLoading}],style:t.computeStyles},t.renderLayout(e))}}),created(){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");var r=this;let a=r;r.internalData=createInternalData();var o=r.computeProxyOpts;a.toolbar&&errLog("vxe.error.delProp",["toolbar","toolbar-config"]),a.toolbarConfig&&!_xeUtils.default.isObject(a.toolbarConfig)&&errLog("vxe.error.errProp",["toolbar-config="+a.toolbarConfig,"toolbar-config={}"]),o.props&&warnLog("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),r.$nextTick(()=>{a.formConfig&&!e&&errLog("vxe.error.reqComp",["vxe-form"]),a.pagerConfig&&!t&&errLog("vxe.error.reqComp",["vxe-pager"])}),r.initPages(),globalEvents.on(r,"keydown",r.handleGlobalKeydownEvent)},mounted(){var e=this.columns;e&&e.length&&this.loadColumn(e),this.initToolbar(),this.initProxy()},beforeDestroy(){var e=this.reactData,t=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_props=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{warnLog,errLog}=(0,_log.createComponentLog)("grid"),{getConfig,getI18n,commands,globalEvents,globalMixins,createEvent,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableMethods={},propKeys=Object.keys(_props.tableProps),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:a}=r;let o={};return _xeUtils.default.each(e,(e,t)=>{o[t]=(...e)=>{r.$emit(t,...e)}}),t&&(a.sort&&(o["sort-change"]=r.sortChangeEvent,o["clear-all-sort"]=r.clearAllSortEvent),a.filter)&&(o["filter-change"]=r.filterChangeEvent,o["clear-all-filter"]=r.clearAllFilterEvent),o}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}}_xeUtils.default.each(_table.default.methods,(e,r)=>{tableMethods[r]=function(...e){var t=this.$refs.refTable;return t&&t[r](...e)}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.tableProps),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xeGantt:null}},data(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t})},computed:Object.assign(Object.assign({},{}),{isRespMsg(){return this.computeIsRespMsg},computeIsRespMsg(){var e=this.computeProxyOpts;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)},isActiveMsg(){return this.computeIsActiveMsg},computeIsActiveMsg(){var e=this.computeProxyOpts;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:a}=this.reactData,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},computeTableExtendProps(){let t={},r=this;return propKeys.forEach(e=>{void 0!==r[e]&&(t[e]=r[e])}),t},computeTableProps(){var e=this,{showFooter:t,seqConfig:r,pagerConfig:a,editConfig:o,proxyConfig:s}=e,{isZMax:i,tablePage:n,footerData:l}=e.reactData,u=e.computeProxyOpts,g=e.computePagerOpts,c=e.computeIsLoading,e=Object.assign({},e.computeTableExtendProps);return(t&&!e.footerData||u.footer&&l.length)&&(e.footerData=l),i&&(e.maxHeight?e.maxHeight="100%":e.height="100%"),s&&(0,_utils.isEnableConf)(u)&&(e.loading=c,a)&&u.seq&&(0,_utils.isEnableConf)(g)&&(e.seqConfig=Object.assign({},r,{startIndex:(n.currentPage-1)*n.pageSize})),o&&(e.editConfig=Object.assign({},o)),e},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],a=[],o=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],a=t[1]||[],o=t[2]||[]):a=t),{headKeys:r,bodyKeys:a,footKeys:o}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total},computePageCount(){var e=this.reactData.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)},computeIsLoading(){var{loading:e,proxyConfig:t}=this,r=this.reactData.tableLoading,a=this.computeProxyOpts,o=a.showLoading;return e||r&&o&&t&&(0,_utils.isEnableConf)(a)}}),watch:{columns(e){let t=this;t.$nextTick(()=>t.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computeCustomCurrentPageFlag(){this.initPages("currentPage")},computeCustomPageSizeFlag(){this.initPages("pageSize")},computeCustomTotalFlag(){this.initPages("total")}},methods:Object.assign(Object.assign({},tableMethods),{dispatchEvent(e,t,r){this.$emit(e,createEvent(r,{$grid:this,$gantt:null},t))},initPages(e){var t=this.reactData.tablePage,r=this.pagerConfig,a=this.computePagerOpts;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)))},callSlot(e,t,r){var a=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var t=this,r=t.height,a=t.reactData.isZMax,o=t.$refs.refElem;if(o){var s=t.$refs.refFormWrapper,i=t.$refs.refToolbarWrapper,n=t.$refs.refTopWrapper,l=t.$refs.refBottomWrapper,t=t.$refs.refPagerWrapper,u=o.parentElement;let e=0;return(e=!u||"100%"!==r&&"auto"!==r?e:a?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(t)}return 0},getParentHeight(){var e=this.reactData,t=this.$refs.refElem;return t?(t=t.parentElement,(e.isZMax?(0,_dom.getDomNode)().visibleHeight:t?_xeUtils.default.toNumber(getComputedStyle(t).height):0)-this.getExcludeHeight()):0},initToolbar(){let r=this;r.$nextTick(()=>{var e=r.$refs.refTable,t=r.$refs.refToolbar;e&&t&&e.connectToolbar(t)})},getDefaultFormData(){var e=this.computeFormOpts;if(e.items){let i={};return e.items.forEach(t=>{var r,a,{field:o,itemRender:s}=t;if(o){let e=null;s&&({startField:s,endField:r,defaultValue:a}=s,_xeUtils.default.isFunction(a)?e=a({item:t}):_xeUtils.default.isUndefined(a)||(e=a),s)&&r&&(_xeUtils.default.set(i,s,null),_xeUtils.default.set(i,r,null)),i[o]=e}}),i}return{}},initProxy(){let t=this;var e=t,r=t.reactData;let a=t.internalData;var{proxyConfig:e,formConfig:o}=e,s=r.proxyInited,i=t.computeProxyOpts,n=t.computeFormOpts;e&&((0,_utils.isEnableConf)(o)&&i.form&&n.items&&(r.formData=t.getDefaultFormData()),s||!(r.proxyInited=!0)!==i.autoLoad&&t.$nextTick().then(()=>{a.uFoot=!0;var e=t.commitProxy("initial");return a.uFoot=!1,t.updateQueryFooter(),e}).then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},updateQueryFooter(){var e=this.computeProxyOpts.ajax;if(e&&e.queryFooter)return this.commitProxy("queryFooter")},handleGlobalKeydownEvent(e){var t=this.reactData,r=this.computeZoomOpts;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&t.isZMax&&!1!==r.escRestore&&this.triggerZoomEvent(e)},getRespMsg(e,t){var r=this.computeProxyOpts,r=(r.response||r.props||{}).message,a=this.$refs.refTable;let o;return(o=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:a,$grid:this,$gantt:null}):_xeUtils.default.get(e,r):o)||getI18n(t)},handleDeleteRow(e,t,r){var a=this.computeIsActiveMsg,o=this.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()},triggerPendingEvent(e){var t=this.computeIsActiveMsg,r=this.$refs.refTable,a=r.getCheckboxRecords();a.length?(r.togglePendingRow(a),this.clearCheckboxRow()):t&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})},commitProxy(t,...d){let p=this;var e=p;let f=p.reactData,m=p.internalData;var r=e.toolbar;let{showFooter:g,proxyConfig:c,toolbarConfig:a,pagerConfig:h,editRules:b,validConfig:v}=e,x=f.tablePage,y=p.computeIsActiveMsg,P=p.computeIsRespMsg;var E=p.computeProxyOpts;let C=p.computePagerOpts;var o,e=p.computeToolbarOpts;let{beforeQuery:_,afterQuery:O,beforeQueryFooter:l,afterQueryFooter:u,beforeDelete:F,afterDelete:$,beforeSave:w,afterSave:D,ajax:S={}}=E,T=E.response||E.props||{},j=p.$refs.refTable,U=p.getFormData(),I=null,R=null;R=_xeUtils.default.isString(t)?(o=e.buttons,r=(a||r)&&(0,_utils.isEnableConf)(e)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,I=r?r.item:null,t):(I=t).code;var s=I?I.params:null;switch(R){case"insert":return j.insert({});case"insert_edit":return j.insert({}).then(({row:e})=>j.setEditRow(e,!0));case"insert_actived":return j.insert({}).then(({row:e})=>j.setEditRow(e,!0));case"mark_cancel":p.triggerPendingEvent(R);break;case"remove":return p.handleDeleteRow(R,"vxe.grid.removeSelectRecord",()=>j.removeCheckboxRow());case"import":j.importData(s);break;case"open_import":j.openImport(s);break;case"export":j.exportData(s);break;case"open_export":j.openExport(s);break;case"reset_custom":j.resetCustom(!0);break;case"initial":case"reload":case"query":{var L=S.beforeQuery;let s=S.query,n=S.afterQuery,l=S.querySuccess,u=S.queryError;if(s){var k="initial"===R,M="reload"===R;if(!k&&f.tableLoading)return p.$nextTick();let e=null,r=[],o=[],t={};if(h&&((k||M)&&(x.currentPage=1),(0,_utils.isEnableConf)(h))&&(t=Object.assign({},x)),k){if(c&&(0,_utils.isEnableConf)(E)&&E.form&&(U=p.getDefaultFormData(),f.formData=U),j){let{tableFullColumn:e,fullColumnFieldData:a}=j,t=j.computeSortOpts.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=j.getCheckedFilters()}}else j&&(M?e=j.clearAll():(r=j.getSortColumns(),o=j.getCheckedFilters()));let i={$table:j,$grid:p,$gantt:null,code:R,button:I,isInited:k,isReload:M,page:t,sort:r.length?r[0]:{},sorts:r,filters:o,form:U,options:s},a=()=>(f.sortData=r,f.filterData=o,f.tableLoading=!0,Promise.all([Promise.resolve((_||s)(i,...d)),e]).then(([e])=>{if(f.tableLoading=!1,n)n(Object.assign(Object.assign({},i),{response:e,status:"success"}),...d);else{let t=[];var r,a,o,s;e&&(r=T.list,s=T.result,a={data:e,$table:j,$grid:p,$gantt:null},h&&(0,_utils.isEnableConf)(C)?(o=T.total,o=(_xeUtils.default.isFunction(o)?o(a):_xeUtils.default.get(e,o||"page.total"))||0,x.total=_xeUtils.default.toNumber(o),t=(_xeUtils.default.isFunction(s)?s(a):_xeUtils.default.get(e,s||"result"))||[],s=Math.max(Math.ceil(o/x.pageSize),1),x.currentPage>s&&(x.currentPage=s)):_xeUtils.default.isArray(e)?t=e:r&&(t=(_xeUtils.default.isFunction(r)?r(a):_xeUtils.default.get(e,r))||[]),g)&&(s=(o=T.footerData)?_xeUtils.default.isFunction(o)?o(a):_xeUtils.default.get(e,o):[],_xeUtils.default.isArray(s))&&(f.footerData=s),j?j.loadData(t):p.$nextTick(()=>{var e=p.$refs.refTable;e&&e.loadData(t)}),O&&O(Object.assign(Object.assign({},i),{response:e}),...d)}return l&&l(Object.assign(Object.assign({},i),{response:e})),{status:!0}}).catch(e=>(f.tableLoading=!1,n&&n(Object.assign(Object.assign({},i),{response:e,status:"error"}),...d),u&&u(Object.assign(Object.assign({},i),{response:e})),{status:!1})));return L?Promise.resolve(L(i,...d)).then(e=>{if(!1!==e)return a()}):a()}errLog("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"queryFooter":{k=S.beforeQueryFooter;let o=S.queryFooter,s=S.afterQueryFooter,i=S.queryFooterSuccess,n=S.queryFooterError;if(o){let e=[],t=(j&&(e=j.getCheckedFilters()),{}),r=(h&&(0,_utils.isEnableConf)(h)&&(t=Object.assign({},x)),{$table:j,$grid:p,$gantt:null,code:R,button:I,page:t,filters:e,form:U,options:o}),a=()=>Promise.resolve((l||o)(r,...d)).then(e=>(s?s(Object.assign(Object.assign({},r),{response:e,status:"success"}),...d):(f.footerData=_xeUtils.default.isArray(e)?e:[],u&&u(Object.assign(Object.assign({},r),{response:e}),...d)),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(s&&s(Object.assign(Object.assign({},r),{response:e,status:"error"}),...d),n&&n(Object.assign(Object.assign({},r),{response:e})),{status:!1}));return k?Promise.resolve(k(r,...d)).then(e=>{if(!1!==e)return a()}):a()}errLog("vxe.error.notFunc",["proxy-config.ajax.queryFooter"]);break}case"delete":{let o=S.beforeDelete,s=S.delete,i=S.afterDelete,n=S.deleteSuccess,l=S.deleteError;if(s){let e=j.getCheckboxRecords(),r=e.filter(e=>!j.isInsertByRow(e));M={removeRecords:r};let a={$table:j,$grid:p,$gantt:null,code:R,button:I,body:M,form:U,options:s};if(e.length)return p.handleDeleteRow(R,"vxe.grid.deleteSelectRecord",()=>{if(!r.length)return j.remove(e);let t=()=>(f.tableLoading=!0,Promise.resolve((F||s)(a,...d)).then(e=>(f.tableLoading=!1,i?i(Object.assign(Object.assign({},a),{response:e,status:"success"}),...d):(j.setPendingRow(r,!1),P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:p.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"}),$?$(Object.assign(Object.assign({},a),{response:e}),...d):(m.uFoot=!0,p.commitProxy("query"),m.uFoot=!1,p.updateQueryFooter())),n&&n(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(f.tableLoading=!1,i?i(Object.assign(Object.assign({},a),{response:e,status:"error"}),...d):P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:p.getRespMsg(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},a),{response:e})),{status:!1})));return o?Promise.resolve(o(a,...d)).then(e=>{if(!1!==e)return t()}):t()});y&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else errLog("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let n=S.beforeSave,l=S.save,u=S.afterSave,g=S.saveSuccess,c=S.saveError;if(l){let t=p.getRecordset(),{insertRecords:r,removeRecords:a,updateRecords:o,pendingRecords:s}=t,i={$table:j,$grid:p,$gantt:null,code:R,button:I,body:t,form:U,options:l},e=(r.length&&(t.pendingRecords=s.filter(e=>-1===r.indexOf(e))),s.length&&(t.insertRecords=r.filter(e=>-1===s.indexOf(e))),Promise.resolve());return(e=b?p[v&&"full"===v.msgMode?"fullValidate":"validate"](t.insertRecords.concat(o)):e).then(e=>{if(!e){if(t.insertRecords.length||a.length||o.length||t.pendingRecords.length){let t=()=>(f.tableLoading=!0,Promise.resolve((w||l)(i,...d)).then(e=>(f.tableLoading=!1,u?u(Object.assign(Object.assign({},i),{response:e,status:"success"}),...d):(j.clearPendingRow(),P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:p.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"}),D?D(Object.assign(Object.assign({},i),{response:e}),...d):(m.uFoot=!0,p.commitProxy("query"),m.uFoot=!1,p.updateQueryFooter())),g&&g(Object.assign(Object.assign({},i),{response:e})),{status:!0})).catch(e=>(f.tableLoading=!1,u?u(Object.assign(Object.assign({},i),{response:e,status:"error"}),...d):P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:p.getRespMsg(e,"vxe.grid.operError"),status:"error"}),c&&c(Object.assign(Object.assign({},i),{response:e})),{status:!1})));return n?Promise.resolve(n(i,...d)).then(e=>{if(!1!==e)return t()}):t()}y&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})}})}errLog("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:L=commands.get(R);L&&((k=L.tableCommandMethod||L.commandMethod)?k({code:R,button:I,$grid:p,$table:j,$gantt:null},...d):errLog("vxe.error.notCommands",[R]))}return p.$nextTick()},getFormData(){var e=this.proxyConfig,t=this.reactData.formData,r=this.computeProxyOpts,a=this.computeFormOpts;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:a.data},getFormItems(e){var t=this.computeFormOpts,r=this.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]},getFormFlatItems(){var e=this.$refs.refForm;return e?e.getFlatItems():[]},getFormNestedItems(){var e=this.$refs.refForm;return e?e.getNestedItems():[]},getFormItemByField(e){var t=this.$refs.refForm;return t?t.getItemByField(e):null},resetForm(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm(){var e=this.$refs.refForm;return e?e.validate():this.$nextTick()},validateFormField(e){var t=this.$refs.refForm;return t?t.validateField(e):this.$nextTick()},clearFormValidate(e){var t=this.$refs.refForm;return t?t.clearValidate(e):this.$nextTick()},homePage(){var e=this.reactData.tablePage;return e.currentPage=1,this.$nextTick()},homePageByEvent(e){var t=this.$refs.refPager;t&&t.homePageByEvent(e)},endPage(){var e=this.reactData.tablePage,t=this.computePageCount;return e.currentPage=t,this.$nextTick()},endPageByEvent(e){var t=this.$refs.refPager;t&&t.endPageByEvent(e)},getCurrentPage(){var e=this.reactData.tablePage;return e.currentPage},setCurrentPage(e){var t=this.reactData.tablePage,r=this.computePageCount;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),this.$nextTick()},setCurrentPageByEvent(e,t){var r=this.$refs.refPager;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=this.reactData.tablePage;return e.pageSize},setPageSize(e){var t=this.reactData.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),this.$nextTick()},setPageSizeByEvent(e,t){var r=this.$refs.refPager;r&&r.setPageSizeByEvent(e,t)},triggerToolbarCommitEvent(e,t){let r=this;var a,o=r.internalData;let s=e.code;return s?((a=["reload","delete","save"].includes(s))&&(o.uFoot=!0),e=r.commitProxy(e,t).then(e=>{s&&e&&e.status&&["query","reload","delete","save"].includes(s)&&r.dispatchEvent("delete"===s||"save"===s?"proxy-"+s:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===s}),t)}),a&&r.updateQueryFooter(),o.uFoot=!1,e):r.$nextTick()},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},pageChangeEvent(e){let t=this;var r=t.proxyConfig,a=t.reactData.tablePage;let{$event:o,currentPage:s,pageSize:i}=e;var n=t.computeProxyOpts;a.currentPage=s,a.pageSize=i,t.dispatchEvent("page-change",e,o),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,o)})},handleSortEvent(t){let r=this;var e=r,a=r.reactData,o=r.$refs.refTable,e=e.proxyConfig,s=r.computeProxyOpts;o.computeSortOpts.remote&&(a.sortData=t.sortList,e)&&(0,_utils.isEnableConf)(s)&&(a.tablePage.currentPage=1,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}))},sortChangeEvent(e){this.handleSortEvent(e),this.dispatchEvent("sort-change",e,e.$event)},clearAllSortEvent(e){this.handleSortEvent(e),this.dispatchEvent("clear-all-sort",e,e.$event)},handleFilterEvent(t){let r=this;var e=r,a=r.reactData,o=r.internalData,s=r.$refs.refTable,e=e.proxyConfig,i=r.computeProxyOpts;s.computeFilterOpts.remote&&(a.filterData=t.filterList,e)&&(0,_utils.isEnableConf)(i)&&(a.tablePage.currentPage=1,o.uFoot=!0,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}),o.uFoot=!1,r.updateQueryFooter())},filterChangeEvent(e){this.handleFilterEvent(e),this.dispatchEvent("filter-change",e,e.$event)},clearAllFilterEvent(e){this.handleFilterEvent(e),this.dispatchEvent("clear-all-filter",e,e.$event)},submitFormEvent(t){let r=this;var e=r,a=r.reactData,o=r.internalData,e=e.proxyConfig,s=r.computeProxyOpts;a.tableLoading||(e&&(0,_utils.isEnableConf)(s)?(r.dispatchEvent("form-submit",t,t.$event),o.uFoot=!0,r.commitProxy("reload").then(e=>{r.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),o.uFoot=!1,r.updateQueryFooter()):r.dispatchEvent("form-submit",t,t.$event))},resetFormEvent(e){let t=this;var r=t,a=t.internalData,o=t.$refs.refTable,r=r.proxyConfig;let s=e.$event;var i=t.computeProxyOpts;r&&(0,_utils.isEnableConf)(i)?(t.dispatchEvent("form-reset",e,s),o&&o.clearScroll(),a.uFoot=!0,t.commitProxy("reload").then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),s)}),a.uFoot=!1,t.updateQueryFooter()):t.dispatchEvent("form-reset",e,s)},submitInvalidEvent(e){this.dispatchEvent("form-submit-invalid",e,e.$event)},collapseEvent(e){var t=e.$event;this.dispatchEvent("form-toggle-collapse",e,t),this.dispatchEvent("form-collapse",e,t)},triggerZoomEvent(e){var t=this.reactData;this.zoom(),this.dispatchEvent("zoom",{type:t.isZMax?"max":"revert"},e)},getParams(){return this.params},zoom(){return this.reactData.isZMax?this.revert():this.maximize()},isMaximized(){return this.reactData.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){let t=this,r=t.reactData;var a=r.isZMax;return(e?!a:a)&&(r.isZMax=!a,r.tZindex<(0,_utils.getLastZIndex)())&&(r.tZindex=(0,_utils.nextZIndex)()),t.$nextTick().then(()=>t.recalculate(!0)).then(()=>(setTimeout(()=>t.recalculate(!0),15),r.isZMax))},getProxyInfo(){var e,t=this.$refs.refTable,r=this.reactData;return this.proxyConfig?(e=r.sortData,{data:t?t.getFullData():[],filter:r.filterData,form:this.getFormData(),sort:e.length?e[0]:{},sorts:e,pager:r.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},getCustomPagerData(){var e=this.pagerConfig,t=this.reactData.tablePage,r=this.computePagerOpts;return e&&(0,_utils.isEnableConf)(r)?{pSize:t.pageSize}:{}},loadColumn(e){let t=this.$scopedSlots;var r=this.$refs.refTable;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{!e||_xeUtils.default.isFunction(e)||t[e]||errLog("vxe.error.notSlot",[e])})}),r.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)},getConfigSlot(e){let r=this.$scopedSlots,a={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?a[t]=r[e]:errLog("vxe.error.notSlot",[e]):a[t]=e)}),a},getToolbarSlots(){var e,t,r,a,o=this,s=o.$scopedSlots,i=o.computeToolbarOpts.slots,n={};return!s.buttons||i&&"buttons"===i.buttons||warnLog("vxe.error.reqProp",["[grid] toolbar-config.slots.buttons"]),!s.tools||i&&"tools"===i.tools||warnLog("vxe.error.reqProp",["[grid] toolbar-config.slots.tools"]),i&&(s=o.getFuncSlot(i,"buttons"),e=o.getFuncSlot(i,"buttonPrefix"),t=o.getFuncSlot(i,"buttonSuffix"),r=o.getFuncSlot(i,"tools"),a=o.getFuncSlot(i,"toolPrefix"),o=o.getFuncSlot(i,"toolSuffix"),s&&(n.buttons=s),e&&(n.buttonPrefix=e),t&&(n.buttonSuffix=t),r&&(n.tools=r),a&&(n.toolPrefix=a),o)&&(n.toolSuffix=o),n},getFuncSlot(e,t){var r=this.$scopedSlots,e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(r[e])return r[e];errLog("vxe.error.notSlot",[e])}return null},renderDefaultForm(e){var r=_ui.VxeUI.getComponent("VxeForm");let a=this;var o=a;let s=a.$scopedSlots;var{proxyConfig:o,formConfig:t}=o,i=a.reactData.formData,n=a.computeProxyOpts,l=a.computeFormOpts;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=n.beforeItem;n&&t&&l.items.forEach(e=>{t.call(a,{$grid:a,$gantt:null,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{e&&!_xeUtils.default.isFunction(e)&&s[e]&&(t[e]=s[e])})}),[r?e(r,{ref:"refForm",props:Object.assign({},l,{data:o&&n.form?i:l.data}),on:{submit:a.submitFormEvent,reset:a.resetFormEvent,collapse:a.collapseEvent,"submit-invalid":a.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(a)]}return[]},renderForm(e){var t=this,r=t.formConfig,a=t.$scopedSlots.form;return!a&&!(0,_utils.isEnableConf)(r)?renderEmptyElement(t):e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},a?a.call(t,{$grid:t,$gantt:null}):t.renderDefaultForm(e))},renderToolbar(e){var t=this,r=t.toolbarConfig,a=t.$scopedSlots.toolbar,o=t.computeToolbarOpts;return r&&(0,_utils.isEnableConf)(o)||a?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},a?a.call(t,{$grid:t,$gantt:null}):[e(_toolbar.default,{props:Object.assign({},o,{slots:void 0}),ref:"refToolbar",scopedSlots:t.getToolbarSlots()})]):renderEmptyElement(t)},renderTop(e){var t=this.$scopedSlots.top;return t?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableLeft(e){var t=this.$scopedSlots.left;return t?e("div",{class:"vxe-grid--left-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableRight(e){var t=this.$scopedSlots.right;return t?e("div",{class:"vxe-grid--right-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTable(e){var t=this.$scopedSlots,r=this.computeTableProps;return e("div",{class:"vxe-grid--table-wrapper"},[e(_table.default,{key:"table",props:r,on:getTableOns(this),scopedSlots:t,ref:"refTable"})])},renderBottom(e){var t=this.$scopedSlots.bottom;return t?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderPager(e){var t=_ui.VxeUI.getComponent("VxePager"),r=this,a=r.$scopedSlots,o=r.reactData,{proxyConfig:s,pagerConfig:i}=r,n=r.computeProxyOpts,l=r.computePagerOpts,u=a.pager;return i&&(0,_utils.isEnableConf)(l)||a.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},u?u.call(r,{$grid:r,$gantt:null}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},l),s&&(0,_utils.isEnableConf)(n)?o.tablePage:{}),on:{"page-change":r.pageChangeEvent},scopedSlots:r.getConfigSlot(l.slots)}):renderEmptyElement(r)]):renderEmptyElement(r)},renderChildLayout(t,e){let r=this,a=[];return e.forEach(e=>{switch(e){case"Form":a.push(r.renderForm(t));break;case"Toolbar":a.push(r.renderToolbar(t));break;case"Top":a.push(r.renderTop(t));break;case"Table":a.push(t("div",{key:"table",class:"vxe-grid--table-container"},[r.renderTableLeft(t),r.renderTable(t),r.renderTableRight(t)]));break;case"Bottom":a.push(r.renderBottom(t));break;case"Pager":a.push(r.renderPager(t));break;default:errLog("vxe.error.notProp",["layouts -> "+e])}}),a},renderLayout(e){var t=this,r=t.$scopedSlots,{headKeys:a,bodyKeys:o,footKeys:s}=t.computeCurrLayoutConf,i=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},t.renderChildLayout(e,a)),e("div",{class:"vxe-grid--layout-body-wrapper"},[i?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},i({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},t.renderChildLayout(e,o)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},t.renderChildLayout(e,s)),e("div",{ref:"refPopupContainerElem"})]},renderVN(e){var t=this,r=t.reactData,a=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+a]:a,"is--animat":!!t.animat,"is--round":t.round,"is--maximize":r.isZMax,"is--loading":t.computeIsLoading}],style:t.computeStyles},t.renderLayout(e))}}),created(){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");var r=this;let a=r;r.internalData=createInternalData();var o=r.computeProxyOpts;a.toolbar&&errLog("vxe.error.delProp",["toolbar","toolbar-config"]),a.toolbarConfig&&!_xeUtils.default.isObject(a.toolbarConfig)&&errLog("vxe.error.errProp",["toolbar-config="+a.toolbarConfig,"toolbar-config={}"]),o.props&&warnLog("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),r.$nextTick(()=>{a.formConfig&&!e&&errLog("vxe.error.reqComp",["vxe-form"]),a.pagerConfig&&!t&&errLog("vxe.error.reqComp",["vxe-pager"])}),r.initPages(),globalEvents.on(r,"keydown",r.handleGlobalKeydownEvent)},mounted(){var e=this.columns;e&&e.length&&this.loadColumn(e),this.initToolbar(),this.initProxy()},beforeDestroy(){var e=this.reactData,t=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render(e){return this.renderVN(e)}});
|