vxe-table 4.7.59 → 4.7.60

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 (39) 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/ui/index.js +2 -2
  8. package/es/ui/src/log.js +1 -1
  9. package/lib/grid/src/grid.js +44 -11
  10. package/lib/grid/src/grid.min.js +1 -1
  11. package/lib/index.umd.js +83 -26
  12. package/lib/index.umd.min.js +1 -1
  13. package/lib/locale/lang/ja-JP.js +22 -22
  14. package/lib/locale/lang/ja-JP.min.js +1 -1
  15. package/lib/locale/lang/ja-JP.umd.js +22 -22
  16. package/lib/style.css +1 -1
  17. package/lib/style.min.css +1 -1
  18. package/lib/table/module/export/hook.js +19 -3
  19. package/lib/table/module/export/hook.min.js +1 -1
  20. package/lib/table/render/index.js +9 -9
  21. package/lib/table/render/index.min.js +1 -1
  22. package/lib/ui/index.js +2 -2
  23. package/lib/ui/index.min.js +1 -1
  24. package/lib/ui/src/log.js +1 -1
  25. package/lib/ui/src/log.min.js +1 -1
  26. package/package.json +2 -2
  27. package/packages/grid/src/grid.ts +33 -12
  28. package/packages/locale/lang/ja-JP.ts +22 -22
  29. package/packages/table/module/export/hook.ts +13 -3
  30. package/packages/table/render/index.ts +9 -9
  31. package/styles/theme/base.scss +2 -7
  32. package/styles/theme/dark.scss +4 -1
  33. package/styles/theme/light.scss +4 -1
  34. /package/es/{iconfont.1721660188146.ttf → iconfont.1722698239691.ttf} +0 -0
  35. /package/es/{iconfont.1721660188146.woff → iconfont.1722698239691.woff} +0 -0
  36. /package/es/{iconfont.1721660188146.woff2 → iconfont.1722698239691.woff2} +0 -0
  37. /package/lib/{iconfont.1721660188146.ttf → iconfont.1722698239691.ttf} +0 -0
  38. /package/lib/{iconfont.1721660188146.woff → iconfont.1722698239691.woff} +0 -0
  39. /package/lib/{iconfont.1721660188146.woff2 → iconfont.1722698239691.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
@@ -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
  },
@@ -22806,7 +22824,7 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
22806
22824
  };
22807
22825
  });
22808
22826
  const computeProxyOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
22809
- return Object.assign({}, grid_getConfig().grid.proxyConfig, props.proxyConfig);
22827
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().merge({}, grid_getConfig().grid.proxyConfig, props.proxyConfig);
22810
22828
  });
22811
22829
  const computeIsRespMsg = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
22812
22830
  const proxyOpts = computeProxyOpts.value;
@@ -23569,6 +23587,8 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23569
23587
  case 'query':
