vxe-table 3.15.54 → 3.15.57
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 +31 -0
- package/es/locale/lang/ar-EG.js +2 -1
- package/es/locale/lang/de-DE.js +2 -1
- package/es/locale/lang/en-US.js +2 -1
- package/es/locale/lang/es-ES.js +2 -1
- package/es/locale/lang/fr-FR.js +2 -1
- package/es/locale/lang/hu-HU.js +2 -1
- package/es/locale/lang/hy-AM.js +2 -1
- package/es/locale/lang/id-ID.js +2 -1
- package/es/locale/lang/it-IT.js +2 -1
- package/es/locale/lang/ja-JP.js +2 -1
- package/es/locale/lang/ko-KR.js +2 -1
- package/es/locale/lang/ms-MY.js +2 -1
- package/es/locale/lang/nb-NO.js +2 -1
- package/es/locale/lang/pt-BR.js +2 -1
- package/es/locale/lang/ru-RU.js +2 -1
- package/es/locale/lang/th-TH.js +2 -1
- package/es/locale/lang/ug-CN.js +2 -1
- package/es/locale/lang/uk-UA.js +2 -1
- package/es/locale/lang/uz-UZ.js +2 -1
- package/es/locale/lang/vi-VN.js +2 -1
- package/es/locale/lang/zh-CHT.js +2 -1
- package/es/locale/lang/zh-CN.js +2 -1
- package/es/style.css +1 -1
- package/es/table/src/methods.js +60 -17
- package/es/table/src/table.js +30 -2
- package/es/ui/index.js +2 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +48 -0
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +157 -22
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +2 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +2 -1
- package/lib/locale/lang/de-DE.js +2 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +2 -1
- package/lib/locale/lang/en-US.js +2 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -1
- package/lib/locale/lang/es-ES.js +2 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -1
- package/lib/locale/lang/fr-FR.js +2 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +2 -1
- package/lib/locale/lang/hu-HU.js +2 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -1
- package/lib/locale/lang/hy-AM.js +2 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +2 -1
- package/lib/locale/lang/id-ID.js +2 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +2 -1
- package/lib/locale/lang/it-IT.js +2 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +2 -1
- package/lib/locale/lang/ja-JP.js +2 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -1
- package/lib/locale/lang/ko-KR.js +2 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -1
- package/lib/locale/lang/ms-MY.js +2 -1
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +2 -1
- package/lib/locale/lang/nb-NO.js +2 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +2 -1
- package/lib/locale/lang/pt-BR.js +2 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -1
- package/lib/locale/lang/ru-RU.js +2 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +2 -1
- package/lib/locale/lang/th-TH.js +2 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +2 -1
- package/lib/locale/lang/ug-CN.js +2 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +2 -1
- package/lib/locale/lang/uk-UA.js +2 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +2 -1
- package/lib/locale/lang/uz-UZ.js +2 -1
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +2 -1
- package/lib/locale/lang/vi-VN.js +2 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +2 -1
- package/lib/locale/lang/zh-CHT.js +2 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +2 -1
- package/lib/locale/lang/zh-CN.js +2 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -1
- package/lib/style.css +1 -1
- package/lib/table/src/methods.js +66 -17
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +36 -2
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +2 -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 +31 -0
- package/packages/locale/lang/ar-EG.ts +2 -1
- package/packages/locale/lang/de-DE.ts +2 -1
- package/packages/locale/lang/en-US.ts +2 -1
- package/packages/locale/lang/es-ES.ts +2 -1
- package/packages/locale/lang/fr-FR.ts +2 -1
- package/packages/locale/lang/hu-HU.ts +2 -1
- package/packages/locale/lang/hy-AM.ts +2 -1
- package/packages/locale/lang/id-ID.ts +2 -1
- package/packages/locale/lang/it-IT.ts +2 -1
- package/packages/locale/lang/ja-JP.ts +2 -1
- package/packages/locale/lang/ko-KR.ts +2 -1
- package/packages/locale/lang/ms-MY.ts +2 -1
- package/packages/locale/lang/nb-NO.ts +2 -1
- package/packages/locale/lang/pt-BR.ts +2 -1
- package/packages/locale/lang/ru-RU.ts +2 -1
- package/packages/locale/lang/th-TH.ts +2 -1
- package/packages/locale/lang/ug-CN.ts +2 -1
- package/packages/locale/lang/uk-UA.ts +2 -1
- package/packages/locale/lang/uz-UZ.ts +2 -1
- package/packages/locale/lang/vi-VN.ts +2 -1
- package/packages/locale/lang/zh-CHT.ts +2 -1
- package/packages/locale/lang/zh-CN.ts +2 -1
- package/packages/table/src/methods.ts +70 -16
- package/packages/table/src/table.ts +31 -3
- package/packages/ui/index.ts +1 -0
- /package/es/{iconfont.1753260891694.ttf → iconfont.1754364592710.ttf} +0 -0
- /package/es/{iconfont.1753260891694.woff → iconfont.1754364592710.woff} +0 -0
- /package/es/{iconfont.1753260891694.woff2 → iconfont.1754364592710.woff2} +0 -0
- /package/lib/{iconfont.1753260891694.ttf → iconfont.1754364592710.ttf} +0 -0
- /package/lib/{iconfont.1753260891694.woff → iconfont.1754364592710.woff} +0 -0
- /package/lib/{iconfont.1753260891694.woff2 → iconfont.1754364592710.woff2} +0 -0
package/es/table/src/methods.js
CHANGED
|
@@ -297,10 +297,10 @@ function cacheColumnMap($xeTable) {
|
|
|
297
297
|
}
|
|
298
298
|
if (htmlColumn) {
|
|
299
299
|
if (!columnOpts.useKey) {
|
|
300
|
-
errLog('vxe.error.
|
|
300
|
+
errLog('vxe.error.notSupportProp', ['column.type=html', 'column-config.useKey=false', 'column-config.useKey=true']);
|
|
301
301
|
}
|
|
302
302
|
if (!rowOpts.useKey) {
|
|
303
|
-
errLog('vxe.error.
|
|
303
|
+
errLog('vxe.error.notSupportProp', ['column.type=html', 'row-config.useKey=false', 'row-config.useKey=true']);
|
|
304
304
|
}
|
|
305
305
|
}
|
|
306
306
|
reactData.isGroup = isGroup;
|
|
@@ -1965,16 +1965,24 @@ function removeFooterMerges($xeTable, merges) {
|
|
|
1965
1965
|
return rest;
|
|
1966
1966
|
}
|
|
1967
1967
|
function handleSortEvent($xeTable, evnt, sortConfs, isUpdate) {
|
|
1968
|
+
const internalData = $xeTable;
|
|
1969
|
+
const { tableFullColumn } = internalData;
|
|
1968
1970
|
const sortOpts = $xeTable.computeSortOpts;
|
|
1969
1971
|
const { multiple, remote, orders } = sortOpts;
|
|
1970
1972
|
if (!XEUtils.isArray(sortConfs)) {
|
|
1971
1973
|
sortConfs = [sortConfs];
|
|
1972
1974
|
}
|
|
1973
1975
|
if (sortConfs && sortConfs.length) {
|
|
1976
|
+
const orderActiveMaps = {};
|
|
1974
1977
|
if (!multiple) {
|
|
1975
1978
|
sortConfs = [sortConfs[0]];
|
|
1976
|
-
|
|
1979
|
+
tableFullColumn.forEach((column) => {
|
|
1980
|
+
if (column.order) {
|
|
1981
|
+
orderActiveMaps[column.id] = column;
|
|
1982
|
+
}
|
|
1983
|
+
});
|
|
1977
1984
|
}
|
|
1985
|
+
const sortColMpps = {};
|
|
1978
1986
|
let firstColumn = null;
|
|
1979
1987
|
sortConfs.forEach((confs, index) => {
|
|
1980
1988
|
let { field, order } = confs;
|
|
@@ -1993,8 +2001,16 @@ function handleSortEvent($xeTable, evnt, sortConfs, isUpdate) {
|
|
|
1993
2001
|
column.order = order;
|
|
1994
2002
|
}
|
|
1995
2003
|
column.sortTime = Date.now() + index;
|
|
2004
|
+
sortColMpps[column.id] = column;
|
|
1996
2005
|
}
|
|
1997
2006
|
});
|
|
2007
|
+
if (!multiple) {
|
|
2008
|
+
XEUtils.each(orderActiveMaps, (oaCol, oaId) => {
|
|
2009
|
+
if (!sortColMpps[oaId]) {
|
|
2010
|
+
oaCol.order = null;
|
|
2011
|
+
}
|
|
2012
|
+
});
|
|
2013
|
+
}
|
|
1998
2014
|
if (isUpdate) {
|
|
1999
2015
|
if (!remote) {
|
|
2000
2016
|
$xeTable.handleTableData(true);
|
|
@@ -8478,9 +8494,9 @@ const Methods = {
|
|
|
8478
8494
|
const $xeTable = this;
|
|
8479
8495
|
return handleSortEvent($xeTable, null, sortConfs, isUpdate);
|
|
8480
8496
|
},
|
|
8481
|
-
setSortByEvent(evnt, sortConfs
|
|
8497
|
+
setSortByEvent(evnt, sortConfs) {
|
|
8482
8498
|
const $xeTable = this;
|
|
8483
|
-
return handleSortEvent($xeTable, evnt, sortConfs,
|
|
8499
|
+
return handleSortEvent($xeTable, evnt, sortConfs, true);
|
|
8484
8500
|
},
|
|
8485
8501
|
/**
|
|
8486
8502
|
* 清空指定列的排序条件
|
|
@@ -8512,6 +8528,7 @@ const Methods = {
|
|
|
8512
8528
|
const internalData = $xeTable;
|
|
8513
8529
|
const { tableFullColumn } = internalData;
|
|
8514
8530
|
const sortOpts = $xeTable.computeSortOpts;
|
|
8531
|
+
const { multiple } = sortOpts;
|
|
8515
8532
|
const sortCols = [];
|
|
8516
8533
|
let column = null;
|
|
8517
8534
|
if (evnt) {
|
|
@@ -8532,13 +8549,16 @@ const Methods = {
|
|
|
8532
8549
|
if (!sortOpts.remote) {
|
|
8533
8550
|
$xeTable.handleTableData(true);
|
|
8534
8551
|
}
|
|
8535
|
-
if (
|
|
8536
|
-
|
|
8537
|
-
$xeTable.dispatchEvent('clear-all-sort', params, evnt);
|
|
8552
|
+
if (!multiple) {
|
|
8553
|
+
column = sortCols[0];
|
|
8538
8554
|
}
|
|
8539
|
-
|
|
8555
|
+
if (column) {
|
|
8540
8556
|
$xeTable.handleColumnSortEvent(evnt, column);
|
|
8541
8557
|
}
|
|
8558
|
+
if (multiple && sortCols.length) {
|
|
8559
|
+
const params = { $table: $xeTable, $event: evnt, cols: sortCols, sortList: [] };
|
|
8560
|
+
$xeTable.dispatchEvent('clear-all-sort', params, evnt);
|
|
8561
|
+
}
|
|
8542
8562
|
}
|
|
8543
8563
|
return $xeTable.$nextTick().then(() => {
|
|
8544
8564
|
updateRowOffsetTop($xeTable);
|
|
@@ -8571,14 +8591,12 @@ const Methods = {
|
|
|
8571
8591
|
}
|
|
8572
8592
|
return sortList;
|
|
8573
8593
|
},
|
|
8574
|
-
setFilterByEvent(evnt, fieldOrColumn, options
|
|
8594
|
+
setFilterByEvent(evnt, fieldOrColumn, options) {
|
|
8575
8595
|
const $xeTable = this;
|
|
8576
8596
|
const column = handleFieldOrColumn($xeTable, fieldOrColumn);
|
|
8577
8597
|
if (column && column.filters) {
|
|
8578
8598
|
column.filters = toFilters(options || []);
|
|
8579
|
-
|
|
8580
|
-
return $xeTable.handleColumnConfirmFilter(column, evnt);
|
|
8581
|
-
}
|
|
8599
|
+
return $xeTable.handleColumnConfirmFilter(column, evnt);
|
|
8582
8600
|
}
|
|
8583
8601
|
return $xeTable.$nextTick();
|
|
8584
8602
|
},
|
|
@@ -8628,6 +8646,7 @@ const Methods = {
|
|
|
8628
8646
|
const { filterStore } = reactData;
|
|
8629
8647
|
const { tableFullColumn } = internalData;
|
|
8630
8648
|
const filterOpts = $xeTable.computeFilterOpts;
|
|
8649
|
+
const { multiple } = filterOpts;
|
|
8631
8650
|
const filterCols = [];
|
|
8632
8651
|
let column = null;
|
|
8633
8652
|
if (fieldOrColumn) {
|
|
@@ -8658,13 +8677,37 @@ const Methods = {
|
|
|
8658
8677
|
if (!filterOpts.remote) {
|
|
8659
8678
|
$xeTable.updateData();
|
|
8660
8679
|
}
|
|
8661
|
-
if (
|
|
8680
|
+
if (!multiple) {
|
|
8681
|
+
column = filterCols[0];
|
|
8682
|
+
}
|
|
8683
|
+
if (column) {
|
|
8684
|
+
const filterList = () => $xeTable.getCheckedFilters();
|
|
8685
|
+
const values = [];
|
|
8686
|
+
const datas = [];
|
|
8687
|
+
column.filters.forEach((item) => {
|
|
8688
|
+
if (item.checked) {
|
|
8689
|
+
values.push(item.value);
|
|
8690
|
+
datas.push(item.data);
|
|
8691
|
+
}
|
|
8692
|
+
});
|
|
8693
|
+
const params = {
|
|
8694
|
+
$table: $xeTable,
|
|
8695
|
+
$event: evnt,
|
|
8696
|
+
column,
|
|
8697
|
+
field: column.field,
|
|
8698
|
+
property: column.field,
|
|
8699
|
+
values,
|
|
8700
|
+
datas,
|
|
8701
|
+
filters: filterList,
|
|
8702
|
+
filterList
|
|
8703
|
+
};
|
|
8704
|
+
$xeTable.dispatchEvent('filter-change', params, evnt);
|
|
8705
|
+
$xeTable.dispatchEvent('clear-filter', params, evnt);
|
|
8706
|
+
}
|
|
8707
|
+
if (multiple && filterCols.length) {
|
|
8662
8708
|
const params = { $table: $xeTable, $event: evnt, cols: filterCols, filterList: [] };
|
|
8663
8709
|
$xeTable.dispatchEvent('clear-all-filter', params, evnt);
|
|
8664
8710
|
}
|
|
8665
|
-
else if (column) {
|
|
8666
|
-
$xeTable.dispatchEvent('clear-filter', { filterList: () => $xeTable.getCheckedFilters() }, evnt);
|
|
8667
|
-
}
|
|
8668
8711
|
return $xeTable.$nextTick();
|
|
8669
8712
|
},
|
|
8670
8713
|
/**
|
package/es/table/src/table.js
CHANGED
|
@@ -743,12 +743,40 @@ export default {
|
|
|
743
743
|
computeVirtualXOpts() {
|
|
744
744
|
const $xeTable = this;
|
|
745
745
|
const props = $xeTable;
|
|
746
|
-
|
|
746
|
+
const { virtualXConfig, scrollX } = props;
|
|
747
|
+
const globalVirtualXConfig = getConfig().table.virtualXConfig;
|
|
748
|
+
const globalScrollX = getConfig().table.scrollX;
|
|
749
|
+
if (virtualXConfig) {
|
|
750
|
+
return Object.assign({}, globalVirtualXConfig, virtualXConfig);
|
|
751
|
+
}
|
|
752
|
+
if (scrollX) {
|
|
753
|
+
// 已废弃,保留兼容
|
|
754
|
+
return Object.assign({}, globalScrollX, scrollX);
|
|
755
|
+
}
|
|
756
|
+
if (globalVirtualXConfig) {
|
|
757
|
+
return Object.assign({}, globalVirtualXConfig, virtualXConfig);
|
|
758
|
+
}
|
|
759
|
+
// 已废弃,保留兼容
|
|
760
|
+
return Object.assign({}, globalScrollX, scrollX);
|
|
747
761
|
},
|
|
748
762
|
computeVirtualYOpts() {
|
|
749
763
|
const $xeTable = this;
|
|
750
764
|
const props = $xeTable;
|
|
751
|
-
|
|
765
|
+
const { virtualYConfig, scrollY } = props;
|
|
766
|
+
const globalVirtualYConfig = getConfig().table.virtualYConfig;
|
|
767
|
+
const globalScrollY = getConfig().table.scrollY;
|
|
768
|
+
if (virtualYConfig) {
|
|
769
|
+
return Object.assign({}, globalVirtualYConfig, virtualYConfig);
|
|
770
|
+
}
|
|
771
|
+
if (scrollY) {
|
|
772
|
+
// 已废弃,保留兼容
|
|
773
|
+
return Object.assign({}, globalScrollY, scrollY);
|
|
774
|
+
}
|
|
775
|
+
if (globalVirtualYConfig) {
|
|
776
|
+
return Object.assign({}, globalVirtualYConfig, virtualYConfig);
|
|
777
|
+
}
|
|
778
|
+
// 已废弃,保留兼容
|
|
779
|
+
return Object.assign({}, globalScrollY, scrollY);
|
|
752
780
|
},
|
|
753
781
|
computeScrollbarOpts() {
|
|
754
782
|
const $xeTable = this;
|
package/es/ui/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VxeUI } from '@vxe-ui/core';
|
|
2
2
|
import { getFuncText } from './src/utils';
|
|
3
|
-
export const version = "3.15.
|
|
3
|
+
export const version = "3.15.57";
|
|
4
4
|
VxeUI.version = version;
|
|
5
5
|
VxeUI.tableVersion = version;
|
|
6
6
|
VxeUI.setConfig({
|
|
@@ -134,6 +134,7 @@ VxeUI.setConfig({
|
|
|
134
134
|
// filterMethod: null,
|
|
135
135
|
// destroyOnClose: false,
|
|
136
136
|
// isEvery: false,
|
|
137
|
+
multiple: true,
|
|
137
138
|
showIcon: true
|
|
138
139
|
},
|
|
139
140
|
aggregateConfig: {
|
package/es/ui/src/log.js
CHANGED
package/lib/grid/src/grid.js
CHANGED
|
@@ -199,9 +199,11 @@ function getTableOns(_vm) {
|
|
|
199
199
|
if (proxyConfig) {
|
|
200
200
|
if (proxyOpts.sort) {
|
|
201
201
|
ons['sort-change'] = _vm.sortChangeEvent;
|
|
202
|
+
ons['clear-all-sort'] = _vm.clearAllSortEvent;
|
|
202
203
|
}
|
|
203
204
|
if (proxyOpts.filter) {
|
|
204
205
|
ons['filter-change'] = _vm.filterChangeEvent;
|
|
206
|
+
ons['clear-all-filter'] = _vm.clearAllFilterEvent;
|
|
205
207
|
}
|
|
206
208
|
}
|
|
207
209
|
return ons;
|
|
@@ -1427,6 +1429,30 @@ var _default = exports.default = {
|
|
|
1427
1429
|
$grid: this
|
|
1428
1430
|
}, params));
|
|
1429
1431
|
},
|
|
1432
|
+
clearAllSortEvent(params) {
|
|
1433
|
+
const {
|
|
1434
|
+
$table,
|
|
1435
|
+
column,
|
|
1436
|
+
sortList
|
|
1437
|
+
} = params;
|
|
1438
|
+
const isRemote = column && _xeUtils.default.isBoolean(column.remoteSort) ? column.remoteSort : $table.sortOpts.remote;
|
|
1439
|
+
// 如果是服务端排序
|
|
1440
|
+
if (isRemote) {
|
|
1441
|
+
this.sortData = sortList;
|
|
1442
|
+
if (this.proxyConfig) {
|
|
1443
|
+
this.tablePage.currentPage = 1;
|
|
1444
|
+
this.commitProxy('query').then(rest => {
|
|
1445
|
+
this.$emit('proxy-query', Object.assign(Object.assign({}, rest), {
|
|
1446
|
+
$grid: this,
|
|
1447
|
+
$event: params.$event
|
|
1448
|
+
}));
|
|
1449
|
+
});
|
|
1450
|
+
}
|
|
1451
|
+
}
|
|
1452
|
+
this.$emit('clear-all-sort', Object.assign({
|
|
1453
|
+
$grid: this
|
|
1454
|
+
}, params));
|
|
1455
|
+
},
|
|
1430
1456
|
filterChangeEvent(params) {
|
|
1431
1457
|
const {
|
|
1432
1458
|
$table,
|
|
@@ -1449,6 +1475,28 @@ var _default = exports.default = {
|
|
|
1449
1475
|
$grid: this
|
|
1450
1476
|
}, params));
|
|
1451
1477
|
},
|
|
1478
|
+
clearAllFilterEvent(params) {
|
|
1479
|
+
const {
|
|
1480
|
+
$table,
|
|
1481
|
+
filterList
|
|
1482
|
+
} = params;
|
|
1483
|
+
// 如果是服务端过滤
|
|
1484
|
+
if ($table.filterOpts.remote) {
|
|
1485
|
+
this.filterData = filterList;
|
|
1486
|
+
if (this.proxyConfig) {
|
|
1487
|
+
this.tablePage.currentPage = 1;
|
|
1488
|
+
this.commitProxy('query').then(rest => {
|
|
1489
|
+
this.$emit('proxy-query', Object.assign(Object.assign({}, rest), {
|
|
1490
|
+
$grid: this,
|
|
1491
|
+
$event: params.$event
|
|
1492
|
+
}));
|
|
1493
|
+
});
|
|
1494
|
+
}
|
|
1495
|
+
}
|
|
1496
|
+
this.$emit('clear-all-filter', Object.assign({
|
|
1497
|
+
$grid: this
|
|
1498
|
+
}, params));
|
|
1499
|
+
},
|
|
1452
1500
|
submitEvent(params) {
|
|
1453
1501
|
const $xeGrid = this;
|
|
1454
1502
|
const reactData = $xeGrid;
|
package/lib/grid/src/grid.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI,methods={},propKeys=Object.keys(_props.default),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function initPages(e,t){var r=e.tablePage,o=e.pagerConfig,e=e.computePagerOpts;o&&(0,_utils.isEnableConf)(e)&&(t?e[t]&&(r[t]=_xeUtils.default.toNumber(e[t])):({currentPage:o,pageSize:t,total:e}=e,o&&(r.currentPage=o),t&&(r.pageSize=t),e&&(r.pageSize=e)))}function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let s=r.$scopedSlots;var{proxyConfig:i,formConfig:t}=r,a=r.formData,n=r.computeProxyOpts,l=r.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(r,{$grid:r,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[o?e(o,{props:Object.assign({},l,{data:i&&n.form?a:l.data}),on:{submit:r.submitEvent,reset:r.resetEvent,collapse:r.collapseEvent,"submit-invalid":r.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(r)]}return[]}function getFuncSlot(e,t,r){e=e.$scopedSlots,t=t[r];if(t){if(!_xeUtils.default.isString(t))return t;if(e[t])return e[t];(0,_log.errLog)("vxe.error.notSlot",[t])}return null}let getConfigSlot=(e,t)=>{let r=e.$scopedSlots,o={};return _xeUtils.default.objectMap(t,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?o[t]=r[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):o[t]=e)}),o};function getToolbarSlots(e){var t,r,o,s,i=e.$scopedSlots,a=e.computeToolbarOpts.slots,n={};return!i.buttons||a&&"buttons"===a.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!i.tools||a&&"tools"===a.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"]),a&&(i=getFuncSlot(e,a,"buttons"),t=getFuncSlot(e,a,"buttonPrefix"),r=getFuncSlot(e,a,"buttonSuffix"),o=getFuncSlot(e,a,"tools"),s=getFuncSlot(e,a,"toolPrefix"),e=getFuncSlot(e,a,"toolSuffix"),i&&(n.buttons=i),t&&(n.buttonPrefix=t),r&&(n.buttonSuffix=r),o&&(n.tools=o),s&&(n.toolPrefix=s),e)&&(n.toolSuffix=e),n}function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let s={};return _xeUtils.default.each(e,(e,t)=>{s[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(s["sort-change"]=r.sortChangeEvent),o.filter)&&(s["filter-change"]=r.filterChangeEvent),s}function pageChangeEvent(t,e){var r=t.proxyConfig,o=t.tablePage;let{$event:s,currentPage:i,pageSize:a}=e;var n=t.computeProxyOpts;o.currentPage=i,o.pageSize=a,t.dispatchEvent("page-change",e,s),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,s)})}function renderForm(e,t){var r=t.formConfig,o=t.$scopedSlots.form;return!o&&!(0,_utils.isEnableConf)(r)?renderEmptyElement(t):e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t}):renderDefaultForm(e,t))}function renderToolbar(e,t){var r=t.toolbarConfig,o=t.$scopedSlots.toolbar,r=!!(o||(0,_utils.isEnableConf)(r)||toolbar),s=t.computeToolbarOpts;return r?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t}):[e(_toolbar.default,{props:Object.assign({},s,{slots:void 0}),ref:"xToolbar",scopedSlots:getToolbarSlots(t)})]):renderEmptyElement(t)}function renderTop(e,t){var r=t.$scopedSlots.top;return r?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},r.call(t,{$grid:t})):renderEmptyElement(t)}function renderTableLeft(e,t){var r=t.$scopedSlots.left;return r?e("div",{class:"vxe-grid--left-wrapper"},r({$grid:t})):renderEmptyElement(t)}function renderTableRight(e,t){var r=t.$scopedSlots.right;return r?e("div",{class:"vxe-grid--right-wrapper"},r({$grid:t})):renderEmptyElement(t)}function renderTable(e,t){var r=t.$scopedSlots;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:t.computeTableProps,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var r=t.$scopedSlots.bottom;return r?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},r.call(t,{$grid:t})):renderEmptyElement(t)}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),o=t.$scopedSlots,s=t,{proxyConfig:i,pagerConfig:a}=t,n=t.computeProxyOpts,l=t.computePagerOpts,g=o.pager;return a&&(0,_utils.isEnableConf)(l)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},g?g.call(t,{$grid:t}):[r?e(r,{ref:"refPager",props:Object.assign(Object.assign({},l),i&&(0,_utils.isEnableConf)(n)?s.tablePage:{}),on:{"page-change"(e){pageChangeEvent(t,e)}},scopedSlots:getConfigSlot(t,l.slots)}):renderEmptyElement(t)]):renderEmptyElement(t)}function renderChildLayout(t,r,e){let o=[];return e.forEach(e=>{switch(e){case"Form":o.push(renderForm(t,r));break;case"Toolbar":o.push(renderToolbar(t,r));break;case"Top":o.push(renderTop(t,r));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[renderTableLeft(t,r),renderTable(t,r),renderTableRight(t,r)]));break;case"Bottom":o.push(renderBottom(t,r));break;case"Pager":o.push(renderPager(t,r));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}function renderLayout(e,t){var r=t.$scopedSlots,{headKeys:o,bodyKeys:s,footKeys:i}=t.computeCurrLayoutConf,a=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},renderChildLayout(e,t,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[a?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},renderChildLayout(e,t,s)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},renderChildLayout(e,t,i))]}Object.keys(_table.default.methods).forEach(t=>{methods[t]=function(...e){return this.$refs.xTable&&this.$refs.xTable[t](...e)}});var _default=exports.default={name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this}},data(){var e;return{tableLoading:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}},computed:{isRespMsg(){var e=this.proxyOpts;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg},isActiveMsg(){return this.proxyOpts.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||this.toolbar)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:o}=this,s={};return r?s.zIndex=o:(e&&(s.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(s.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),s},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},computeTableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g}=this,d=Object.assign({},n);return e&&(n.maxHeight?d.maxHeight="100%":d.height="100%"),i&&(d.loading=o||l,a.seq)&&(0,_utils.isEnableConf)(r)&&(d.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(d.editConfig=Object.assign({},s)),d},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],s=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],s=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:s}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computeCustomCurrentPageFlag(){initPages(this,"currentPage")},computeCustomPageSizeFlag(){initPages(this,"pageSize")},computeCustomTotalFlag(){initPages(this,"total")}},created(){let e=this,t=(this.toolbar&&(0,_log.warnLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig&&!_xeUtils.default.isObject(this.toolbarConfig)&&(0,_log.warnLog)("vxe.error.errProp",["grid.toolbar-config="+this.toolbarConfig,"grid.toolbar-config={}"]),_ui.VxeUI.getComponent("VxeForm")),r=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{e.formConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),e.pagerConfig&&!r&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),initPages(this),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initProxy()},destroyed(){globalEvents.off(this,"keydown")},render(e){var t=this,r=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+r]:r,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":t.isZMax,"is--loading":t.loading||t.tableLoading}],style:t.computeStyles},renderLayout(e,t))},methods:Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){var s=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r,o)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var e,t,r,o,s,i=this,a=i.isZMax,n=i.$refs.refElem;return n?(e=i.$refs.refFormWrapper,t=i.$refs.refToolbarWrapper,r=i.$refs.refTopWrapper,o=i.$refs.refBottomWrapper,i=i.$refs.refPagerWrapper,s=n.parentElement,(!a&&s?(0,_dom.getPaddingTopBottomSize)(s):0)+(0,_dom.getPaddingTopBottomSize)(n)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(i)):0},getParentHeight(){var e=this.$refs.refElem;return e?(e=e.parentElement,(this.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-this.getExcludeHeight()):0},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initProxy(){var{proxyInited:e,proxyConfig:t,proxyOpts:r,formConfig:o,formOpts:i}=this;if(t){if((0,_utils.isEnableConf)(o)&&r.form&&i.items){let s={};i.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),s[r]=e}}),this.formData=s}e||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick().then(()=>this.commitProxy("_init")).then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isInited:!0,$grid:this,$event:new Event("init")}))}))}},handleGlobalKeydownEvent(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy(t,...u){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:s,proxyOpts:i,tablePage:n,pagerConfig:l,editRules:c,isRespMsg:p,isActiveMsg:m,validConfig:f,pagerOpts:g}=this,{beforeQuery:d,afterQuery:h,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:y,ajax:_={}}=i,C=i.response||i.props||{},O=e.xTable;var a,$=this.getFormData();let P,E;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,E=t,P=a?a.item:null):(P=t,E=P.code);var S=P?P.params:null;switch(E){case"insert":return O.insert({});case"insert_edit":return O.insert({}).then(({row:e})=>O.setEditRow(e,!0));case"insert_actived":return O.insert({}).then(({row:e})=>O.setEditRow(e,!0));case"mark_cancel":this.triggerPendingEvent(E);break;case"remove":return this.handleDeleteRow(E,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":O.importData(S);break;case"open_import":O.openImport(S);break;case"export":O.exportData(S);break;case"open_export":O.openExport(S);break;case"reset_custom":O.resetCustom(!0);break;case"_init":case"reload":case"query":{var T=_.query;let a=_.querySuccess,o=_.queryError;if(T){var j="_init"===E,U="reload"===E;if(!j&&this.tableLoading)return this.$nextTick();let t=[],r=[],e={};if(l&&((j||U)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),j){let e=null;O&&(R=O.sortOpts,e=R.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),O&&(r=O.getCheckedFilters())}else O&&(U?O.clearAll():(t=O.getSortColumns(),r=O.getCheckedFilters()));let s={code:E,button:P,isInited:j,isReload:U,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:T},i=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[s].concat(u));return Promise.resolve((d||T)(...i)).then(e=>{let t=[];var r,o;return this.tableLoading=!1,e&&(l&&(0,_utils.isEnableConf)(g)?(o=C.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),r=C.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>r&&(n.currentPage=r)):(o=C.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o):e)||[])),O?O.loadData(t):O.$nextTick(()=>{O&&O.loadData(t)}),h&&h(...i),a&&a(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,o&&o(Object.assign(Object.assign({},s),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let s=_.delete,i=_.deleteSuccess,a=_.deleteError;if(s){let e=O.getCheckboxRecords(),t=e.filter(e=>!O.isInsertByRow(e));var R={removeRecords:t};let r={$grid:this,code:E,button:P,body:R,form:$,options:s},o=[r].concat(u);if(e.length)return this.handleDeleteRow(E,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||s)(...o)).then(e=>(this.tableLoading=!1,O.setPendingRow(t,!1),p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),x?x(...o):this.commitProxy("query"),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):O.remove(e));m&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=_.save,g=_.saveSuccess,d=_.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:s,pendingRecords:i}=t,a={$grid:this,code:E,button:P,body:t,form:$,options:l},n=[a].concat(u),e=(r.length&&(t.pendingRecords=i.filter(e=>-1===r.indexOf(e))),i.length&&(t.insertRecords=r.filter(e=>-1===i.indexOf(e))),Promise.resolve());return(e=c?this[f&&"full"===f.msgMode?"fullValidate":"validate"](t.insertRecords.concat(s)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||s.length||t.pendingRecords.length?(this.tableLoading=!0,Promise.resolve((v||l)(...n)).then(e=>(this.tableLoading=!1,O.clearPendingRow(),p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),y?y(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(m&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:j=commands.get(E);j&&(j.commandMethod?j.commandMethod({code:E,button:P,$grid:this,$table:O},...u):(0,_log.errLog)("vxe.error.notCommands",[E]))}return this.$nextTick()},getRespMsg(e,t){var r=this.proxyOpts,r=r.response||r.props||{};let o;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.getCheckboxRecords();if(this.isActiveMsg){if(o.length)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()});_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else o.length&&r();return Promise.resolve()},getFormData(){var{proxyConfig:e,proxyOpts:t,formOpts:r,formData:o}=this;return e&&(0,_utils.isEnableConf)(t)&&t.form?o:r.data},getFormItems(e){var{formConfig:t,formOpts:r}=this;let o=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(t)&&r.items?r.items:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},triggerToolbarCommitEvent(e,t){let r=e.code;return this.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&this.$emit("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r,$grid:this,$event:t}))})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent(e){var t=this.isActiveMsg,r=this.getCheckboxRecords();r.length?(this.togglePendingRow(r),this.clearCheckboxRow()):t&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},sortChangeEvent(t){var{$table:e,column:r,sortList:o}=t;(_xeUtils.default.isBoolean(r.remoteSort)?r.remoteSort:e.sortOpts.remote)&&(this.sortData=o,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("sort-change",Object.assign({$grid:this},t))},filterChangeEvent(t){var{$table:e,filterList:r}=t;e.filterOpts.remote&&(this.filterData=r,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("filter-change",Object.assign({$grid:this},t))},submitEvent(t){var e=this.proxyConfig;this.tableLoading||(e&&this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))}),this.$emit("form-submit",Object.assign({$grid:this},t)))},resetEvent(t){var e=this.proxyConfig,r=this.$refs.xTable;e&&(r.clearScroll(),this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))})),this.$emit("form-reset",Object.assign({$grid:this},t))},submitInvalidEvent(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent(e){this.$nextTick(()=>this.recalculate(!0)),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom(){return this[this.isZMax?"revert":"maximize"]()},isMaximized(){return this.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){var t=this.isZMax;return(e?!t:t)&&(this.isZMax=!t,this.tZindex<(0,_utils.getLastZIndex)())&&(this.tZindex=(0,_utils.nextZIndex)()),this.$nextTick().then(()=>this.recalculate(!0)).then(()=>(setTimeout(()=>this.recalculate(!0),15),this.isZMax))},getProxyInfo(){var e=this.$refs.xTable,{sortData:t,proxyConfig:r}=this;return r?{data:e?e.getFullData():[],filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null},loadColumn(e){var t=this.$refs.xTable;let r=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||r[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}})};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI,methods={},propKeys=Object.keys(_props.default),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function initPages(e,t){var r=e.tablePage,o=e.pagerConfig,e=e.computePagerOpts;o&&(0,_utils.isEnableConf)(e)&&(t?e[t]&&(r[t]=_xeUtils.default.toNumber(e[t])):({currentPage:o,pageSize:t,total:e}=e,o&&(r.currentPage=o),t&&(r.pageSize=t),e&&(r.pageSize=e)))}function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let i=r.$scopedSlots;var{proxyConfig:s,formConfig:t}=r,a=r.formData,n=r.computeProxyOpts,l=r.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(r,{$grid:r,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||i[e]&&(t[e]=i[e])})}),[o?e(o,{props:Object.assign({},l,{data:s&&n.form?a:l.data}),on:{submit:r.submitEvent,reset:r.resetEvent,collapse:r.collapseEvent,"submit-invalid":r.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(r)]}return[]}function getFuncSlot(e,t,r){e=e.$scopedSlots,t=t[r];if(t){if(!_xeUtils.default.isString(t))return t;if(e[t])return e[t];(0,_log.errLog)("vxe.error.notSlot",[t])}return null}let getConfigSlot=(e,t)=>{let r=e.$scopedSlots,o={};return _xeUtils.default.objectMap(t,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?o[t]=r[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):o[t]=e)}),o};function getToolbarSlots(e){var t,r,o,i,s=e.$scopedSlots,a=e.computeToolbarOpts.slots,n={};return!s.buttons||a&&"buttons"===a.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!s.tools||a&&"tools"===a.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"]),a&&(s=getFuncSlot(e,a,"buttons"),t=getFuncSlot(e,a,"buttonPrefix"),r=getFuncSlot(e,a,"buttonSuffix"),o=getFuncSlot(e,a,"tools"),i=getFuncSlot(e,a,"toolPrefix"),e=getFuncSlot(e,a,"toolSuffix"),s&&(n.buttons=s),t&&(n.buttonPrefix=t),r&&(n.buttonSuffix=r),o&&(n.tools=o),i&&(n.toolPrefix=i),e)&&(n.toolSuffix=e),n}function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let i={};return _xeUtils.default.each(e,(e,t)=>{i[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(i["sort-change"]=r.sortChangeEvent,i["clear-all-sort"]=r.clearAllSortEvent),o.filter)&&(i["filter-change"]=r.filterChangeEvent,i["clear-all-filter"]=r.clearAllFilterEvent),i}function pageChangeEvent(t,e){var r=t.proxyConfig,o=t.tablePage;let{$event:i,currentPage:s,pageSize:a}=e;var n=t.computeProxyOpts;o.currentPage=s,o.pageSize=a,t.dispatchEvent("page-change",e,i),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,i)})}function renderForm(e,t){var r=t.formConfig,o=t.$scopedSlots.form;return!o&&!(0,_utils.isEnableConf)(r)?renderEmptyElement(t):e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t}):renderDefaultForm(e,t))}function renderToolbar(e,t){var r=t.toolbarConfig,o=t.$scopedSlots.toolbar,r=!!(o||(0,_utils.isEnableConf)(r)||toolbar),i=t.computeToolbarOpts;return r?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t}):[e(_toolbar.default,{props:Object.assign({},i,{slots:void 0}),ref:"xToolbar",scopedSlots:getToolbarSlots(t)})]):renderEmptyElement(t)}function renderTop(e,t){var r=t.$scopedSlots.top;return r?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},r.call(t,{$grid:t})):renderEmptyElement(t)}function renderTableLeft(e,t){var r=t.$scopedSlots.left;return r?e("div",{class:"vxe-grid--left-wrapper"},r({$grid:t})):renderEmptyElement(t)}function renderTableRight(e,t){var r=t.$scopedSlots.right;return r?e("div",{class:"vxe-grid--right-wrapper"},r({$grid:t})):renderEmptyElement(t)}function renderTable(e,t){var r=t.$scopedSlots;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:t.computeTableProps,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var r=t.$scopedSlots.bottom;return r?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},r.call(t,{$grid:t})):renderEmptyElement(t)}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),o=t.$scopedSlots,i=t,{proxyConfig:s,pagerConfig:a}=t,n=t.computeProxyOpts,l=t.computePagerOpts,g=o.pager;return a&&(0,_utils.isEnableConf)(l)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},g?g.call(t,{$grid:t}):[r?e(r,{ref:"refPager",props:Object.assign(Object.assign({},l),s&&(0,_utils.isEnableConf)(n)?i.tablePage:{}),on:{"page-change"(e){pageChangeEvent(t,e)}},scopedSlots:getConfigSlot(t,l.slots)}):renderEmptyElement(t)]):renderEmptyElement(t)}function renderChildLayout(t,r,e){let o=[];return e.forEach(e=>{switch(e){case"Form":o.push(renderForm(t,r));break;case"Toolbar":o.push(renderToolbar(t,r));break;case"Top":o.push(renderTop(t,r));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[renderTableLeft(t,r),renderTable(t,r),renderTableRight(t,r)]));break;case"Bottom":o.push(renderBottom(t,r));break;case"Pager":o.push(renderPager(t,r));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}function renderLayout(e,t){var r=t.$scopedSlots,{headKeys:o,bodyKeys:i,footKeys:s}=t.computeCurrLayoutConf,a=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},renderChildLayout(e,t,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[a?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},renderChildLayout(e,t,i)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},renderChildLayout(e,t,s))]}Object.keys(_table.default.methods).forEach(t=>{methods[t]=function(...e){return this.$refs.xTable&&this.$refs.xTable[t](...e)}});var _default=exports.default={name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this}},data(){var e;return{tableLoading:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}},computed:{isRespMsg(){var e=this.proxyOpts;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg},isActiveMsg(){return this.proxyOpts.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||this.toolbar)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:o}=this,i={};return r?i.zIndex=o:(e&&(i.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(i.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),i},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},computeTableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:i,proxyConfig:s,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g}=this,d=Object.assign({},n);return e&&(n.maxHeight?d.maxHeight="100%":d.height="100%"),s&&(d.loading=o||l,a.seq)&&(0,_utils.isEnableConf)(r)&&(d.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),i&&(d.editConfig=Object.assign({},i)),d},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],i=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],i=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:i}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computeCustomCurrentPageFlag(){initPages(this,"currentPage")},computeCustomPageSizeFlag(){initPages(this,"pageSize")},computeCustomTotalFlag(){initPages(this,"total")}},created(){let e=this,t=(this.toolbar&&(0,_log.warnLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig&&!_xeUtils.default.isObject(this.toolbarConfig)&&(0,_log.warnLog)("vxe.error.errProp",["grid.toolbar-config="+this.toolbarConfig,"grid.toolbar-config={}"]),_ui.VxeUI.getComponent("VxeForm")),r=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{e.formConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),e.pagerConfig&&!r&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),initPages(this),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initProxy()},destroyed(){globalEvents.off(this,"keydown")},render(e){var t=this,r=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+r]:r,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":t.isZMax,"is--loading":t.loading||t.tableLoading}],style:t.computeStyles},renderLayout(e,t))},methods:Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){var i=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r,o)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var e,t,r,o,i,s=this,a=s.isZMax,n=s.$refs.refElem;return n?(e=s.$refs.refFormWrapper,t=s.$refs.refToolbarWrapper,r=s.$refs.refTopWrapper,o=s.$refs.refBottomWrapper,s=s.$refs.refPagerWrapper,i=n.parentElement,(!a&&i?(0,_dom.getPaddingTopBottomSize)(i):0)+(0,_dom.getPaddingTopBottomSize)(n)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(s)):0},getParentHeight(){var e=this.$refs.refElem;return e?(e=e.parentElement,(this.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-this.getExcludeHeight()):0},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initProxy(){var{proxyInited:e,proxyConfig:t,proxyOpts:r,formConfig:o,formOpts:s}=this;if(t){if((0,_utils.isEnableConf)(o)&&r.form&&s.items){let i={};s.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),i[r]=e}}),this.formData=i}e||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick().then(()=>this.commitProxy("_init")).then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isInited:!0,$grid:this,$event:new Event("init")}))}))}},handleGlobalKeydownEvent(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy(t,...u){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:i,proxyOpts:s,tablePage:n,pagerConfig:l,editRules:c,isRespMsg:p,isActiveMsg:m,validConfig:h,pagerOpts:g}=this,{beforeQuery:d,afterQuery:f,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:y,ajax:_={}}=s,C=s.response||s.props||{},O=e.xTable;var a,$=this.getFormData();let P,E;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(i.buttons,e=>e.code===t,{children:"dropdowns"}):null,E=t,P=a?a.item:null):(P=t,E=P.code);var S=P?P.params:null;switch(E){case"insert":return O.insert({});case"insert_edit":return O.insert({}).then(({row:e})=>O.setEditRow(e,!0));case"insert_actived":return O.insert({}).then(({row:e})=>O.setEditRow(e,!0));case"mark_cancel":this.triggerPendingEvent(E);break;case"remove":return this.handleDeleteRow(E,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":O.importData(S);break;case"open_import":O.openImport(S);break;case"export":O.exportData(S);break;case"open_export":O.openExport(S);break;case"reset_custom":O.resetCustom(!0);break;case"_init":case"reload":case"query":{var j=_.query;let a=_.querySuccess,o=_.queryError;if(j){var T="_init"===E,U="reload"===E;if(!T&&this.tableLoading)return this.$nextTick();let t=[],r=[],e={};if(l&&((T||U)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),T){let e=null;O&&(L=O.sortOpts,e=L.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),O&&(r=O.getCheckedFilters())}else O&&(U?O.clearAll():(t=O.getSortColumns(),r=O.getCheckedFilters()));let i={code:E,button:P,isInited:T,isReload:U,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:j},s=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[i].concat(u));return Promise.resolve((d||j)(...s)).then(e=>{let t=[];var r,o;return this.tableLoading=!1,e&&(l&&(0,_utils.isEnableConf)(g)?(o=C.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),r=C.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>r&&(n.currentPage=r)):(o=C.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o):e)||[])),O?O.loadData(t):O.$nextTick(()=>{O&&O.loadData(t)}),f&&f(...s),a&&a(Object.assign(Object.assign({},i),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,o&&o(Object.assign(Object.assign({},i),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let i=_.delete,s=_.deleteSuccess,a=_.deleteError;if(i){let e=O.getCheckboxRecords(),t=e.filter(e=>!O.isInsertByRow(e));var L={removeRecords:t};let r={$grid:this,code:E,button:P,body:L,form:$,options:i},o=[r].concat(u);if(e.length)return this.handleDeleteRow(E,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||i)(...o)).then(e=>(this.tableLoading=!1,O.setPendingRow(t,!1),p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),x?x(...o):this.commitProxy("query"),s&&s(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):O.remove(e));m&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=_.save,g=_.saveSuccess,d=_.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:i,pendingRecords:s}=t,a={$grid:this,code:E,button:P,body:t,form:$,options:l},n=[a].concat(u),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=c?this[h&&"full"===h.msgMode?"fullValidate":"validate"](t.insertRecords.concat(i)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||i.length||t.pendingRecords.length?(this.tableLoading=!0,Promise.resolve((v||l)(...n)).then(e=>(this.tableLoading=!1,O.clearPendingRow(),p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),y?y(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(m&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:T=commands.get(E);T&&(T.commandMethod?T.commandMethod({code:E,button:P,$grid:this,$table:O},...u):(0,_log.errLog)("vxe.error.notCommands",[E]))}return this.$nextTick()},getRespMsg(e,t){var r=this.proxyOpts,r=r.response||r.props||{};let o;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.getCheckboxRecords();if(this.isActiveMsg){if(o.length)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()});_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else o.length&&r();return Promise.resolve()},getFormData(){var{proxyConfig:e,proxyOpts:t,formOpts:r,formData:o}=this;return e&&(0,_utils.isEnableConf)(t)&&t.form?o:r.data},getFormItems(e){var{formConfig:t,formOpts:r}=this;let o=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(t)&&r.items?r.items:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},triggerToolbarCommitEvent(e,t){let r=e.code;return this.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&this.$emit("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r,$grid:this,$event:t}))})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent(e){var t=this.isActiveMsg,r=this.getCheckboxRecords();r.length?(this.togglePendingRow(r),this.clearCheckboxRow()):t&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},sortChangeEvent(t){var{$table:e,column:r,sortList:o}=t;(_xeUtils.default.isBoolean(r.remoteSort)?r.remoteSort:e.sortOpts.remote)&&(this.sortData=o,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("sort-change",Object.assign({$grid:this},t))},clearAllSortEvent(t){var{$table:e,column:r,sortList:o}=t;(r&&_xeUtils.default.isBoolean(r.remoteSort)?r.remoteSort:e.sortOpts.remote)&&(this.sortData=o,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("clear-all-sort",Object.assign({$grid:this},t))},filterChangeEvent(t){var{$table:e,filterList:r}=t;e.filterOpts.remote&&(this.filterData=r,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("filter-change",Object.assign({$grid:this},t))},clearAllFilterEvent(t){var{$table:e,filterList:r}=t;e.filterOpts.remote&&(this.filterData=r,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("clear-all-filter",Object.assign({$grid:this},t))},submitEvent(t){var e=this.proxyConfig;this.tableLoading||(e&&this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))}),this.$emit("form-submit",Object.assign({$grid:this},t)))},resetEvent(t){var e=this.proxyConfig,r=this.$refs.xTable;e&&(r.clearScroll(),this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))})),this.$emit("form-reset",Object.assign({$grid:this},t))},submitInvalidEvent(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent(e){this.$nextTick(()=>this.recalculate(!0)),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom(){return this[this.isZMax?"revert":"maximize"]()},isMaximized(){return this.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){var t=this.isZMax;return(e?!t:t)&&(this.isZMax=!t,this.tZindex<(0,_utils.getLastZIndex)())&&(this.tZindex=(0,_utils.nextZIndex)()),this.$nextTick().then(()=>this.recalculate(!0)).then(()=>(setTimeout(()=>this.recalculate(!0),15),this.isZMax))},getProxyInfo(){var e=this.$refs.xTable,{sortData:t,proxyConfig:r}=this;return r?{data:e?e.getFullData():[],filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null},loadColumn(e){var t=this.$refs.xTable;let r=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||r[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}})};
|