vxe-table 4.7.59 → 4.7.61

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.
Files changed (51) hide show
  1. package/es/grid/src/grid.js +32 -11
  2. package/es/locale/lang/ja-JP.js +22 -22
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/export/hook.js +13 -3
  6. package/es/table/render/index.js +9 -9
  7. package/es/table/src/footer.js +1 -1
  8. package/es/table/src/header.js +1 -1
  9. package/es/toolbar/src/toolbar.js +1 -0
  10. package/es/ui/index.js +2 -2
  11. package/es/ui/src/log.js +1 -1
  12. package/lib/grid/src/grid.js +44 -11
  13. package/lib/grid/src/grid.min.js +1 -1
  14. package/lib/index.umd.js +86 -28
  15. package/lib/index.umd.min.js +1 -1
  16. package/lib/locale/lang/ja-JP.js +22 -22
  17. package/lib/locale/lang/ja-JP.min.js +1 -1
  18. package/lib/locale/lang/ja-JP.umd.js +22 -22
  19. package/lib/style.css +1 -1
  20. package/lib/style.min.css +1 -1
  21. package/lib/table/module/export/hook.js +19 -3
  22. package/lib/table/module/export/hook.min.js +1 -1
  23. package/lib/table/render/index.js +9 -9
  24. package/lib/table/render/index.min.js +1 -1
  25. package/lib/table/src/footer.js +1 -1
  26. package/lib/table/src/footer.min.js +1 -1
  27. package/lib/table/src/header.js +1 -1
  28. package/lib/table/src/header.min.js +1 -1
  29. package/lib/toolbar/src/toolbar.js +1 -0
  30. package/lib/toolbar/src/toolbar.min.js +1 -1
  31. package/lib/ui/index.js +2 -2
  32. package/lib/ui/index.min.js +1 -1
  33. package/lib/ui/src/log.js +1 -1
  34. package/lib/ui/src/log.min.js +1 -1
  35. package/package.json +2 -2
  36. package/packages/grid/src/grid.ts +33 -12
  37. package/packages/locale/lang/ja-JP.ts +22 -22
  38. package/packages/table/module/export/hook.ts +13 -3
  39. package/packages/table/render/index.ts +9 -9
  40. package/packages/table/src/footer.ts +1 -1
  41. package/packages/table/src/header.ts +1 -1
  42. package/packages/toolbar/src/toolbar.ts +1 -0
  43. package/styles/theme/base.scss +2 -7
  44. package/styles/theme/dark.scss +4 -1
  45. package/styles/theme/light.scss +4 -1
  46. /package/es/{iconfont.1721660188146.ttf → iconfont.1722851815900.ttf} +0 -0
  47. /package/es/{iconfont.1721660188146.woff → iconfont.1722851815900.woff} +0 -0
  48. /package/es/{iconfont.1721660188146.woff2 → iconfont.1722851815900.woff2} +0 -0
  49. /package/lib/{iconfont.1721660188146.ttf → iconfont.1722851815900.ttf} +0 -0
  50. /package/lib/{iconfont.1721660188146.woff → iconfont.1722851815900.woff} +0 -0
  51. /package/lib/{iconfont.1721660188146.woff2 → iconfont.1722851815900.woff2} +0 -0
@@ -105,7 +105,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
105
105
  };
106
106
  });
107
107
  const computeProxyOpts = (0, _vue.computed)(() => {
108
- return Object.assign({}, getConfig().grid.proxyConfig, props.proxyConfig);
108
+ return _xeUtils.default.merge({}, getConfig().grid.proxyConfig, props.proxyConfig);
109
109
  });
