vxe-table 4.1.14 → 4.1.15-beta.3

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.
@@ -610,7 +610,7 @@ export default defineComponent({
610
610
  for (var _i = 1; _i < arguments.length; _i++) {
611
611
  args[_i - 1] = arguments[_i];
612
612
  }
613
- var toolbarConfig = props.toolbarConfig, pagerConfig = props.pagerConfig;
613
+ var toolbarConfig = props.toolbarConfig, pagerConfig = props.pagerConfig, editRules = props.editRules;
614
614
  var tablePage = reactData.tablePage, formData = reactData.formData;
615
615
  var isMsg = computeIsMsg.value;
616
616
  var proxyOpts = computeProxyOpts.value;
@@ -834,8 +834,12 @@ export default defineComponent({
834
834
  if (pendingRecords_1.length) {
835
835
  body_1.insertRecords = insertRecords_1.filter(function (row) { return $xetable.findRowIndexOf(pendingRecords_1, row) === -1; });
836
836
  }
837
- // 只校验新增和修改的数据
838
- return $xetable.validate(body_1.insertRecords.concat(updateRecords_1)).then(function (errMap) {
837
+ var restPromise = Promise.resolve();
838
+ if (editRules) {
839
+ // 只校验新增和修改的数据
840
+ restPromise = $xetable.validate(body_1.insertRecords.concat(updateRecords_1));
841
+ }
842
+ return restPromise.then(function (errMap) {
839
843
  if (errMap) {
840
844
  // 如果校验不通过
841
845
  return;
@@ -2023,6 +2023,19 @@ export default defineComponent({
2023
2023
  reactData.inputValue = val;
2024
2024
  changeValue();
2025
2025
  });
2026
+ watch(function () { return props.type; }, function () {
2027
+ // 切换类型是重置内置变量
2028
+ Object.assign(reactData, {
2029
+ inputValue: props.modelValue,
2030
+ datetimePanelValue: null,
2031
+ datePanelValue: null,
2032
+ datePanelLabel: '',
2033
+ datePanelType: 'day',
2034
+ selectMonth: null,
2035
+ currentDate: null
2036
+ });
2037
+ initValue();
2038
+ });
2026
2039
  watch(computeDateLabelFormat, function () {
2027
2040
  dateParseValue(reactData.datePanelValue);
2028
2041
  reactData.inputValue = reactData.datePanelLabel;
@@ -1266,6 +1266,17 @@ export default defineComponent({
1266
1266
  }
1267
1267
  }
1268
1268
  }
1269
+ else {
1270
+ if (treeConfig && transform) {
1271
+ // 还原虚拟树
1272
+ tableTree = XEUtils.searchTree(tableFullTreeData, function () { return true; }, __assign(__assign({}, treeOpts), { original: true }));
1273
+ tableData = tableTree;
1274
+ }
1275
+ else {
1276
+ tableData = treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0);
1277
+ tableTree = tableData;
1278
+ }
1279
+ }
1269
1280
  internalData.afterFullData = tableData;
1270
1281
  internalData.afterTreeFullData = tableTree;
1271
1282
  updateAfterDataIndex();
@@ -10,6 +10,7 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { nextTick } from 'vue';
13
+ import GlobalConfig from '../../v-x-e-table/src/conf';
13
14
  import XEUtils from 'xe-utils';
14
15
  import { getFuncText, eqEmptyValue } from '../../tools/utils';
15
16
  import { scrollToView } from '../../tools/dom';
@@ -167,7 +168,7 @@ var validatorHook = {
167
168
  }
168
169
  });
169
170
  }).catch(function (firstErrParams) {
170
- return new Promise(function (resolve) {
171
+ return new Promise(function (resolve, reject) {
171
172
  var finish = function () {
172
173
  nextTick(function () {
173
174
  if (cb) {
@@ -175,7 +176,13 @@ var validatorHook = {
175
176
  resolve();
176
177
  }
177
178
  else {
178
- resolve(validRest);
179
+ if (GlobalConfig.validToReject === 'obsolete') {
180
+ // 已废弃,校验失败将不会执行catch
181
+ reject(validRest);
182
+ }
183
+ else {
184
+ resolve(validRest);
185
+ }
179
186
  }
180
187
  });
181
188
  };
@@ -824,7 +824,8 @@ var _default2 = (0, _vue.defineComponent)({
824
824
  }
825
825
 
826
826
  var toolbarConfig = props.toolbarConfig,
827
- pagerConfig = props.pagerConfig;
827
+ pagerConfig = props.pagerConfig,
828
+ editRules = props.editRules;
828
829
  var tablePage = reactData.tablePage,
829
830
  formData = reactData.formData;
830
831
  var isMsg = computeIsMsg.value;
@@ -1130,10 +1131,16 @@ var _default2 = (0, _vue.defineComponent)({
1130
1131
  body_1.insertRecords = insertRecords_1.filter(function (row) {
1131
1132
  return $xetable.findRowIndexOf(pendingRecords_1, row) === -1;
1132
1133
  });
1133
- } // 只校验新增和修改的数据
1134
+ }
1135
+
1136
+ var restPromise = Promise.resolve();
1134
1137
 
1138
+ if (editRules) {
1139
+ // 只校验新增和修改的数据
1140
+ restPromise = $xetable.validate(body_1.insertRecords.concat(updateRecords_1));
1141
+ }
1135
1142
 
1136
- return $xetable.validate(body_1.insertRecords.concat(updateRecords_1)).then(function (errMap) {
1143
+ return restPromise.then(function (errMap) {
1137
1144
  if (errMap) {
1138
1145
  // 如果校验不通过
1139
1146
  return;
@@ -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("../../tools/utils"),_dom=require("../../tools/dom"),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_props=_interopRequireDefault(require("../../table/src/props")),_emits=_interopRequireDefault(require("../../table/src/emits")),_size=require("../../hooks/size"),_event=require("../../tools/event");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++)for(var n in t=arguments[o])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var o=0,r=t.length,n=e.length;o<r;o++,n++)e[n]=t[o];return e},tableComponentPropKeys=Object.keys(_props.default),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","createData","createRow","revertData","clearData","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getData","getCheckboxRecords","getRowById","getRowid","getTableData","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","sort","clearSort","isSort","getSortColumns","closeFilter","isFilter","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","focus","blur","connect"],gridComponentEmits=__spreadArray(__spreadArray([],_emits.default),["page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","toolbar-button-click","toolbar-tool-click","zoom"]),_default2=(0,_vue.defineComponent)({name:"VxeGrid",props:__assign(__assign({},_props.default),{columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:function(){return _conf.default.grid.size||_conf.default.size}}}),emits:gridComponentEmits,setup:function($,e){function t(e){var t={};return e.forEach(function(r){t[r]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var o=H.value;return o&&o[r].apply(o,e)}}),t}var g=e.slots,r=e.emit,o=_xeUtils.default.uniqueId(),n=(0,_vue.getCurrentInstance)(),v=(0,_size.useSize)($),B=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],pendingRecords:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:10,currentPage:1}}),p=(0,_vue.ref)(),H=(0,_vue.ref)(),m=(0,_vue.ref)(),_=(0,_vue.ref)(),x=(0,_vue.ref)(),b=(0,_vue.ref)(),h=(0,_vue.ref)(),C=(0,_vue.ref)(),E=(0,_vue.ref)(),R=(0,_vue.ref)(),K=t(tableComponentMethodKeys);tableComponentMethodKeys.forEach(function(r){K[r]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var o=H.value;return o&&o[r].apply(o,e)}});function f(t){var e=B.pendingRecords,o=$.rowClassName,r=[];return e.some(function(e){return e===t.row})&&r.push("row--pending"),r.push(o?_xeUtils.default.isFunction(o)?o(t):o:""),r}function y(e){var t=$.editConfig,o=B.pendingRecords,r=H.value,t=t?t.activeMethod:null;return-1===r.findRowIndexOf(o,e.row)&&(!t||t(e))}function a(){(0,_vue.nextTick)(function(){var e=H.value,t=_.value;e&&t&&e.connect(t)})}function i(){var e=$.pagerConfig,t=B.tablePage,o=(r=T.value).currentPage,r=r.pageSize;e&&(o&&(t.currentPage=o),r&&(t.pageSize=r))}function G(e,t){var o,r=void 0===(r=Y.value.props)?{}:r;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||_conf.default.i18n(t)}function Q(e,t,o){var r=J.value,n=K.getCheckboxRecords();if(r){if(n.length)return _vXETable.VXETable.modal.confirm({id:"cfm_"+e,content:_conf.default.i18n(t),escClosable:!0}).then(function(e){"confirm"===e&&o()});"development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:"msg_"+e,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"})}else n.length&&o();return Promise.resolve()}function l(e){var t=B.isZMax;return(e?!t:t)&&(B.isZMax=!t,B.tZindex<(0,_utils.getLastZIndex)()&&(B.tZindex=(0,_utils.nextZIndex)())),(0,_vue.nextTick)().then(function(){return K.recalculate(!0)}).then(function(){return B.isZMax})}var Y=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.proxyConfig,$.proxyConfig)}),J=(0,_vue.computed)(function(){return!1!==Y.value.message}),T=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.pagerConfig,$.pagerConfig)}),w=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.formConfig,$.formConfig)}),W=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.toolbarConfig,$.toolbarConfig)}),s=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.zoomConfig,$.zoomConfig)}),O=(0,_vue.computed)(function(){return B.isZMax?{zIndex:B.tZindex}:null}),M=(0,_vue.computed)(function(){var t={},o=$;return tableComponentPropKeys.forEach(function(e){t[e]=o[e]}),t}),u={refElem:p,refTable:H,refForm:m,refToolbar:_,refPager:x},c={computeProxyOpts:Y,computePagerOpts:T,computeFormOpts:w,computeToolbarOpts:W,computeZoomOpts:s},ee={xID:o,props:$,context:e,instance:n,reactData:B,getRefMaps:function(){return u},getComputeMaps:function(){return c}},te={},D=(0,_vue.computed)(function(){var e=$.seqConfig,t=$.pagerConfig,o=$.loading,r=$.editConfig,n=$.proxyConfig,a=B.isZMax,i=B.tableLoading,l=B.tablePage,s=B.tableData,u=M.value,c=Y.value,d=Object.assign({},u);return a&&(u.maxHeight?d.maxHeight="auto":d.height="auto"),n&&(d.loading=o||i,d.data=s,d.rowClassName=f,c.seq&&(0,_utils.isEnableConf)(t)&&(d.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize}))),r&&(d.editConfig=Object.assign({},r,{activeMethod:y})),d}),k=function(e){var t=$.proxyConfig,o=B.tablePage,r=e.currentPage,n=e.pageSize;o.currentPage=r,o.pageSize=n,te.dispatchEvent("page-change",e),t&&te.commitProxy("query")},P=function(e){var t=H.value,o=$.proxyConfig;t.getComputeMaps().computeSortOpts.value.remote&&(B.sortData=e.sortList,o&&(B.tablePage.currentPage=1,te.commitProxy("query"))),te.dispatchEvent("sort-change",e)},V=function(e){var t=H.value,o=$.proxyConfig;t.getComputeMaps().computeFilterOpts.value.remote&&(B.filterData=e.filterList,o&&(B.tablePage.currentPage=1,te.commitProxy("query"))),te.dispatchEvent("filter-change",e)},S=function(e){$.proxyConfig&&te.commitProxy("reload"),te.dispatchEvent("form-submit",e)},X=function(e){$.proxyConfig&&te.commitProxy("reload"),te.dispatchEvent("form-reset",e)},I=function(e){te.dispatchEvent("form-submit-invalid",e)},N=function(e){(0,_vue.nextTick)(function(){return K.recalculate(!0)}),te.dispatchEvent("form-toggle-collapse",e),te.dispatchEvent("form-collapse",e)},q=function(e,t){t=e[t];if(t){if(!_xeUtils.default.isString(t))return t;if(g[t])return g[t];"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notSlot",[t])}return null},L={};_emits.default.forEach(function(o){var e=_xeUtils.default.camelCase("on-"+o);L[e]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.apply(void 0,__spreadArray([o],e))}});function d(){var n,e=$.proxyConfig,t=$.formConfig,o=B.proxyInited,r=Y.value,a=w.value;e&&((0,_utils.isEnableConf)(t)&&r.form&&a.items&&(n={},a.items.forEach(function(e){var t,o=e.field,r=e.itemRender;o&&(t=null,r&&(r=r.defaultValue,_xeUtils.default.isFunction(r)?t=r({item:e}):_xeUtils.default.isUndefined(r)||(t=r)),n[o]=t)}),B.formData=n),o||!1===r.autoLoad||(B.proxyInited=!0,(0,_vue.nextTick)(function(){return te.commitProxy("_init")})))}te={dispatchEvent:function(e,t,o){r(e,Object.assign({$grid:ee,$event:o},t))},commitProxy:function(t){for(var e=[],o=1;o<arguments.length;o++)e[o-1]=arguments[o];var r=$.toolbarConfig,n=$.pagerConfig,a=B.tablePage,i=B.formData,l=J.value,s=Y.value,u=W.value,c=s.beforeQuery,d=s.afterQuery,f=s.beforeDelete,g=s.afterDelete,v=s.beforeSave,p=s.afterSave,m=s.ajax,_=void 0===m?{}:m,s=s.props,x=void 0===s?{}:s,b=H.value,h=null,C=null;C=_xeUtils.default.isString(t)?(u=u.buttons,h=(u=r&&u?_xeUtils.default.findTree(u,function(e){return e.code===t},{children:"dropdowns"}):null)?u.item:null,t):(h=t).code;var E,R,y,T,w=h?h.params:null;switch(C){case"insert":b.insert({});break;case"insert_actived":b.insert({}).then(function(e){e=e.row;return b.setActiveRow(e)});break;case"mark_cancel":V=C,y=B.pendingRecords,P=J.value,T=H.value,(k=T.getCheckboxRecords()).length?(E=[],R=[],k.forEach(function(t){(y.some(function(e){return t===e})?R:E).push(t)}),R.length?B.pendingRecords=y.filter(function(e){return-1===T.findRowIndexOf(R,e)}).concat(E):E.length&&(B.pendingRecords=y.concat(E)),K.clearCheckboxRow()):P&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:V,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"}));break;case"remove":return Q(C,"vxe.grid.removeSelectRecord",function(){return b.removeCheckboxRow()});case"import":b.importData(w);break;case"open_import":b.openImport(w);break;case"export":b.exportData(w);break;case"open_export":b.openExport(w);break;case"reset_custom":b.resetColumn(!0);break;case"_init":case"reload":case"query":var O=_.query;if(O){var M="_init"===C,D="reload"===C,k=[],P=[],V={};n&&((M||D)&&(a.currentPage=1),(0,_utils.isEnableConf)(n)&&(V=__assign({},a))),M?((M=b.getComputeMaps().computeSortOpts.value.defaultSort)&&(k=(M=!_xeUtils.default.isArray(M)?[M]:M).map(function(e){return{property:e.field,order:e.order}})),P=b.getCheckedFilters()):D?(B.pendingRecords=[],b.clearAll()):(k=b.getSortColumns(),P=b.getCheckedFilters());V={code:C,button:h,$grid:ee,page:V,sort:k.length?k[0]:{},sorts:k,filters:P,form:i,options:O};B.sortData=k,B.filterData=P,B.tableLoading=!0;var S=[V].concat(e);return Promise.resolve((c||O).apply(void 0,S)).catch(function(e){return e}).then(function(e){var t;B.tableLoading=!1,e?(0,_utils.isEnableConf)(n)?(t=_xeUtils.default.get(e,x.total||"page.total")||0,a.total=t,B.tableData=_xeUtils.default.get(e,x.result||"result")||[],t=Math.max(Math.ceil(t/a.pageSize),1),a.currentPage>t&&(a.currentPage=t)):B.tableData=(x.list?_xeUtils.default.get(e,x.list):e)||[]:B.tableData=[],d&&d.apply(void 0,S)})}"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break;case"delete":var X=_.delete;if(X){var I=K.getCheckboxRecords(),N=I.filter(function(e){return!b.isInsertByRow(e)}),q=[{$grid:ee,code:C,button:h,body:{removeRecords:N},options:X}].concat(e);if(I.length)return Q(C,"vxe.grid.deleteSelectRecord",function(){return N.length?(B.tableLoading=!0,Promise.resolve((f||X).apply(void 0,q)).then(function(e){B.tableLoading=!1,B.pendingRecords=B.pendingRecords.filter(function(e){return-1===b.findRowIndexOf(N,e)}),l&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:G(e,"vxe.grid.delSuccess"),status:"success"})),g?g.apply(void 0,q):te.commitProxy("query")}).catch(function(e){B.tableLoading=!1,l&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal.message||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:C,content:G(e,"vxe.grid.operError"),status:"error"}))})):b.remove(I)});l&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:C,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"}))}else"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break;case"save":var L=_.save;if(L){var U=Object.assign({pendingRecords:B.pendingRecords},b.getRecordset()),z=U.insertRecords,j=U.removeRecords,F=U.updateRecords,Z=U.pendingRecords,A=[{$grid:ee,code:C,button:h,body:U,options:L}].concat(e);return z.length&&(U.pendingRecords=Z.filter(function(e){return-1===b.findRowIndexOf(z,e)})),Z.length&&(U.insertRecords=z.filter(function(e){return-1===b.findRowIndexOf(Z,e)})),b.validate(U.insertRecords.concat(F)).then(function(e){if(!e)return U.insertRecords.length||j.length||F.length||U.pendingRecords.length?(B.tableLoading=!0,Promise.resolve((v||L).apply(void 0,A)).then(function(e){B.tableLoading=!1,B.pendingRecords=[],l&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:G(e,"vxe.grid.saveSuccess"),status:"success"})),p?p.apply(void 0,A):te.commitProxy("query")}).catch(function(e){B.tableLoading=!1,l&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:C,content:G(e,"vxe.grid.operError"),status:"error"}))})):void(l&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:C,content:_conf.default.i18n("vxe.grid.dataUnchanged"),status:"info"})))})}"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break;default:O=_vXETable.VXETable.commands.get(C);O&&O.apply(void 0,__spreadArray([{code:C,button:h,$grid:ee,$table:b}],e))}return(0,_vue.nextTick)()},zoom:function(){return B.isZMax?te.revert():te.maximize()},isMaximized:function(){return B.isZMax},maximize:function(){return l(!0)},revert:function(){return l()},getFormItems:function(e){var t=w.value,o=$.formConfig,t=t.items,r=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(o)&&t?t:[],function(e){r.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?r:r[e]},getPendingRecords:function(){return B.pendingRecords},getProxyInfo:function(){if($.proxyConfig){var e=B.sortData;return{data:B.tableData,filter:B.filterData,form:B.formData,sort:e.length?e[0]:{},sorts:e,pager:B.tablePage,pendingRecords:B.pendingRecords}}return null}};"development"===process.env.NODE_ENV&&(te.loadColumn=function(e){var t=H.value;return _xeUtils.default.eachTree(e,function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||g[e]||(0,_utils.errLog)("vxe.error.notSlot",[e])})}),t.loadColumn(e)},te.reloadColumn=function(e){return K.clearAll(),te.loadColumn(e)});var U={extendTableMethods:t,callSlot:function(e,t){return e&&(_xeUtils.default.isString(e)&&(e=g[e]||null),_xeUtils.default.isFunction(e))?e(t):[]},getExcludeHeight:function(){var e=$.height,t=B.isZMax,o=p.value,r=b.value,n=h.value,a=C.value,i=E.value,l=R.value;return(t||"auto"!==e?0:(0,_dom.getPaddingTopBottomSize)(o.parentNode))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(l)},getParentHeight:function(){var e=p.value;return e?(B.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-U.getExcludeHeight():0},triggerToolbarBtnEvent:function(e,t){te.commitProxy(e,t),te.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent:function(e,t){te.commitProxy(e,t),te.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e,$event:t})},triggerZoomEvent:function(e){te.zoom(),te.dispatchEvent("zoom",{type:B.isZMax?"max":"revert"},e)}};Object.assign(ee,K,te,U),(0,_vue.watch)(function(){return $.columns},function(e){(0,_vue.nextTick)(function(){return ee.loadColumn(e||[])})}),(0,_vue.watch)(function(){return $.toolbarConfig},function(e){e&&a()}),(0,_vue.watch)(function(){return $.proxyConfig},function(){d()}),(0,_vue.watch)(function(){return $.pagerConfig},function(){i()});function z(e){var t=s.value;(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ESCAPE)&&B.isZMax&&!1!==t.escRestore&&U.triggerZoomEvent(e)}_vXETable.VXETable.hooks.forEach(function(e){e=e.setupGrid;!e||(e=e(ee))&&_xeUtils.default.isObject(e)&&Object.assign(ee,e)}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=$.data,t=$.columns,o=$.proxyConfig,r=Y.value,n=w.value;o&&(e||r.form&&n.data)&&(0,_utils.errLog)("errConflicts",["grid.data","grid.proxy-config"]),t&&t.length&&ee.loadColumn(t),a(),i(),d()}),_event.GlobalEvent.on(ee,"keydown",z)}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(ee,"keydown")});return ee.renderVN=function(){var e,t,o,r,n,a,i,l,s,u,c,d=v.value,f=O.value;return(0,_vue.h)("div",{ref:p,class:["vxe-grid",((c={})["size--"+d]=d,c["is--animat"]=!!$.animat,c["is--round"]=$.round,c["is--maximize"]=B.isZMax,c["is--loading"]=$.loading||B.tableLoading,c)],style:f},(l=$.formConfig,s=$.proxyConfig,u=B.formData,d=Y.value,c=w.value,f=[],((0,_utils.isEnableConf)(l)||g.form)&&(l=[],g.form?l=g.form({$grid:ee}):c.items&&(a={},c.inited||(c.inited=!0,i=d.beforeItem,d&&i&&c.items.forEach(function(e){i({$grid:ee,item:e})})),c.items.forEach(function(e){_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||g[e]&&(a[e]=g[e])})}),l.push((0,_vue.h)((0,_vue.resolveComponent)("vxe-form"),__assign(__assign({ref:m},Object.assign({},c,{data:s&&d.form?u:c.data})),{onSubmit:S,onReset:X,onSubmitInvalid:I,onCollapse:N}),a))),f.push((0,_vue.h)("div",{ref:b,class:"vxe-grid--form-wrapper"},l))),f.concat((c=$.toolbarConfig,l=W.value,f=[],((0,_utils.isEnableConf)(c)||g.toolbar)&&(t=[],g.toolbar?t=g.toolbar({$grid:ee}):(r=o=void 0,n={},(c=l.slots)&&(o=q(c,"buttons"),r=q(c,"tools"),o&&(n.buttons=o),r&&(n.tools=r)),t.push((0,_vue.h)((0,_vue.resolveComponent)("vxe-toolbar"),__assign({ref:_},l),n))),f.push((0,_vue.h)("div",{ref:h,class:"vxe-grid--toolbar-wrapper"},t))),f),g.top?[(0,_vue.h)("div",{ref:C,class:"vxe-grid--top-wrapper"},g.top({$grid:ee}))]:[],(c=$.proxyConfig,o=D.value,r=Y.value,l=Object.assign({},L),e=g.empty,c&&(r.sort&&(l.onSortChange=P),r.filter&&(l.onFilterChange=V)),[(0,_vue.h)((0,_vue.resolveComponent)("vxe-table"),__assign(__assign({ref:H},o),l),e?{empty:function(){return e({})}}:{})]),g.bottom?[(0,_vue.h)("div",{ref:E,class:"vxe-grid--bottom-wrapper"},g.bottom({$grid:ee}))]:[],(n=$.pagerConfig,t=T.value,f=[],((0,_utils.isEnableConf)(n)||g.pager)&&(c=[],g.pager?c=g.pager({$grid:ee}):(r={},l=o=void 0,(n=t.slots)&&(o=q(n,"left"),l=q(n,"right"),o&&(r.buttons=o),l&&(r.tools=l)),c.push((0,_vue.h)((0,_vue.resolveComponent)("vxe-pager"),__assign(__assign(__assign({ref:x},t),$.proxyConfig?B.tablePage:{}),{onPageChange:k}),r))),f.push((0,_vue.h)("div",{ref:R,class:"vxe-grid--pager-wrapper"},c))),f))))},(0,_vue.provide)("$xegrid",ee),ee},render:function(){return this.renderVN()}});exports.default=_default2;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../tools/utils"),_dom=require("../../tools/dom"),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_props=_interopRequireDefault(require("../../table/src/props")),_emits=_interopRequireDefault(require("../../table/src/emits")),_size=require("../../hooks/size"),_event=require("../../tools/event");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++)for(var n in t=arguments[o])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var o=0,r=t.length,n=e.length;o<r;o++,n++)e[n]=t[o];return e},tableComponentPropKeys=Object.keys(_props.default),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","createData","createRow","revertData","clearData","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getData","getCheckboxRecords","getRowById","getRowid","getTableData","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","sort","clearSort","isSort","getSortColumns","closeFilter","isFilter","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","focus","blur","connect"],gridComponentEmits=__spreadArray(__spreadArray([],_emits.default),["page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","toolbar-button-click","toolbar-tool-click","zoom"]),_default2=(0,_vue.defineComponent)({name:"VxeGrid",props:__assign(__assign({},_props.default),{columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:function(){return _conf.default.grid.size||_conf.default.size}}}),emits:gridComponentEmits,setup:function(H,e){function t(e){var t={};return e.forEach(function(r){t[r]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var o=G.value;return o&&o[r].apply(o,e)}}),t}var g=e.slots,r=e.emit,o=_xeUtils.default.uniqueId(),n=(0,_vue.getCurrentInstance)(),v=(0,_size.useSize)(H),K=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],pendingRecords:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:10,currentPage:1}}),p=(0,_vue.ref)(),G=(0,_vue.ref)(),m=(0,_vue.ref)(),_=(0,_vue.ref)(),x=(0,_vue.ref)(),b=(0,_vue.ref)(),h=(0,_vue.ref)(),C=(0,_vue.ref)(),E=(0,_vue.ref)(),R=(0,_vue.ref)(),Q=t(tableComponentMethodKeys);tableComponentMethodKeys.forEach(function(r){Q[r]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var o=G.value;return o&&o[r].apply(o,e)}});function f(t){var e=K.pendingRecords,o=H.rowClassName,r=[];return e.some(function(e){return e===t.row})&&r.push("row--pending"),r.push(o?_xeUtils.default.isFunction(o)?o(t):o:""),r}function y(e){var t=H.editConfig,o=K.pendingRecords,r=G.value,t=t?t.activeMethod:null;return-1===r.findRowIndexOf(o,e.row)&&(!t||t(e))}function a(){(0,_vue.nextTick)(function(){var e=G.value,t=_.value;e&&t&&e.connect(t)})}function i(){var e=H.pagerConfig,t=K.tablePage,o=(r=T.value).currentPage,r=r.pageSize;e&&(o&&(t.currentPage=o),r&&(t.pageSize=r))}function Y(e,t){var o,r=void 0===(r=W.value.props)?{}:r;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||_conf.default.i18n(t)}function J(e,t,o){var r=ee.value,n=Q.getCheckboxRecords();if(r){if(n.length)return _vXETable.VXETable.modal.confirm({id:"cfm_"+e,content:_conf.default.i18n(t),escClosable:!0}).then(function(e){"confirm"===e&&o()});"development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:"msg_"+e,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"})}else n.length&&o();return Promise.resolve()}function l(e){var t=K.isZMax;return(e?!t:t)&&(K.isZMax=!t,K.tZindex<(0,_utils.getLastZIndex)()&&(K.tZindex=(0,_utils.nextZIndex)())),(0,_vue.nextTick)().then(function(){return Q.recalculate(!0)}).then(function(){return K.isZMax})}var W=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.proxyConfig,H.proxyConfig)}),ee=(0,_vue.computed)(function(){return!1!==W.value.message}),T=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.pagerConfig,H.pagerConfig)}),w=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.formConfig,H.formConfig)}),te=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.toolbarConfig,H.toolbarConfig)}),s=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.zoomConfig,H.zoomConfig)}),O=(0,_vue.computed)(function(){return K.isZMax?{zIndex:K.tZindex}:null}),M=(0,_vue.computed)(function(){var t={},o=H;return tableComponentPropKeys.forEach(function(e){t[e]=o[e]}),t}),u={refElem:p,refTable:G,refForm:m,refToolbar:_,refPager:x},c={computeProxyOpts:W,computePagerOpts:T,computeFormOpts:w,computeToolbarOpts:te,computeZoomOpts:s},oe={xID:o,props:H,context:e,instance:n,reactData:K,getRefMaps:function(){return u},getComputeMaps:function(){return c}},re={},D=(0,_vue.computed)(function(){var e=H.seqConfig,t=H.pagerConfig,o=H.loading,r=H.editConfig,n=H.proxyConfig,a=K.isZMax,i=K.tableLoading,l=K.tablePage,s=K.tableData,u=M.value,c=W.value,d=Object.assign({},u);return a&&(u.maxHeight?d.maxHeight="auto":d.height="auto"),n&&(d.loading=o||i,d.data=s,d.rowClassName=f,c.seq&&(0,_utils.isEnableConf)(t)&&(d.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize}))),r&&(d.editConfig=Object.assign({},r,{activeMethod:y})),d}),k=function(e){var t=H.proxyConfig,o=K.tablePage,r=e.currentPage,n=e.pageSize;o.currentPage=r,o.pageSize=n,re.dispatchEvent("page-change",e),t&&re.commitProxy("query")},P=function(e){var t=G.value,o=H.proxyConfig;t.getComputeMaps().computeSortOpts.value.remote&&(K.sortData=e.sortList,o&&(K.tablePage.currentPage=1,re.commitProxy("query"))),re.dispatchEvent("sort-change",e)},V=function(e){var t=G.value,o=H.proxyConfig;t.getComputeMaps().computeFilterOpts.value.remote&&(K.filterData=e.filterList,o&&(K.tablePage.currentPage=1,re.commitProxy("query"))),re.dispatchEvent("filter-change",e)},S=function(e){H.proxyConfig&&re.commitProxy("reload"),re.dispatchEvent("form-submit",e)},X=function(e){H.proxyConfig&&re.commitProxy("reload"),re.dispatchEvent("form-reset",e)},I=function(e){re.dispatchEvent("form-submit-invalid",e)},N=function(e){(0,_vue.nextTick)(function(){return Q.recalculate(!0)}),re.dispatchEvent("form-toggle-collapse",e),re.dispatchEvent("form-collapse",e)},q=function(e,t){t=e[t];if(t){if(!_xeUtils.default.isString(t))return t;if(g[t])return g[t];"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notSlot",[t])}return null},L={};_emits.default.forEach(function(o){var e=_xeUtils.default.camelCase("on-"+o);L[e]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.apply(void 0,__spreadArray([o],e))}});function d(){var n,e=H.proxyConfig,t=H.formConfig,o=K.proxyInited,r=W.value,a=w.value;e&&((0,_utils.isEnableConf)(t)&&r.form&&a.items&&(n={},a.items.forEach(function(e){var t,o=e.field,r=e.itemRender;o&&(t=null,r&&(r=r.defaultValue,_xeUtils.default.isFunction(r)?t=r({item:e}):_xeUtils.default.isUndefined(r)||(t=r)),n[o]=t)}),K.formData=n),o||!1===r.autoLoad||(K.proxyInited=!0,(0,_vue.nextTick)(function(){return re.commitProxy("_init")})))}re={dispatchEvent:function(e,t,o){r(e,Object.assign({$grid:oe,$event:o},t))},commitProxy:function(t){for(var e=[],o=1;o<arguments.length;o++)e[o-1]=arguments[o];var r=H.toolbarConfig,n=H.pagerConfig,a=H.editRules,i=K.tablePage,l=K.formData,s=ee.value,u=W.value,c=te.value,d=u.beforeQuery,f=u.afterQuery,g=u.beforeDelete,v=u.afterDelete,p=u.beforeSave,m=u.afterSave,_=u.ajax,x=void 0===_?{}:_,u=u.props,b=void 0===u?{}:u,h=G.value,C=null,E=null;E=_xeUtils.default.isString(t)?(c=c.buttons,C=(c=r&&c?_xeUtils.default.findTree(c,function(e){return e.code===t},{children:"dropdowns"}):null)?c.item:null,t):(C=t).code;var R,y,T,w,O=C?C.params:null;switch(E){case"insert":h.insert({});break;case"insert_actived":h.insert({}).then(function(e){e=e.row;return h.setActiveRow(e)});break;case"mark_cancel":S=E,T=K.pendingRecords,V=ee.value,w=G.value,(P=w.getCheckboxRecords()).length?(R=[],y=[],P.forEach(function(t){(T.some(function(e){return t===e})?y:R).push(t)}),y.length?K.pendingRecords=T.filter(function(e){return-1===w.findRowIndexOf(y,e)}).concat(R):R.length&&(K.pendingRecords=T.concat(R)),Q.clearCheckboxRow()):V&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:S,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"}));break;case"remove":return J(E,"vxe.grid.removeSelectRecord",function(){return h.removeCheckboxRow()});case"import":h.importData(O);break;case"open_import":h.openImport(O);break;case"export":h.exportData(O);break;case"open_export":h.openExport(O);break;case"reset_custom":h.resetColumn(!0);break;case"_init":case"reload":case"query":var M=x.query;if(M){var D="_init"===E,k="reload"===E,P=[],V=[],S={};n&&((D||k)&&(i.currentPage=1),(0,_utils.isEnableConf)(n)&&(S=__assign({},i))),D?((D=h.getComputeMaps().computeSortOpts.value.defaultSort)&&(P=(D=!_xeUtils.default.isArray(D)?[D]:D).map(function(e){return{property:e.field,order:e.order}})),V=h.getCheckedFilters()):k?(K.pendingRecords=[],h.clearAll()):(P=h.getSortColumns(),V=h.getCheckedFilters());S={code:E,button:C,$grid:oe,page:S,sort:P.length?P[0]:{},sorts:P,filters:V,form:l,options:M};K.sortData=P,K.filterData=V,K.tableLoading=!0;var X=[S].concat(e);return Promise.resolve((d||M).apply(void 0,X)).catch(function(e){return e}).then(function(e){var t;K.tableLoading=!1,e?(0,_utils.isEnableConf)(n)?(t=_xeUtils.default.get(e,b.total||"page.total")||0,i.total=t,K.tableData=_xeUtils.default.get(e,b.result||"result")||[],t=Math.max(Math.ceil(t/i.pageSize),1),i.currentPage>t&&(i.currentPage=t)):K.tableData=(b.list?_xeUtils.default.get(e,b.list):e)||[]:K.tableData=[],f&&f.apply(void 0,X)})}"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break;case"delete":var I=x.delete;if(I){var N=Q.getCheckboxRecords(),q=N.filter(function(e){return!h.isInsertByRow(e)}),L=[{$grid:oe,code:E,button:C,body:{removeRecords:q},options:I}].concat(e);if(N.length)return J(E,"vxe.grid.deleteSelectRecord",function(){return q.length?(K.tableLoading=!0,Promise.resolve((g||I).apply(void 0,L)).then(function(e){K.tableLoading=!1,K.pendingRecords=K.pendingRecords.filter(function(e){return-1===h.findRowIndexOf(q,e)}),s&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:Y(e,"vxe.grid.delSuccess"),status:"success"})),v?v.apply(void 0,L):re.commitProxy("query")}).catch(function(e){K.tableLoading=!1,s&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal.message||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:E,content:Y(e,"vxe.grid.operError"),status:"error"}))})):h.remove(N)});s&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:E,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"}))}else"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break;case"save":var U=x.save;if(U){var z=Object.assign({pendingRecords:K.pendingRecords},h.getRecordset()),j=z.insertRecords,F=z.removeRecords,Z=z.updateRecords,A=z.pendingRecords,$=[{$grid:oe,code:E,button:C,body:z,options:U}].concat(e);j.length&&(z.pendingRecords=A.filter(function(e){return-1===h.findRowIndexOf(j,e)})),A.length&&(z.insertRecords=j.filter(function(e){return-1===h.findRowIndexOf(A,e)}));var B=Promise.resolve();return(B=a?h.validate(z.insertRecords.concat(Z)):B).then(function(e){if(!e)return z.insertRecords.length||F.length||Z.length||z.pendingRecords.length?(K.tableLoading=!0,Promise.resolve((p||U).apply(void 0,$)).then(function(e){K.tableLoading=!1,K.pendingRecords=[],s&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:Y(e,"vxe.grid.saveSuccess"),status:"success"})),m?m.apply(void 0,$):re.commitProxy("query")}).catch(function(e){K.tableLoading=!1,s&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:E,content:Y(e,"vxe.grid.operError"),status:"error"}))})):void(s&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({id:E,content:_conf.default.i18n("vxe.grid.dataUnchanged"),status:"info"})))})}"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break;default:B=_vXETable.VXETable.commands.get(E);B&&B.apply(void 0,__spreadArray([{code:E,button:C,$grid:oe,$table:h}],e))}return(0,_vue.nextTick)()},zoom:function(){return K.isZMax?re.revert():re.maximize()},isMaximized:function(){return K.isZMax},maximize:function(){return l(!0)},revert:function(){return l()},getFormItems:function(e){var t=w.value,o=H.formConfig,t=t.items,r=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(o)&&t?t:[],function(e){r.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?r:r[e]},getPendingRecords:function(){return K.pendingRecords},getProxyInfo:function(){if(H.proxyConfig){var e=K.sortData;return{data:K.tableData,filter:K.filterData,form:K.formData,sort:e.length?e[0]:{},sorts:e,pager:K.tablePage,pendingRecords:K.pendingRecords}}return null}};"development"===process.env.NODE_ENV&&(re.loadColumn=function(e){var t=G.value;return _xeUtils.default.eachTree(e,function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||g[e]||(0,_utils.errLog)("vxe.error.notSlot",[e])})}),t.loadColumn(e)},re.reloadColumn=function(e){return Q.clearAll(),re.loadColumn(e)});var U={extendTableMethods:t,callSlot:function(e,t){return e&&(_xeUtils.default.isString(e)&&(e=g[e]||null),_xeUtils.default.isFunction(e))?e(t):[]},getExcludeHeight:function(){var e=H.height,t=K.isZMax,o=p.value,r=b.value,n=h.value,a=C.value,i=E.value,l=R.value;return(t||"auto"!==e?0:(0,_dom.getPaddingTopBottomSize)(o.parentNode))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(l)},getParentHeight:function(){var e=p.value;return e?(K.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-U.getExcludeHeight():0},triggerToolbarBtnEvent:function(e,t){re.commitProxy(e,t),re.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent:function(e,t){re.commitProxy(e,t),re.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e,$event:t})},triggerZoomEvent:function(e){re.zoom(),re.dispatchEvent("zoom",{type:K.isZMax?"max":"revert"},e)}};Object.assign(oe,Q,re,U),(0,_vue.watch)(function(){return H.columns},function(e){(0,_vue.nextTick)(function(){return oe.loadColumn(e||[])})}),(0,_vue.watch)(function(){return H.toolbarConfig},function(e){e&&a()}),(0,_vue.watch)(function(){return H.proxyConfig},function(){d()}),(0,_vue.watch)(function(){return H.pagerConfig},function(){i()});function z(e){var t=s.value;(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ESCAPE)&&K.isZMax&&!1!==t.escRestore&&U.triggerZoomEvent(e)}_vXETable.VXETable.hooks.forEach(function(e){e=e.setupGrid;!e||(e=e(oe))&&_xeUtils.default.isObject(e)&&Object.assign(oe,e)}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=H.data,t=H.columns,o=H.proxyConfig,r=W.value,n=w.value;o&&(e||r.form&&n.data)&&(0,_utils.errLog)("errConflicts",["grid.data","grid.proxy-config"]),t&&t.length&&oe.loadColumn(t),a(),i(),d()}),_event.GlobalEvent.on(oe,"keydown",z)}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(oe,"keydown")});return oe.renderVN=function(){var e,t,o,r,n,a,i,l,s,u,c,d=v.value,f=O.value;return(0,_vue.h)("div",{ref:p,class:["vxe-grid",((c={})["size--"+d]=d,c["is--animat"]=!!H.animat,c["is--round"]=H.round,c["is--maximize"]=K.isZMax,c["is--loading"]=H.loading||K.tableLoading,c)],style:f},(l=H.formConfig,s=H.proxyConfig,u=K.formData,d=W.value,c=w.value,f=[],((0,_utils.isEnableConf)(l)||g.form)&&(l=[],g.form?l=g.form({$grid:oe}):c.items&&(a={},c.inited||(c.inited=!0,i=d.beforeItem,d&&i&&c.items.forEach(function(e){i({$grid:oe,item:e})})),c.items.forEach(function(e){_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||g[e]&&(a[e]=g[e])})}),l.push((0,_vue.h)((0,_vue.resolveComponent)("vxe-form"),__assign(__assign({ref:m},Object.assign({},c,{data:s&&d.form?u:c.data})),{onSubmit:S,onReset:X,onSubmitInvalid:I,onCollapse:N}),a))),f.push((0,_vue.h)("div",{ref:b,class:"vxe-grid--form-wrapper"},l))),f.concat((c=H.toolbarConfig,l=te.value,f=[],((0,_utils.isEnableConf)(c)||g.toolbar)&&(t=[],g.toolbar?t=g.toolbar({$grid:oe}):(r=o=void 0,n={},(c=l.slots)&&(o=q(c,"buttons"),r=q(c,"tools"),o&&(n.buttons=o),r&&(n.tools=r)),t.push((0,_vue.h)((0,_vue.resolveComponent)("vxe-toolbar"),__assign({ref:_},l),n))),f.push((0,_vue.h)("div",{ref:h,class:"vxe-grid--toolbar-wrapper"},t))),f),g.top?[(0,_vue.h)("div",{ref:C,class:"vxe-grid--top-wrapper"},g.top({$grid:oe}))]:[],(c=H.proxyConfig,o=D.value,r=W.value,l=Object.assign({},L),e=g.empty,c&&(r.sort&&(l.onSortChange=P),r.filter&&(l.onFilterChange=V)),[(0,_vue.h)((0,_vue.resolveComponent)("vxe-table"),__assign(__assign({ref:G},o),l),e?{empty:function(){return e({})}}:{})]),g.bottom?[(0,_vue.h)("div",{ref:E,class:"vxe-grid--bottom-wrapper"},g.bottom({$grid:oe}))]:[],(n=H.pagerConfig,t=T.value,f=[],((0,_utils.isEnableConf)(n)||g.pager)&&(c=[],g.pager?c=g.pager({$grid:oe}):(r={},l=o=void 0,(n=t.slots)&&(o=q(n,"left"),l=q(n,"right"),o&&(r.buttons=o),l&&(r.tools=l)),c.push((0,_vue.h)((0,_vue.resolveComponent)("vxe-pager"),__assign(__assign(__assign({ref:x},t),H.proxyConfig?K.tablePage:{}),{onPageChange:k}),r))),f.push((0,_vue.h)("div",{ref:R,class:"vxe-grid--pager-wrapper"},c))),f))))},(0,_vue.provide)("$xegrid",oe),oe},render:function(){return this.renderVN()}});exports.default=_default2;
package/lib/index.umd.js CHANGED
@@ -17140,6 +17140,21 @@ function toStringTimeDate(str) {
17140
17140
  reactData.inputValue = val;
17141
17141
  changeValue();
17142
17142
  });
