vxe-table 3.19.20 → 3.19.22
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 +148 -33
- package/es/style.css +1 -1
- package/es/table/render/index.js +113 -4
- package/es/table/src/cell.js +10 -8
- package/es/table/src/methods.js +176 -74
- package/es/table/src/table.js +12 -2
- package/es/ui/index.js +3 -2
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +166 -48
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +367 -89
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/render/index.js +140 -10
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/cell.js +13 -7
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +160 -56
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +15 -2
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +3 -2
- 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 +148 -35
- package/packages/table/render/index.ts +115 -4
- package/packages/table/src/cell.ts +10 -8
- package/packages/table/src/methods.ts +176 -72
- package/packages/table/src/table.ts +13 -2
- package/packages/ui/index.ts +2 -1
- /package/es/{iconfont.1764045838630.ttf → iconfont.1764380622607.ttf} +0 -0
- /package/es/{iconfont.1764045838630.woff → iconfont.1764380622607.woff} +0 -0
- /package/es/{iconfont.1764045838630.woff2 → iconfont.1764380622607.woff2} +0 -0
- /package/lib/{iconfont.1764045838630.ttf → iconfont.1764380622607.ttf} +0 -0
- /package/lib/{iconfont.1764045838630.woff → iconfont.1764380622607.woff} +0 -0
- /package/lib/{iconfont.1764045838630.woff2 → iconfont.1764380622607.woff2} +0 -0
package/lib/grid/src/grid.js
CHANGED
|
@@ -60,7 +60,9 @@ _xeUtils.default.each(_table.default.methods, (fn, name) => {
|
|
|
60
60
|
};
|
|
61
61
|
});
|
|
62
62
|
function createInternalData() {
|
|
63
|
-
return {
|
|
63
|
+
return {
|
|
64
|
+
uFoot: false
|
|
65
|
+
};
|
|
64
66
|
}
|
|
65
67
|
var _default = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
|
|
66
68
|
name: 'VxeGrid',
|
|
@@ -97,6 +99,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
97
99
|
filterData: [],
|
|
98
100
|
formData: {},
|
|
99
101
|
sortData: [],
|
|
102
|
+
footerData: [],
|
|
100
103
|
tZindex: 0,
|
|
101
104
|
tablePage: {
|
|
102
105
|
total: 0,
|
|
@@ -206,7 +209,9 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
206
209
|
const rest = {};
|
|
207
210
|
const gridProps = props;
|
|
208
211
|
propKeys.forEach(key => {
|
|
209
|
-
|
|
212
|
+
if (gridProps[key] !== undefined) {
|
|
213
|
+
rest[key] = gridProps[key];
|
|
214
|
+
}
|
|
210
215
|
});
|
|
211
216
|
return rest;
|
|
212
217
|
},
|
|
@@ -215,6 +220,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
215
220
|
const props = $xeGrid;
|
|
216
221
|
const reactData = $xeGrid.reactData;
|
|
217
222
|
const {
|
|
223
|
+
showFooter,
|
|
218
224
|
seqConfig,
|
|
219
225
|
pagerConfig,
|
|
220
226
|
editConfig,
|
|
@@ -222,15 +228,23 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
222
228
|
} = props;
|
|
223
229
|
const {
|
|
224
230
|
isZMax,
|
|
225
|
-
tablePage
|
|
231
|
+
tablePage,
|
|
232
|
+
footerData
|
|
226
233
|
} = reactData;
|
|
227
234
|
const tableExtendProps = $xeGrid.computeTableExtendProps;
|
|
228
235
|
const proxyOpts = $xeGrid.computeProxyOpts;
|
|
229
236
|
const pagerOpts = $xeGrid.computePagerOpts;
|
|
230
237
|
const isLoading = $xeGrid.computeIsLoading;
|
|
231
238
|
const tProps = Object.assign({}, tableExtendProps);
|
|
239
|
+
if (showFooter && !tProps.footerData) {
|
|
240
|
+
// 如果未设置自己的标位数据,则使用代理的
|
|
241
|
+
tProps.footerData = footerData;
|
|
242
|
+
} else if (proxyOpts.footer && footerData.length) {
|
|
243
|
+
// 如果代理标为数据,且未请求到数据,则用自己的
|
|
244
|
+
tProps.footerData = footerData;
|
|
245
|
+
}
|
|
232
246
|
if (isZMax) {
|
|
233
|
-
if (
|
|
247
|
+
if (tProps.maxHeight) {
|
|
234
248
|
tProps.maxHeight = '100%';
|
|
235
249
|
} else {
|
|
236
250
|
tProps.height = '100%';
|
|
@@ -507,6 +521,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
507
521
|
const $xeGrid = this;
|
|
508
522
|
const props = $xeGrid;
|
|
509
523
|
const reactData = $xeGrid.reactData;
|
|
524
|
+
const internalData = $xeGrid.internalData;
|
|
510
525
|
const {
|
|
511
526
|
proxyConfig,
|
|
512
527
|
formConfig
|
|
@@ -520,16 +535,34 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
520
535
|
if ((0, _utils.isEnableConf)(formConfig) && proxyOpts.form && formOpts.items) {
|
|
521
536
|
reactData.formData = $xeGrid.getDefaultFormData();
|
|
522
537
|
}
|
|
523
|
-
if (!proxyInited
|
|
538
|
+
if (!proxyInited) {
|
|
524
539
|
reactData.proxyInited = true;
|
|
525
|
-
|
|
526
|
-
$xeGrid
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
540
|
+
if (proxyOpts.autoLoad !== false) {
|
|
541
|
+
$xeGrid.$nextTick().then(() => {
|
|
542
|
+
internalData.uFoot = true;
|
|
543
|
+
const rest = $xeGrid.commitProxy('initial');
|
|
544
|
+
internalData.uFoot = false;
|
|
545
|
+
$xeGrid.updateQueryFooter();
|
|
546
|
+
return rest;
|
|
547
|
+
}).then(rest => {
|
|
548
|
+
$xeGrid.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
|
|
549
|
+
isInited: true
|
|
550
|
+
}), new Event('initial'));
|
|
551
|
+
});
|
|
552
|
+
}
|
|
530
553
|
}
|
|
531
554
|
}
|
|
532
555
|
},
|
|
556
|
+
updateQueryFooter() {
|
|
557
|
+
const $xeGrid = this;
|
|
558
|
+
const proxyOpts = $xeGrid.computeProxyOpts;
|
|
559
|
+
const {
|
|
560
|
+
ajax
|
|
561
|
+
} = proxyOpts;
|
|
562
|
+
if (ajax && ajax.queryFooter) {
|
|
563
|
+
return $xeGrid.commitProxy('queryFooter');
|
|
564
|
+
}
|
|
565
|
+
},
|
|
533
566
|
handleGlobalKeydownEvent(evnt) {
|
|
534
567
|
const $xeGrid = this;
|
|
535
568
|
const reactData = $xeGrid.reactData;
|
|
@@ -617,12 +650,14 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
617
650
|
const $xeGrid = this;
|
|
618
651
|
const props = $xeGrid;
|
|
619
652
|
const reactData = $xeGrid.reactData;
|
|
653
|
+
const internalData = $xeGrid.internalData;
|
|
620
654
|
/**
|
|
621
655
|
* 已废弃
|
|
622
656
|
* @deprecated
|
|
623
657
|
*/
|
|
624
658
|
const toolbar = props.toolbar;
|
|
625
659
|
const {
|
|
660
|
+
showFooter,
|
|
626
661
|
proxyConfig,
|
|
627
662
|
toolbarConfig,
|
|
628
663
|
pagerConfig,
|
|
@@ -640,6 +675,8 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
640
675
|
const {
|
|
641
676
|
beforeQuery,
|
|
642
677
|
afterQuery,
|
|
678
|
+
beforeQueryFooter,
|
|
679
|
+
afterQueryFooter,
|
|
643
680
|
beforeDelete,
|
|
644
681
|
afterDelete,
|
|
645
682
|
beforeSave,
|
|
@@ -702,10 +739,10 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
702
739
|
case 'reload':
|
|
703
740
|
case 'query':
|
|
704
741
|
{
|
|
705
|
-
const
|
|
706
|
-
const
|
|
707
|
-
const
|
|
708
|
-
if (
|
|
742
|
+
const qMethods = ajax.query;
|
|
743
|
+
const qsMethods = ajax.querySuccess;
|
|
744
|
+
const qeMethods = ajax.queryError;
|
|
745
|
+
if (qMethods) {
|
|
709
746
|
const isInited = code === 'initial';
|
|
710
747
|
const isReload = code === 'reload';
|
|
711
748
|
if (!isInited && reactData.tableLoading) {
|
|
@@ -789,31 +826,27 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
789
826
|
sorts: sortList,
|
|
790
827
|
filters: filterList,
|
|
791
828
|
form: formData,
|
|
792
|
-
options:
|
|
829
|
+
options: qMethods
|
|
793
830
|
};
|
|
794
831
|
reactData.sortData = sortList;
|
|
795
832
|
reactData.filterData = filterList;
|
|
796
833
|
reactData.tableLoading = true;
|
|
797
|
-
return Promise.all([Promise.resolve((beforeQuery ||
|
|
834
|
+
return Promise.all([Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)), operPromise]).then(([rest]) => {
|
|
798
835
|
let tableData = [];
|
|
799
836
|
reactData.tableLoading = false;
|
|
800
837
|
if (rest) {
|
|
838
|
+
const reParams = {
|
|
839
|
+
data: rest,
|
|
840
|
+
$table: $xeTable,
|
|
841
|
+
$grid: $xeGrid,
|
|
842
|
+
$gantt: null
|
|
843
|
+
};
|
|
801
844
|
if (pagerConfig && (0, _utils.isEnableConf)(pagerOpts)) {
|
|
802
845
|
const totalProp = resConfigs.total;
|
|
803
|
-
const total = (_xeUtils.default.isFunction(totalProp) ? totalProp(
|
|
804
|
-
data: rest,
|
|
805
|
-
$table: $xeTable,
|
|
806
|
-
$grid: $xeGrid,
|
|
807
|
-
$gantt: null
|
|
808
|
-
}) : _xeUtils.default.get(rest, totalProp || 'page.total')) || 0;
|
|
846
|
+
const total = (_xeUtils.default.isFunction(totalProp) ? totalProp(reParams) : _xeUtils.default.get(rest, totalProp || 'page.total')) || 0;
|
|
809
847
|
tablePage.total = _xeUtils.default.toNumber(total);
|
|
810
848
|
const resultProp = resConfigs.result;
|
|
811
|
-
tableData = (_xeUtils.default.isFunction(resultProp) ? resultProp(
|
|
812
|
-
data: rest,
|
|
813
|
-
$table: $xeTable,
|
|
814
|
-
$grid: $xeGrid,
|
|
815
|
-
$gantt: null
|
|
816
|
-
}) : _xeUtils.default.get(rest, resultProp || 'result')) || [];
|
|
849
|
+
tableData = (_xeUtils.default.isFunction(resultProp) ? resultProp(reParams) : _xeUtils.default.get(rest, resultProp || 'result')) || [];
|
|
817
850
|
// 检验当前页码,不能超出当前最大页数
|
|
818
851
|
const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1);
|
|
819
852
|
if (tablePage.currentPage > pageCount) {
|
|
@@ -821,12 +854,18 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
821
854
|
}
|
|
822
855
|
} else {
|
|
823
856
|
const listProp = resConfigs.list;
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
857
|
+
if (_xeUtils.default.isArray(rest)) {
|
|
858
|
+
tableData = rest;
|
|
859
|
+
} else if (listProp) {
|
|
860
|
+
tableData = (_xeUtils.default.isFunction(listProp) ? listProp(reParams) : _xeUtils.default.get(rest, listProp)) || [];
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
if (showFooter) {
|
|
864
|
+
const fdProp = resConfigs.footerData;
|
|
865
|
+
const footerList = fdProp ? _xeUtils.default.isFunction(fdProp) ? fdProp(reParams) : _xeUtils.default.get(rest, fdProp) : [];
|
|
866
|
+
if (_xeUtils.default.isArray(footerList)) {
|
|
867
|
+
reactData.footerData = footerList;
|
|
868
|
+
}
|
|
830
869
|
}
|
|
831
870
|
}
|
|
832
871
|
if ($xeTable) {
|
|
@@ -842,8 +881,8 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
842
881
|
if (afterQuery) {
|
|
843
882
|
afterQuery(commitParams, ...args);
|
|
844
883
|
}
|
|
845
|
-
if (
|
|
846
|
-
|
|
884
|
+
if (qsMethods) {
|
|
885
|
+
qsMethods(Object.assign(Object.assign({}, commitParams), {
|
|
847
886
|
response: rest
|
|
848
887
|
}));
|
|
849
888
|
}
|
|
@@ -852,8 +891,8 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
852
891
|
};
|
|
853
892
|
}).catch(rest => {
|
|
854
893
|
reactData.tableLoading = false;
|
|
855
|
-
if (
|
|
856
|
-
|
|
894
|
+
if (qeMethods) {
|
|
895
|
+
qeMethods(Object.assign(Object.assign({}, commitParams), {
|
|
857
896
|
response: rest
|
|
858
897
|
}));
|
|
859
898
|
}
|
|
@@ -866,12 +905,60 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
866
905
|
}
|
|
867
906
|
break;
|
|
868
907
|
}
|
|
908
|
+
case 'queryFooter':
|
|
909
|
+
{
|
|
910
|
+
const qfMethods = ajax.queryFooter;
|
|
911
|
+
const qfSuccessMethods = ajax.queryFooterSuccess;
|
|
912
|
+
const qfErrorMethods = ajax.queryFooterError;
|
|
913
|
+
if (qfMethods) {
|
|
914
|
+
let filterList = [];
|
|
915
|
+
if ($xeTable) {
|
|
916
|
+
filterList = $xeTable.getCheckedFilters();
|
|
917
|
+
}
|
|
918
|
+
const commitParams = {
|
|
919
|
+
$table: $xeTable,
|
|
920
|
+
$grid: $xeGrid,
|
|
921
|
+
$gantt: null,
|
|
922
|
+
code,
|
|
923
|
+
button,
|
|
924
|
+
filters: filterList,
|
|
925
|
+
form: formData,
|
|
926
|
+
options: qfMethods
|
|
927
|
+
};
|
|
928
|
+
return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
|
|
929
|
+
reactData.footerData = _xeUtils.default.isArray(rest) ? rest : [];
|
|
930
|
+
if (afterQueryFooter) {
|
|
931
|
+
afterQueryFooter(commitParams, ...args);
|
|
932
|
+
}
|
|
933
|
+
if (qfSuccessMethods) {
|
|
934
|
+
qfSuccessMethods(Object.assign(Object.assign({}, commitParams), {
|
|
935
|
+
response: rest
|
|
936
|
+
}));
|
|
937
|
+
}
|
|
938
|
+
return {
|
|
939
|
+
status: true
|
|
940
|
+
};
|
|
941
|
+
}).catch(rest => {
|
|
942
|
+
if (qfErrorMethods) {
|
|
943
|
+
qfErrorMethods(Object.assign(Object.assign({}, commitParams), {
|
|
944
|
+
response: rest
|
|
945
|
+
}));
|
|
946
|
+
}
|
|
947
|
+
return {
|
|
948
|
+
status: false
|
|
949
|
+
};
|
|
950
|
+
});
|
|
951
|
+
} else {
|
|
952
|
+
(0, _log.errLog)('vxe.error.notFunc', ['[grid] proxy-config.ajax.queryFooter']);
|
|
953
|
+
}
|
|
954
|
+
break;
|
|
955
|
+
}
|
|
869
956
|
case 'delete':
|
|
870
957
|
{
|
|
871
|
-
const
|
|
958
|
+
const dMethods = ajax.delete;
|
|
872
959
|
const deleteSuccessMethods = ajax.deleteSuccess;
|
|
873
960
|
const deleteErrorMethods = ajax.deleteError;
|
|
874
|
-
if (
|
|
961
|
+
if (dMethods) {
|
|
875
962
|
const selectRecords = $xeTable.getCheckboxRecords();
|
|
876
963
|
const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
|
|
877
964
|
const body = {
|
|
@@ -885,7 +972,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
885
972
|
button,
|
|
886
973
|
body,
|
|
887
974
|
form: formData,
|
|
888
|
-
options:
|
|
975
|
+
options: dMethods
|
|
889
976
|
};
|
|
890
977
|
const applyArgs = [commitParams].concat(args);
|
|
891
978
|
if (selectRecords.length) {
|
|
@@ -894,7 +981,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
894
981
|
return $xeTable.remove(selectRecords);
|
|
895
982
|
}
|
|
896
983
|
reactData.tableLoading = true;
|
|
897
|
-
return Promise.resolve((beforeDelete ||
|
|
984
|
+
return Promise.resolve((beforeDelete || dMethods)(...applyArgs)).then(rest => {
|
|
898
985
|
reactData.tableLoading = false;
|
|
899
986
|
$xeTable.setPendingRow(removeRecords, false);
|
|
900
987
|
if (isRespMsg) {
|
|
@@ -908,7 +995,10 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
908
995
|
if (afterDelete) {
|
|
909
996
|
afterDelete(...applyArgs);
|
|
910
997
|
} else {
|
|
998
|
+
internalData.uFoot = true;
|
|
911
999
|
$xeGrid.commitProxy('query');
|
|
1000
|
+
internalData.uFoot = false;
|
|
1001
|
+
$xeGrid.updateQueryFooter();
|
|
912
1002
|
}
|
|
913
1003
|
if (deleteSuccessMethods) {
|
|
914
1004
|
deleteSuccessMethods(Object.assign(Object.assign({}, commitParams), {
|
|
@@ -1013,7 +1103,10 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
1013
1103
|
if (afterSave) {
|
|
1014
1104
|
afterSave(...applyArgs);
|
|
1015
1105
|
} else {
|
|
1106
|
+
internalData.uFoot = true;
|
|
1016
1107
|
$xeGrid.commitProxy('query');
|
|
1108
|
+
internalData.uFoot = false;
|
|
1109
|
+
$xeGrid.updateQueryFooter();
|
|
1017
1110
|
}
|
|
1018
1111
|
if (saveSuccessMethods) {
|
|
1019
1112
|
saveSuccessMethods(Object.assign(Object.assign({}, commitParams), {
|
|
@@ -1229,16 +1322,29 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
1229
1322
|
},
|
|
1230
1323
|
triggerToolbarCommitEvent(params, evnt) {
|
|
1231
1324
|
const $xeGrid = this;
|
|
1325
|
+
const internalData = $xeGrid.internalData;
|
|
1232
1326
|
const {
|
|
1233
1327
|
code
|
|
1234
1328
|
} = params;
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
}), evnt);
|
|
1329
|
+
if (code) {
|
|
1330
|
+
const isUf = ['reload', 'delete', 'save'].includes(code);
|
|
1331
|
+
if (isUf) {
|
|
1332
|
+
internalData.uFoot = true;
|
|
1240
1333
|
}
|
|
1241
|
-
|
|
1334
|
+
const rest = $xeGrid.commitProxy(params, evnt).then(rest => {
|
|
1335
|
+
if (code && rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
|
|
1336
|
+
$xeGrid.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code}` : 'proxy-query', Object.assign(Object.assign({}, rest), {
|
|
1337
|
+
isReload: code === 'reload'
|
|
1338
|
+
}), evnt);
|
|
1339
|
+
}
|
|
1340
|
+
});
|
|
1341
|
+
if (isUf) {
|
|
1342
|
+
$xeGrid.updateQueryFooter();
|
|
1343
|
+
}
|
|
1344
|
+
internalData.uFoot = false;
|
|
1345
|
+
return rest;
|
|
1346
|
+
}
|
|
1347
|
+
return $xeGrid.$nextTick();
|
|
1242
1348
|
},
|
|
1243
1349
|
triggerToolbarBtnEvent(button, evnt) {
|
|
1244
1350
|
const $xeGrid = this;
|
|
@@ -1316,6 +1422,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
1316
1422
|
const $xeGrid = this;
|
|
1317
1423
|
const props = $xeGrid;
|
|
1318
1424
|
const reactData = $xeGrid.reactData;
|
|
1425
|
+
const internalData = $xeGrid.internalData;
|
|
1319
1426
|
const $xeTable = $xeGrid.$refs.refTable;
|
|
1320
1427
|
const {
|
|
1321
1428
|
proxyConfig
|
|
@@ -1327,9 +1434,12 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
1327
1434
|
reactData.filterData = params.filterList;
|
|
1328
1435
|
if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
|
|
1329
1436
|
reactData.tablePage.currentPage = 1;
|
|
1437
|
+
internalData.uFoot = true;
|
|
1330
1438
|
$xeGrid.commitProxy('query').then(rest => {
|
|
1331
1439
|
$xeGrid.dispatchEvent('proxy-query', rest, params.$event);
|
|
1332
1440
|
});
|
|
1441
|
+
internalData.uFoot = false;
|
|
1442
|
+
$xeGrid.updateQueryFooter();
|
|
1333
1443
|
}
|
|
1334
1444
|
}
|
|
1335
1445
|
},
|
|
@@ -1347,6 +1457,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
1347
1457
|
const $xeGrid = this;
|
|
1348
1458
|
const props = $xeGrid;
|
|
1349
1459
|
const reactData = $xeGrid.reactData;
|
|
1460
|
+
const internalData = $xeGrid.internalData;
|
|
1350
1461
|
const {
|
|
1351
1462
|
proxyConfig
|
|
1352
1463
|
} = props;
|
|
@@ -1355,17 +1466,21 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
1355
1466
|
return;
|
|
1356
1467
|
}
|
|
1357
1468
|
if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
|
|
1469
|
+
internalData.uFoot = true;
|
|
1358
1470
|
$xeGrid.commitProxy('reload').then(rest => {
|
|
1359
1471
|
$xeGrid.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
|
|
1360
1472
|
isReload: true
|
|
1361
1473
|
}), params.$event);
|
|
1362
1474
|
});
|
|
1475
|
+
internalData.uFoot = false;
|
|
1476
|
+
$xeGrid.updateQueryFooter();
|
|
1363
1477
|
}
|
|
1364
1478
|
$xeGrid.dispatchEvent('form-submit', params, params.$event);
|
|
1365
1479
|
},
|
|
1366
1480
|
resetFormEvent(params) {
|
|
1367
1481
|
const $xeGrid = this;
|
|
1368
1482
|
const props = $xeGrid;
|
|
1483
|
+
const internalData = $xeGrid.internalData;
|
|
1369
1484
|
const $xeTable = $xeGrid.$refs.refTable;
|
|
1370
1485
|
const {
|
|
1371
1486
|
proxyConfig
|
|
@@ -1376,11 +1491,14 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
1376
1491
|
const proxyOpts = $xeGrid.computeProxyOpts;
|
|
1377
1492
|
if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
|
|
1378
1493
|
$xeTable.clearScroll();
|
|
1494
|
+
internalData.uFoot = true;
|
|
1379
1495
|
$xeGrid.commitProxy('reload').then(rest => {
|
|
1380
1496
|
$xeGrid.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
|
|
1381
1497
|
isReload: true
|
|
1382
1498
|
}), $event);
|
|
1383
1499
|
});
|
|
1500
|
+
internalData.uFoot = false;
|
|
1501
|
+
$xeGrid.updateQueryFooter();
|
|
1384
1502
|
}
|
|
1385
1503
|
$xeGrid.dispatchEvent('form-reset', params, $event);
|
|
1386
1504
|
},
|
package/lib/grid/src/grid.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_props=require("../../table/src/props"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,createEvent,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableMethods={},propKeys=Object.keys(_props.tableProps),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:a}=r;let o={};return _xeUtils.default.each(e,(e,t)=>{o[t]=(...e)=>{r.$emit(t,...e)}}),t&&(a.sort&&(o["sort-change"]=r.sortChangeEvent,o["clear-all-sort"]=r.clearAllSortEvent),a.filter)&&(o["filter-change"]=r.filterChangeEvent,o["clear-all-filter"]=r.clearAllFilterEvent),o}function createInternalData(){return{}}_xeUtils.default.each(_table.default.methods,(e,r)=>{tableMethods[r]=function(...e){var t=this.$refs.refTable;return t&&t[r](...e)}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.tableProps),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xeGantt:null}},data(){var e;return{xID:_xeUtils.default.uniqueId(),reactData:{tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}},internalData:createInternalData()}},computed:Object.assign(Object.assign({},{}),{isRespMsg(){return this.computeIsRespMsg},computeIsRespMsg(){var e=this.computeProxyOpts;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)},isActiveMsg(){return this.computeIsActiveMsg},computeIsActiveMsg(){var e=this.computeProxyOpts;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:a}=this.reactData,o={};return r?o.zIndex=a:(e&&(o.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(o.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),o},computeTableExtendProps(){let t={},r=this;return propKeys.forEach(e=>{t[e]=r[e]}),t},computeTableProps(){var e=this,{seqConfig:t,pagerConfig:r,editConfig:a,proxyConfig:o}=e,{isZMax:s,tablePage:i}=e.reactData,n=e.computeTableExtendProps,l=e.computeProxyOpts,g=e.computePagerOpts,e=e.computeIsLoading,u=Object.assign({},n);return s&&(n.maxHeight?u.maxHeight="100%":u.height="100%"),o&&(0,_utils.isEnableConf)(l)&&(u.loading=e,r)&&l.seq&&(0,_utils.isEnableConf)(g)&&(u.seqConfig=Object.assign({},t,{startIndex:(i.currentPage-1)*i.pageSize})),a&&(u.editConfig=Object.assign({},a)),u},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],a=[],o=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],a=t[1]||[],o=t[2]||[]):a=t),{headKeys:r,bodyKeys:a,footKeys:o}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total},computePageCount(){var e=this.reactData.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)},computeIsLoading(){var{loading:e,proxyConfig:t}=this,r=this.reactData.tableLoading,a=this.computeProxyOpts,o=a.showLoading;return e||r&&o&&t&&(0,_utils.isEnableConf)(a)}}),watch:{columns(e){let t=this;t.$nextTick(()=>t.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computeCustomCurrentPageFlag(){this.initPages("currentPage")},computeCustomPageSizeFlag(){this.initPages("pageSize")},computeCustomTotalFlag(){this.initPages("total")}},methods:Object.assign(Object.assign({},tableMethods),{dispatchEvent(e,t,r){this.$emit(e,createEvent(r,{$grid:this,$gantt:null},t))},initPages(e){var t=this.reactData.tablePage,r=this.pagerConfig,a=this.computePagerOpts;r&&(0,_utils.isEnableConf)(a)&&(e?a[e]&&(t[e]=_xeUtils.default.toNumber(a[e])):({currentPage:r,pageSize:e,total:a}=a,r&&(t.currentPage=r),e&&(t.pageSize=e),a&&(t.total=a)))},callSlot(e,t,r){var a=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var t=this,r=t.height,a=t.reactData.isZMax,o=t.$refs.refElem;if(o){var s=t.$refs.refFormWrapper,i=t.$refs.refToolbarWrapper,n=t.$refs.refTopWrapper,l=t.$refs.refBottomWrapper,t=t.$refs.refPagerWrapper,g=o.parentElement;let e=0;return(e=!g||"100%"!==r&&"auto"!==r?e:a?0:(0,_dom.getPaddingTopBottomSize)(g))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(t)}return 0},getParentHeight(){var e=this.reactData,t=this.$refs.refElem;return t?(t=t.parentElement,(e.isZMax?(0,_dom.getDomNode)().visibleHeight:t?_xeUtils.default.toNumber(getComputedStyle(t).height):0)-this.getExcludeHeight()):0},initToolbar(){let r=this;r.$nextTick(()=>{var e=r.$refs.refTable,t=r.$refs.refToolbar;e&&t&&e.connectToolbar(t)})},getDefaultFormData(){var e=this.computeFormOpts;if(e.items){let i={};return e.items.forEach(t=>{var r,a,{field:o,itemRender:s}=t;if(o){let e=null;s&&({startField:s,endField:r,defaultValue:a}=s,_xeUtils.default.isFunction(a)?e=a({item:t}):_xeUtils.default.isUndefined(a)||(e=a),s)&&r&&(_xeUtils.default.set(i,s,null),_xeUtils.default.set(i,r,null)),i[o]=e}}),i}return{}},initProxy(){let t=this;var e=t,r=t.reactData,{proxyConfig:e,formConfig:a}=e,o=r.proxyInited,s=t.computeProxyOpts,i=t.computeFormOpts;e&&((0,_utils.isEnableConf)(a)&&s.form&&i.items&&(r.formData=t.getDefaultFormData()),o||!1===s.autoLoad||(r.proxyInited=!0,t.$nextTick().then(()=>t.commitProxy("initial")).then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))})))},handleGlobalKeydownEvent(e){var t=this.reactData,r=this.computeZoomOpts;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&t.isZMax&&!1!==r.escRestore&&this.triggerZoomEvent(e)},getRespMsg(e,t){var r=this.computeProxyOpts,r=(r.response||r.props||{}).message,a=this.$refs.refTable;let o;return(o=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:a,$grid:this,$gantt:null}):_xeUtils.default.get(e,r):o)||getI18n(t)},handleDeleteRow(e,t,r){var a=this.computeIsActiveMsg,o=this.getCheckboxRecords();if(a)if(o.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else o.length&&r();return Promise.resolve()},triggerPendingEvent(e){var t=this.computeIsActiveMsg,r=this.$refs.refTable,a=r.getCheckboxRecords();a.length?(r.togglePendingRow(a),this.clearCheckboxRow()):t&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})},commitProxy(t,...d){let c=this;var e=c;let p=c.reactData;var r=e.toolbar;let{proxyConfig:n,toolbarConfig:a,pagerConfig:l,editRules:m,validConfig:f}=e,g=p.tablePage,h=c.computeIsActiveMsg,b=c.computeIsRespMsg;var u=c.computeProxyOpts;let v=c.computePagerOpts;var o,e=c.computeToolbarOpts;let{beforeQuery:x,afterQuery:y,beforeDelete:_,afterDelete:E,beforeSave:P,afterSave:C,ajax:$={}}=u,O=u.response||u.props||{},S=c.$refs.refTable,T=c.getFormData(),D=null,F=null;F=_xeUtils.default.isString(t)?(o=e.buttons,r=(a||r)&&(0,_utils.isEnableConf)(e)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,D=r?r.item:null,t):(D=t).code;var s=D?D.params:null;switch(F){case"insert":return S.insert({});case"insert_edit":return S.insert({}).then(({row:e})=>S.setEditRow(e,!0));case"insert_actived":return S.insert({}).then(({row:e})=>S.setEditRow(e,!0));case"mark_cancel":c.triggerPendingEvent(F);break;case"remove":return c.handleDeleteRow(F,"vxe.grid.removeSelectRecord",()=>S.removeCheckboxRow());case"import":S.importData(s);break;case"open_import":S.openImport(s);break;case"export":S.exportData(s);break;case"open_export":S.openExport(s);break;case"reset_custom":S.resetCustom(!0);break;case"initial":case"reload":case"query":{var U=$.query;let i=$.querySuccess,a=$.queryError;if(U){var I="initial"===F,R="reload"===F;if(!I&&p.tableLoading)return c.$nextTick();let e=null,r=[],o=[],t={};if(l&&((I||R)&&(g.currentPage=1),(0,_utils.isEnableConf)(l))&&(t=Object.assign({},g)),I){if(n&&(0,_utils.isEnableConf)(u)&&u.form&&(T=c.getDefaultFormData(),p.formData=T),S){let{tableFullColumn:e,fullColumnFieldData:a}=S,t=S.computeSortOpts.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),r=t.map(e=>{var{field:e,order:t}=e,r=a[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),o=S.getCheckedFilters()}}else S&&(R?e=S.clearAll():(r=S.getSortColumns(),o=S.getCheckedFilters()));let s={$table:S,$grid:c,$gantt:null,code:F,button:D,isInited:I,isReload:R,page:t,sort:r.length?r[0]:{},sorts:r,filters:o,form:T,options:U};return p.sortData=r,p.filterData=o,p.tableLoading=!0,Promise.all([Promise.resolve((x||U)(s,...d)),e]).then(([e])=>{let t=[];var r,a;return p.tableLoading=!1,e&&(l&&(0,_utils.isEnableConf)(v)?(a=O.total,a=(_xeUtils.default.isFunction(a)?a({data:e,$table:S,$grid:c,$gantt:null}):_xeUtils.default.get(e,a||"page.total"))||0,g.total=_xeUtils.default.toNumber(a),r=O.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$table:S,$grid:c,$gantt:null}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(a/g.pageSize),1),g.currentPage>r&&(g.currentPage=r)):(a=O.list,t=(a?_xeUtils.default.isFunction(a)?a({data:e,$table:S,$grid:c,$gantt:null}):_xeUtils.default.get(e,a):e)||[])),S?S.loadData(t):c.$nextTick(()=>{var e=c.$refs.refTable;e&&e.loadData(t)}),y&&y(s,...d),i&&i(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(p.tableLoading=!1,a&&a(Object.assign(Object.assign({},s),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.query"]);break}case"delete":{let o=$.delete,s=$.deleteSuccess,i=$.deleteError;if(o){let e=S.getCheckboxRecords(),t=e.filter(e=>!S.isInsertByRow(e));I={removeRecords:t};let r={$table:S,$grid:c,$gantt:null,code:F,button:D,body:I,form:T,options:o},a=[r].concat(d);if(e.length)return c.handleDeleteRow(F,"vxe.grid.deleteSelectRecord",()=>t.length?(p.tableLoading=!0,Promise.resolve((_||o)(...a)).then(e=>(p.tableLoading=!1,S.setPendingRow(t,!1),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:c.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"}),E?E(...a):c.commitProxy("query"),s&&s(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:F,content:c.getRespMsg(e,"vxe.grid.operError"),status:"error"}),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):S.remove(e));h&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:F,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.delete"]);break}case"save":{let l=$.save,g=$.saveSuccess,u=$.saveError;if(l){let t=c.getRecordset(),{insertRecords:r,removeRecords:a,updateRecords:o,pendingRecords:s}=t,i={$table:S,$grid:c,$gantt:null,code:F,button:D,body:t,form:T,options:l},n=[i].concat(d),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=m?c[f&&"full"===f.msgMode?"fullValidate":"validate"](t.insertRecords.concat(o)):e).then(e=>{if(!e)return t.insertRecords.length||a.length||o.length||t.pendingRecords.length?(p.tableLoading=!0,Promise.resolve((P||l)(...n)).then(e=>(p.tableLoading=!1,S.clearPendingRow(),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:c.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"}),C?C(...n):c.commitProxy("query"),g&&g(Object.assign(Object.assign({},i),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:F,content:c.getRespMsg(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},i),{response:e})),{status:!1}))):void(h&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:F,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.save"]);break}default:R=commands.get(F);R&&((U=R.tableCommandMethod||R.commandMethod)?U({code:F,button:D,$grid:c,$table:S,$gantt:null},...d):(0,_log.errLog)("vxe.error.notCommands",["[grid] "+F]))}return c.$nextTick()},getFormData(){var e=this.proxyConfig,t=this.reactData.formData,r=this.computeProxyOpts,a=this.computeFormOpts;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:a.data},getFormItems(e){var t=this.computeFormOpts,r=this.formConfig,a=t.items;let o=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&a?a:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},resetForm(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm(){var e=this.$refs.refForm;return e?e.validate():this.$nextTick()},validateFormField(e){var t=this.$refs.refForm;return t?t.validateField(e):this.$nextTick()},clearFormValidate(e){var t=this.$refs.refForm;return t?t.clearValidate(e):this.$nextTick()},homePage(){var e=this.reactData.tablePage;return e.currentPage=1,this.$nextTick()},homePageByEvent(e){var t=this.$refs.refPager;t&&t.homePageByEvent(e)},endPage(){var e=this.reactData.tablePage,t=this.computePageCount;return e.currentPage=t,this.$nextTick()},endPageByEvent(e){var t=this.$refs.refPager;t&&t.endPageByEvent(e)},getCurrentPage(){var e=this.reactData.tablePage;return e.currentPage},setCurrentPage(e){var t=this.reactData.tablePage,r=this.computePageCount;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),this.$nextTick()},setCurrentPageByEvent(e,t){var r=this.$refs.refPager;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=this.reactData.tablePage;return e.pageSize},setPageSize(e){var t=this.reactData.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),this.$nextTick()},setPageSizeByEvent(e,t){var r=this.$refs.refPager;r&&r.setPageSizeByEvent(e,t)},triggerToolbarCommitEvent(e,t){let r=this,a=e.code;return r.commitProxy(e,t).then(e=>{a&&e&&e.status&&["query","reload","delete","save"].includes(a)&&r.dispatchEvent("delete"===a||"save"===a?"proxy-"+a:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===a}),t)})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},pageChangeEvent(e){let t=this;var r=t.proxyConfig,a=t.reactData.tablePage;let{$event:o,currentPage:s,pageSize:i}=e;var n=t.computeProxyOpts;a.currentPage=s,a.pageSize=i,t.dispatchEvent("page-change",e,o),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,o)})},handleSortEvent(t){let r=this;var e=r,a=r.reactData,o=r.$refs.refTable,e=e.proxyConfig,s=r.computeProxyOpts;o.computeSortOpts.remote&&(a.sortData=t.sortList,e)&&(0,_utils.isEnableConf)(s)&&(a.tablePage.currentPage=1,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}))},sortChangeEvent(e){this.handleSortEvent(e),this.dispatchEvent("sort-change",e,e.$event)},clearAllSortEvent(e){this.handleSortEvent(e),this.dispatchEvent("clear-all-sort",e,e.$event)},handleFilterEvent(t){let r=this;var e=r,a=r.reactData,o=r.$refs.refTable,e=e.proxyConfig,s=r.computeProxyOpts;o.computeFilterOpts.remote&&(a.filterData=t.filterList,e)&&(0,_utils.isEnableConf)(s)&&(a.tablePage.currentPage=1,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}))},filterChangeEvent(e){this.handleFilterEvent(e),this.dispatchEvent("filter-change",e,e.$event)},clearAllFilterEvent(e){this.handleFilterEvent(e),this.dispatchEvent("clear-all-filter",e,e.$event)},submitFormEvent(t){let r=this;var e=r,a=r.reactData,e=e.proxyConfig,o=r.computeProxyOpts;a.tableLoading||(e&&(0,_utils.isEnableConf)(o)&&r.commitProxy("reload").then(e=>{r.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),r.dispatchEvent("form-submit",t,t.$event))},resetFormEvent(e){let t=this;var r=t,a=t.$refs.refTable,r=r.proxyConfig;let o=e.$event;var s=t.computeProxyOpts;r&&(0,_utils.isEnableConf)(s)&&(a.clearScroll(),t.commitProxy("reload").then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)})),t.dispatchEvent("form-reset",e,o)},submitInvalidEvent(e){this.dispatchEvent("form-submit-invalid",e,e.$event)},collapseEvent(e){var t=e.$event;this.dispatchEvent("form-toggle-collapse",e,t),this.dispatchEvent("form-collapse",e,t)},triggerZoomEvent(e){var t=this.reactData;this.zoom(),this.dispatchEvent("zoom",{type:t.isZMax?"max":"revert"},e)},getParams(){return this.params},zoom(){return this.reactData.isZMax?this.revert():this.maximize()},isMaximized(){return this.reactData.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){let t=this,r=t.reactData;var a=r.isZMax;return(e?!a:a)&&(r.isZMax=!a,r.tZindex<(0,_utils.getLastZIndex)())&&(r.tZindex=(0,_utils.nextZIndex)()),t.$nextTick().then(()=>t.recalculate(!0)).then(()=>(setTimeout(()=>t.recalculate(!0),15),r.isZMax))},getProxyInfo(){var e,t=this.$refs.refTable,r=this.reactData;return this.proxyConfig?(e=r.sortData,{data:t?t.getFullData():[],filter:r.filterData,form:this.getFormData(),sort:e.length?e[0]:{},sorts:e,pager:r.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},loadColumn(e){let t=this.$scopedSlots;var r=this.$refs.refTable;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])})}),r.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)},getConfigSlot(e){let r=this.$scopedSlots,a={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?a[t]=r[e]:(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e]):a[t]=e)}),a},getToolbarSlots(){var e,t,r,a,o=this,s=o.$scopedSlots,i=o.computeToolbarOpts.slots,n={};return!s.buttons||i&&"buttons"===i.buttons||(0,_log.warnLog)("vxe.error.reqProp",["[grid] toolbar-config.slots.buttons"]),!s.tools||i&&"tools"===i.tools||(0,_log.warnLog)("vxe.error.reqProp",["[grid] toolbar-config.slots.tools"]),i&&(s=o.getFuncSlot(i,"buttons"),e=o.getFuncSlot(i,"buttonPrefix"),t=o.getFuncSlot(i,"buttonSuffix"),r=o.getFuncSlot(i,"tools"),a=o.getFuncSlot(i,"toolPrefix"),o=o.getFuncSlot(i,"toolSuffix"),s&&(n.buttons=s),e&&(n.buttonPrefix=e),t&&(n.buttonSuffix=t),r&&(n.tools=r),a&&(n.toolPrefix=a),o)&&(n.toolSuffix=o),n},getFuncSlot(e,t){var r=this.$scopedSlots,e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(r[e])return r[e];(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])}return null},renderDefaultForm(e){var r=_ui.VxeUI.getComponent("VxeForm");let a=this;var o=a;let s=a.$scopedSlots;var{proxyConfig:o,formConfig:t}=o,i=a.reactData.formData,n=a.computeProxyOpts,l=a.computeFormOpts;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=n.beforeItem;n&&t&&l.items.forEach(e=>{t.call(a,{$grid:a,$gantt:null,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[r?e(r,{props:Object.assign({},l,{data:o&&n.form?i:l.data}),on:{submit:a.submitFormEvent,reset:a.resetFormEvent,collapse:a.collapseEvent,"submit-invalid":a.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(a)]}return[]},renderForm(e){var t=this,r=t.formConfig,a=t.$scopedSlots.form;return!a&&!(0,_utils.isEnableConf)(r)?renderEmptyElement(t):e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},a?a.call(t,{$grid:t,$gantt:null}):t.renderDefaultForm(e))},renderToolbar(e){var t=this,r=t.toolbarConfig,a=t.$scopedSlots.toolbar,o=t.computeToolbarOpts;return r&&(0,_utils.isEnableConf)(o)||a?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},a?a.call(t,{$grid:t,$gantt:null}):[e(_toolbar.default,{props:Object.assign({},o,{slots:void 0}),ref:"refToolbar",scopedSlots:t.getToolbarSlots()})]):renderEmptyElement(t)},renderTop(e){var t=this.$scopedSlots.top;return t?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableLeft(e){var t=this.$scopedSlots.left;return t?e("div",{class:"vxe-grid--left-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableRight(e){var t=this.$scopedSlots.right;return t?e("div",{class:"vxe-grid--right-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTable(e){var t=this.$scopedSlots,r=this.computeTableProps;return e("div",{class:"vxe-grid--table-wrapper"},[e(_table.default,{key:"table",props:r,on:getTableOns(this),scopedSlots:t,ref:"refTable"})])},renderBottom(e){var t=this.$scopedSlots.bottom;return t?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderPager(e){var t=_ui.VxeUI.getComponent("VxePager"),r=this,a=r.$scopedSlots,o=r.reactData,{proxyConfig:s,pagerConfig:i}=r,n=r.computeProxyOpts,l=r.computePagerOpts,g=a.pager;return i&&(0,_utils.isEnableConf)(l)||a.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},g?g.call(r,{$grid:r,$gantt:null}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},l),s&&(0,_utils.isEnableConf)(n)?o.tablePage:{}),on:{"page-change":r.pageChangeEvent},scopedSlots:r.getConfigSlot(l.slots)}):renderEmptyElement(r)]):renderEmptyElement(r)},renderChildLayout(t,e){let r=this,a=[];return e.forEach(e=>{switch(e){case"Form":a.push(r.renderForm(t));break;case"Toolbar":a.push(r.renderToolbar(t));break;case"Top":a.push(r.renderTop(t));break;case"Table":a.push(t("div",{key:"table",class:"vxe-grid--table-container"},[r.renderTableLeft(t),r.renderTable(t),r.renderTableRight(t)]));break;case"Bottom":a.push(r.renderBottom(t));break;case"Pager":a.push(r.renderPager(t));break;default:(0,_log.errLog)("vxe.error.notProp",["[grid] layouts -> "+e])}}),a},renderLayout(e){var t=this,r=t.$scopedSlots,{headKeys:a,bodyKeys:o,footKeys:s}=t.computeCurrLayoutConf,i=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},t.renderChildLayout(e,a)),e("div",{class:"vxe-grid--layout-body-wrapper"},[i?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},i({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},t.renderChildLayout(e,o)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},t.renderChildLayout(e,s)),e("div",{ref:"refPopupContainerElem"})]},renderVN(e){var t=this,r=t.reactData,a=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+a]:a,"is--animat":!!t.animat,"is--round":t.round,"is--maximize":r.isZMax,"is--loading":t.computeIsLoading}],style:t.computeStyles},t.renderLayout(e))}}),created(){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");var r=this;let a=r;var o=r.computeProxyOpts;a.toolbar&&(0,_log.errLog)("vxe.error.delProp",["[grid] toolbar","toolbar-config"]),a.toolbarConfig&&!_xeUtils.default.isObject(a.toolbarConfig)&&(0,_log.errLog)("vxe.error.errProp",["[grid] toolbar-config="+a.toolbarConfig,"toolbar-config={}"]),o.props&&(0,_log.warnLog)("vxe.error.delProp",["[grid] proxy-config.props","proxy-config.response"]),r.$nextTick(()=>{a.formConfig&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),a.pagerConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),r.initPages(),globalEvents.on(r,"keydown",r.handleGlobalKeydownEvent)},mounted(){var e=this.columns;e&&e.length&&this.loadColumn(e),this.initToolbar(),this.initProxy()},destroyed(){var e=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createInternalData())},render(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_props=require("../../table/src/props"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,createEvent,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableMethods={},propKeys=Object.keys(_props.tableProps),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let a={};return _xeUtils.default.each(e,(e,t)=>{a[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(a["sort-change"]=r.sortChangeEvent,a["clear-all-sort"]=r.clearAllSortEvent),o.filter)&&(a["filter-change"]=r.filterChangeEvent,a["clear-all-filter"]=r.clearAllFilterEvent),a}function createInternalData(){return{uFoot:!1}}_xeUtils.default.each(_table.default.methods,(e,r)=>{tableMethods[r]=function(...e){var t=this.$refs.refTable;return t&&t[r](...e)}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.tableProps),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xeGantt:null}},data(){var e;return{xID:_xeUtils.default.uniqueId(),reactData:{tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}},internalData:createInternalData()}},computed:Object.assign(Object.assign({},{}),{isRespMsg(){return this.computeIsRespMsg},computeIsRespMsg(){var e=this.computeProxyOpts;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)},isActiveMsg(){return this.computeIsActiveMsg},computeIsActiveMsg(){var e=this.computeProxyOpts;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:o}=this.reactData,a={};return r?a.zIndex=o:(e&&(a.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(a.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),a},computeTableExtendProps(){let t={},r=this;return propKeys.forEach(e=>{void 0!==r[e]&&(t[e]=r[e])}),t},computeTableProps(){var e=this,{showFooter:t,seqConfig:r,pagerConfig:o,editConfig:a,proxyConfig:s}=e,{isZMax:i,tablePage:n,footerData:l}=e.reactData,u=e.computeProxyOpts,g=e.computePagerOpts,d=e.computeIsLoading,e=Object.assign({},e.computeTableExtendProps);return(t&&!e.footerData||u.footer&&l.length)&&(e.footerData=l),i&&(e.maxHeight?e.maxHeight="100%":e.height="100%"),s&&(0,_utils.isEnableConf)(u)&&(e.loading=d,o)&&u.seq&&(0,_utils.isEnableConf)(g)&&(e.seqConfig=Object.assign({},r,{startIndex:(n.currentPage-1)*n.pageSize})),a&&(e.editConfig=Object.assign({},a)),e},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],a=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:a}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total},computePageCount(){var e=this.reactData.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)},computeIsLoading(){var{loading:e,proxyConfig:t}=this,r=this.reactData.tableLoading,o=this.computeProxyOpts,a=o.showLoading;return e||r&&a&&t&&(0,_utils.isEnableConf)(o)}}),watch:{columns(e){let t=this;t.$nextTick(()=>t.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computeCustomCurrentPageFlag(){this.initPages("currentPage")},computeCustomPageSizeFlag(){this.initPages("pageSize")},computeCustomTotalFlag(){this.initPages("total")}},methods:Object.assign(Object.assign({},tableMethods),{dispatchEvent(e,t,r){this.$emit(e,createEvent(r,{$grid:this,$gantt:null},t))},initPages(e){var t=this.reactData.tablePage,r=this.pagerConfig,o=this.computePagerOpts;r&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):({currentPage:r,pageSize:e,total:o}=o,r&&(t.currentPage=r),e&&(t.pageSize=e),o&&(t.total=o)))},callSlot(e,t,r){var o=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=o[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var t=this,r=t.height,o=t.reactData.isZMax,a=t.$refs.refElem;if(a){var s=t.$refs.refFormWrapper,i=t.$refs.refToolbarWrapper,n=t.$refs.refTopWrapper,l=t.$refs.refBottomWrapper,t=t.$refs.refPagerWrapper,u=a.parentElement;let e=0;return(e=!u||"100%"!==r&&"auto"!==r?e:o?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(a)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(t)}return 0},getParentHeight(){var e=this.reactData,t=this.$refs.refElem;return t?(t=t.parentElement,(e.isZMax?(0,_dom.getDomNode)().visibleHeight:t?_xeUtils.default.toNumber(getComputedStyle(t).height):0)-this.getExcludeHeight()):0},initToolbar(){let r=this;r.$nextTick(()=>{var e=r.$refs.refTable,t=r.$refs.refToolbar;e&&t&&e.connectToolbar(t)})},getDefaultFormData(){var e=this.computeFormOpts;if(e.items){let i={};return e.items.forEach(t=>{var r,o,{field:a,itemRender:s}=t;if(a){let e=null;s&&({startField:s,endField:r,defaultValue:o}=s,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o),s)&&r&&(_xeUtils.default.set(i,s,null),_xeUtils.default.set(i,r,null)),i[a]=e}}),i}return{}},initProxy(){let t=this;var e=t,r=t.reactData;let o=t.internalData;var{proxyConfig:e,formConfig:a}=e,s=r.proxyInited,i=t.computeProxyOpts,n=t.computeFormOpts;e&&((0,_utils.isEnableConf)(a)&&i.form&&n.items&&(r.formData=t.getDefaultFormData()),s||!(r.proxyInited=!0)!==i.autoLoad&&t.$nextTick().then(()=>{o.uFoot=!0;var e=t.commitProxy("initial");return o.uFoot=!1,t.updateQueryFooter(),e}).then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},updateQueryFooter(){var e=this.computeProxyOpts.ajax;if(e&&e.queryFooter)return this.commitProxy("queryFooter")},handleGlobalKeydownEvent(e){var t=this.reactData,r=this.computeZoomOpts;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&t.isZMax&&!1!==r.escRestore&&this.triggerZoomEvent(e)},getRespMsg(e,t){var r=this.computeProxyOpts,r=(r.response||r.props||{}).message,o=this.$refs.refTable;let a;return(a=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:o,$grid:this,$gantt:null}):_xeUtils.default.get(e,r):a)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.computeIsActiveMsg,a=this.getCheckboxRecords();if(o)if(a.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&r();return Promise.resolve()},triggerPendingEvent(e){var t=this.computeIsActiveMsg,r=this.$refs.refTable,o=r.getCheckboxRecords();o.length?(r.togglePendingRow(o),this.clearCheckboxRow()):t&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})},commitProxy(t,...d){let c=this;var e=c;let p=c.reactData,m=c.internalData;var r=e.toolbar;let{showFooter:n,proxyConfig:l,toolbarConfig:o,pagerConfig:u,editRules:f,validConfig:h}=e,g=p.tablePage,v=c.computeIsActiveMsg,x=c.computeIsRespMsg;var b=c.computeProxyOpts;let y=c.computePagerOpts;var a,e=c.computeToolbarOpts;let{beforeQuery:_,afterQuery:P,beforeQueryFooter:s,afterQueryFooter:i,beforeDelete:E,afterDelete:C,beforeSave:L,afterSave:O,ajax:$={}}=b,F=b.response||b.props||{},S=c.$refs.refTable,D=c.getFormData(),T=null,U=null;U=_xeUtils.default.isString(t)?(a=e.buttons,r=(o||r)&&(0,_utils.isEnableConf)(e)&&a?_xeUtils.default.findTree(a,e=>e.code===t,{children:"dropdowns"}):null,T=r?r.item:null,t):(T=t).code;var I=T?T.params:null;switch(U){case"insert":return S.insert({});case"insert_edit":return S.insert({}).then(({row:e})=>S.setEditRow(e,!0));case"insert_actived":return S.insert({}).then(({row:e})=>S.setEditRow(e,!0));case"mark_cancel":c.triggerPendingEvent(U);break;case"remove":return c.handleDeleteRow(U,"vxe.grid.removeSelectRecord",()=>S.removeCheckboxRow());case"import":S.importData(I);break;case"open_import":S.openImport(I);break;case"export":S.exportData(I);break;case"open_export":S.openExport(I);break;case"reset_custom":S.resetCustom(!0);break;case"initial":case"reload":case"query":{var j=$.query;let i=$.querySuccess,o=$.queryError;if(j){var R="initial"===U,k="reload"===U;if(!R&&p.tableLoading)return c.$nextTick();let e=null,r=[],a=[],t={};if(u&&((R||k)&&(g.currentPage=1),(0,_utils.isEnableConf)(u))&&(t=Object.assign({},g)),R){if(l&&(0,_utils.isEnableConf)(b)&&b.form&&(D=c.getDefaultFormData(),p.formData=D),S){let{tableFullColumn:e,fullColumnFieldData:o}=S,t=S.computeSortOpts.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),r=t.map(e=>{var{field:e,order:t}=e,r=o[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),a=S.getCheckedFilters()}}else S&&(k?e=S.clearAll():(r=S.getSortColumns(),a=S.getCheckedFilters()));let s={$table:S,$grid:c,$gantt:null,code:U,button:T,isInited:R,isReload:k,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:D,options:j};return p.sortData=r,p.filterData=a,p.tableLoading=!0,Promise.all([Promise.resolve((_||j)(s,...d)),e]).then(([e])=>{let t=[];var r,o,a;return p.tableLoading=!1,e&&(r={data:e,$table:S,$grid:c,$gantt:null},u&&(0,_utils.isEnableConf)(y)?(a=F.total,a=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a||"page.total"))||0,g.total=_xeUtils.default.toNumber(a),o=F.result,t=(_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o||"result"))||[],o=Math.max(Math.ceil(a/g.pageSize),1),g.currentPage>o&&(g.currentPage=o)):(a=F.list,_xeUtils.default.isArray(e)?t=e:a&&(t=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a))||[])),n)&&(a=(o=F.footerData)?_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o):[],_xeUtils.default.isArray(a))&&(p.footerData=a),S?S.loadData(t):c.$nextTick(()=>{var e=c.$refs.refTable;e&&e.loadData(t)}),P&&P(s,...d),i&&i(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(p.tableLoading=!1,o&&o(Object.assign(Object.assign({},s),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.query"]);break}case"queryFooter":{R=$.queryFooter;let r=$.queryFooterSuccess,o=$.queryFooterError;if(R){let e=[],t=(S&&(e=S.getCheckedFilters()),{$table:S,$grid:c,$gantt:null,code:U,button:T,filters:e,form:D,options:R});return Promise.resolve((s||R)(t,...d)).then(e=>(p.footerData=_xeUtils.default.isArray(e)?e:[],i&&i(t,...d),r&&r(Object.assign(Object.assign({},t),{response:e})),{status:!0})).catch(e=>(o&&o(Object.assign(Object.assign({},t),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.queryFooter"]);break}case"delete":{let a=$.delete,s=$.deleteSuccess,i=$.deleteError;if(a){let e=S.getCheckboxRecords(),t=e.filter(e=>!S.isInsertByRow(e));k={removeRecords:t};let r={$table:S,$grid:c,$gantt:null,code:U,button:T,body:k,form:D,options:a},o=[r].concat(d);if(e.length)return c.handleDeleteRow(U,"vxe.grid.deleteSelectRecord",()=>t.length?(p.tableLoading=!0,Promise.resolve((E||a)(...o)).then(e=>(p.tableLoading=!1,S.setPendingRow(t,!1),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:c.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"}),C?C(...o):(m.uFoot=!0,c.commitProxy("query"),m.uFoot=!1,c.updateQueryFooter()),s&&s(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:c.getRespMsg(e,"vxe.grid.operError"),status:"error"}),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):S.remove(e));v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.delete"]);break}case"save":{let l=$.save,u=$.saveSuccess,g=$.saveError;if(l){let t=c.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:s}=t,i={$table:S,$grid:c,$gantt:null,code:U,button:T,body:t,form:D,options:l},n=[i].concat(d),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=f?c[h&&"full"===h.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||a.length||t.pendingRecords.length?(p.tableLoading=!0,Promise.resolve((L||l)(...n)).then(e=>(p.tableLoading=!1,S.clearPendingRow(),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:c.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"}),O?O(...n):(m.uFoot=!0,c.commitProxy("query"),m.uFoot=!1,c.updateQueryFooter()),u&&u(Object.assign(Object.assign({},i),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:c.getRespMsg(e,"vxe.grid.operError"),status:"error"}),g&&g(Object.assign(Object.assign({},i),{response:e})),{status:!1}))):void(v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.save"]);break}default:j=commands.get(U);j&&((R=j.tableCommandMethod||j.commandMethod)?R({code:U,button:T,$grid:c,$table:S,$gantt:null},...d):(0,_log.errLog)("vxe.error.notCommands",["[grid] "+U]))}return c.$nextTick()},getFormData(){var e=this.proxyConfig,t=this.reactData.formData,r=this.computeProxyOpts,o=this.computeFormOpts;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:o.data},getFormItems(e){var t=this.computeFormOpts,r=this.formConfig,o=t.items;let a=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&o?o:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},resetForm(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm(){var e=this.$refs.refForm;return e?e.validate():this.$nextTick()},validateFormField(e){var t=this.$refs.refForm;return t?t.validateField(e):this.$nextTick()},clearFormValidate(e){var t=this.$refs.refForm;return t?t.clearValidate(e):this.$nextTick()},homePage(){var e=this.reactData.tablePage;return e.currentPage=1,this.$nextTick()},homePageByEvent(e){var t=this.$refs.refPager;t&&t.homePageByEvent(e)},endPage(){var e=this.reactData.tablePage,t=this.computePageCount;return e.currentPage=t,this.$nextTick()},endPageByEvent(e){var t=this.$refs.refPager;t&&t.endPageByEvent(e)},getCurrentPage(){var e=this.reactData.tablePage;return e.currentPage},setCurrentPage(e){var t=this.reactData.tablePage,r=this.computePageCount;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),this.$nextTick()},setCurrentPageByEvent(e,t){var r=this.$refs.refPager;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=this.reactData.tablePage;return e.pageSize},setPageSize(e){var t=this.reactData.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),this.$nextTick()},setPageSizeByEvent(e,t){var r=this.$refs.refPager;r&&r.setPageSizeByEvent(e,t)},triggerToolbarCommitEvent(e,t){let r=this;var o,a=r.internalData;let s=e.code;return s?((o=["reload","delete","save"].includes(s))&&(a.uFoot=!0),e=r.commitProxy(e,t).then(e=>{s&&e&&e.status&&["query","reload","delete","save"].includes(s)&&r.dispatchEvent("delete"===s||"save"===s?"proxy-"+s:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===s}),t)}),o&&r.updateQueryFooter(),a.uFoot=!1,e):r.$nextTick()},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},pageChangeEvent(e){let t=this;var r=t.proxyConfig,o=t.reactData.tablePage;let{$event:a,currentPage:s,pageSize:i}=e;var n=t.computeProxyOpts;o.currentPage=s,o.pageSize=i,t.dispatchEvent("page-change",e,a),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,a)})},handleSortEvent(t){let r=this;var e=r,o=r.reactData,a=r.$refs.refTable,e=e.proxyConfig,s=r.computeProxyOpts;a.computeSortOpts.remote&&(o.sortData=t.sortList,e)&&(0,_utils.isEnableConf)(s)&&(o.tablePage.currentPage=1,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}))},sortChangeEvent(e){this.handleSortEvent(e),this.dispatchEvent("sort-change",e,e.$event)},clearAllSortEvent(e){this.handleSortEvent(e),this.dispatchEvent("clear-all-sort",e,e.$event)},handleFilterEvent(t){let r=this;var e=r,o=r.reactData,a=r.internalData,s=r.$refs.refTable,e=e.proxyConfig,i=r.computeProxyOpts;s.computeFilterOpts.remote&&(o.filterData=t.filterList,e)&&(0,_utils.isEnableConf)(i)&&(o.tablePage.currentPage=1,a.uFoot=!0,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}),a.uFoot=!1,r.updateQueryFooter())},filterChangeEvent(e){this.handleFilterEvent(e),this.dispatchEvent("filter-change",e,e.$event)},clearAllFilterEvent(e){this.handleFilterEvent(e),this.dispatchEvent("clear-all-filter",e,e.$event)},submitFormEvent(t){let r=this;var e=r,o=r.reactData,a=r.internalData,e=e.proxyConfig,s=r.computeProxyOpts;o.tableLoading||(e&&(0,_utils.isEnableConf)(s)&&(a.uFoot=!0,r.commitProxy("reload").then(e=>{r.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),a.uFoot=!1,r.updateQueryFooter()),r.dispatchEvent("form-submit",t,t.$event))},resetFormEvent(e){let t=this;var r=t,o=t.internalData,a=t.$refs.refTable,r=r.proxyConfig;let s=e.$event;var i=t.computeProxyOpts;r&&(0,_utils.isEnableConf)(i)&&(a.clearScroll(),o.uFoot=!0,t.commitProxy("reload").then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),s)}),o.uFoot=!1,t.updateQueryFooter()),t.dispatchEvent("form-reset",e,s)},submitInvalidEvent(e){this.dispatchEvent("form-submit-invalid",e,e.$event)},collapseEvent(e){var t=e.$event;this.dispatchEvent("form-toggle-collapse",e,t),this.dispatchEvent("form-collapse",e,t)},triggerZoomEvent(e){var t=this.reactData;this.zoom(),this.dispatchEvent("zoom",{type:t.isZMax?"max":"revert"},e)},getParams(){return this.params},zoom(){return this.reactData.isZMax?this.revert():this.maximize()},isMaximized(){return this.reactData.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){let t=this,r=t.reactData;var o=r.isZMax;return(e?!o:o)&&(r.isZMax=!o,r.tZindex<(0,_utils.getLastZIndex)())&&(r.tZindex=(0,_utils.nextZIndex)()),t.$nextTick().then(()=>t.recalculate(!0)).then(()=>(setTimeout(()=>t.recalculate(!0),15),r.isZMax))},getProxyInfo(){var e,t=this.$refs.refTable,r=this.reactData;return this.proxyConfig?(e=r.sortData,{data:t?t.getFullData():[],filter:r.filterData,form:this.getFormData(),sort:e.length?e[0]:{},sorts:e,pager:r.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},loadColumn(e){let t=this.$scopedSlots;var r=this.$refs.refTable;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])})}),r.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)},getConfigSlot(e){let r=this.$scopedSlots,o={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?o[t]=r[e]:(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e]):o[t]=e)}),o},getToolbarSlots(){var e,t,r,o,a=this,s=a.$scopedSlots,i=a.computeToolbarOpts.slots,n={};return!s.buttons||i&&"buttons"===i.buttons||(0,_log.warnLog)("vxe.error.reqProp",["[grid] toolbar-config.slots.buttons"]),!s.tools||i&&"tools"===i.tools||(0,_log.warnLog)("vxe.error.reqProp",["[grid] toolbar-config.slots.tools"]),i&&(s=a.getFuncSlot(i,"buttons"),e=a.getFuncSlot(i,"buttonPrefix"),t=a.getFuncSlot(i,"buttonSuffix"),r=a.getFuncSlot(i,"tools"),o=a.getFuncSlot(i,"toolPrefix"),a=a.getFuncSlot(i,"toolSuffix"),s&&(n.buttons=s),e&&(n.buttonPrefix=e),t&&(n.buttonSuffix=t),r&&(n.tools=r),o&&(n.toolPrefix=o),a)&&(n.toolSuffix=a),n},getFuncSlot(e,t){var r=this.$scopedSlots,e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(r[e])return r[e];(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])}return null},renderDefaultForm(e){var r=_ui.VxeUI.getComponent("VxeForm");let o=this;var a=o;let s=o.$scopedSlots;var{proxyConfig:a,formConfig:t}=a,i=o.reactData.formData,n=o.computeProxyOpts,l=o.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(o,{$grid:o,$gantt:null,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[r?e(r,{props:Object.assign({},l,{data:a&&n.form?i:l.data}),on:{submit:o.submitFormEvent,reset:o.resetFormEvent,collapse:o.collapseEvent,"submit-invalid":o.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(o)]}return[]},renderForm(e){var t=this,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,$gantt:null}):t.renderDefaultForm(e))},renderToolbar(e){var t=this,r=t.toolbarConfig,o=t.$scopedSlots.toolbar,a=t.computeToolbarOpts;return r&&(0,_utils.isEnableConf)(a)||o?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t,$gantt:null}):[e(_toolbar.default,{props:Object.assign({},a,{slots:void 0}),ref:"refToolbar",scopedSlots:t.getToolbarSlots()})]):renderEmptyElement(t)},renderTop(e){var t=this.$scopedSlots.top;return t?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableLeft(e){var t=this.$scopedSlots.left;return t?e("div",{class:"vxe-grid--left-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableRight(e){var t=this.$scopedSlots.right;return t?e("div",{class:"vxe-grid--right-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTable(e){var t=this.$scopedSlots,r=this.computeTableProps;return e("div",{class:"vxe-grid--table-wrapper"},[e(_table.default,{key:"table",props:r,on:getTableOns(this),scopedSlots:t,ref:"refTable"})])},renderBottom(e){var t=this.$scopedSlots.bottom;return t?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderPager(e){var t=_ui.VxeUI.getComponent("VxePager"),r=this,o=r.$scopedSlots,a=r.reactData,{proxyConfig:s,pagerConfig:i}=r,n=r.computeProxyOpts,l=r.computePagerOpts,u=o.pager;return i&&(0,_utils.isEnableConf)(l)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},u?u.call(r,{$grid:r,$gantt:null}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},l),s&&(0,_utils.isEnableConf)(n)?a.tablePage:{}),on:{"page-change":r.pageChangeEvent},scopedSlots:r.getConfigSlot(l.slots)}):renderEmptyElement(r)]):renderEmptyElement(r)},renderChildLayout(t,e){let r=this,o=[];return e.forEach(e=>{switch(e){case"Form":o.push(r.renderForm(t));break;case"Toolbar":o.push(r.renderToolbar(t));break;case"Top":o.push(r.renderTop(t));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[r.renderTableLeft(t),r.renderTable(t),r.renderTableRight(t)]));break;case"Bottom":o.push(r.renderBottom(t));break;case"Pager":o.push(r.renderPager(t));break;default:(0,_log.errLog)("vxe.error.notProp",["[grid] layouts -> "+e])}}),o},renderLayout(e){var t=this,r=t.$scopedSlots,{headKeys:o,bodyKeys:a,footKeys:s}=t.computeCurrLayoutConf,i=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},t.renderChildLayout(e,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[i?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},i({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},t.renderChildLayout(e,a)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},t.renderChildLayout(e,s)),e("div",{ref:"refPopupContainerElem"})]},renderVN(e){var t=this,r=t.reactData,o=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+o]:o,"is--animat":!!t.animat,"is--round":t.round,"is--maximize":r.isZMax,"is--loading":t.computeIsLoading}],style:t.computeStyles},t.renderLayout(e))}}),created(){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");var r=this;let o=r;var a=r.computeProxyOpts;o.toolbar&&(0,_log.errLog)("vxe.error.delProp",["[grid] toolbar","toolbar-config"]),o.toolbarConfig&&!_xeUtils.default.isObject(o.toolbarConfig)&&(0,_log.errLog)("vxe.error.errProp",["[grid] toolbar-config="+o.toolbarConfig,"toolbar-config={}"]),a.props&&(0,_log.warnLog)("vxe.error.delProp",["[grid] proxy-config.props","proxy-config.response"]),r.$nextTick(()=>{o.formConfig&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),o.pagerConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),r.initPages(),globalEvents.on(r,"keydown",r.handleGlobalKeydownEvent)},mounted(){var e=this.columns;e&&e.length&&this.loadColumn(e),this.initToolbar(),this.initProxy()},destroyed(){var e=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createInternalData())},render(e){return this.renderVN(e)}});
|