110
110
  const computeIsRespMsg = (0, _vue.computed)(() => {
111
111
  const proxyOpts = computeProxyOpts.value;
@@ -861,6 +861,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
861
861
  case 'query':
862
862
  {
863
863
  const ajaxMethods = ajax.query;
864
+ const querySuccessMethods = ajax.querySuccess;
865
+ const queryErrorMethods = ajax.queryError;
864
866
  if (ajaxMethods) {
865
867
  const isInited = code === '_init';
866
868
  const isReload = code === 'reload';
@@ -919,8 +921,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
919
921
  reactData.sortData = sortList;
920
922
  reactData.filterData = filterList;
921
923
  reactData.tableLoading = true;
922
- const applyArgs = [commitParams].concat(args);
923
- return Promise.resolve((beforeQuery || ajaxMethods)(...applyArgs)).then(rest => {
924
+ return Promise.resolve((beforeQuery || ajaxMethods)(commitParams, ...args)).then(rest => {
924
925
  reactData.tableLoading = false;
925
926
  if (rest) {
926
927
  if (pagerConfig && (0, _utils.isEnableConf)(pagerOpts)) {
@@ -951,13 +952,23 @@ var _default = exports.default = (0, _vue.defineComponent)({
951
952
  reactData.tableData = [];
952
953
  }
953
954
  if (afterQuery) {
954
- afterQuery(...applyArgs);
955
+ afterQuery(commitParams, ...args);
956
+ }
957
+ if (querySuccessMethods) {
958
+ querySuccessMethods(Object.assign(Object.assign({}, commitParams), {
959
+ response: rest
960
+ }));
955
961
  }
956
962
  return {
957
963
  status: true
958
964
  };
959
- }).catch(() => {
965
+ }).catch(rest => {
960
966
  reactData.tableLoading = false;
967
+ if (queryErrorMethods) {
968
+ queryErrorMethods(Object.assign(Object.assign({}, commitParams), {
969
+ response: rest
970
+ }));
971
+ }
961
972
  return {
962
973
  status: false
963
974
  };
@@ -972,6 +983,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
972
983
  case 'delete':
973
984
  {
974
985
  const ajaxMethods = ajax.delete;
986
+ const deleteSuccessMethods = ajax.deleteSuccess;
987
+ const deleteErrorMethods = ajax.deleteError;
975
988
  if (ajaxMethods) {
976
989
  const selectRecords = gridExtendTableMethods.getCheckboxRecords();
977
990
  const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
@@ -986,14 +999,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
986
999
  form: formData,
987
1000
  options: ajaxMethods
988
1001
  };
989
- const applyArgs = [commitParams].concat(args);
990
1002
  if (selectRecords.length) {
991
1003
  return handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
992
1004
  if (!removeRecords.length) {
993
1005
  return $xeTable.remove(selectRecords);
994
1006
  }
995
1007
  reactData.tableLoading = true;
996
- return Promise.resolve((beforeDelete || ajaxMethods)(...applyArgs)).then(rest => {
1008
+ return Promise.resolve((beforeDelete || ajaxMethods)(commitParams, ...args)).then(rest => {
997
1009
  reactData.tableLoading = false;
998
1010
  $xeTable.setPendingRow(removeRecords, false);
999
1011
  if (isRespMsg) {
@@ -1005,10 +1017,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
1005
1017
  }
1006
1018
  }
1007
1019
  if (afterDelete) {
1008
- afterDelete(...applyArgs);
1020
+ afterDelete(commitParams, ...args);
1009
1021
  } else {
1010
1022
  gridMethods.commitProxy('query');
1011
1023
  }
1024
+ if (deleteSuccessMethods) {
1025
+ deleteSuccessMethods(Object.assign(Object.assign({}, commitParams), {
1026
+ response: rest
1027
+ }));
1028
+ }
1012
1029
  return {
1013
1030
  status: true
1014
1031
  };
@@ -1023,6 +1040,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
1023
1040
  });
1024
1041
  }
1025
1042
  }
1043
+ if (deleteErrorMethods) {
1044
+ deleteErrorMethods(Object.assign(Object.assign({}, commitParams), {
1045
+ response: rest
1046
+ }));
1047
+ }
1026
1048
  return {
1027
1049
  status: false
1028
1050
  };
@@ -1049,6 +1071,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
1049
1071
  case 'save':
1050
1072
  {
1051
1073
  const ajaxMethods = ajax.save;
1074
+ const saveSuccessMethods = ajax.saveSuccess;
1075
+ const saveErrorMethods = ajax.saveError;
1052
1076
  if (ajaxMethods) {
1053
1077
  const body = $xeTable.getRecordset();
1054
1078
  const {
@@ -1065,7 +1089,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
1065
1089
  form: formData,
1066
1090
  options: ajaxMethods
1067
1091
  };
1068
- const applyArgs = [commitParams].concat(args);
1069
1092
  // 排除掉新增且标记为删除的数据
1070
1093
  if (insertRecords.length) {
1071
1094
  body.pendingRecords = pendingRecords.filter(row => $xeTable.findRowIndexOf(insertRecords, row) === -1);
@@ -1086,7 +1109,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1086
1109
  }
1087
1110
  if (body.insertRecords.length || removeRecords.length || updateRecords.length || body.pendingRecords.length) {
1088
1111
  reactData.tableLoading = true;
1089
- return Promise.resolve((beforeSave || ajaxMethods)(...applyArgs)).then(rest => {
1112
+ return Promise.resolve((beforeSave || ajaxMethods)(commitParams, ...args)).then(rest => {
1090
1113
  reactData.tableLoading = false;
1091
1114
  $xeTable.clearPendingRow();
1092
1115
  if (isRespMsg) {
@@ -1098,10 +1121,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
1098
1121
  }
1099
1122
  }
1100
1123
  if (afterSave) {
1101
- afterSave(...applyArgs);
1124
+ afterSave(commitParams, ...args);
1102
1125
  } else {
1103
1126
  gridMethods.commitProxy('query');
1104
1127
  }
1128
+ if (saveSuccessMethods) {
1129
+ saveSuccessMethods(Object.assign(Object.assign({}, commitParams), {
1130
+ response: rest
1131
+ }));
1132
+ }
1105
1133
  return {
1106
1134
  status: true
1107
1135
  };
@@ -1116,6 +1144,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
1116
1144
  });
1117
1145
  }
1118
1146
  }
1147
+ if (saveErrorMethods) {
1148
+ saveErrorMethods(Object.assign(Object.assign({}, commitParams), {
1149
+ response: rest
1150
+ }));
1151
+ }
1119
1152
  return {
1120
1153
  status: false
1121
1154
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table")),_toolbar=_interopRequireDefault(require("../../toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_emits=_interopRequireDefault(require("../../table/src/emits")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props.default),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getData","getCheckboxRecords","getParentRow","getRowSeq","getRowById","getRowid","getTableData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","isCheckedByCheckboxRow","isIndeterminateByCheckboxRow","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","setRadioRow","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","getPendingRecords","clearPendingRow","sort","clearSort","isSort","getSortColumns","closeFilter","isFilter","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","openTooltip","getCellLabel","getCellElement","focus","blur","connect"],gridComponentEmits=[..._emits.default,"page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"];var _default=exports.default=(0,_vue.defineComponent)({name:"VxeGrid",props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),emits:gridComponentEmits,setup(z,e){const{slots:s,emit:r}=e;var y=_xeUtils.default.uniqueId();const l=_ui.VxeUI.getComponent("VxeForm"),u=_ui.VxeUI.getComponent("VxePager"),w=useFns.useSize(z)["computeSize"],Z=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1}}),d=(0,_vue.ref)(),B=(0,_vue.ref)(),g=(0,_vue.ref)(),n=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),f=(0,_vue.ref)(),p=(0,_vue.ref)(),x=(0,_vue.ref)();var t=e=>{const t={};return e.forEach(o=>{t[o]=(...e)=>{var t=B.value;if(t&&t[o])return t[o](...e)}}),t};const A=t(tableComponentMethodKeys),H=(tableComponentMethodKeys.forEach(o=>{A[o]=(...e)=>{var t=B.value;if(t&&t[o])return t&&t[o](...e)}}),(0,_vue.computed)(()=>Object.assign({},getConfig().grid.proxyConfig,z.proxyConfig))),ee=(0,_vue.computed)(()=>{var e=H.value;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg}),K=(0,_vue.computed)(()=>{return H.value.showActiveMsg}),G=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,z.pagerConfig)),_=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,z.formConfig)),Q=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,z.toolbarConfig)),o=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,z.zoomConfig)),O=(0,_vue.computed)(()=>Z.isZMax?{zIndex:Z.tZindex}:null),I=(0,_vue.computed)(()=>{const t={},o=z;return tableComponentPropKeys.forEach(e=>{t[e]=o[e]}),t}),k={refElem:d,refTable:B,refForm:g,refToolbar:n,refPager:c},P={computeProxyOpts:H,computePagerOpts:G,computeFormOpts:_,computeToolbarOpts:Q,computeZoomOpts:o},W={xID:y,props:z,context:e,reactData:Z,getRefMaps:()=>k,getComputeMaps:()=>P},U=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,loading:o,editConfig:r,proxyConfig:a}=z,{isZMax:n,tableLoading:i,tablePage:s,tableData:l}=Z,u=I.value,d=H.value,g=G.value,c=Object.assign({},u);return n&&(u.maxHeight?c.maxHeight="100%":c.height="100%"),a&&(0,_utils.isEnableConf)(d)&&(c.loading=o||i,c.data=l,t)&&d.seq&&(0,_utils.isEnableConf)(g)&&(c.seqConfig=Object.assign({},e,{startIndex:(s.currentPage-1)*s.pageSize})),r&&(c.editConfig=Object.assign({},r)),c}),i=()=>{var e=Q.value;z.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=B.value,t=n.value;e&&t&&e.connect(t)})},a=()=>{var e=Z["tablePage"],t=z["pagerConfig"],o=G.value,{currentPage:r,pageSize:a}=o;t&&(0,_utils.isEnableConf)(o)&&(r&&(e.currentPage=r),a)&&(e.pageSize=a)},Y=(e,t)=>{var o=H.value,o=(o.response||o.props||{}).message;let r;return(r=e&&o?_xeUtils.default.isFunction(o)?o({data:e,$grid:W}):_xeUtils.default.get(e,o):r)||getI18n(t)},J=(e,t,o)=>{var r=K.value,a=A.getCheckboxRecords();if(r)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 o()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&o();return Promise.resolve()},T=e=>{var t=z["proxyConfig"],o=Z["tablePage"];const{$event:r,currentPage:a,pageSize:n}=e;var i=H.value;o.currentPage=a,o.pageSize=n,X.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(i)&&X.commitProxy("query").then(e=>{X.dispatchEvent("proxy-query",e,r)})},V=t=>{var e=B.value,o=z["proxyConfig"],e=e.getComputeMaps()["computeSortOpts"],r=H.value;e.value.remote&&(Z.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(r)&&(Z.tablePage.currentPage=1,X.commitProxy("query").then(e=>{X.dispatchEvent("proxy-query",e,t.$event)})),X.dispatchEvent("sort-change",t,t.$event)},D=t=>{var e=B.value,o=z["proxyConfig"],e=e.getComputeMaps()["computeFilterOpts"],r=H.value;e.value.remote&&(Z.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(r)&&(Z.tablePage.currentPage=1,X.commitProxy("query").then(e=>{X.dispatchEvent("proxy-query",e,t.$event)})),X.dispatchEvent("filter-change",t,t.$event)},S=t=>{var e=z["proxyConfig"],o=H.value;e&&(0,_utils.isEnableConf)(o)&&X.commitProxy("reload").then(e=>{X.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),X.dispatchEvent("form-submit",t,t.$event)},j=e=>{var t=z["proxyConfig"];const o=e["$event"];var r=H.value;t&&(0,_utils.isEnableConf)(r)&&X.commitProxy("reload").then(e=>{X.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)}),X.dispatchEvent("form-reset",e,o)},M=e=>{X.dispatchEvent("form-submit-invalid",e,e.$event)},q=e=>{var t=e["$event"];(0,_vue.nextTick)(()=>A.recalculate(!0)),X.dispatchEvent("form-toggle-collapse",e,t),X.dispatchEvent("form-collapse",e,t)},b=e=>{var t=Z["isZMax"];return(e?!t:t)&&(Z.isZMax=!t,Z.tZindex<(0,_utils.getLastZIndex)())&&(Z.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>A.recalculate(!0)).then(()=>Z.isZMax)},C=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(s[e])return s[e];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[e])}return null},L=()=>{var{formConfig:e,proxyConfig:t}=z,o=Z["formData"],r=H.value,a=_.value;if(e&&(0,_utils.isEnableConf)(a)||s.form){let e=[];if(s.form)e=s.form({$grid:W});else if(a.items){const n={};if(!a.inited){a.inited=!0;const i=r.beforeItem;r&&i&&a.items.forEach(e=>{i({$grid:W,item:e})})}a.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(n[e]=s[e])})}),l&&e.push((0,_vue.h)(l,Object.assign(Object.assign({ref:g},Object.assign({},a,{data:t&&(0,_utils.isEnableConf)(r)&&r.form?o:a.data})),{onSubmit:S,onReset:j,onSubmitInvalid:M,onCollapse:q}),n))}return(0,_vue.h)("div",{ref:v,key:"form",class:"vxe-grid--form-wrapper"},e)}return(0,_vue.createCommentVNode)()},N=()=>{var t,o,r=z["toolbarConfig"],a=Q.value;if(r&&(0,_utils.isEnableConf)(a)||s.toolbar){let e=[];return s.toolbar?e=s.toolbar({$grid:W}):(r={},(o=a.slots)&&(t=C(o,"buttons"),o=C(o,"tools"),t&&(r.buttons=t),o)&&(r.tools=o),e.push((0,_vue.h)(_toolbar.default,Object.assign({ref:n},a),r))),(0,_vue.h)("div",{ref:m,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return(0,_vue.createCommentVNode)()},F=()=>s.top?(0,_vue.h)("div",{ref:f,key:"top",class:"vxe-grid--top-wrapper"},s.top({$grid:W})):(0,_vue.createCommentVNode)(),$=()=>{var e=s.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:W})):(0,_vue.createCommentVNode)()},te=()=>{var e=s.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:W})):(0,_vue.createCommentVNode)()},oe=()=>{var e=z["proxyConfig"],t=U.value,o=H.value,r=Object.assign({},h);const a=s.empty,n=s.loading;e&&(0,_utils.isEnableConf)(o)&&(o.sort&&(r.onSortChange=V),o.filter)&&(r.onFilterChange=D);e={};return a&&(e.empty=()=>a({$grid:W})),n&&(e.loading=()=>n({$grid:W})),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:B},t),r),e)])},re=()=>s.bottom?(0,_vue.h)("div",{ref:p,key:"bottom",class:"vxe-grid--bottom-wrapper"},s.bottom({$grid:W})):(0,_vue.createCommentVNode)(),ae=()=>{var t,o,{proxyConfig:r,pagerConfig:a}=z,n=H.value,i=G.value;if(a&&(0,_utils.isEnableConf)(i)||s.pager){let e=[];return s.pager?e=s.pager({$grid:W}):(a={},(o=i.slots)&&(t=C(o,"left"),o=C(o,"right"),t&&(a.left=t),o)&&(a.right=o),u&&e.push((0,_vue.h)(u,Object.assign(Object.assign(Object.assign({ref:c},i),r&&(0,_utils.isEnableConf)(n)?Z.tablePage:{}),{onPageChange:T}),a))),(0,_vue.h)("div",{ref:x,key:"pager",class:"vxe-grid--pager-wrapper"},e)}return(0,_vue.createCommentVNode)()},ne=["Form","Toolbar","Top","Table","Bottom","Pager"],h={},ie=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);h[e]=(...e)=>r(t,...e)}),()=>{var{proxyConfig:e,formConfig:t}=z,o=Z["proxyInited"],r=H.value,a=_.value;if(e&&(0,_utils.isEnableConf)(r)){if(t&&(0,_utils.isEnableConf)(a)&&r.form&&a.items){const n={};a.items.forEach(t=>{var{field:o,itemRender:r}=t;if(o){let e=null;r&&(r=r["defaultValue"],_xeUtils.default.isFunction(r)?e=r({item:t}):_xeUtils.default.isUndefined(r)||(e=r)),n[o]=e}}),Z.formData=n}o||!(Z.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(()=>X.commitProxy("_init")).then(e=>{X.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("init"))})}}),X={dispatchEvent(e,t,o){r(e,createEvent(o,{$grid:W},t))},commitProxy(t,...r){const{toolbarConfig:M,pagerConfig:a,editRules:q,validConfig:o}=z,{tablePage:n,formData:i}=Z,s=K.value,l=ee.value;var e=H.value;const u=G.value;var d=Q.value;const{beforeQuery:L,afterQuery:g,beforeDelete:N,afterDelete:c,beforeSave:F,afterSave:v,ajax:m={}}=e,f=e.response||e.props||{},p=B.value;let x=null,_=null;_=_xeUtils.default.isString(t)?(e=d["buttons"],d=M&&(0,_utils.isEnableConf)(d)&&e?_xeUtils.default.findTree(e,e=>e.code===t,{children:"dropdowns"}):null,x=d?d.item:null,t):(x=t).code;var b=x?x.params:null;switch(_){case"insert":return p.insert({});case"insert_edit":return p.insert({}).then(({row:e})=>p.setEditRow(e));case"insert_actived":return p.insert({}).then(({row:e})=>p.setEditRow(e));case"mark_cancel":R=_,E=K.value,C=B.value,(h=C.getCheckboxRecords()).length?(C.togglePendingRow(h),A.clearCheckboxRow()):E&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return J(_,"vxe.grid.removeSelectRecord",()=>p.removeCheckboxRow());case"import":p.importData(b);break;case"open_import":p.openImport(b);break;case"export":p.exportData(b);break;case"open_export":p.openExport(b);break;case"reset_custom":return p.resetColumn(!0);case"_init":case"reload":case"query":var C=m.query;if(C){var h="_init"===_,E="reload"===_;let t=[],o=[],e={};if(a&&((h||E)&&(n.currentPage=1),(0,_utils.isEnableConf)(u))&&(e=Object.assign({},n)),h){var R=p.getComputeMaps()["computeSortOpts"];let e=R.value.defaultSort;e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),o=p.getCheckedFilters()}else E?p.clearAll():(t=p.getSortColumns(),o=p.getCheckedFilters());var y={code:_,button:x,isInited:h,isReload:E,$grid:W,page:e,sort:t.length?t[0]:{},sorts:t,filters:o,form:i,options:C};Z.sortData=t,Z.filterData=o,Z.tableLoading=!0;const w=[y].concat(r);return Promise.resolve((L||C)(...w)).then(e=>{var t,o;return Z.tableLoading=!1,e?a&&(0,_utils.isEnableConf)(u)?(o=f.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:W}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),t=f.result,Z.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:W}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(o=f.list,Z.tableData=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:W}):_xeUtils.default.get(e,o):e)||[]):Z.tableData=[],g&&g(...w),{status:!0}}).catch(()=>({status:Z.tableLoading=!1}))}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break;case"delete":{const O=m.delete;if(O){const I=A.getCheckboxRecords(),k=I.filter(e=>!p.isInsertByRow(e));y={removeRecords:k};const P=[{$grid:W,code:_,button:x,body:y,form:i,options:O}].concat(r);if(I.length)return J(_,"vxe.grid.deleteSelectRecord",()=>k.length?(Z.tableLoading=!0,Promise.resolve((N||O)(...P)).then(e=>(Z.tableLoading=!1,p.setPendingRow(k,!1),l&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:Y(e,"vxe.grid.delSuccess"),status:"success"}),c?c(...P):X.commitProxy("query"),{status:!0})).catch(e=>(Z.tableLoading=!1,l&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:_,content:Y(e,"vxe.grid.operError"),status:"error"}),{status:!1}))):p.remove(I));s&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:_,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":{const U=m.save;if(U){const T=p.getRecordset(),{insertRecords:V,removeRecords:$,updateRecords:D,pendingRecords:S}=T;const j=[{$grid:W,code:_,button:x,body:T,form:i,options:U}].concat(r);V.length&&(T.pendingRecords=S.filter(e=>-1===p.findRowIndexOf(V,e))),S.length&&(T.insertRecords=V.filter(e=>-1===p.findRowIndexOf(S,e)));let e=Promise.resolve();return(e=q?p[o&&"full"===o.msgMode?"fullValidate":"validate"](T.insertRecords.concat(D)):e).then(e=>{if(!e)return T.insertRecords.length||$.length||D.length||T.pendingRecords.length?(Z.tableLoading=!0,Promise.resolve((F||U)(...j)).then(e=>(Z.tableLoading=!1,p.clearPendingRow(),l&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:Y(e,"vxe.grid.saveSuccess"),status:"success"}),v?v(...j):X.commitProxy("query"),{status:!0})).catch(e=>(Z.tableLoading=!1,l&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:_,content:Y(e,"vxe.grid.operError"),status:"error"}),{status:!1}))):void(s&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:_,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var y=commands.get(_);y&&((y=y.tableCommandMethod||y.commandMethod)?y({code:_,button:x,$grid:W,$table:p},...r):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[_]))}return(0,_vue.nextTick)()},zoom(){return Z.isZMax?X.revert():X.maximize()},isMaximized(){return Z.isZMax},maximize(){return b(!0)},revert(){return b()},getFormItems(e){var t=_.value,o=z["formConfig"],r=t["items"];const a=[];return _xeUtils.default.eachTree(o&&(0,_utils.isEnableConf)(t)&&r?r:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},getProxyInfo(){var e,t=B.value;return z.proxyConfig?(e=Z["sortData"],{data:Z.tableData,filter:Z.filterData,form:Z.formData,sort:e.length?e[0]:{},sorts:e,pager:Z.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},E=("development"===process.env.NODE_ENV&&(X.loadColumn=e=>{var t=B.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},X.reloadColumn=e=>(A.clearAll(),X.loadColumn(e))),{extendTableMethods:t,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e=z["height"],t=Z["isZMax"],o=d.value,r=v.value,a=m.value,n=f.value,i=p.value,s=x.value;return(t||"auto"!==e&&"100%"!==e?0:(0,_dom.getPaddingTopBottomSize)(o.parentNode))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(s)},getParentHeight(){var e=d.value;return e?(Z.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-E.getExcludeHeight():0},triggerToolbarCommitEvent(e,t){const o=e["code"];return X.commitProxy(e,t).then(e=>{o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&X.dispatchEvent("delete"===o||"save"===o?"proxy-"+o:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent(e,t){E.triggerToolbarCommitEvent(e,t),X.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){E.triggerToolbarCommitEvent(e,t),X.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){X.zoom(),X.dispatchEvent("zoom",{type:Z.isZMax?"max":"revert"},e)}}),R=(Object.assign(W,A,X,E),(0,_vue.ref)(0)),se=((0,_vue.watch)(()=>z.columns?z.columns.length:-1,()=>{R.value++}),(0,_vue.watch)(()=>z.columns,()=>{R.value++}),(0,_vue.watch)(R,()=>{(0,_vue.nextTick)(()=>W.loadColumn(z.columns||[]))}),(0,_vue.watch)(()=>z.toolbarConfig,()=>{i()}),(0,_vue.watch)(()=>z.pagerConfig,()=>{a()}),(0,_vue.watch)(()=>z.proxyConfig,()=>{ie()}),e=>{var t=o.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&Z.isZMax&&!1!==t.escRestore&&E.triggerZoomEvent(e)});hooks.forEach(e=>{var e=e["setupGrid"];e&&(e=e(W))&&_xeUtils.default.isObject(e)&&Object.assign(W,e)}),a(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{data:e,columns:t,proxyConfig:o}=z,r=H.value,a=_.value;(0,_utils.isEnableConf)(o)&&(e||r.form&&a.data)&&(0,_log.errLog)("vxe.error.errConflicts",["grid.data","grid.proxy-config"]),t&&t.length&&W.loadColumn(t),i()}),globalEvents.on(W,"keydown",se)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(W,"keydown")}),(0,_vue.nextTick)(()=>{"development"===process.env.NODE_ENV&&(z.formConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),z.pagerConfig)&&!u&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),ie()});return W.renderVN=()=>{var e=w.value,t=O.value;return(0,_vue.h)("div",{ref:d,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!z.animat,"is--round":z.round,"is--maximize":Z.isZMax,"is--loading":z.loading||Z.tableLoading}],style:t},(()=>{var e=z["layouts"];const t=[];return(e&&e.length?e:getConfig().grid.layouts||ne).forEach(e=>{switch(e){case"Form":t.push(L());break;case"Toolbar":t.push(N());break;case"Top":t.push(F());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[$(),oe(),te()]));break;case"Bottom":t.push(re());break;case"Pager":t.push(ae());break;default:"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t})())},(0,_vue.provide)("$xeGrid",W),W},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table")),_toolbar=_interopRequireDefault(require("../../toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_emits=_interopRequireDefault(require("../../table/src/emits")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props.default),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getData","getCheckboxRecords","getParentRow","getRowSeq","getRowById","getRowid","getTableData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","isCheckedByCheckboxRow","isIndeterminateByCheckboxRow","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","setRadioRow","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","getPendingRecords","clearPendingRow","sort","clearSort","isSort","getSortColumns","closeFilter","isFilter","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","openTooltip","getCellLabel","getCellElement","focus","blur","connect"],gridComponentEmits=[..._emits.default,"page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"];var _default=exports.default=(0,_vue.defineComponent)({name:"VxeGrid",props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),emits:gridComponentEmits,setup(G,e){const{slots:i,emit:r}=e;var R=_xeUtils.default.uniqueId();const l=_ui.VxeUI.getComponent("VxeForm"),u=_ui.VxeUI.getComponent("VxePager"),w=useFns.useSize(G)["computeSize"],Q=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1}}),d=(0,_vue.ref)(),W=(0,_vue.ref)(),g=(0,_vue.ref)(),n=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),f=(0,_vue.ref)(),p=(0,_vue.ref)(),x=(0,_vue.ref)();var t=e=>{const t={};return e.forEach(o=>{t[o]=(...e)=>{var t=W.value;if(t&&t[o])return t[o](...e)}}),t};const Y=t(tableComponentMethodKeys),J=(tableComponentMethodKeys.forEach(o=>{Y[o]=(...e)=>{var t=W.value;if(t&&t[o])return t&&t[o](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},getConfig().grid.proxyConfig,G.proxyConfig))),se=(0,_vue.computed)(()=>{var e=J.value;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg}),X=(0,_vue.computed)(()=>{return J.value.showActiveMsg}),ee=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,G.pagerConfig)),b=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,G.formConfig)),te=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,G.toolbarConfig)),o=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,G.zoomConfig)),O=(0,_vue.computed)(()=>Q.isZMax?{zIndex:Q.tZindex}:null),I=(0,_vue.computed)(()=>{const t={},o=G;return tableComponentPropKeys.forEach(e=>{t[e]=o[e]}),t}),k={refElem:d,refTable:W,refForm:g,refToolbar:n,refPager:c},P={computeProxyOpts:J,computePagerOpts:ee,computeFormOpts:b,computeToolbarOpts:te,computeZoomOpts:o},oe={xID:R,props:G,context:e,reactData:Q,getRefMaps:()=>k,getComputeMaps:()=>P},U=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,loading:o,editConfig:r,proxyConfig:a}=G,{isZMax:n,tableLoading:s,tablePage:i,tableData:l}=Q,u=I.value,d=J.value,g=ee.value,c=Object.assign({},u);return n&&(u.maxHeight?c.maxHeight="100%":c.height="100%"),a&&(0,_utils.isEnableConf)(d)&&(c.loading=o||s,c.data=l,t)&&d.seq&&(0,_utils.isEnableConf)(g)&&(c.seqConfig=Object.assign({},e,{startIndex:(i.currentPage-1)*i.pageSize})),r&&(c.editConfig=Object.assign({},r)),c}),s=()=>{var e=te.value;G.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=W.value,t=n.value;e&&t&&e.connect(t)})},a=()=>{var e=Q["tablePage"],t=G["pagerConfig"],o=ee.value,{currentPage:r,pageSize:a}=o;t&&(0,_utils.isEnableConf)(o)&&(r&&(e.currentPage=r),a)&&(e.pageSize=a)},re=(e,t)=>{var o=J.value,o=(o.response||o.props||{}).message;let r;return(r=e&&o?_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o):r)||getI18n(t)},ae=(e,t,o)=>{var r=X.value,a=Y.getCheckboxRecords();if(r)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 o()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&o();return Promise.resolve()},j=e=>{var t=G["proxyConfig"],o=Q["tablePage"];const{$event:r,currentPage:a,pageSize:n}=e;var s=J.value;o.currentPage=a,o.pageSize=n,ne.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(s)&&ne.commitProxy("query").then(e=>{ne.dispatchEvent("proxy-query",e,r)})},T=t=>{var e=W.value,o=G["proxyConfig"],e=e.getComputeMaps()["computeSortOpts"],r=J.value;e.value.remote&&(Q.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(r)&&(Q.tablePage.currentPage=1,ne.commitProxy("query").then(e=>{ne.dispatchEvent("proxy-query",e,t.$event)})),ne.dispatchEvent("sort-change",t,t.$event)},V=t=>{var e=W.value,o=G["proxyConfig"],e=e.getComputeMaps()["computeFilterOpts"],r=J.value;e.value.remote&&(Q.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(r)&&(Q.tablePage.currentPage=1,ne.commitProxy("query").then(e=>{ne.dispatchEvent("proxy-query",e,t.$event)})),ne.dispatchEvent("filter-change",t,t.$event)},D=t=>{var e=G["proxyConfig"],o=J.value;e&&(0,_utils.isEnableConf)(o)&&ne.commitProxy("reload").then(e=>{ne.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),ne.dispatchEvent("form-submit",t,t.$event)},S=e=>{var t=G["proxyConfig"];const o=e["$event"];var r=J.value;t&&(0,_utils.isEnableConf)(r)&&ne.commitProxy("reload").then(e=>{ne.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)}),ne.dispatchEvent("form-reset",e,o)},q=e=>{ne.dispatchEvent("form-submit-invalid",e,e.$event)},M=e=>{var t=e["$event"];(0,_vue.nextTick)(()=>Y.recalculate(!0)),ne.dispatchEvent("form-toggle-collapse",e,t),ne.dispatchEvent("form-collapse",e,t)},_=e=>{var t=Q["isZMax"];return(e?!t:t)&&(Q.isZMax=!t,Q.tZindex<(0,_utils.getLastZIndex)())&&(Q.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>Y.recalculate(!0)).then(()=>Q.isZMax)},C=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(i[e])return i[e];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[e])}return null},L=()=>{var{formConfig:e,proxyConfig:t}=G,o=Q["formData"],r=J.value,a=b.value;if(e&&(0,_utils.isEnableConf)(a)||i.form){let e=[];if(i.form)e=i.form({$grid:oe});else if(a.items){const n={};if(!a.inited){a.inited=!0;const s=r.beforeItem;r&&s&&a.items.forEach(e=>{s({$grid:oe,item:e})})}a.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||i[e]&&(n[e]=i[e])})}),l&&e.push((0,_vue.h)(l,Object.assign(Object.assign({ref:g},Object.assign({},a,{data:t&&(0,_utils.isEnableConf)(r)&&r.form?o:a.data})),{onSubmit:D,onReset:S,onSubmitInvalid:q,onCollapse:M}),n))}return(0,_vue.h)("div",{ref:v,key:"form",class:"vxe-grid--form-wrapper"},e)}return(0,_vue.createCommentVNode)()},N=()=>{var t,o,r=G["toolbarConfig"],a=te.value;if(r&&(0,_utils.isEnableConf)(a)||i.toolbar){let e=[];return i.toolbar?e=i.toolbar({$grid:oe}):(r={},(o=a.slots)&&(t=C(o,"buttons"),o=C(o,"tools"),t&&(r.buttons=t),o)&&(r.tools=o),e.push((0,_vue.h)(_toolbar.default,Object.assign({ref:n},a),r))),(0,_vue.h)("div",{ref:m,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return(0,_vue.createCommentVNode)()},F=()=>i.top?(0,_vue.h)("div",{ref:f,key:"top",class:"vxe-grid--top-wrapper"},i.top({$grid:oe})):(0,_vue.createCommentVNode)(),$=()=>{var e=i.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:oe})):(0,_vue.createCommentVNode)()},z=()=>{var e=i.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:oe})):(0,_vue.createCommentVNode)()},Z=()=>{var e=G["proxyConfig"],t=U.value,o=J.value,r=Object.assign({},h);const a=i.empty,n=i.loading;e&&(0,_utils.isEnableConf)(o)&&(o.sort&&(r.onSortChange=T),o.filter)&&(r.onFilterChange=V);e={};return a&&(e.empty=()=>a({$grid:oe})),n&&(e.loading=()=>n({$grid:oe})),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:W},t),r),e)])},B=()=>i.bottom?(0,_vue.h)("div",{ref:p,key:"bottom",class:"vxe-grid--bottom-wrapper"},i.bottom({$grid:oe})):(0,_vue.createCommentVNode)(),A=()=>{var t,o,{proxyConfig:r,pagerConfig:a}=G,n=J.value,s=ee.value;if(a&&(0,_utils.isEnableConf)(s)||i.pager){let e=[];return i.pager?e=i.pager({$grid:oe}):(a={},(o=s.slots)&&(t=C(o,"left"),o=C(o,"right"),t&&(a.left=t),o)&&(a.right=o),u&&e.push((0,_vue.h)(u,Object.assign(Object.assign(Object.assign({ref:c},s),r&&(0,_utils.isEnableConf)(n)?Q.tablePage:{}),{onPageChange:j}),a))),(0,_vue.h)("div",{ref:x,key:"pager",class:"vxe-grid--pager-wrapper"},e)}return(0,_vue.createCommentVNode)()},H=["Form","Toolbar","Top","Table","Bottom","Pager"],h={},K=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);h[e]=(...e)=>r(t,...e)}),()=>{var{proxyConfig:e,formConfig:t}=G,o=Q["proxyInited"],r=J.value,a=b.value;if(e&&(0,_utils.isEnableConf)(r)){if(t&&(0,_utils.isEnableConf)(a)&&r.form&&a.items){const n={};a.items.forEach(t=>{var{field:o,itemRender:r}=t;if(o){let e=null;r&&(r=r["defaultValue"],_xeUtils.default.isFunction(r)?e=r({item:t}):_xeUtils.default.isUndefined(r)||(e=r)),n[o]=e}}),Q.formData=n}o||!(Q.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(()=>ne.commitProxy("_init")).then(e=>{ne.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("init"))})}}),ne={dispatchEvent(e,t,o){r(e,createEvent(o,{$grid:oe},t))},commitProxy(t,...r){const{toolbarConfig:q,pagerConfig:a,editRules:M,validConfig:L}=G,{tablePage:n,formData:s}=Q,N=X.value,o=se.value;var e=J.value;const F=ee.value;var i=te.value;const{beforeQuery:$,afterQuery:z,beforeDelete:Z,afterDelete:B,beforeSave:A,afterSave:H,ajax:l={}}=e,u=e.response||e.props||{},d=W.value;let g=null,c=null;c=_xeUtils.default.isString(t)?(e=i["buttons"],i=q&&(0,_utils.isEnableConf)(i)&&e?_xeUtils.default.findTree(e,e=>e.code===t,{children:"dropdowns"}):null,g=i?i.item:null,t):(g=t).code;var v=g?g.params:null;switch(c){case"insert":return d.insert({});case"insert_edit":return d.insert({}).then(({row:e})=>d.setEditRow(e));case"insert_actived":return d.insert({}).then(({row:e})=>d.setEditRow(e));case"mark_cancel":x=c,p=X.value,m=W.value,(f=m.getCheckboxRecords()).length?(m.togglePendingRow(f),Y.clearCheckboxRow()):p&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:x,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return ae(c,"vxe.grid.removeSelectRecord",()=>d.removeCheckboxRow());case"import":d.importData(v);break;case"open_import":d.openImport(v);break;case"export":d.exportData(v);break;case"open_export":d.openExport(v);break;case"reset_custom":return d.resetColumn(!0);case"_init":case"reload":case"query":{var m=l.query;const _=l.querySuccess,C=l.queryError;if(m){var f="_init"===c,p="reload"===c;let t=[],o=[],e={};if(a&&((f||p)&&(n.currentPage=1),(0,_utils.isEnableConf)(F))&&(e=Object.assign({},n)),f){var x=d.getComputeMaps()["computeSortOpts"];let e=x.value.defaultSort;e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),o=d.getCheckedFilters()}else p?d.clearAll():(t=d.getSortColumns(),o=d.getCheckedFilters());const h={code:c,button:g,isInited:f,isReload:p,$grid:oe,page:e,sort:t.length?t[0]:{},sorts:t,filters:o,form:s,options:m};return Q.sortData=t,Q.filterData=o,Q.tableLoading=!0,Promise.resolve(($||m)(h,...r)).then(e=>{var t,o;return Q.tableLoading=!1,e?a&&(0,_utils.isEnableConf)(F)?(o=u.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),t=u.result,Q.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:oe}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(o=u.list,Q.tableData=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o):e)||[]):Q.tableData=[],z&&z(h,...r),_&&_(Object.assign(Object.assign({},h),{response:e})),{status:!0}}).catch(e=>(Q.tableLoading=!1,C&&C(Object.assign(Object.assign({},h),{response:e})),{status:!1}))}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{const E=l.delete,y=l.deleteSuccess,R=l.deleteError;if(E){const w=Y.getCheckboxRecords(),O=w.filter(e=>!d.isInsertByRow(e));var b={removeRecords:O};const I={$grid:oe,code:c,button:g,body:b,form:s,options:E};if(w.length)return ae(c,"vxe.grid.deleteSelectRecord",()=>O.length?(Q.tableLoading=!0,Promise.resolve((Z||E)(I,...r)).then(e=>(Q.tableLoading=!1,d.setPendingRow(O,!1),o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:re(e,"vxe.grid.delSuccess"),status:"success"}),B?B(I,...r):ne.commitProxy("query"),y&&y(Object.assign(Object.assign({},I),{response:e})),{status:!0})).catch(e=>(Q.tableLoading=!1,o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:re(e,"vxe.grid.operError"),status:"error"}),R&&R(Object.assign(Object.assign({},I),{response:e})),{status:!1}))):d.remove(w));N&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,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":{const k=l.save,P=l.saveSuccess,U=l.saveError;if(k){const j=d.getRecordset(),{insertRecords:T,removeRecords:K,updateRecords:V,pendingRecords:D}=j,S={$grid:oe,code:c,button:g,body:j,form:s,options:k};T.length&&(j.pendingRecords=D.filter(e=>-1===d.findRowIndexOf(T,e))),D.length&&(j.insertRecords=T.filter(e=>-1===d.findRowIndexOf(D,e)));let e=Promise.resolve();return(e=M?d[L&&"full"===L.msgMode?"fullValidate":"validate"](j.insertRecords.concat(V)):e).then(e=>{if(!e)return j.insertRecords.length||K.length||V.length||j.pendingRecords.length?(Q.tableLoading=!0,Promise.resolve((A||k)(S,...r)).then(e=>(Q.tableLoading=!1,d.clearPendingRow(),o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:re(e,"vxe.grid.saveSuccess"),status:"success"}),H?H(S,...r):ne.commitProxy("query"),P&&P(Object.assign(Object.assign({},S),{response:e})),{status:!0})).catch(e=>(Q.tableLoading=!1,o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:re(e,"vxe.grid.operError"),status:"error"}),U&&U(Object.assign(Object.assign({},S),{response:e})),{status:!1}))):void(N&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var b=commands.get(c);b&&((b=b.tableCommandMethod||b.commandMethod)?b({code:c,button:g,$grid:oe,$table:d},...r):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[c]))}return(0,_vue.nextTick)()},zoom(){return Q.isZMax?ne.revert():ne.maximize()},isMaximized(){return Q.isZMax},maximize(){return _(!0)},revert(){return _()},getFormItems(e){var t=b.value,o=G["formConfig"],r=t["items"];const a=[];return _xeUtils.default.eachTree(o&&(0,_utils.isEnableConf)(t)&&r?r:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},getProxyInfo(){var e,t=W.value;return G.proxyConfig?(e=Q["sortData"],{data:Q.tableData,filter:Q.filterData,form:Q.formData,sort:e.length?e[0]:{},sorts:e,pager:Q.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},E=("development"===process.env.NODE_ENV&&(ne.loadColumn=e=>{var t=W.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||i[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},ne.reloadColumn=e=>(Y.clearAll(),ne.loadColumn(e))),{extendTableMethods:t,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e=G["height"],t=Q["isZMax"],o=d.value,r=v.value,a=m.value,n=f.value,s=p.value,i=x.value;return(t||"auto"!==e&&"100%"!==e?0:(0,_dom.getPaddingTopBottomSize)(o.parentNode))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)},getParentHeight(){var e=d.value;return e?(Q.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-E.getExcludeHeight():0},triggerToolbarCommitEvent(e,t){const o=e["code"];return ne.commitProxy(e,t).then(e=>{o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&ne.dispatchEvent("delete"===o||"save"===o?"proxy-"+o:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent(e,t){E.triggerToolbarCommitEvent(e,t),ne.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){E.triggerToolbarCommitEvent(e,t),ne.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){ne.zoom(),ne.dispatchEvent("zoom",{type:Q.isZMax?"max":"revert"},e)}}),y=(Object.assign(oe,Y,ne,E),(0,_vue.ref)(0)),ie=((0,_vue.watch)(()=>G.columns?G.columns.length:-1,()=>{y.value++}),(0,_vue.watch)(()=>G.columns,()=>{y.value++}),(0,_vue.watch)(y,()=>{(0,_vue.nextTick)(()=>oe.loadColumn(G.columns||[]))}),(0,_vue.watch)(()=>G.toolbarConfig,()=>{s()}),(0,_vue.watch)(()=>G.pagerConfig,()=>{a()}),(0,_vue.watch)(()=>G.proxyConfig,()=>{K()}),e=>{var t=o.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&Q.isZMax&&!1!==t.escRestore&&E.triggerZoomEvent(e)});hooks.forEach(e=>{var e=e["setupGrid"];e&&(e=e(oe))&&_xeUtils.default.isObject(e)&&Object.assign(oe,e)}),a(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{data:e,columns:t,proxyConfig:o}=G,r=J.value,a=b.value;(0,_utils.isEnableConf)(o)&&(e||r.form&&a.data)&&(0,_log.errLog)("vxe.error.errConflicts",["grid.data","grid.proxy-config"]),t&&t.length&&oe.loadColumn(t),s()}),globalEvents.on(oe,"keydown",ie)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(oe,"keydown")}),(0,_vue.nextTick)(()=>{"development"===process.env.NODE_ENV&&(G.formConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),G.pagerConfig)&&!u&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),K()});return oe.renderVN=()=>{var e=w.value,t=O.value;return(0,_vue.h)("div",{ref:d,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!G.animat,"is--round":G.round,"is--maximize":Q.isZMax,"is--loading":G.loading||Q.tableLoading}],style:t},(()=>{var e=G["layouts"];const t=[];return(e&&e.length?e:getConfig().grid.layouts||H).forEach(e=>{switch(e){case"Form":t.push(L());break;case"Toolbar":t.push(N());break;case"Top":t.push(F());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[$(),Z(),z()]));break;case"Bottom":t.push(B());break;case"Pager":t.push(A());break;default:"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t})())},(0,_vue.provide)("$xeGrid",oe),oe},render(){return this.renderVN()}});
package/lib/index.umd.js CHANGED
@@ -1951,9 +1951,9 @@ function eqEmptyValue(cellValue) {
1951
1951
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
1952
1952
 
1953
1953
 
1954
- const version = "4.7.59";
1954
+ const version = "4.7.60";
1955
1955
  core_.VxeUI.version = version;
1956
- core_.VxeUI.tableVersion = "4.7.59";
1956
+ core_.VxeUI.tableVersion = "4.7.60";
1957
1957
  core_.VxeUI.setConfig({
1958
1958
  emptyCell: ' ',
1959
1959
  table: {
@@ -2332,7 +2332,7 @@ var es_array_push = __webpack_require__(4114);
2332
2332
  const {
2333
2333
  log: log_log
2334
2334
  } = core_.VxeUI;
2335
- const log_version = `table v${"4.7.59"}`;
2335
+ const log_version = `table v${"4.7.60"}`;
2336
2336
  const warnLog = log_log.create('warn', log_version);
2337
2337
  const errLog = log_log.create('error', log_version);
2338
2338
  ;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
@@ -5841,7 +5841,7 @@ const header_renderType = 'header';
5841
5841
  } = column;
5842
5842
  const isColGroup = column.children && column.children.length;
5843
5843
  const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : !!column.fixed && overflowX;
5844
- const headOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(showHeaderOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
5844
+ const headOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
5845
5845
  const headAlign = headerAlign || align || allHeaderAlign || allAlign;
5846
5846
  let showEllipsis = headOverflow === 'ellipsis';
5847
5847
  const showTitle = headOverflow === 'title';
@@ -6174,7 +6174,7 @@ function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
6174
6174
  const showAllTip = tooltipOpts.showAll;
6175
6175
  const isColGroup = column.children && column.children.length;
6176
6176
  const fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX;
6177
- const footOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(showFooterOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
6177
+ const footOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
6178
6178
  const footAlign = footerAlign || align || allFooterAlign || allAlign;
6179
6179
  let showEllipsis = footOverflow === 'ellipsis';
6180
6180
  const showTitle = footOverflow === 'title';
@@ -19665,6 +19665,9 @@ export_hook_hooks.add('tableExportModule', {
19665
19665
  const {
19666
19666
  computeProxyOpts
19667
19667
  } = $xeGrid.getComputeMaps();
19668
+ const {
19669
+ sortData
19670
+ } = gridReactData;
19668
19671
  const proxyOpts = computeProxyOpts.value;
19669
19672
  const {
19670
19673
  beforeQueryAll,
@@ -19673,6 +19676,8 @@ export_hook_hooks.add('tableExportModule', {
19673
19676
  props = {}
19674
19677
  } = proxyOpts;
19675
19678
  const ajaxMethods = ajax.queryAll;
19679
+ const queryAllSuccessMethods = ajax.queryAllSuccess;
19680
+ const queryAllErrorMethods = ajax.queryAllError;
19676
19681
  if (true) {
19677
19682
  if (!ajaxMethods) {
19678
19683
  warnLog('vxe.error.notFunc', ['proxy-config.ajax.queryAll']);
@@ -19682,18 +19687,31 @@ export_hook_hooks.add('tableExportModule', {
19682
19687
  const params = {
19683
19688
  $table: $xeTable,
19684
19689
  $grid: $xeGrid,
19685
- sort: gridReactData.sortData,
19690
+ sort: sortData.length ? sortData[0] : {},
19691
+ sorts: sortData,
19686
19692
  filters: gridReactData.filterData,
19687
19693
  form: gridReactData.formData,
19688
- target: ajaxMethods,
19689
19694
  options: opts
19690
19695
  };
19691
- return Promise.resolve((beforeQueryAll || ajaxMethods)(params)).catch(e => e).then(rest => {
19696
+ return Promise.resolve((beforeQueryAll || ajaxMethods)(params)).then(rest => {
19692
19697
  opts.data = (props.list ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, props.list) : rest) || [];
19693
19698
  if (afterQueryAll) {
19694
19699
  afterQueryAll(params);
19695
19700
  }
19701
+ if (queryAllSuccessMethods) {
19702
+ queryAllSuccessMethods({
19703
+ ...params,
19704
+ response: rest
19705
+ });
19706
+ }
19696
19707
  return handleExport(opts);
19708
+ }).catch(rest => {
19709
+ if (queryAllErrorMethods) {
19710
+ queryAllErrorMethods({
19711
+ ...params,
19712
+ response: rest
19713
+ });
19714
+ }
19697
19715
  });
19698
19716
  }
19699
19717
  }
@@ -21703,7 +21721,7 @@ function getSelectCellValue(renderOpts, {
21703
21721
  let selectItem;
21704
21722
  const labelProp = optionProps.label || 'label';
21705
21723
  const valueProp = optionProps.value || 'value';
21706
- if (!isEmptyValue(cellValue)) {
21724
+ if (!(cellValue === null || cellValue === undefined)) {
21707
21725
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().map(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(cellValue) ? cellValue : [cellValue], optionGroups ? value => {
21708
21726
  const groupOptions = optionGroupProps.options || 'options';
21709
21727
  for (let index = 0; index < optionGroups.length; index++) {
@@ -21742,7 +21760,7 @@ function getTreeSelectCellValue(renderOpts, {
21742
21760
  const labelProp = optionProps.label || 'label';
21743
21761
  const valueProp = optionProps.value || 'value';
21744
21762
  const childrenProp = optionProps.children || 'children';
21745
- if (!isEmptyValue(cellValue)) {
21763
+ if (!(cellValue === null || cellValue === undefined)) {
21746
21764
  const keyMaps = {};
21747
21765
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(options, item => {
21748
21766
  keyMaps[external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, valueProp)] = item;
@@ -21802,7 +21820,7 @@ render_renderer.mixin({
21802
21820
  exportMethod: handleExportSelectMethod
21803
21821
  },
21804
21822
  VxeInput: {
21805
- autofocus: '.vxe-input--inner',
21823
+ autofocus: 'input',
21806
21824
  renderEdit: defaultEditRender,
21807
21825
  renderCell(renderOpts, params) {
21808
21826
  const {
@@ -21835,7 +21853,7 @@ render_renderer.mixin({
21835
21853
  defaultFilterMethod: handleInputFilterMethod
21836
21854
  },
21837
21855
  VxeNumberInput: {
21838
- autofocus: '.vxe-number-input--inner',
21856
+ autofocus: 'input',
21839
21857
  renderEdit: defaultEditRender,
21840
21858
  renderCell(renderOpts, params) {
21841
21859
  const {
@@ -21861,7 +21879,7 @@ render_renderer.mixin({
21861
21879
  defaultFilterMethod: handleInputFilterMethod
21862
21880
  },
21863
21881
  VxeDatePicker: {
21864
- autofocus: '.vxe-date-picker--inner',
21882
+ autofocus: 'input',
21865
21883
  renderEdit: defaultEditRender,
21866
21884
  renderCell(renderOpts, params) {
21867
21885
  const {
@@ -21890,7 +21908,7 @@ render_renderer.mixin({
21890
21908
  defaultFilterMethod: handleFilterMethod
21891
21909
  },
21892
21910
  VxeTextarea: {
21893
- autofocus: '.vxe-textarea--inner'
21911
+ autofocus: 'VxeTextarea'
21894
21912
  },
21895
21913
  VxeButton: {
21896
21914
  renderDefault: buttonCellRender
@@ -21908,7 +21926,7 @@ render_renderer.mixin({
21908
21926
  }
21909
21927
  },
21910
21928
  VxeSelect: {
21911
- autofocus: '.vxe-input--inner',
21929
+ autofocus: 'input',
21912
21930
  renderEdit: defaultSelectEditRender,
21913
21931
  renderDefault: defaultSelectEditRender,
21914
21932
  renderCell(renderOpts, params) {
@@ -21942,7 +21960,7 @@ render_renderer.mixin({
21942
21960
  exportMethod: handleExportSelectMethod
21943
21961
  },
21944
21962
  VxeTreeSelect: {
21945
- autofocus: '.vxe-input--inner',
21963
+ autofocus: 'input',
21946
21964
  renderEdit: defaultTreeSelectEditRender,
21947
21965
  renderCell(renderOpts, params) {
21948
21966
  return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
@@ -21956,7 +21974,7 @@ render_renderer.mixin({
21956
21974
  renderDefault: radioAndCheckboxEditRender
21957
21975
  },
21958
21976
  VxeSwitch: {
21959
- autofocus: '.vxe-switch--button',
21977
+ autofocus: 'button',
21960
21978
  renderEdit: defaultEditRender,
21961
21979
  renderDefault: defaultEditRender
21962
21980
  },
@@ -22456,6 +22474,7 @@ const {
22456
22474
  round: item.round,
22457
22475
  status: item.status,
22458
22476
  content: item.name,
22477
+ permissionCode: item.permissionCode,
22459
22478
  destroyOnClose: item.destroyOnClose,
22460
22479
  placement: item.placement,
22461
22480
  transfer: item.transfer,
@@ -22806,7 +22825,7 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
22806
22825
  };
22807
22826
  });
22808
22827
  const computeProxyOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
22809
- return Object.assign({}, grid_getConfig().grid.proxyConfig, props.proxyConfig);
22828
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().merge({}, grid_getConfig().grid.proxyConfig, props.proxyConfig);
22810
22829
  });
22811
22830
  const computeIsRespMsg = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
22812
22831
  const proxyOpts = computeProxyOpts.value;
@@ -23569,6 +23588,8 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23569
23588
  case 'query':
23570
23589
  {
23571
23590
  const ajaxMethods = ajax.query;
23591
+ const querySuccessMethods = ajax.querySuccess;
23592
+ const queryErrorMethods = ajax.queryError;
23572
23593
  if (ajaxMethods) {
23573
23594
  const isInited = code === '_init';
23574
23595
  const isReload = code === 'reload';
@@ -23629,8 +23650,7 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23629
23650
  reactData.sortData = sortList;
23630
23651
  reactData.filterData = filterList;
23631
23652
  reactData.tableLoading = true;
23632
- const applyArgs = [commitParams].concat(args);
23633
- return Promise.resolve((beforeQuery || ajaxMethods)(...applyArgs)).then(rest => {
23653
+ return Promise.resolve((beforeQuery || ajaxMethods)(commitParams, ...args)).then(rest => {
23634
23654
  reactData.tableLoading = false;
23635
23655
  if (rest) {
23636
23656
  if (pagerConfig && isEnableConf(pagerOpts)) {
@@ -23661,13 +23681,25 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23661
23681
  reactData.tableData = [];
23662
23682
  }
23663
23683
  if (afterQuery) {
23664
- afterQuery(...applyArgs);
23684
+ afterQuery(commitParams, ...args);
23685
+ }
23686
+ if (querySuccessMethods) {
23687
+ querySuccessMethods({
23688
+ ...commitParams,
23689
+ response: rest
23690
+ });
23665
23691
  }
23666
23692
  return {
23667
23693
  status: true
23668
23694
  };
23669
- }).catch(() => {
23695
+ }).catch(rest => {
23670
23696
  reactData.tableLoading = false;
23697
+ if (queryErrorMethods) {
23698
+ queryErrorMethods({
23699
+ ...commitParams,
23700
+ response: rest
23701
+ });
23702
+ }
23671
23703
  return {
23672
23704
  status: false
23673
23705
  };
@@ -23682,6 +23714,8 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23682
23714
  case 'delete':
23683
23715
  {
23684
23716
  const ajaxMethods = ajax.delete;
23717
+ const deleteSuccessMethods = ajax.deleteSuccess;
23718
+ const deleteErrorMethods = ajax.deleteError;
23685
23719
  if (ajaxMethods) {
23686
23720
  const selectRecords = gridExtendTableMethods.getCheckboxRecords();
23687
23721
  const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
@@ -23696,14 +23730,13 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23696
23730
  form: formData,
23697
23731
  options: ajaxMethods
23698
23732
  };
23699
- const applyArgs = [commitParams].concat(args);
23700
23733
  if (selectRecords.length) {
23701
23734
  return handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
23702
23735
  if (!removeRecords.length) {
23703
23736
  return $xeTable.remove(selectRecords);
23704
23737
  }
23705
23738
  reactData.tableLoading = true;
23706
- return Promise.resolve((beforeDelete || ajaxMethods)(...applyArgs)).then(rest => {
23739
+ return Promise.resolve((beforeDelete || ajaxMethods)(commitParams, ...args)).then(rest => {
23707
23740
  reactData.tableLoading = false;
23708
23741
  $xeTable.setPendingRow(removeRecords, false);
23709
23742
  if (isRespMsg) {
@@ -23715,10 +23748,16 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23715
23748
  }
23716
23749
  }
23717
23750
  if (afterDelete) {
23718
- afterDelete(...applyArgs);
23751
+ afterDelete(commitParams, ...args);
23719
23752
  } else {
23720
23753
  gridMethods.commitProxy('query');
23721
23754
  }
23755
+ if (deleteSuccessMethods) {
23756
+ deleteSuccessMethods({
23757
+ ...commitParams,
23758
+ response: rest
23759
+ });
23760
+ }
23722
23761
  return {
23723
23762
  status: true
23724
23763
  };
@@ -23733,6 +23772,12 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23733
23772
  });
23734
23773
  }
23735
23774
  }
23775
+ if (deleteErrorMethods) {
23776
+ deleteErrorMethods({
23777
+ ...commitParams,
23778
+ response: rest
23779
+ });
23780
+ }
23736
23781
  return {
23737
23782
  status: false
23738
23783
  };
@@ -23759,6 +23804,8 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23759
23804
  case 'save':
23760
23805
  {
23761
23806
  const ajaxMethods = ajax.save;
23807
+ const saveSuccessMethods = ajax.saveSuccess;
23808
+ const saveErrorMethods = ajax.saveError;
23762
23809
  if (ajaxMethods) {
23763
23810
  const body = $xeTable.getRecordset();
23764
23811
  const {
@@ -23775,7 +23822,6 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23775
23822
  form: formData,
23776
23823
  options: ajaxMethods
23777
23824
  };
23778
- const applyArgs = [commitParams].concat(args);
23779
23825
  // 排除掉新增且标记为删除的数据
23780
23826
  if (insertRecords.length) {
23781
23827
  body.pendingRecords = pendingRecords.filter(row => $xeTable.findRowIndexOf(insertRecords, row) === -1);
@@ -23796,7 +23842,7 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23796
23842
  }
23797
23843
  if (body.insertRecords.length || removeRecords.length || updateRecords.length || body.pendingRecords.length) {
23798
23844
  reactData.tableLoading = true;
23799
- return Promise.resolve((beforeSave || ajaxMethods)(...applyArgs)).then(rest => {
23845
+ return Promise.resolve((beforeSave || ajaxMethods)(commitParams, ...args)).then(rest => {
23800
23846
  reactData.tableLoading = false;
23801
23847
  $xeTable.clearPendingRow();
23802
23848
  if (isRespMsg) {
@@ -23808,10 +23854,16 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23808
23854
  }
23809
23855
  }
23810
23856
  if (afterSave) {
23811
- afterSave(...applyArgs);
23857
+ afterSave(commitParams, ...args);
23812
23858
  } else {
23813
23859
  gridMethods.commitProxy('query');
23814
23860
  }
23861
+ if (saveSuccessMethods) {
23862
+ saveSuccessMethods({
23863
+ ...commitParams,
23864
+ response: rest
23865
+ });
23866
+ }
23815
23867
  return {
23816
23868
  status: true
23817
23869
  };
@@ -23826,6 +23878,12 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23826
23878
  });
23827
23879
  }
23828
23880
  }
23881
+ if (saveErrorMethods) {
23882
+ saveErrorMethods({
23883
+ ...commitParams,
23884
+ response: rest
23885
+ });
23886
+ }
23829
23887
  return {
23830
23888
  status: false
23831
23889
  };