vxe-table 3.11.30 → 3.11.31
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 +8 -1
- package/es/style.css +1 -1
- package/es/table/src/body.js +2 -2
- package/es/table/src/methods.js +128 -42
- package/es/table/src/table.js +15 -10
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +8 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +173 -63
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/body.js +1 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +146 -44
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +16 -10
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +9 -1
- package/packages/table/src/body.ts +1 -2
- package/packages/table/src/methods.ts +141 -42
- package/packages/table/src/table.ts +17 -11
- /package/es/{iconfont.1734099731402.ttf → iconfont.1734190867802.ttf} +0 -0
- /package/es/{iconfont.1734099731402.woff → iconfont.1734190867802.woff} +0 -0
- /package/es/{iconfont.1734099731402.woff2 → iconfont.1734190867802.woff2} +0 -0
- /package/lib/{iconfont.1734099731402.ttf → iconfont.1734190867802.ttf} +0 -0
- /package/lib/{iconfont.1734099731402.woff → iconfont.1734190867802.woff} +0 -0
- /package/lib/{iconfont.1734099731402.woff2 → iconfont.1734190867802.woff2} +0 -0
package/es/table/src/methods.js
CHANGED
|
@@ -786,16 +786,13 @@ const Methods = {
|
|
|
786
786
|
* @param {Array} datas 数据
|
|
787
787
|
*/
|
|
788
788
|
loadData(datas) {
|
|
789
|
-
const {
|
|
789
|
+
const { initStatus } = this;
|
|
790
790
|
return this.loadTableData(datas).then(() => {
|
|
791
791
|
this.inited = true;
|
|
792
792
|
this.initStatus = true;
|
|
793
793
|
if (!initStatus) {
|
|
794
794
|
this.handleLoadDefaults();
|
|
795
795
|
}
|
|
796
|
-
if (!inited) {
|
|
797
|
-
this.handleInitDefaults();
|
|
798
|
-
}
|
|
799
796
|
return this.recalculate();
|
|
800
797
|
});
|
|
801
798
|
},
|
|
@@ -804,7 +801,6 @@ const Methods = {
|
|
|
804
801
|
* @param {Array} datas 数据
|
|
805
802
|
*/
|
|
806
803
|
reloadData(datas) {
|
|
807
|
-
const { inited } = this;
|
|
808
804
|
return this.clearAll()
|
|
809
805
|
.then(() => {
|
|
810
806
|
this.inited = true;
|
|
@@ -813,9 +809,6 @@ const Methods = {
|
|
|
813
809
|
})
|
|
814
810
|
.then(() => {
|
|
815
811
|
this.handleLoadDefaults();
|
|
816
|
-
if (!inited) {
|
|
817
|
-
this.handleInitDefaults();
|
|
818
|
-
}
|
|
819
812
|
return this.recalculate();
|
|
820
813
|
});
|
|
821
814
|
},
|
|
@@ -3999,23 +3992,68 @@ const Methods = {
|
|
|
3999
3992
|
* @param {Array/Row} rows 行数据
|
|
4000
3993
|
* @param {Boolean} value 是否选中
|
|
4001
3994
|
*/
|
|
4002
|
-
setCheckboxRow(rows,
|
|
3995
|
+
setCheckboxRow(rows, checked) {
|
|
3996
|
+
const $xeTable = this;
|
|
4003
3997
|
if (rows && !XEUtils.isArray(rows)) {
|
|
4004
3998
|
rows = [rows];
|
|
4005
3999
|
}
|
|
4006
|
-
return
|
|
4000
|
+
return $xeTable.handleCheckedCheckboxRow(rows, checked, true);
|
|
4001
|
+
},
|
|
4002
|
+
setCheckboxRowKey(keys, checked) {
|
|
4003
|
+
const $xeTable = this;
|
|
4004
|
+
const internalData = $xeTable;
|
|
4005
|
+
const { fullAllDataRowIdData } = internalData;
|
|
4006
|
+
if (keys && !XEUtils.isArray(keys)) {
|
|
4007
|
+
keys = [keys];
|
|
4008
|
+
}
|
|
4009
|
+
const rows = [];
|
|
4010
|
+
keys.forEach((rowid) => {
|
|
4011
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
4012
|
+
if (rowRest) {
|
|
4013
|
+
rows.push(rowRest.row);
|
|
4014
|
+
}
|
|
4015
|
+
});
|
|
4016
|
+
return $xeTable.handleCheckedCheckboxRow(rows, checked, true);
|
|
4007
4017
|
},
|
|
4008
4018
|
isCheckedByCheckboxRow(row) {
|
|
4009
|
-
const
|
|
4010
|
-
const
|
|
4019
|
+
const $xeTable = this;
|
|
4020
|
+
const reactData = $xeTable;
|
|
4021
|
+
const { selectCheckboxMaps } = reactData;
|
|
4022
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
4023
|
+
const { checkField } = checkboxOpts;
|
|
4011
4024
|
if (checkField) {
|
|
4012
4025
|
return XEUtils.get(row, checkField);
|
|
4013
4026
|
}
|
|
4014
|
-
return !!selectCheckboxMaps[getRowid(
|
|
4027
|
+
return !!selectCheckboxMaps[getRowid($xeTable, row)];
|
|
4028
|
+
},
|
|
4029
|
+
isCheckedByCheckboxRowKey(rowid) {
|
|
4030
|
+
const $xeTable = this;
|
|
4031
|
+
const reactData = $xeTable;
|
|
4032
|
+
const internalData = $xeTable;
|
|
4033
|
+
const { selectCheckboxMaps } = reactData;
|
|
4034
|
+
const { fullAllDataRowIdData } = internalData;
|
|
4035
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
4036
|
+
const { checkField } = checkboxOpts;
|
|
4037
|
+
if (checkField) {
|
|
4038
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
4039
|
+
if (rowRest) {
|
|
4040
|
+
return XEUtils.get(rowRest.row, checkField);
|
|
4041
|
+
}
|
|
4042
|
+
return false;
|
|
4043
|
+
}
|
|
4044
|
+
return !!selectCheckboxMaps[rowid];
|
|
4015
4045
|
},
|
|
4016
4046
|
isIndeterminateByCheckboxRow(row) {
|
|
4017
|
-
const
|
|
4018
|
-
|
|
4047
|
+
const $xeTable = this;
|
|
4048
|
+
const reactData = $xeTable;
|
|
4049
|
+
const { treeIndeterminateMaps } = reactData;
|
|
4050
|
+
return !!treeIndeterminateMaps[getRowid($xeTable, row)] && !$xeTable.isCheckedByCheckboxRow(row);
|
|
4051
|
+
},
|
|
4052
|
+
isIndeterminateByCheckboxRowKey(rowid) {
|
|
4053
|
+
const $xeTable = this;
|
|
4054
|
+
const reactData = $xeTable;
|
|
4055
|
+
const { treeIndeterminateMaps } = reactData;
|
|
4056
|
+
return !!treeIndeterminateMaps[rowid] && !$xeTable.isCheckedByCheckboxRowKey(rowid);
|
|
4019
4057
|
},
|
|
4020
4058
|
/**
|
|
4021
4059
|
* 切换选中
|
|
@@ -4750,7 +4788,22 @@ const Methods = {
|
|
|
4750
4788
|
return this.$nextTick();
|
|
4751
4789
|
},
|
|
4752
4790
|
isCheckedByRadioRow(row) {
|
|
4753
|
-
|
|
4791
|
+
const $xeTable = this;
|
|
4792
|
+
const reactData = $xeTable;
|
|
4793
|
+
const { selectRadioRow } = reactData;
|
|
4794
|
+
if (row && selectRadioRow) {
|
|
4795
|
+
return $xeTable.eqRow(selectRadioRow, row);
|
|
4796
|
+
}
|
|
4797
|
+
return false;
|
|
4798
|
+
},
|
|
4799
|
+
isCheckedByRadioRowKey(key) {
|
|
4800
|
+
const $xeTable = this;
|
|
4801
|
+
const reactData = $xeTable;
|
|
4802
|
+
const { selectRadioRow } = reactData;
|
|
4803
|
+
if (selectRadioRow) {
|
|
4804
|
+
return key === getRowid($xeTable, selectRadioRow);
|
|
4805
|
+
}
|
|
4806
|
+
return false;
|
|
4754
4807
|
},
|
|
4755
4808
|
handleCheckedRadioRow(row, isForce) {
|
|
4756
4809
|
const { radioOpts } = this;
|
|
@@ -4766,7 +4819,22 @@ const Methods = {
|
|
|
4766
4819
|
* @param {Row} row 行对象
|
|
4767
4820
|
*/
|
|
4768
4821
|
setRadioRow(row) {
|
|
4769
|
-
|
|
4822
|
+
const $xeTable = this;
|
|
4823
|
+
return $xeTable.handleCheckedRadioRow(row, true);
|
|
4824
|
+
},
|
|
4825
|
+
/**
|
|
4826
|
+
* 用于单选行,设置某一行为选中状态
|
|
4827
|
+
* @param key 行主键
|
|
4828
|
+
*/
|
|
4829
|
+
setRadioRowKey(rowid) {
|
|
4830
|
+
const $xeTable = this;
|
|
4831
|
+
const internalData = $xeTable;
|
|
4832
|
+
const { fullAllDataRowIdData } = internalData;
|
|
4833
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
4834
|
+
if (rowRest) {
|
|
4835
|
+
return $xeTable.handleCheckedRadioRow(rowRest.row, true);
|
|
4836
|
+
}
|
|
4837
|
+
return $xeTable.$nextTick();
|
|
4770
4838
|
},
|
|
4771
4839
|
/**
|
|
4772
4840
|
* 用于当前行,手动清空当前高亮的状态
|
|
@@ -4902,6 +4970,7 @@ const Methods = {
|
|
|
4902
4970
|
* 如果是双击模式,则单击后选中状态
|
|
4903
4971
|
*/
|
|
4904
4972
|
triggerCellClickEvent(evnt, params) {
|
|
4973
|
+
const $xeTable = this;
|
|
4905
4974
|
const { highlightCurrentRow, editStore, radioOpts, expandOpts, treeOpts, keyboardOpts, editConfig, editOpts, checkboxOpts, rowOpts } = this;
|
|
4906
4975
|
const { actived, focused } = editStore;
|
|
4907
4976
|
const { row, column } = params;
|
|
@@ -4967,6 +5036,21 @@ const Methods = {
|
|
|
4967
5036
|
}
|
|
4968
5037
|
}
|
|
4969
5038
|
}
|
|
5039
|
+
// 如果是双击编辑模式
|
|
5040
|
+
if (isEnableConf(editConfig) && editOpts.trigger === 'dblclick') {
|
|
5041
|
+
if (actived.row && actived.column) {
|
|
5042
|
+
if (editOpts.mode === 'row') {
|
|
5043
|
+
if (!$xeTable.eqRow(actived.row, row)) {
|
|
5044
|
+
$xeTable.handleClearEdit(evnt);
|
|
5045
|
+
}
|
|
5046
|
+
}
|
|
5047
|
+
else if (editOpts.mode === 'cell') {
|
|
5048
|
+
if (!$xeTable.eqRow(actived.row, row) || actived.column.id !== column.id) {
|
|
5049
|
+
$xeTable.handleClearEdit(evnt);
|
|
5050
|
+
}
|
|
5051
|
+
}
|
|
5052
|
+
}
|
|
5053
|
+
}
|
|
4970
5054
|
this.emitEvent('cell-click', params, evnt);
|
|
4971
5055
|
},
|
|
4972
5056
|
/**
|
|
@@ -5551,64 +5635,65 @@ const Methods = {
|
|
|
5551
5635
|
reactData.isDragColMove = false;
|
|
5552
5636
|
},
|
|
5553
5637
|
setPendingRow(rows, status) {
|
|
5554
|
-
const
|
|
5555
|
-
const
|
|
5638
|
+
const $xeTable = this;
|
|
5639
|
+
const reactData = $xeTable;
|
|
5640
|
+
const pendingMaps = Object.assign({}, reactData.pendingRowMaps);
|
|
5556
5641
|
if (rows && !XEUtils.isArray(rows)) {
|
|
5557
5642
|
rows = [rows];
|
|
5558
5643
|
}
|
|
5559
5644
|
if (status) {
|
|
5560
5645
|
rows.forEach((row) => {
|
|
5561
|
-
const rowid = getRowid(
|
|
5646
|
+
const rowid = getRowid($xeTable, row);
|
|
5562
5647
|
if (rowid && !pendingMaps[rowid]) {
|
|
5563
|
-
pendingList.push(row);
|
|
5564
5648
|
pendingMaps[rowid] = row;
|
|
5565
5649
|
}
|
|
5566
5650
|
});
|
|
5567
5651
|
}
|
|
5568
5652
|
else {
|
|
5569
5653
|
rows.forEach((row) => {
|
|
5570
|
-
const rowid = getRowid(
|
|
5654
|
+
const rowid = getRowid($xeTable, row);
|
|
5571
5655
|
if (rowid && pendingMaps[rowid]) {
|
|
5572
|
-
const pendingIndex = this.findRowIndexOf(pendingList, row);
|
|
5573
|
-
if (pendingIndex > -1) {
|
|
5574
|
-
pendingList.splice(pendingIndex, 1);
|
|
5575
|
-
}
|
|
5576
5656
|
delete pendingMaps[rowid];
|
|
5577
5657
|
}
|
|
5578
5658
|
});
|
|
5579
5659
|
}
|
|
5580
|
-
|
|
5581
|
-
|
|
5582
|
-
return this.$nextTick();
|
|
5660
|
+
reactData.pendingRowMaps = pendingMaps;
|
|
5661
|
+
return $xeTable.$nextTick();
|
|
5583
5662
|
},
|
|
5584
5663
|
togglePendingRow(rows) {
|
|
5585
|
-
const
|
|
5586
|
-
const
|
|
5664
|
+
const $xeTable = this;
|
|
5665
|
+
const reactData = $xeTable;
|
|
5666
|
+
const pendingMaps = Object.assign({}, reactData.pendingRowMaps);
|
|
5587
5667
|
if (rows && !XEUtils.isArray(rows)) {
|
|
5588
5668
|
rows = [rows];
|
|
5589
5669
|
}
|
|
5590
5670
|
rows.forEach((row) => {
|
|
5591
|
-
const rowid = getRowid(
|
|
5671
|
+
const rowid = getRowid($xeTable, row);
|
|
5592
5672
|
if (rowid) {
|
|
5593
5673
|
if (pendingMaps[rowid]) {
|
|
5594
|
-
const pendingIndex = this.findRowIndexOf(pendingList, row);
|
|
5595
|
-
if (pendingIndex > -1) {
|
|
5596
|
-
pendingList.splice(pendingIndex, 1);
|
|
5597
|
-
}
|
|
5598
5674
|
delete pendingMaps[rowid];
|
|
5599
5675
|
}
|
|
5600
5676
|
else {
|
|
5601
|
-
pendingList.push(row);
|
|
5602
5677
|
pendingMaps[rowid] = row;
|
|
5603
5678
|
}
|
|
5604
5679
|
}
|
|
5605
5680
|
});
|
|
5606
|
-
|
|
5607
|
-
|
|
5608
|
-
return this.$nextTick();
|
|
5681
|
+
reactData.pendingRowMaps = pendingMaps;
|
|
5682
|
+
return $xeTable.$nextTick();
|
|
5609
5683
|
},
|
|
5610
5684
|
getPendingRecords() {
|
|
5611
|
-
|
|
5685
|
+
const $xeTable = this;
|
|
5686
|
+
const reactData = $xeTable;
|
|
5687
|
+
const internalData = $xeTable;
|
|
5688
|
+
const { pendingRowMaps } = reactData;
|
|
5689
|
+
const { fullAllDataRowIdData } = internalData;
|
|
5690
|
+
const insertRecords = [];
|
|
5691
|
+
XEUtils.each(pendingRowMaps, (row, rowid) => {
|
|
5692
|
+
if (fullAllDataRowIdData[rowid]) {
|
|
5693
|
+
insertRecords.push(row);
|
|
5694
|
+
}
|
|
5695
|
+
});
|
|
5696
|
+
return insertRecords;
|
|
5612
5697
|
},
|
|
5613
5698
|
hasPendingByRow(row) {
|
|
5614
5699
|
const { pendingRowMaps } = this;
|
|
@@ -5617,7 +5702,6 @@ const Methods = {
|
|
|
5617
5702
|
},
|
|
5618
5703
|
clearPendingRow() {
|
|
5619
5704
|
this.pendingRowMaps = {};
|
|
5620
|
-
this.pendingRowList = [];
|
|
5621
5705
|
return this.$nextTick();
|
|
5622
5706
|
},
|
|
5623
5707
|
sort(sortConfs, sortOrder) {
|
|
@@ -6512,6 +6596,8 @@ const Methods = {
|
|
|
6512
6596
|
}
|
|
6513
6597
|
internalData.lastScrollTop = scrollTop;
|
|
6514
6598
|
}
|
|
6599
|
+
reactData.isDragColMove = false;
|
|
6600
|
+
reactData.isDragRowMove = false;
|
|
6515
6601
|
reactData.lastScrollTime = Date.now();
|
|
6516
6602
|
const evntParams = Object.assign({ scrollTop,
|
|
6517
6603
|
scrollLeft,
|
package/es/table/src/table.js
CHANGED
|
@@ -278,8 +278,6 @@ export default {
|
|
|
278
278
|
reColumnFlag: 0,
|
|
279
279
|
// 已标记的对象集
|
|
280
280
|
pendingRowMaps: {},
|
|
281
|
-
// 已标记的行
|
|
282
|
-
pendingRowList: [],
|
|
283
281
|
// 自定义列相关的信息
|
|
284
282
|
customStore: {
|
|
285
283
|
btnEl: null,
|
|
@@ -750,6 +748,17 @@ export default {
|
|
|
750
748
|
y: overflowY && scrollYLoad
|
|
751
749
|
};
|
|
752
750
|
},
|
|
751
|
+
computeTableStyle() {
|
|
752
|
+
const $xeTable = this;
|
|
753
|
+
const reactData = $xeTable;
|
|
754
|
+
const { tableData } = reactData;
|
|
755
|
+
const columnOpts = $xeTable.computeColumnOpts;
|
|
756
|
+
const stys = {};
|
|
757
|
+
if (columnOpts.drag) {
|
|
758
|
+
stys['--vxe-ui-table-drag-column-move-delay'] = `${Math.max(0.06, Math.min(0.3, tableData.length / 800))}s`;
|
|
759
|
+
}
|
|
760
|
+
return stys;
|
|
761
|
+
},
|
|
753
762
|
tabsResizeFlag() {
|
|
754
763
|
const $xeTable = this;
|
|
755
764
|
const $xeTabs = $xeTable.$xeTabs;
|
|
@@ -757,16 +766,13 @@ export default {
|
|
|
757
766
|
} }),
|
|
758
767
|
watch: {
|
|
759
768
|
data(value) {
|
|
760
|
-
const {
|
|
769
|
+
const { initStatus } = this;
|
|
761
770
|
this.loadTableData(value).then(() => {
|
|
762
771
|
this.inited = true;
|
|
763
772
|
this.initStatus = true;
|
|
764
773
|
if (!initStatus) {
|
|
765
774
|
this.handleLoadDefaults();
|
|
766
775
|
}
|
|
767
|
-
if (!inited) {
|
|
768
|
-
this.handleInitDefaults();
|
|
769
|
-
}
|
|
770
776
|
// const checkboxColumn = this.tableFullColumn.find(column => column.type === 'checkbox')
|
|
771
777
|
// if (checkboxColumn && this.tableFullData.length > 300 && !this.checkboxOpts.checkField) {
|
|
772
778
|
// warnLog('vxe.error.checkProp', ['checkbox-config.checkField'])
|
|
@@ -1055,8 +1061,8 @@ export default {
|
|
|
1055
1061
|
this.inited = true;
|
|
1056
1062
|
this.initStatus = true;
|
|
1057
1063
|
this.handleLoadDefaults();
|
|
1058
|
-
this.handleInitDefaults();
|
|
1059
1064
|
}
|
|
1065
|
+
this.handleInitDefaults();
|
|
1060
1066
|
this.updateStyle();
|
|
1061
1067
|
});
|
|
1062
1068
|
globalEvents.on(this, 'paste', this.handleGlobalPasteEvent);
|
|
@@ -1161,6 +1167,7 @@ export default {
|
|
|
1161
1167
|
const vSize = computeSize;
|
|
1162
1168
|
const virtualScrollBars = $xeTable.computeVirtualScrollBars;
|
|
1163
1169
|
const isArea = mouseConfig && mouseOpts.area;
|
|
1170
|
+
const tableStyle = $xeTable.computeTableStyle;
|
|
1164
1171
|
return h('div', {
|
|
1165
1172
|
ref: 'refElem',
|
|
1166
1173
|
class: ['vxe-table', 'vxe-table--render-default', `tid_${tId}`, vSize ? `size--${vSize}` : '', `border--${tableBorder}`, {
|
|
@@ -1193,9 +1200,7 @@ export default {
|
|
|
1193
1200
|
'is--virtual-x': scrollXLoad,
|
|
1194
1201
|
'is--virtual-y': scrollYLoad
|
|
1195
1202
|
}],
|
|
1196
|
-
style:
|
|
1197
|
-
'--vxe-ui-table-drag-column-move-delay': `${Math.max(0.05, Math.min(0.3, tableData.length / 800))}s`
|
|
1198
|
-
},
|
|
1203
|
+
style: tableStyle,
|
|
1199
1204
|
attrs: {
|
|
1200
1205
|
spellcheck: false
|
|
1201
1206
|
},
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/grid/src/grid.js
CHANGED
|
@@ -500,6 +500,11 @@ var _default = exports.default = {
|
|
|
500
500
|
tableProps.editConfig = Object.assign({}, editConfig);
|
|
501
501
|
}
|
|
502
502
|
return tableProps;
|
|
503
|
+
},
|
|
504
|
+
computePageConfFlag() {
|
|
505
|
+
const $xeGrid = this;
|
|
506
|
+
const pagerOpts = $xeGrid.computePagerOpts;
|
|
507
|
+
return `${pagerOpts.currentPage}${pagerOpts.pageSize}`;
|
|
503
508
|
}
|
|
504
509
|
},
|
|
505
510
|
watch: {
|
|
@@ -519,7 +524,7 @@ var _default = exports.default = {
|
|
|
519
524
|
proxyConfig() {
|
|
520
525
|
this.initProxy();
|
|
521
526
|
},
|
|
522
|
-
|
|
527
|
+
computePageConfFlag() {
|
|
523
528
|
this.initPages();
|
|
524
529
|
}
|
|
525
530
|
},
|
|
@@ -1372,7 +1377,9 @@ var _default = exports.default = {
|
|
|
1372
1377
|
const {
|
|
1373
1378
|
proxyConfig
|
|
1374
1379
|
} = this;
|
|
1380
|
+
const $xeTable = this.$refs.xTable;
|
|
1375
1381
|
if (proxyConfig) {
|
|
1382
|
+
$xeTable.clearScroll();
|
|
1376
1383
|
this.commitProxy('reload').then(rest => {
|
|
1377
1384
|
this.$emit('proxy-query', Object.assign(Object.assign({}, rest), {
|
|
1378
1385
|
isReload: true,
|
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);function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let s=r.$scopedSlots;var{proxyConfig:i,formConfig:t}=r,{proxyOpts:a,formData:n,formOpts:l}=r;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&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&&a.form?n: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];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[t])}return null}function getToolbarSlots(e){var{$scopedSlots:t,toolbarOpts:r}=e,r=r.slots,o={};return"development"===process.env.NODE_ENV&&(!t.buttons||r&&"buttons"===r.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||r&&"tools"===r.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"])),r&&(t=getFuncSlot(e,r,"buttons"),e=getFuncSlot(e,r,"tools"),t&&(o.buttons=t),e)&&(o.tools=e),o}function getPagerSlots(e){var t,r=e.pagerOpts,r=r.slots,o={};return r&&(t=getFuncSlot(e,r,"left"),e=getFuncSlot(e,r,"right"),t&&(o.left=t),e)&&(o.right=e),o}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 renderForm(e,t){var{_e:r,$scopedSlots:o,formConfig:s}=t,o=o.form;return!o&&!(0,_utils.isEnableConf)(s)?r():e("div",{key:"form",ref:"formWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t},e):renderDefaultForm(e,t))}function renderToolbar(e,t){var{_e:r,$scopedSlots:o,toolbarConfig:s,toolbar:i}=t,o=o.toolbar;return!(o||(0,_utils.isEnableConf)(s)||i)?r():e("div",{key:"toolbar",ref:"toolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t},e):[e(_toolbar.default,{props:t.toolbarOpts,ref:"xToolbar",scopedSlots:getToolbarSlots(t)})])}function renderTop(e,t){var{_e:r,$scopedSlots:o}=t,o=o.top;return o?e("div",{key:"top",ref:"topWrapper",class:"vxe-grid--top-wrapper"},o.call(t,{$grid:t},e)):r()}function renderTableLeft(e,t){var{_e:r,$scopedSlots:o}=t,o=o.left;return o?e("div",{class:"vxe-grid--left-wrapper"},o({$grid:t})):r()}function renderTableRight(e,t){var{_e:r,$scopedSlots:o}=t,o=o.right;return o?e("div",{class:"vxe-grid--right-wrapper"},o({$grid:t})):r()}function renderTable(e,t){var{$scopedSlots:r,tableProps:o}=t;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:o,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var{_e:r,$scopedSlots:o}=t,o=o.bottom;return o?e("div",{key:"bottom",ref:"bottomWrapper",class:"vxe-grid--bottom-wrapper"},o.call(t,{$grid:t},e)):r()}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),{pagerConfig:o,proxyConfig:s}=t,{$scopedSlots:i,tablePage:a}=t,i=i.pager;return!i&&!(0,_utils.isEnableConf)(o)?renderEmptyElement(t):e("div",{key:"pager",ref:"pagerWrapper",class:"vxe-grid--pager-wrapper"},i?i.call(t,{$grid:t},e):[r?e(r,{props:Object.assign(Object.assign({},t.pagerOpts),s?a:{}),on:{"page-change":t.pageChangeEvent},scopedSlots:getPagerSlots(t)}):renderEmptyElement(t)])}let defaultLayouts=["Form","Toolbar","Top","Table","Bottom","Pager"];function renderLayout(t,r){var e=r.layouts;let o=[];return(e&&e.length?e:getConfig().grid.layouts||defaultLayouts).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:"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}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,$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)},renderStyle(){return this.isZMax?{zIndex:this.tZindex}:null},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},tableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g,tableData:d}=this,c=Object.assign({},n);return e&&(n.maxHeight?c.maxHeight="100%":c.height="100%"),i&&(c.loading=o||l,c.data=d,a.seq)&&(0,_utils.isEnableConf)(r)&&(c.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(c.editConfig=Object.assign({},s)),c}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},pagerConfig(){this.initPages()}},created(){let r=this;if("development"===process.env.NODE_ENV&&(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={}"]),"development"===process.env.NODE_ENV){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{r.formConfig&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),r.pagerConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])})}this.initPages(),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{computeSize:t,isZMax:r}=this;return e("div",{class:["vxe-grid",{["size--"+t]:t,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":r,"is--loading":this.loading||this.tableLoading}],style:this.renderStyle},renderLayout(e,this))},methods:Object.assign(Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){if(e){var s=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,r,o))}return[]},getParentHeight(){var{$el:e,isZMax:t}=this;return(t?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-this.getExcludeHeight()},getExcludeHeight(){var{$refs:e,$el:t,isZMax:r,height:o}=this,{formWrapper:e,toolbarWrapper:s,topWrapper:i,bottomWrapper:a,pagerWrapper:n}=e;return(r||"auto"!==o&&"100%"!==o?0:(0,_dom.getPaddingTopBottomSize)(t.parentNode))+(0,_dom.getPaddingTopBottomSize)(t)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(n)},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initPages(){var{tablePage:e,pagerConfig:t,pagerOpts:r}=this,{currentPage:r,pageSize:o}=r;t&&(r&&(e.currentPage=r),o)&&(e.pageSize=o)},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,...c){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:s,proxyOpts:i,tablePage:n,pagerConfig:l,editRules:u,isRespMsg:p,isActiveMsg:h,validConfig:m,pagerOpts:g}=this,{beforeQuery:d,afterQuery:f,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:_,ajax:O={}}=i,y=i.response||i.props||{},C=e.xTable;var a,$=this.getFormData();let E,P;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,P=t,E=a?a.item:null):(E=t,P=E.code);var j=E?E.params:null;switch(P){case"insert":return this.insert();case"insert_edit":return this.insert().then(({row:e})=>this.setEditRow(e));case"insert_actived":return this.insert().then(({row:e})=>this.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(P);break;case"remove":return this.handleDeleteRow(P,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":this.importData(j);break;case"open_import":this.openImport(j);break;case"export":this.exportData(j);break;case"open_export":this.openExport(j);break;case"reset_custom":this.resetCustom(!0);break;case"_init":case"reload":case"query":{var S=O.query;let i=O.querySuccess,a=O.queryError;if(S){var U="_init"===P,D="reload"===P;let t=[],r=[],e={};if(l&&((U||D)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),U){let e=null;C&&(R=C.sortOpts,e=R.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),C&&(r=C.getCheckedFilters())}else C&&(D?C.clearAll():(t=C.getSortColumns(),r=C.getCheckedFilters()));let o={code:P,button:E,isInited:U,isReload:D,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:S},s=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[o].concat(c));return Promise.resolve((d||S)(...s)).then(e=>{var t,r;return this.tableLoading=!1,e?l&&(0,_utils.isEnableConf)(g)?(r=y.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"page.total"))||0,n.total=_xeUtils.default.toNumber(r),t=y.result,this.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:this}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(r/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(r=y.list,this.tableData=(r?_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r):e)||[]):this.tableData=[],f&&f(...s),i&&i(Object.assign(Object.assign({},o),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,a&&a(Object.assign(Object.assign({},o),{response:e})),{status:!1}))}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let s=O.delete,i=O.deleteSuccess,a=O.deleteError;if(s){let e=C.getCheckboxRecords(),t=e.filter(e=>!C.isInsertByRow(e));var R={removeRecords:t};let r={$grid:this,code:P,button:E,body:R,form:$,options:s},o=[r].concat(c);if(e.length)return this.handleDeleteRow(P,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||s)(...o)).then(e=>(this.tableLoading=!1,C.setPendingRow(t,!1),p&&("development"!==process.env.NODE_ENV||_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&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):C.remove(e));h&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=O.save,g=O.saveSuccess,d=O.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:s,pendingRecords:i}=t,a={$grid:this,code:P,button:E,body:t,form:$,options:l},n=[a].concat(c),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=u?this[m&&"full"===m.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,C.clearPendingRow(),p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),_?_(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(h&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:U=commands.get(P);U&&(U.commandMethod?U.commandMethod({code:P,button:E,$grid:this,$table:C},...c):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[P]))}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()});"development"!==process.env.NODE_ENV||_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&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},pageChangeEvent(t){var{proxyConfig:e,tablePage:r}=this,{currentPage:o,pageSize:s}=t;r.currentPage=o,r.pageSize=s,this.$emit("page-change",Object.assign({$grid:this},t)),e&&this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})},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;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;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-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(()=>this.isZMax)},getProxyInfo(){var{$refs:e,sortData:t,proxyConfig:r}=this,e=e.xTable;return r?{data:this.tableData,filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null}}),"development"===process.env.NODE_ENV?{loadColumn(e){let t=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),this.$refs.xTable.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}}:null)};
|
|
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);function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let s=r.$scopedSlots;var{proxyConfig:i,formConfig:t}=r,{proxyOpts:a,formData:n,formOpts:l}=r;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&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&&a.form?n: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];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[t])}return null}function getToolbarSlots(e){var{$scopedSlots:t,toolbarOpts:r}=e,r=r.slots,o={};return"development"===process.env.NODE_ENV&&(!t.buttons||r&&"buttons"===r.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||r&&"tools"===r.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"])),r&&(t=getFuncSlot(e,r,"buttons"),e=getFuncSlot(e,r,"tools"),t&&(o.buttons=t),e)&&(o.tools=e),o}function getPagerSlots(e){var t,r=e.pagerOpts,r=r.slots,o={};return r&&(t=getFuncSlot(e,r,"left"),e=getFuncSlot(e,r,"right"),t&&(o.left=t),e)&&(o.right=e),o}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 renderForm(e,t){var{_e:r,$scopedSlots:o,formConfig:s}=t,o=o.form;return!o&&!(0,_utils.isEnableConf)(s)?r():e("div",{key:"form",ref:"formWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t},e):renderDefaultForm(e,t))}function renderToolbar(e,t){var{_e:r,$scopedSlots:o,toolbarConfig:s,toolbar:i}=t,o=o.toolbar;return!(o||(0,_utils.isEnableConf)(s)||i)?r():e("div",{key:"toolbar",ref:"toolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t},e):[e(_toolbar.default,{props:t.toolbarOpts,ref:"xToolbar",scopedSlots:getToolbarSlots(t)})])}function renderTop(e,t){var{_e:r,$scopedSlots:o}=t,o=o.top;return o?e("div",{key:"top",ref:"topWrapper",class:"vxe-grid--top-wrapper"},o.call(t,{$grid:t},e)):r()}function renderTableLeft(e,t){var{_e:r,$scopedSlots:o}=t,o=o.left;return o?e("div",{class:"vxe-grid--left-wrapper"},o({$grid:t})):r()}function renderTableRight(e,t){var{_e:r,$scopedSlots:o}=t,o=o.right;return o?e("div",{class:"vxe-grid--right-wrapper"},o({$grid:t})):r()}function renderTable(e,t){var{$scopedSlots:r,tableProps:o}=t;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:o,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var{_e:r,$scopedSlots:o}=t,o=o.bottom;return o?e("div",{key:"bottom",ref:"bottomWrapper",class:"vxe-grid--bottom-wrapper"},o.call(t,{$grid:t},e)):r()}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),{pagerConfig:o,proxyConfig:s}=t,{$scopedSlots:i,tablePage:a}=t,i=i.pager;return!i&&!(0,_utils.isEnableConf)(o)?renderEmptyElement(t):e("div",{key:"pager",ref:"pagerWrapper",class:"vxe-grid--pager-wrapper"},i?i.call(t,{$grid:t},e):[r?e(r,{props:Object.assign(Object.assign({},t.pagerOpts),s?a:{}),on:{"page-change":t.pageChangeEvent},scopedSlots:getPagerSlots(t)}):renderEmptyElement(t)])}let defaultLayouts=["Form","Toolbar","Top","Table","Bottom","Pager"];function renderLayout(t,r){var e=r.layouts;let o=[];return(e&&e.length?e:getConfig().grid.layouts||defaultLayouts).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:"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}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,$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)},renderStyle(){return this.isZMax?{zIndex:this.tZindex}:null},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},tableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g,tableData:d}=this,c=Object.assign({},n);return e&&(n.maxHeight?c.maxHeight="100%":c.height="100%"),i&&(c.loading=o||l,c.data=d,a.seq)&&(0,_utils.isEnableConf)(r)&&(c.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(c.editConfig=Object.assign({},s)),c},computePageConfFlag(){var e=this.computePagerOpts;return""+e.currentPage+e.pageSize}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computePageConfFlag(){this.initPages()}},created(){let r=this;if("development"===process.env.NODE_ENV&&(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={}"]),"development"===process.env.NODE_ENV){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{r.formConfig&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),r.pagerConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])})}this.initPages(),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{computeSize:t,isZMax:r}=this;return e("div",{class:["vxe-grid",{["size--"+t]:t,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":r,"is--loading":this.loading||this.tableLoading}],style:this.renderStyle},renderLayout(e,this))},methods:Object.assign(Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){if(e){var s=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,r,o))}return[]},getParentHeight(){var{$el:e,isZMax:t}=this;return(t?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-this.getExcludeHeight()},getExcludeHeight(){var{$refs:e,$el:t,isZMax:r,height:o}=this,{formWrapper:e,toolbarWrapper:s,topWrapper:i,bottomWrapper:a,pagerWrapper:n}=e;return(r||"auto"!==o&&"100%"!==o?0:(0,_dom.getPaddingTopBottomSize)(t.parentNode))+(0,_dom.getPaddingTopBottomSize)(t)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(n)},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initPages(){var{tablePage:e,pagerConfig:t,pagerOpts:r}=this,{currentPage:r,pageSize:o}=r;t&&(r&&(e.currentPage=r),o)&&(e.pageSize=o)},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,...c){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:s,proxyOpts:i,tablePage:n,pagerConfig:l,editRules:u,isRespMsg:p,isActiveMsg:h,validConfig:m,pagerOpts:g}=this,{beforeQuery:d,afterQuery:f,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:_,ajax:O={}}=i,y=i.response||i.props||{},C=e.xTable;var a,$=this.getFormData();let E,P;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,P=t,E=a?a.item:null):(E=t,P=E.code);var j=E?E.params:null;switch(P){case"insert":return this.insert();case"insert_edit":return this.insert().then(({row:e})=>this.setEditRow(e));case"insert_actived":return this.insert().then(({row:e})=>this.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(P);break;case"remove":return this.handleDeleteRow(P,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":this.importData(j);break;case"open_import":this.openImport(j);break;case"export":this.exportData(j);break;case"open_export":this.openExport(j);break;case"reset_custom":this.resetCustom(!0);break;case"_init":case"reload":case"query":{var S=O.query;let i=O.querySuccess,a=O.queryError;if(S){var U="_init"===P,D="reload"===P;let t=[],r=[],e={};if(l&&((U||D)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),U){let e=null;C&&(R=C.sortOpts,e=R.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),C&&(r=C.getCheckedFilters())}else C&&(D?C.clearAll():(t=C.getSortColumns(),r=C.getCheckedFilters()));let o={code:P,button:E,isInited:U,isReload:D,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:S},s=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[o].concat(c));return Promise.resolve((d||S)(...s)).then(e=>{var t,r;return this.tableLoading=!1,e?l&&(0,_utils.isEnableConf)(g)?(r=y.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"page.total"))||0,n.total=_xeUtils.default.toNumber(r),t=y.result,this.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:this}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(r/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(r=y.list,this.tableData=(r?_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r):e)||[]):this.tableData=[],f&&f(...s),i&&i(Object.assign(Object.assign({},o),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,a&&a(Object.assign(Object.assign({},o),{response:e})),{status:!1}))}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let s=O.delete,i=O.deleteSuccess,a=O.deleteError;if(s){let e=C.getCheckboxRecords(),t=e.filter(e=>!C.isInsertByRow(e));var R={removeRecords:t};let r={$grid:this,code:P,button:E,body:R,form:$,options:s},o=[r].concat(c);if(e.length)return this.handleDeleteRow(P,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||s)(...o)).then(e=>(this.tableLoading=!1,C.setPendingRow(t,!1),p&&("development"!==process.env.NODE_ENV||_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&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):C.remove(e));h&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=O.save,g=O.saveSuccess,d=O.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:s,pendingRecords:i}=t,a={$grid:this,code:P,button:E,body:t,form:$,options:l},n=[a].concat(c),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=u?this[m&&"full"===m.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,C.clearPendingRow(),p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),_?_(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(h&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:U=commands.get(P);U&&(U.commandMethod?U.commandMethod({code:P,button:E,$grid:this,$table:C},...c):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[P]))}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()});"development"!==process.env.NODE_ENV||_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&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},pageChangeEvent(t){var{proxyConfig:e,tablePage:r}=this,{currentPage:o,pageSize:s}=t;r.currentPage=o,r.pageSize=s,this.$emit("page-change",Object.assign({$grid:this},t)),e&&this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})},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;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(()=>this.isZMax)},getProxyInfo(){var{$refs:e,sortData:t,proxyConfig:r}=this,e=e.xTable;return r?{data:this.tableData,filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null}}),"development"===process.env.NODE_ENV?{loadColumn(e){let t=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),this.$refs.xTable.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}}:null)};
|