23570
23588
  {
23571
23589
  const ajaxMethods = ajax.query;
23590
+ const querySuccessMethods = ajax.querySuccess;
23591
+ const queryErrorMethods = ajax.queryError;
23572
23592
  if (ajaxMethods) {
23573
23593
  const isInited = code === '_init';
23574
23594
  const isReload = code === 'reload';
@@ -23629,8 +23649,7 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23629
23649
  reactData.sortData = sortList;
23630
23650
  reactData.filterData = filterList;
23631
23651
  reactData.tableLoading = true;
23632
- const applyArgs = [commitParams].concat(args);
23633
- return Promise.resolve((beforeQuery || ajaxMethods)(...applyArgs)).then(rest => {
23652
+ return Promise.resolve((beforeQuery || ajaxMethods)(commitParams, ...args)).then(rest => {
23634
23653
  reactData.tableLoading = false;
23635
23654
  if (rest) {
23636
23655
  if (pagerConfig && isEnableConf(pagerOpts)) {
@@ -23661,13 +23680,25 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23661
23680
  reactData.tableData = [];
23662
23681
  }
23663
23682
  if (afterQuery) {
23664
- afterQuery(...applyArgs);
23683
+ afterQuery(commitParams, ...args);
23684
+ }
23685
+ if (querySuccessMethods) {
23686
+ querySuccessMethods({
23687
+ ...commitParams,
23688
+ response: rest
23689
+ });
23665
23690
  }
23666
23691
  return {
23667
23692
  status: true
23668
23693
  };
23669
- }).catch(() => {
23694
+ }).catch(rest => {
23670
23695
  reactData.tableLoading = false;
23696
+ if (queryErrorMethods) {
23697
+ queryErrorMethods({
23698
+ ...commitParams,
23699
+ response: rest
23700
+ });
23701
+ }
23671
23702
  return {
23672
23703
  status: false
23673
23704
  };
@@ -23682,6 +23713,8 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23682
23713
  case 'delete':
23683
23714
  {
23684
23715
  const ajaxMethods = ajax.delete;
23716
+ const deleteSuccessMethods = ajax.deleteSuccess;
23717
+ const deleteErrorMethods = ajax.deleteError;
23685
23718
  if (ajaxMethods) {
23686
23719
  const selectRecords = gridExtendTableMethods.getCheckboxRecords();
23687
23720
  const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
@@ -23696,14 +23729,13 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23696
23729
  form: formData,
23697
23730
  options: ajaxMethods
23698
23731
  };
23699
- const applyArgs = [commitParams].concat(args);
23700
23732
  if (selectRecords.length) {
23701
23733
  return handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
23702
23734
  if (!removeRecords.length) {
23703
23735
  return $xeTable.remove(selectRecords);
23704
23736
  }
23705
23737
  reactData.tableLoading = true;
23706
- return Promise.resolve((beforeDelete || ajaxMethods)(...applyArgs)).then(rest => {
23738
+ return Promise.resolve((beforeDelete || ajaxMethods)(commitParams, ...args)).then(rest => {
23707
23739
  reactData.tableLoading = false;
23708
23740
  $xeTable.setPendingRow(removeRecords, false);
23709
23741
  if (isRespMsg) {
@@ -23715,10 +23747,16 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23715
23747
  }
23716
23748
  }
23717
23749
  if (afterDelete) {
23718
- afterDelete(...applyArgs);
23750
+ afterDelete(commitParams, ...args);
23719
23751
  } else {
23720
23752
  gridMethods.commitProxy('query');
23721
23753
  }
23754
+ if (deleteSuccessMethods) {
23755
+ deleteSuccessMethods({
23756
+ ...commitParams,
23757
+ response: rest
23758
+ });
23759
+ }
23722
23760
  return {
23723
23761
  status: true
23724
23762
  };
@@ -23733,6 +23771,12 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23733
23771
  });
23734
23772
  }
23735
23773
  }
23774
+ if (deleteErrorMethods) {
23775
+ deleteErrorMethods({
23776
+ ...commitParams,
23777
+ response: rest
23778
+ });
23779
+ }
23736
23780
  return {
23737
23781
  status: false
23738
23782
  };
@@ -23759,6 +23803,8 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23759
23803
  case 'save':
23760
23804
  {
23761
23805
  const ajaxMethods = ajax.save;
23806
+ const saveSuccessMethods = ajax.saveSuccess;
23807
+ const saveErrorMethods = ajax.saveError;
23762
23808
  if (ajaxMethods) {
23763
23809
  const body = $xeTable.getRecordset();
23764
23810
  const {
@@ -23775,7 +23821,6 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23775
23821
  form: formData,
23776
23822
  options: ajaxMethods
23777
23823
  };
23778
- const applyArgs = [commitParams].concat(args);
23779
23824
  // 排除掉新增且标记为删除的数据
23780
23825
  if (insertRecords.length) {
23781
23826
  body.pendingRecords = pendingRecords.filter(row => $xeTable.findRowIndexOf(insertRecords, row) === -1);
@@ -23796,7 +23841,7 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23796
23841
  }
23797
23842
  if (body.insertRecords.length || removeRecords.length || updateRecords.length || body.pendingRecords.length) {
23798
23843
  reactData.tableLoading = true;
23799
- return Promise.resolve((beforeSave || ajaxMethods)(...applyArgs)).then(rest => {
23844
+ return Promise.resolve((beforeSave || ajaxMethods)(commitParams, ...args)).then(rest => {
23800
23845
  reactData.tableLoading = false;
23801
23846
  $xeTable.clearPendingRow();
23802
23847
  if (isRespMsg) {
@@ -23808,10 +23853,16 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23808
23853
  }
23809
23854
  }
23810
23855
  if (afterSave) {
23811
- afterSave(...applyArgs);
23856
+ afterSave(commitParams, ...args);
23812
23857
  } else {
23813
23858
  gridMethods.commitProxy('query');
23814
23859
  }
23860
+ if (saveSuccessMethods) {
23861
+ saveSuccessMethods({
23862
+ ...commitParams,
23863
+ response: rest
23864
+ });
23865
+ }
23815
23866
  return {
23816
23867
  status: true
23817
23868
  };
@@ -23826,6 +23877,12 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
23826
23877
  });
23827
23878
  }
23828
23879
  }
23880
+ if (saveErrorMethods) {
23881
+ saveErrorMethods({
23882
+ ...commitParams,
23883
+ response: rest
23884
+ });
23885
+ }
23829
23886
  return {
23830
23887
  status: false
23831
23888
  };