17143
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
17144
+ return props.type;
17145
+ }, function () {
17146
+ // 切换类型是重置内置变量
17147
+ Object.assign(reactData, {
17148
+ inputValue: props.modelValue,
17149
+ datetimePanelValue: null,
17150
+ datePanelValue: null,
17151
+ datePanelLabel: '',
17152
+ datePanelType: 'day',
17153
+ selectMonth: null,
17154
+ currentDate: null
17155
+ });
17156
+ initValue();
17157
+ });
17143
17158
  Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(computeDateLabelFormat, function () {
17144
17159
  dateParseValue(reactData.datePanelValue);
17145
17160
  reactData.inputValue = reactData.datePanelLabel;
@@ -21570,6 +21585,7 @@ var Keyboard = {
21570
21585
 
21571
21586
 
21572
21587
 
21588
+
21573
21589
 
21574
21590
  /**
21575
21591
  * 校验规则
@@ -21753,14 +21769,19 @@ var validatorHook = {
21753
21769
  }
21754
21770
  });
21755
21771
  }).catch(function (firstErrParams) {
21756
- return new Promise(function (resolve) {
21772
+ return new Promise(function (resolve, reject) {
21757
21773
  var finish = function finish() {
21758
21774
  Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () {
21759
21775
  if (cb) {
21760
21776
  cb(validRest);
21761
21777
  resolve();
21762
21778
  } else {
21763
- resolve(validRest);
21779
+ if (conf.validToReject === 'obsolete') {
21780
+ // 已废弃,校验失败将不会执行catch
21781
+ reject(validRest);
21782
+ } else {
21783
+ resolve(validRest);
21784
+ }
21764
21785
  }
21765
21786
  });
21766
21787
  };
@@ -25108,7 +25129,8 @@ var gridComponentEmits = [].concat(_toConsumableArray(emits), ['page-change', 'f
25108
25129
  */
25109
25130
  commitProxy: function commitProxy(proxyTarget) {
25110
25131
  var toolbarConfig = props.toolbarConfig,
25111
- pagerConfig = props.pagerConfig;
25132
+ pagerConfig = props.pagerConfig,
25133
+ editRules = props.editRules;
25112
25134
  var tablePage = reactData.tablePage,
25113
25135
  formData = reactData.formData;
25114
25136
  var isMsg = computeIsMsg.value;
@@ -25424,10 +25446,16 @@ var gridComponentEmits = [].concat(_toConsumableArray(emits), ['page-change', 'f
25424
25446
  _body.insertRecords = insertRecords.filter(function (row) {
25425
25447
  return $xetable.findRowIndexOf(pendingRecords, row) === -1;
25426
25448
  });
25427
- } // 只校验新增和修改的数据
25449
+ }
25450
+
25451
+ var restPromise = Promise.resolve();
25428
25452
 
25453
+ if (editRules) {
25454
+ // 只校验新增和修改的数据
25455
+ restPromise = $xetable.validate(_body.insertRecords.concat(updateRecords));
25456
+ }
25429
25457
 
25430
- return $xetable.validate(_body.insertRecords.concat(updateRecords)).then(function (errMap) {
25458
+ return restPromise.then(function (errMap) {
25431
25459
  if (errMap) {
25432
25460
  // 如果校验不通过
25433
25461
  return;
@@ -33298,6 +33326,19 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
33298
33326
  tableTree = tableData;
33299
33327
  }
33300
33328
  }
33329
+ } else {
33330
+ if (treeConfig && transform) {
33331
+ // 还原虚拟树
33332
+ tableTree = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.searchTree(tableFullTreeData, function () {
33333
+ return true;
33334
+ }, _objectSpread2(_objectSpread2({}, treeOpts), {}, {
33335
+ original: true
33336
+ }));
33337
+ tableData = tableTree;
33338
+ } else {
33339
+ tableData = treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0);
33340
+ tableTree = tableData;
33341
+ }
33301
33342
  }
33302
33343
 
33303
33344
  internalData.afterFullData = tableData;