vxe-table 3.4.10-beta.0 → 3.4.12-beta.0

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.
@@ -614,6 +614,7 @@ var _default2 = {
614
614
  proxyOpts = this.proxyOpts,
615
615
  tablePage = this.tablePage,
616
616
  pagerConfig = this.pagerConfig,
617
+ editRules = this.editRules,
617
618
  formData = this.formData,
618
619
  isMsg = this.isMsg;
619
620
  var beforeQuery = proxyOpts.beforeQuery,
@@ -923,10 +924,16 @@ var _default2 = {
923
924
  _body.insertRecords = insertRecords.filter(function (row) {
924
925
  return pendingRecords.indexOf(row) === -1;
925
926
  });
926
- } // 只校验新增和修改的数据
927
+ }
928
+
929
+ var restPromise = Promise.resolve();
927
930
 
931
+ if (editRules) {
932
+ // 只校验新增和修改的数据
933
+ restPromise = this.validate(_body.insertRecords.concat(updateRecords));
934
+ }
928
935
 
929
- return this.validate(_body.insertRecords.concat(updateRecords)).then(function (errMap) {
936
+ return restPromise.then(function (errMap) {
930
937
  if (errMap) {
931
938
  // 如果校验不通过
932
939
  return;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _table=_interopRequireDefault(require("../../table")),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools"),_dom=require("../../tools/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(o="Object"===o&&e.constructor?e.constructor.name:o)||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=new Array(t);o<t;o++)r[o]=e[o];return r}function ownKeys(t,e){var o,r=Object.keys(t);return Object.getOwnPropertySymbols&&(o=Object.getOwnPropertySymbols(t),e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)),r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(o),!0).forEach(function(e){_defineProperty(t,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):ownKeys(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t}function _defineProperty(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var methods={},propKeys=Object.keys(_table.default.props);function renderDefaultForm(e,t){var o=t.$scopedSlots,r=t.proxyConfig,i=t.proxyOpts,n=t.formData,s=t.formConfig,a=t.formOpts;if((0,_tools.isEnableConf)(s)&&a.items&&a.items.length){var l,c={};return a.inited||(a.inited=!0,l=i.beforeItem,i&&l&&a.items.forEach(function(e){l.call(t,{$grid:t,item:e})})),a.items.forEach(function(e){_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||o[e]&&(c[e]=o[e])})}),[e("vxe-form",{props:Object.assign({},a,{data:r&&i.form?n:a.data}),on:{submit:t.submitEvent,reset:t.resetEvent,collapse:t.collapseEvent,"submit-invalid":t.submitInvalidEvent},scopedSlots:c})]}return[]}function getFuncSlot(e,t,o){e=e.$scopedSlots,o=t[o];if(o){if(!_xeUtils.default.isString(o))return o;if(e[o])return e[o];"development"===process.env.NODE_ENV&&_tools.UtilTools.error("vxe.error.notSlot",[o])}return null}function getToolbarSlots(e){var t=e.$scopedSlots,o=e.toolbarOpts.slots,r={};return"development"===process.env.NODE_ENV&&(!t.buttons||o&&"buttons"===o.buttons||_tools.UtilTools.warn("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||o&&"tools"===o.tools||_tools.UtilTools.warn("vxe.error.reqProp",["toolbar-config.slots.tools"])),o&&(t=getFuncSlot(e,o,"buttons"),o=getFuncSlot(e,o,"tools"),t&&(r.buttons=t),o&&(r.tools=o)),r}function getPagerSlots(e){var t,o=e.pagerOpts.slots,r={};return o&&(t=getFuncSlot(e,o,"left"),o=getFuncSlot(e,o,"right"),t&&(r.left=t),o&&(r.right=o)),r}function getTableOns(i){var e=i.$listeners,t=i.proxyConfig,o=i.proxyOpts,n={};return _xeUtils.default.each(e,function(e,r){n[r]=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];i.$emit.apply(i,[r].concat(t))}}),t&&(o.sort&&(n["sort-change"]=i.sortChangeEvent),o.filter&&(n["filter-change"]=i.filterChangeEvent)),n}Object.keys(_table.default.methods).forEach(function(t){methods[t]=function(){var e;return this.$refs.xTable&&(e=this.$refs.xTable)[t].apply(e,arguments)}});var _default2={name:"VxeGrid",mixins:[_size.default],props:_objectSpread(_objectSpread({},_table.default.props),{},{columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:function(){return _conf.default.grid.size||_conf.default.size}}}),provide:function(){return{$xegrid:this}},data:function(){return{tableLoading:!1,isZMax:!1,tableData:[],pendingRecords:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:10,currentPage:1}}},computed:{isMsg:function(){return!1!==this.proxyOpts.message},proxyOpts:function(){return Object.assign({},_conf.default.grid.proxyConfig,this.proxyConfig)},pagerOpts:function(){return Object.assign({},_conf.default.grid.pagerConfig,this.pagerConfig)},formOpts:function(){return Object.assign({},_conf.default.grid.formConfig,this.formConfig)},toolbarOpts:function(){return Object.assign({},_conf.default.grid.toolbarConfig,this.toolbarConfig||this.toolbar)},zoomOpts:function(){return Object.assign({},_conf.default.grid.zoomConfig,this.zoomConfig)},renderStyle:function(){return this.isZMax?{zIndex:this.tZindex}:null},tableExtendProps:function(){var t=this,o={};return propKeys.forEach(function(e){o[e]=t[e]}),o},tableProps:function(){var e=this.isZMax,t=this.seqConfig,o=this.pagerConfig,r=this.loading,i=this.editConfig,n=this.proxyConfig,s=this.proxyOpts,a=this.tableExtendProps,l=this.tableLoading,c=this.tablePage,d=this.tableData,u=Object.assign({},a);return e&&(a.maxHeight?u.maxHeight="auto":u.height="auto"),n&&(u.loading=r||l,u.data=d,u.rowClassName=this.handleRowClassName,s.seq&&(0,_tools.isEnableConf)(o)&&(u.seqConfig=Object.assign({},t,{startIndex:(c.currentPage-1)*c.pageSize}))),i&&(u.editConfig=Object.assign({},i,{activeMethod:this.handleActiveMethod})),u}},watch:{columns:function(e){var t=this;this.$nextTick(function(){return t.loadColumn(e)})},toolbar:function(e){e&&this.initToolbar()},toolbarConfig:function(e){e&&this.initToolbar()},proxyConfig:function(){this.initProxy()},pagerConfig:function(){this.initPages()}},created:function(){var e=this.data,t=this.formOpts,o=this.proxyOpts;this.proxyConfig&&(e||o.form&&t.data)&&console.error("[vxe-grid] There is a conflict between the props proxy-config and data."),"development"===process.env.NODE_ENV&&(this.toolbar&&_tools.UtilTools.warn("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig&&!_xeUtils.default.isObject(this.toolbarConfig)&&_tools.UtilTools.warn("vxe.error.errProp",["grid.toolbar-config=".concat(this.toolbarConfig),"grid.toolbar-config={}"])),_tools.GlobalEvent.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted:function(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initPages(),this.initProxy()},destroyed:function(){_tools.GlobalEvent.off(this,"keydown")},render:function(e){var t,o=this.$scopedSlots,r=this.vSize,i=this.isZMax,n=!(!o.form&&!(0,_tools.isEnableConf)(this.formConfig)),s=!!(o.toolbar||(0,_tools.isEnableConf)(this.toolbarConfig)||this.toolbar),a=!(!o.pager&&!(0,_tools.isEnableConf)(this.pagerConfig));return e("div",{class:["vxe-grid",(_defineProperty(t={},"size--".concat(r),r),_defineProperty(t,"is--animat",!!this.animat),_defineProperty(t,"is--round",this.round),_defineProperty(t,"is--maximize",i),_defineProperty(t,"is--loading",this.loading||this.tableLoading),t)],style:this.renderStyle},[n?e("div",{ref:"formWrapper",class:"vxe-grid--form-wrapper"},o.form?o.form.call(this,{$grid:this},e):renderDefaultForm(e,this)):null,s?e("div",{ref:"toolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o.toolbar?o.toolbar.call(this,{$grid:this},e):[e("vxe-toolbar",{props:this.toolbarOpts,ref:"xToolbar",scopedSlots:getToolbarSlots(this)})]):null,o.top?e("div",{ref:"topWrapper",class:"vxe-grid--top-wrapper"},o.top.call(this,{$grid:this},e)):null,e("vxe-table",{props:this.tableProps,on:getTableOns(this),scopedSlots:o,ref:"xTable"}),o.bottom?e("div",{ref:"bottomWrapper",class:"vxe-grid--bottom-wrapper"},o.bottom.call(this,{$grid:this},e)):null,a?e("div",{ref:"pagerWrapper",class:"vxe-grid--pager-wrapper"},o.pager?o.pager.call(this,{$grid:this},e):[e("vxe-pager",{props:_objectSpread(_objectSpread({},this.pagerOpts),this.proxyConfig?this.tablePage:{}),on:{"page-change":this.pageChangeEvent},scopedSlots:getPagerSlots(this)})]):null])},methods:_objectSpread(_objectSpread({},methods),{},{callSlot:function(e,t,o,r){if(e){var i=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))return e.call(this,t,o,r)}return[]},getParentHeight:function(){var e=this.$el;return(this.isZMax?_tools.DomTools.getDomNode().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-this.getExcludeHeight()},getExcludeHeight:function(){var e=this.$refs,t=this.$el,o=this.isZMax,r=this.height,i=e.formWrapper,n=e.toolbarWrapper,s=e.topWrapper,a=e.bottomWrapper,e=e.pagerWrapper;return(o||"auto"!==r?0:(0,_dom.getPaddingTopBottomSize)(t.parentNode))+(0,_dom.getPaddingTopBottomSize)(t)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(e)},handleRowClassName:function(t){var e=this.rowClassName,o=[];return this.pendingRecords.some(function(e){return e===t.row})&&o.push("row--pending"),o.push(e?_xeUtils.default.isFunction(e)?e(t):e:""),o},handleActiveMethod:function(e){var t=this.editConfig,t=t?t.activeMethod:null;return-1===this.pendingRecords.indexOf(e.row)&&(!t||t(e))},initToolbar:function(){var o=this;this.$nextTick(function(){var e=o.$refs,t=e.xTable,e=e.xToolbar;t&&e&&t.connect(e)})},initPages:function(){var e=this.tablePage,t=this.pagerConfig,o=this.pagerOpts,r=o.currentPage,o=o.pageSize;t&&(r&&(e.currentPage=r),o&&(e.pageSize=o))},initProxy:function(){var i,e=this,t=this.proxyInited,o=this.proxyConfig,r=this.proxyOpts,n=this.formConfig,s=this.formOpts;o&&((0,_tools.isEnableConf)(n)&&r.form&&s.items&&(i={},s.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)),i[o]=t)}),this.formData=i),t||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick(function(){return e.commitProxy("_init")})))},handleGlobalKeydownEvent:function(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy:function(t){var o,e,r=this,i=this.$refs,n=this.toolbar,s=this.toolbarConfig,a=this.toolbarOpts,l=this.proxyOpts,c=this.tablePage,d=this.pagerConfig,u=this.formData,f=this.isMsg,g=l.beforeQuery,h=l.afterQuery,p=l.beforeDelete,m=l.afterDelete,b=l.beforeSave,v=l.afterSave,x=l.ajax,_=void 0===x?{}:x,l=l.props,y=void 0===l?{}:l,O=i.xTable;_xeUtils.default.isString(t)?(a=s||n?_xeUtils.default.findTree(a.buttons,function(e){return e.code===t},{children:"dropdowns"}):null,o=t,e=a?a.item:null):o=(e=t).code;for(var E=e?e.params:null,C=arguments.length,T=new Array(1<C?C-1:0),P=1;P<C;P++)T[P-1]=arguments[P];switch(o){case"insert":this.insert();break;case"insert_actived":this.insert().then(function(e){e=e.row;return r.setActiveRow(e)});break;case"mark_cancel":this.triggerPendingEvent(o);break;case"remove":return this.handleDeleteRow(o,"vxe.grid.removeSelectRecord",function(){return r.removeCheckboxRow()});case"import":this.importData(E);break;case"open_import":this.openImport(E);break;case"export":this.exportData(E);break;case"open_export":this.openExport(E);break;case"reset_custom":this.resetColumn(!0);break;case"_init":case"reload":case"query":var S=_.query;if(S){var $="_init"===o,R="reload"===o,j=[],D=[],w={};d&&(($||R)&&(c.currentPage=1),(0,_tools.isEnableConf)(d)&&(w=_objectSpread({},c))),$?(($=O.sortOpts.defaultSort)&&(j=($=!_xeUtils.default.isArray($)?[$]:$).map(function(e){return{property:e.field,order:e.order}})),D=O.getCheckedFilters()):R?(this.pendingRecords=[],O.clearAll()):(j=O.getSortColumns(),D=O.getCheckedFilters());w={code:o,button:e,$grid:this,page:w,sort:j.length?j[0]:{},sorts:j,filters:D,form:u,options:S};this.sortData=j,this.filterData=D,this.tableLoading=!0;var M=[w].concat(T);return Promise.resolve((g||S).apply(void 0,_toConsumableArray(M))).catch(function(e){return e}).then(function(e){var t;r.tableLoading=!1,e?(0,_tools.isEnableConf)(d)?(t=_xeUtils.default.get(e,y.total||"page.total")||0,c.total=t,r.tableData=_xeUtils.default.get(e,y.result||"result")||[],t=Math.max(Math.ceil(t/c.pageSize),1),c.currentPage>t&&(c.currentPage=t)):r.tableData=(y.list?_xeUtils.default.get(e,y.list):e)||[]:r.tableData=[],h&&h.apply(void 0,_toConsumableArray(M))})}"development"===process.env.NODE_ENV&&_tools.UtilTools.error("vxe.error.notFunc",["proxy-config.ajax.query"]);break;case"delete":var U=_.delete;if(U){var N=O.getCheckboxRecords(),k=N.filter(function(e){return!O.isInsertByRow(e)}),q=[{$grid:this,code:o,button:e,body:{removeRecords:k},options:U}].concat(T);if(N.length)return this.handleDeleteRow(o,"vxe.grid.deleteSelectRecord",function(){return k.length?(r.tableLoading=!0,Promise.resolve((p||U).apply(void 0,_toConsumableArray(q))).then(function(e){r.tableLoading=!1,r.pendingRecords=r.pendingRecords.filter(function(e){return-1===k.indexOf(e)}),f&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({content:r.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),m?m.apply(void 0,_toConsumableArray(q)):r.commitProxy("query")}).catch(function(e){r.tableLoading=!1,f&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:o,content:r.getRespMsg(e,"vxe.grid.operError"),status:"error"}))})):O.remove(N)});f&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:o,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"}))}else"development"===process.env.NODE_ENV&&_tools.UtilTools.error("vxe.error.notFunc",["proxy-config.ajax.delete"]);break;case"save":var A=_.save;if(A){var z=Object.assign({pendingRecords:this.pendingRecords},this.getRecordset()),Z=z.insertRecords,I=z.removeRecords,L=z.updateRecords,X=z.pendingRecords,F=[{$grid:this,code:o,button:e,body:z,options:A}].concat(T);return Z.length&&(z.pendingRecords=X.filter(function(e){return-1===Z.indexOf(e)})),X.length&&(z.insertRecords=Z.filter(function(e){return-1===X.indexOf(e)})),this.validate(z.insertRecords.concat(L)).then(function(e){if(!e)return z.insertRecords.length||I.length||L.length||z.pendingRecords.length?(r.tableLoading=!0,Promise.resolve((b||A).apply(void 0,_toConsumableArray(F))).then(function(e){r.tableLoading=!1,r.pendingRecords=[],f&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({content:r.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),v?v.apply(void 0,_toConsumableArray(F)):r.commitProxy("query")}).catch(function(e){r.tableLoading=!1,f&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:o,content:r.getRespMsg(e,"vxe.grid.operError"),status:"error"}))})):void(f&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:o,content:_conf.default.i18n("vxe.grid.dataUnchanged"),status:"info"})))})}"development"===process.env.NODE_ENV&&_tools.UtilTools.error("vxe.error.notFunc",["proxy-config.ajax.save"]);break;default:S=_vXETable.default.commands.get(o);S&&S.apply(void 0,[{code:o,button:e,$grid:this,$table:O}].concat(T))}return this.$nextTick()},getRespMsg:function(e,t){var o,r=this.proxyOpts.props,r=void 0===r?{}:r;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||_conf.default.i18n(t)},handleDeleteRow:function(e,t,o){var r=this.getCheckboxRecords();if(this.isMsg){if(r.length)return _vXETable.default.modal.confirm({id:"cfm_".concat(e),content:_conf.default.i18n(t),escClosable:!0}).then(function(e){"confirm"===e&&o()});"development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:"msg_".concat(e),content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"})}else r.length&&o();return Promise.resolve()},getFormItems:function(e){var t=this.formConfig,o=this.formOpts,r=[];return _xeUtils.default.eachTree((0,_tools.isEnableConf)(t)&&o.items?o.items:[],function(e){r.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?r:r[e]},getPendingRecords:function(){return this.pendingRecords},triggerToolbarBtnEvent:function(e,t){this.commitProxy(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent:function(e,t){this.commitProxy(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent:function(e){var o,r,i=this.pendingRecords,t=this.isMsg,n=this.getCheckboxRecords();n.length?(o=[],r=[],n.forEach(function(t){(i.some(function(e){return t===e})?r:o).push(t)}),r.length?this.pendingRecords=i.filter(function(e){return-1===r.indexOf(e)}).concat(o):o.length&&(this.pendingRecords=i.concat(o)),this.clearCheckboxRow()):t&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:e,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"}))},pageChangeEvent:function(e){var t=this.proxyConfig,o=this.tablePage,r=e.currentPage,i=e.pageSize;o.currentPage=r,o.pageSize=i,this.$emit("page-change",Object.assign({$grid:this},e)),t&&this.commitProxy("query")},sortChangeEvent:function(e){var t=e.$table,o=e.column,r=e.sortList;(_xeUtils.default.isBoolean(o.remoteSort)?o.remoteSort:t.sortOpts.remote)&&(this.sortData=r,this.proxyConfig&&(this.tablePage.currentPage=1,this.commitProxy("query"))),this.$emit("sort-change",Object.assign({$grid:this},e))},filterChangeEvent:function(e){var t=e.$table,o=e.filterList;t.filterOpts.remote&&(this.filterData=o,this.proxyConfig&&(this.tablePage.currentPage=1,this.commitProxy("query"))),this.$emit("filter-change",Object.assign({$grid:this},e))},submitEvent:function(e){this.proxyConfig&&this.commitProxy("reload"),this.$emit("form-submit",Object.assign({$grid:this},e))},resetEvent:function(e){this.proxyConfig&&this.commitProxy("reload"),this.$emit("form-reset",Object.assign({$grid:this},e))},submitInvalidEvent:function(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent:function(e){var t=this;this.$nextTick(function(){return t.recalculate(!0)}),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent:function(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom:function(){return this[this.isZMax?"revert":"maximize"]()},isMaximized:function(){return this.isZMax},maximize:function(){return this.handleZoom(!0)},revert:function(){return this.handleZoom()},handleZoom:function(e){var t=this,o=this.isZMax;return(e?!o:o)&&(this.isZMax=!o,this.tZindex<_tools.UtilTools.getLastZIndex()&&(this.tZindex=_tools.UtilTools.nextZIndex())),this.$nextTick().then(function(){return t.recalculate(!0)}).then(function(){return t.isZMax})},getProxyInfo:function(){var e=this.sortData;return this.proxyConfig?{data:this.tableData,filter:this.filterData,form:this.formData,sort:e.length?e[0]:{},sorts:e,pager:this.tablePage,pendingRecords:this.pendingRecords}:null}},"development"===process.env.NODE_ENV?{loadColumn:function(e){var t=this.$scopedSlots;return _xeUtils.default.eachTree(e,function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||t[e]||_tools.UtilTools.error("vxe.error.notSlot",[e])})}),this.$refs.xTable.loadColumn(e)},reloadColumn:function(e){return this.clearAll(),this.loadColumn(e)}}:null)};exports.default=_default2;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _table=_interopRequireDefault(require("../../table")),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools"),_dom=require("../../tools/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(o="Object"===o&&e.constructor?e.constructor.name:o)||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=new Array(t);o<t;o++)r[o]=e[o];return r}function ownKeys(t,e){var o,r=Object.keys(t);return Object.getOwnPropertySymbols&&(o=Object.getOwnPropertySymbols(t),e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,o)),r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(o),!0).forEach(function(e){_defineProperty(t,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):ownKeys(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t}function _defineProperty(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var methods={},propKeys=Object.keys(_table.default.props);function renderDefaultForm(e,t){var o=t.$scopedSlots,r=t.proxyConfig,i=t.proxyOpts,n=t.formData,s=t.formConfig,a=t.formOpts;if((0,_tools.isEnableConf)(s)&&a.items&&a.items.length){var l,c={};return a.inited||(a.inited=!0,l=i.beforeItem,i&&l&&a.items.forEach(function(e){l.call(t,{$grid:t,item:e})})),a.items.forEach(function(e){_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||o[e]&&(c[e]=o[e])})}),[e("vxe-form",{props:Object.assign({},a,{data:r&&i.form?n:a.data}),on:{submit:t.submitEvent,reset:t.resetEvent,collapse:t.collapseEvent,"submit-invalid":t.submitInvalidEvent},scopedSlots:c})]}return[]}function getFuncSlot(e,t,o){e=e.$scopedSlots,o=t[o];if(o){if(!_xeUtils.default.isString(o))return o;if(e[o])return e[o];"development"===process.env.NODE_ENV&&_tools.UtilTools.error("vxe.error.notSlot",[o])}return null}function getToolbarSlots(e){var t=e.$scopedSlots,o=e.toolbarOpts.slots,r={};return"development"===process.env.NODE_ENV&&(!t.buttons||o&&"buttons"===o.buttons||_tools.UtilTools.warn("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||o&&"tools"===o.tools||_tools.UtilTools.warn("vxe.error.reqProp",["toolbar-config.slots.tools"])),o&&(t=getFuncSlot(e,o,"buttons"),o=getFuncSlot(e,o,"tools"),t&&(r.buttons=t),o&&(r.tools=o)),r}function getPagerSlots(e){var t,o=e.pagerOpts.slots,r={};return o&&(t=getFuncSlot(e,o,"left"),o=getFuncSlot(e,o,"right"),t&&(r.left=t),o&&(r.right=o)),r}function getTableOns(i){var e=i.$listeners,t=i.proxyConfig,o=i.proxyOpts,n={};return _xeUtils.default.each(e,function(e,r){n[r]=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];i.$emit.apply(i,[r].concat(t))}}),t&&(o.sort&&(n["sort-change"]=i.sortChangeEvent),o.filter&&(n["filter-change"]=i.filterChangeEvent)),n}Object.keys(_table.default.methods).forEach(function(t){methods[t]=function(){var e;return this.$refs.xTable&&(e=this.$refs.xTable)[t].apply(e,arguments)}});var _default2={name:"VxeGrid",mixins:[_size.default],props:_objectSpread(_objectSpread({},_table.default.props),{},{columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:function(){return _conf.default.grid.size||_conf.default.size}}}),provide:function(){return{$xegrid:this}},data:function(){return{tableLoading:!1,isZMax:!1,tableData:[],pendingRecords:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:10,currentPage:1}}},computed:{isMsg:function(){return!1!==this.proxyOpts.message},proxyOpts:function(){return Object.assign({},_conf.default.grid.proxyConfig,this.proxyConfig)},pagerOpts:function(){return Object.assign({},_conf.default.grid.pagerConfig,this.pagerConfig)},formOpts:function(){return Object.assign({},_conf.default.grid.formConfig,this.formConfig)},toolbarOpts:function(){return Object.assign({},_conf.default.grid.toolbarConfig,this.toolbarConfig||this.toolbar)},zoomOpts:function(){return Object.assign({},_conf.default.grid.zoomConfig,this.zoomConfig)},renderStyle:function(){return this.isZMax?{zIndex:this.tZindex}:null},tableExtendProps:function(){var t=this,o={};return propKeys.forEach(function(e){o[e]=t[e]}),o},tableProps:function(){var e=this.isZMax,t=this.seqConfig,o=this.pagerConfig,r=this.loading,i=this.editConfig,n=this.proxyConfig,s=this.proxyOpts,a=this.tableExtendProps,l=this.tableLoading,c=this.tablePage,d=this.tableData,u=Object.assign({},a);return e&&(a.maxHeight?u.maxHeight="auto":u.height="auto"),n&&(u.loading=r||l,u.data=d,u.rowClassName=this.handleRowClassName,s.seq&&(0,_tools.isEnableConf)(o)&&(u.seqConfig=Object.assign({},t,{startIndex:(c.currentPage-1)*c.pageSize}))),i&&(u.editConfig=Object.assign({},i,{activeMethod:this.handleActiveMethod})),u}},watch:{columns:function(e){var t=this;this.$nextTick(function(){return t.loadColumn(e)})},toolbar:function(e){e&&this.initToolbar()},toolbarConfig:function(e){e&&this.initToolbar()},proxyConfig:function(){this.initProxy()},pagerConfig:function(){this.initPages()}},created:function(){var e=this.data,t=this.formOpts,o=this.proxyOpts;this.proxyConfig&&(e||o.form&&t.data)&&console.error("[vxe-grid] There is a conflict between the props proxy-config and data."),"development"===process.env.NODE_ENV&&(this.toolbar&&_tools.UtilTools.warn("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig&&!_xeUtils.default.isObject(this.toolbarConfig)&&_tools.UtilTools.warn("vxe.error.errProp",["grid.toolbar-config=".concat(this.toolbarConfig),"grid.toolbar-config={}"])),_tools.GlobalEvent.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted:function(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initPages(),this.initProxy()},destroyed:function(){_tools.GlobalEvent.off(this,"keydown")},render:function(e){var t,o=this.$scopedSlots,r=this.vSize,i=this.isZMax,n=!(!o.form&&!(0,_tools.isEnableConf)(this.formConfig)),s=!!(o.toolbar||(0,_tools.isEnableConf)(this.toolbarConfig)||this.toolbar),a=!(!o.pager&&!(0,_tools.isEnableConf)(this.pagerConfig));return e("div",{class:["vxe-grid",(_defineProperty(t={},"size--".concat(r),r),_defineProperty(t,"is--animat",!!this.animat),_defineProperty(t,"is--round",this.round),_defineProperty(t,"is--maximize",i),_defineProperty(t,"is--loading",this.loading||this.tableLoading),t)],style:this.renderStyle},[n?e("div",{ref:"formWrapper",class:"vxe-grid--form-wrapper"},o.form?o.form.call(this,{$grid:this},e):renderDefaultForm(e,this)):null,s?e("div",{ref:"toolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o.toolbar?o.toolbar.call(this,{$grid:this},e):[e("vxe-toolbar",{props:this.toolbarOpts,ref:"xToolbar",scopedSlots:getToolbarSlots(this)})]):null,o.top?e("div",{ref:"topWrapper",class:"vxe-grid--top-wrapper"},o.top.call(this,{$grid:this},e)):null,e("vxe-table",{props:this.tableProps,on:getTableOns(this),scopedSlots:o,ref:"xTable"}),o.bottom?e("div",{ref:"bottomWrapper",class:"vxe-grid--bottom-wrapper"},o.bottom.call(this,{$grid:this},e)):null,a?e("div",{ref:"pagerWrapper",class:"vxe-grid--pager-wrapper"},o.pager?o.pager.call(this,{$grid:this},e):[e("vxe-pager",{props:_objectSpread(_objectSpread({},this.pagerOpts),this.proxyConfig?this.tablePage:{}),on:{"page-change":this.pageChangeEvent},scopedSlots:getPagerSlots(this)})]):null])},methods:_objectSpread(_objectSpread({},methods),{},{callSlot:function(e,t,o,r){if(e){var i=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))return e.call(this,t,o,r)}return[]},getParentHeight:function(){var e=this.$el;return(this.isZMax?_tools.DomTools.getDomNode().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-this.getExcludeHeight()},getExcludeHeight:function(){var e=this.$refs,t=this.$el,o=this.isZMax,r=this.height,i=e.formWrapper,n=e.toolbarWrapper,s=e.topWrapper,a=e.bottomWrapper,e=e.pagerWrapper;return(o||"auto"!==r?0:(0,_dom.getPaddingTopBottomSize)(t.parentNode))+(0,_dom.getPaddingTopBottomSize)(t)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(e)},handleRowClassName:function(t){var e=this.rowClassName,o=[];return this.pendingRecords.some(function(e){return e===t.row})&&o.push("row--pending"),o.push(e?_xeUtils.default.isFunction(e)?e(t):e:""),o},handleActiveMethod:function(e){var t=this.editConfig,t=t?t.activeMethod:null;return-1===this.pendingRecords.indexOf(e.row)&&(!t||t(e))},initToolbar:function(){var o=this;this.$nextTick(function(){var e=o.$refs,t=e.xTable,e=e.xToolbar;t&&e&&t.connect(e)})},initPages:function(){var e=this.tablePage,t=this.pagerConfig,o=this.pagerOpts,r=o.currentPage,o=o.pageSize;t&&(r&&(e.currentPage=r),o&&(e.pageSize=o))},initProxy:function(){var i,e=this,t=this.proxyInited,o=this.proxyConfig,r=this.proxyOpts,n=this.formConfig,s=this.formOpts;o&&((0,_tools.isEnableConf)(n)&&r.form&&s.items&&(i={},s.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)),i[o]=t)}),this.formData=i),t||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick(function(){return e.commitProxy("_init")})))},handleGlobalKeydownEvent:function(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy:function(t){var o,e,r=this,i=this.$refs,n=this.toolbar,s=this.toolbarConfig,a=this.toolbarOpts,l=this.proxyOpts,c=this.tablePage,d=this.pagerConfig,u=this.editRules,f=this.formData,g=this.isMsg,h=l.beforeQuery,p=l.afterQuery,m=l.beforeDelete,b=l.afterDelete,v=l.beforeSave,x=l.afterSave,_=l.ajax,y=void 0===_?{}:_,l=l.props,O=void 0===l?{}:l,E=i.xTable;_xeUtils.default.isString(t)?(a=s||n?_xeUtils.default.findTree(a.buttons,function(e){return e.code===t},{children:"dropdowns"}):null,o=t,e=a?a.item:null):o=(e=t).code;for(var C=e?e.params:null,T=arguments.length,P=new Array(1<T?T-1:0),S=1;S<T;S++)P[S-1]=arguments[S];switch(o){case"insert":this.insert();break;case"insert_actived":this.insert().then(function(e){e=e.row;return r.setActiveRow(e)});break;case"mark_cancel":this.triggerPendingEvent(o);break;case"remove":return this.handleDeleteRow(o,"vxe.grid.removeSelectRecord",function(){return r.removeCheckboxRow()});case"import":this.importData(C);break;case"open_import":this.openImport(C);break;case"export":this.exportData(C);break;case"open_export":this.openExport(C);break;case"reset_custom":this.resetColumn(!0);break;case"_init":case"reload":case"query":var $=y.query;if($){var R="_init"===o,j="reload"===o,D=[],w=[],M={};d&&((R||j)&&(c.currentPage=1),(0,_tools.isEnableConf)(d)&&(M=_objectSpread({},c))),R?((R=E.sortOpts.defaultSort)&&(D=(R=!_xeUtils.default.isArray(R)?[R]:R).map(function(e){return{property:e.field,order:e.order}})),w=E.getCheckedFilters()):j?(this.pendingRecords=[],E.clearAll()):(D=E.getSortColumns(),w=E.getCheckedFilters());M={code:o,button:e,$grid:this,page:M,sort:D.length?D[0]:{},sorts:D,filters:w,form:f,options:$};this.sortData=D,this.filterData=w,this.tableLoading=!0;var U=[M].concat(P);return Promise.resolve((h||$).apply(void 0,_toConsumableArray(U))).catch(function(e){return e}).then(function(e){var t;r.tableLoading=!1,e?(0,_tools.isEnableConf)(d)?(t=_xeUtils.default.get(e,O.total||"page.total")||0,c.total=t,r.tableData=_xeUtils.default.get(e,O.result||"result")||[],t=Math.max(Math.ceil(t/c.pageSize),1),c.currentPage>t&&(c.currentPage=t)):r.tableData=(O.list?_xeUtils.default.get(e,O.list):e)||[]:r.tableData=[],p&&p.apply(void 0,_toConsumableArray(U))})}"development"===process.env.NODE_ENV&&_tools.UtilTools.error("vxe.error.notFunc",["proxy-config.ajax.query"]);break;case"delete":var N=y.delete;if(N){var k=E.getCheckboxRecords(),q=k.filter(function(e){return!E.isInsertByRow(e)}),A=[{$grid:this,code:o,button:e,body:{removeRecords:q},options:N}].concat(P);if(k.length)return this.handleDeleteRow(o,"vxe.grid.deleteSelectRecord",function(){return q.length?(r.tableLoading=!0,Promise.resolve((m||N).apply(void 0,_toConsumableArray(A))).then(function(e){r.tableLoading=!1,r.pendingRecords=r.pendingRecords.filter(function(e){return-1===q.indexOf(e)}),g&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({content:r.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),b?b.apply(void 0,_toConsumableArray(A)):r.commitProxy("query")}).catch(function(e){r.tableLoading=!1,g&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:o,content:r.getRespMsg(e,"vxe.grid.operError"),status:"error"}))})):E.remove(k)});g&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:o,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"}))}else"development"===process.env.NODE_ENV&&_tools.UtilTools.error("vxe.error.notFunc",["proxy-config.ajax.delete"]);break;case"save":var z=y.save;if(z){var Z=Object.assign({pendingRecords:this.pendingRecords},this.getRecordset()),I=Z.insertRecords,L=Z.removeRecords,X=Z.updateRecords,F=Z.pendingRecords,V=[{$grid:this,code:o,button:e,body:Z,options:z}].concat(P);I.length&&(Z.pendingRecords=F.filter(function(e){return-1===I.indexOf(e)})),F.length&&(Z.insertRecords=I.filter(function(e){return-1===F.indexOf(e)}));var H=Promise.resolve();return(H=u?this.validate(Z.insertRecords.concat(X)):H).then(function(e){if(!e)return Z.insertRecords.length||L.length||X.length||Z.pendingRecords.length?(r.tableLoading=!0,Promise.resolve((v||z).apply(void 0,_toConsumableArray(V))).then(function(e){r.tableLoading=!1,r.pendingRecords=[],g&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({content:r.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),x?x.apply(void 0,_toConsumableArray(V)):r.commitProxy("query")}).catch(function(e){r.tableLoading=!1,g&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:o,content:r.getRespMsg(e,"vxe.grid.operError"),status:"error"}))})):void(g&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:o,content:_conf.default.i18n("vxe.grid.dataUnchanged"),status:"info"})))})}"development"===process.env.NODE_ENV&&_tools.UtilTools.error("vxe.error.notFunc",["proxy-config.ajax.save"]);break;default:H=_vXETable.default.commands.get(o);H&&H.apply(void 0,[{code:o,button:e,$grid:this,$table:E}].concat(P))}return this.$nextTick()},getRespMsg:function(e,t){var o,r=this.proxyOpts.props,r=void 0===r?{}:r;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||_conf.default.i18n(t)},handleDeleteRow:function(e,t,o){var r=this.getCheckboxRecords();if(this.isMsg){if(r.length)return _vXETable.default.modal.confirm({id:"cfm_".concat(e),content:_conf.default.i18n(t),escClosable:!0}).then(function(e){"confirm"===e&&o()});"development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:"msg_".concat(e),content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"})}else r.length&&o();return Promise.resolve()},getFormItems:function(e){var t=this.formConfig,o=this.formOpts,r=[];return _xeUtils.default.eachTree((0,_tools.isEnableConf)(t)&&o.items?o.items:[],function(e){r.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?r:r[e]},getPendingRecords:function(){return this.pendingRecords},triggerToolbarBtnEvent:function(e,t){this.commitProxy(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent:function(e,t){this.commitProxy(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent:function(e){var o,r,i=this.pendingRecords,t=this.isMsg,n=this.getCheckboxRecords();n.length?(o=[],r=[],n.forEach(function(t){(i.some(function(e){return t===e})?r:o).push(t)}),r.length?this.pendingRecords=i.filter(function(e){return-1===r.indexOf(e)}).concat(o):o.length&&(this.pendingRecords=i.concat(o)),this.clearCheckboxRow()):t&&("development"===process.env.NODE_ENV&&(_vXETable.default.modal||_tools.UtilTools.error("vxe.error.reqModule",["Modal"])),_vXETable.default.modal.message({id:e,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"}))},pageChangeEvent:function(e){var t=this.proxyConfig,o=this.tablePage,r=e.currentPage,i=e.pageSize;o.currentPage=r,o.pageSize=i,this.$emit("page-change",Object.assign({$grid:this},e)),t&&this.commitProxy("query")},sortChangeEvent:function(e){var t=e.$table,o=e.column,r=e.sortList;(_xeUtils.default.isBoolean(o.remoteSort)?o.remoteSort:t.sortOpts.remote)&&(this.sortData=r,this.proxyConfig&&(this.tablePage.currentPage=1,this.commitProxy("query"))),this.$emit("sort-change",Object.assign({$grid:this},e))},filterChangeEvent:function(e){var t=e.$table,o=e.filterList;t.filterOpts.remote&&(this.filterData=o,this.proxyConfig&&(this.tablePage.currentPage=1,this.commitProxy("query"))),this.$emit("filter-change",Object.assign({$grid:this},e))},submitEvent:function(e){this.proxyConfig&&this.commitProxy("reload"),this.$emit("form-submit",Object.assign({$grid:this},e))},resetEvent:function(e){this.proxyConfig&&this.commitProxy("reload"),this.$emit("form-reset",Object.assign({$grid:this},e))},submitInvalidEvent:function(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent:function(e){var t=this;this.$nextTick(function(){return t.recalculate(!0)}),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent:function(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom:function(){return this[this.isZMax?"revert":"maximize"]()},isMaximized:function(){return this.isZMax},maximize:function(){return this.handleZoom(!0)},revert:function(){return this.handleZoom()},handleZoom:function(e){var t=this,o=this.isZMax;return(e?!o:o)&&(this.isZMax=!o,this.tZindex<_tools.UtilTools.getLastZIndex()&&(this.tZindex=_tools.UtilTools.nextZIndex())),this.$nextTick().then(function(){return t.recalculate(!0)}).then(function(){return t.isZMax})},getProxyInfo:function(){var e=this.sortData;return this.proxyConfig?{data:this.tableData,filter:this.filterData,form:this.formData,sort:e.length?e[0]:{},sorts:e,pager:this.tablePage,pendingRecords:this.pendingRecords}:null}},"development"===process.env.NODE_ENV?{loadColumn:function(e){var t=this.$scopedSlots;return _xeUtils.default.eachTree(e,function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||t[e]||_tools.UtilTools.error("vxe.error.notSlot",[e])})}),this.$refs.xTable.loadColumn(e)},reloadColumn:function(e){return this.clearAll(),this.loadColumn(e)}}:null)};exports.default=_default2;
package/lib/index.umd.js CHANGED
@@ -8683,7 +8683,17 @@ var iconPrefix = 'vxe-icon--';
8683
8683
  button: {// size: null,
8684
8684
  // transfer: false
8685
8685
  },
8686
- radio: {// size: null
8686
+ radio: {
8687
+ // size: null,
8688
+ strict: true
8689
+ },
8690
+ radioButton: {
8691
+ // size: null,
8692
+ strict: true
8693
+ },
8694
+ radioGroup: {
8695
+ // size: null,
8696
+ strict: true
8687
8697
  },
8688
8698
  checkbox: {// size: null
8689
8699
  },
@@ -13635,7 +13645,7 @@ var Methods = {
13635
13645
  row: childRow,
13636
13646
  rowid: rowid,
13637
13647
  seq: -1,
13638
- index: -1,
13648
+ index: index,
13639
13649
  _index: -1,
13640
13650
  $index: -1,
13641
13651
  items: items,
@@ -13653,6 +13663,8 @@ var Methods = {
13653
13663
  row[mapChildren] = rows;
13654
13664
  }
13655
13665
 
13666
+ _this10.updateAfterDataIndex();
13667
+
13656
13668
  return rows;
13657
13669
  });
13658
13670
  },
@@ -14533,7 +14545,7 @@ var Methods = {
14533
14545
  fullDataRowIdData[rowid] = rest;
14534
14546
  }
14535
14547
  }, {
14536
- children: treeOpts.mapChildren
14548
+ children: treeOpts.transform ? treeOpts.mapChildren : treeOpts.children
14537
14549
  });
14538
14550
  } else {
14539
14551
  afterFullData.forEach(function (row, index) {
@@ -19034,11 +19046,14 @@ var Methods = {
19034
19046
  }
19035
19047
 
19036
19048
  return cellLabel;
19037
- }
19049
+ },
19050
+
19038
19051
  /*************************
19039
19052
  * Publish methods
19040
19053
  *************************/
19041
-
19054
+ getSetupOptions: function getSetupOptions() {
19055
+ return conf;
19056
+ }
19042
19057
  }; // Module methods
19043
19058
 
19044
19059
  var funcs = 'setFilter,openFilter,clearFilter,getCheckedFilters,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,clearCopyCellArea,setCellAreas,openFind,openReplace,getSelectedCell,clearSelected,insert,insertAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearActived,getActiveRecord,isActiveByRow,setActiveRow,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',');
@@ -24812,6 +24827,19 @@ function renderExtraSuffixIcon(h, _vm) {
24812
24827
  this.inputValue = val;
24813
24828
  this.changeValue();
24814
24829
  },
24830
+ type: function type() {
24831
+ // 切换类型是重置内置变量
24832
+ Object.assign(this, {
24833
+ inputValue: this.value,
24834
+ datetimePanelValue: null,
24835
+ datePanelValue: null,
24836
+ datePanelLabel: '',
24837
+ datePanelType: 'day',
24838
+ selectMonth: null,
24839
+ currentDate: null
24840
+ });
24841
+ this.initValue();
24842
+ },
24815
24843
  dateLabelFormat: function dateLabelFormat() {
24816
24844
  this.dateParseValue(this.datePanelValue);
24817
24845
  this.inputValue = this.datePanelLabel;
@@ -27608,6 +27636,12 @@ Object.keys(option_props).forEach(function (name) {
27608
27636
  content: [String, Number],
27609
27637
  disabled: Boolean,
27610
27638
  name: String,
27639
+ strict: {
27640
+ type: Boolean,
27641
+ default: function _default() {
27642
+ return conf.radio.strict;
27643
+ }
27644
+ },
27611
27645
  size: {
27612
27646
  type: String,
27613
27647
  default: function _default() {
@@ -27624,11 +27658,14 @@ Object.keys(option_props).forEach(function (name) {
27624
27658
  isDisabled: function isDisabled() {
27625
27659
  var $xeradiogroup = this.$xeradiogroup;
27626
27660
  return this.disabled || $xeradiogroup && $xeradiogroup.disabled;
27661
+ },
27662
+ isStrict: function isStrict() {
27663
+ var $xeradiogroup = this.$xeradiogroup;
27664
+ return $xeradiogroup ? $xeradiogroup.strict : this.strict;
27627
27665
  }
27628
27666
  },
27629
27667
  render: function render(h) {
27630
- var _ref,
27631
- _this = this;
27668
+ var _ref;
27632
27669
 
27633
27670
  var $scopedSlots = this.$scopedSlots,
27634
27671
  $xeradiogroup = this.$xeradiogroup,
@@ -27659,22 +27696,8 @@ Object.keys(option_props).forEach(function (name) {
27659
27696
  checked: $xeradiogroup ? $xeradiogroup.value === label : value === label
27660
27697
  },
27661
27698
  on: {
27662
- change: function change(evnt) {
27663
- if (!isDisabled) {
27664
- var params = {
27665
- label: label,
27666
- $event: evnt
27667
- };
27668
-
27669
- if ($xeradiogroup) {
27670
- $xeradiogroup.handleChecked(params);
27671
- } else {
27672
- _this.$emit('input', label);
27673
-
27674
- _this.$emit('change', params);
27675
- }
27676
- }
27677
- }
27699
+ change: this.changeEvent,
27700
+ click: this.clickEvent
27678
27701
  }
27679
27702
  }), h('span', {
27680
27703
  class: 'vxe-radio--icon'
@@ -27683,22 +27706,35 @@ Object.keys(option_props).forEach(function (name) {
27683
27706
  }, $scopedSlots.default ? $scopedSlots.default.call(this, {}) : [UtilTools.getFuncText(content)])]);
27684
27707
  },
27685
27708
  methods: {
27709
+ handleValue: function handleValue(label, evnt) {
27710
+ var $xeradiogroup = this.$xeradiogroup;
27711
+ var params = {
27712
+ label: label,
27713
+ $event: evnt
27714
+ };
27715
+
27716
+ if ($xeradiogroup) {
27717
+ $xeradiogroup.handleChecked(params);
27718
+ } else {
27719
+ this.$emit('input', label);
27720
+ this.$emit('change', params);
27721
+ }
27722
+ },
27686
27723
  changeEvent: function changeEvent(evnt) {
27687
- var $xeradiogroup = this.$xeradiogroup,
27688
- isDisabled = this.isDisabled,
27689
- label = this.label;
27724
+ var isDisabled = this.isDisabled;
27690
27725
 
27691
27726
  if (!isDisabled) {
27692
- var params = {
27693
- label: label,
27694
- $event: evnt
27695
- };
27727
+ this.handleValue(this.label, evnt);
27728
+ }
27729
+ },
27730
+ clickEvent: function clickEvent(evnt) {
27731
+ var $xeradiogroup = this.$xeradiogroup,
27732
+ isDisabled = this.isDisabled,
27733
+ isStrict = this.isStrict;
27696
27734
 
27697
- if ($xeradiogroup) {
27698
- $xeradiogroup.handleChecked(params);
27699
- } else {
27700
- this.$emit('input', label);
27701
- this.$emit('change', params);
27735
+ if (!isDisabled && !isStrict) {
27736
+ if (this.label === ($xeradiogroup ? $xeradiogroup.value : this.value)) {
27737
+ this.handleValue(null, evnt);
27702
27738
  }
27703
27739
  }
27704
27740
  }
@@ -30530,7 +30566,7 @@ function validErrorRuleValue(rule, val) {
30530
30566
  cb(validRest);
30531
30567
  resolve();
30532
30568
  } else {
30533
- if (conf.validToReject) {
30569
+ if (conf.validToReject === 'obsolete') {
30534
30570
  // 已废弃,校验失败将不会执行catch
30535
30571
  reject(validRest);
30536
30572
  } else {
@@ -32349,6 +32385,7 @@ Object.keys(packages_table.methods).forEach(function (name) {
32349
32385
  proxyOpts = this.proxyOpts,
32350
32386
  tablePage = this.tablePage,
32351
32387
  pagerConfig = this.pagerConfig,
32388
+ editRules = this.editRules,
32352
32389
  formData = this.formData,
32353
32390
  isMsg = this.isMsg;
32354
32391
  var beforeQuery = proxyOpts.beforeQuery,
@@ -32642,10 +32679,16 @@ Object.keys(packages_table.methods).forEach(function (name) {
32642
32679
  _body.insertRecords = insertRecords.filter(function (row) {
32643
32680
  return pendingRecords.indexOf(row) === -1;
32644
32681
  });
32645
- } // 只校验新增和修改的数据
32682
+ }
32683
+
32684
+ var restPromise = Promise.resolve();
32646
32685
 
32686
+ if (editRules) {
32687
+ // 只校验新增和修改的数据
32688
+ restPromise = this.validate(_body.insertRecords.concat(updateRecords));
32689
+ }
32647
32690
 
32648
- return this.validate(_body.insertRecords.concat(updateRecords)).then(function (errMap) {
32691
+ return restPromise.then(function (errMap) {
32649
32692
  if (errMap) {
32650
32693
  // 如果校验不通过
32651
32694
  return;
@@ -34377,10 +34420,16 @@ var Radio = Object.assign(src_radio, {
34377
34420
  props: {
34378
34421
  value: [String, Number, Boolean],
34379
34422
  disabled: Boolean,
34423
+ strict: {
34424
+ type: Boolean,
34425
+ default: function _default() {
34426
+ return conf.radioGroup.strict;
34427
+ }
34428
+ },
34380
34429
  size: {
34381
34430
  type: String,
34382
34431
  default: function _default() {
34383
- return conf.radio.size || conf.size;
34432
+ return conf.radioGroup.size || conf.size;
34384
34433
  }
34385
34434
  }
34386
34435
  },
@@ -34436,10 +34485,16 @@ var RadioGroup = Object.assign(radio_src_group, {
34436
34485
  title: [String, Number],
34437
34486
  content: [String, Number],
34438
34487
  disabled: Boolean,
34488
+ strict: {
34489
+ type: Boolean,
34490
+ default: function _default() {
34491
+ return conf.radioButton.strict;
34492
+ }
34493
+ },
34439
34494
  size: {
34440
34495
  type: String,
34441
34496
  default: function _default() {
34442
- return conf.radio.size || conf.size;
34497
+ return conf.radioButton.size || conf.size;
34443
34498
  }
34444
34499
  }
34445
34500
  },
@@ -34455,6 +34510,10 @@ var RadioGroup = Object.assign(radio_src_group, {
34455
34510
  isDisabled: function isDisabled() {
34456
34511
  var $xeradiogroup = this.$xeradiogroup;
34457
34512
  return this.disabled || $xeradiogroup && $xeradiogroup.disabled;
34513
+ },
34514
+ isStrict: function isStrict() {
34515
+ var $xeradiogroup = this.$xeradiogroup;
34516
+ return $xeradiogroup ? $xeradiogroup.strict : this.strict;
34458
34517
  }
34459
34518
  },
34460
34519
  render: function render(h) {
@@ -34488,29 +34547,43 @@ var RadioGroup = Object.assign(radio_src_group, {
34488
34547
  checked: $xeradiogroup ? $xeradiogroup.value === label : value === label
34489
34548
  },
34490
34549
  on: {
34491
- change: this.changeEvent
34550
+ change: this.changeEvent,
34551
+ click: this.clickEvent
34492
34552
  }
34493
34553
  }), h('span', {
34494
34554
  class: 'vxe-radio--label'
34495
34555
  }, $scopedSlots.default ? $scopedSlots.default.call(this, {}) : [UtilTools.getFuncText(content)])]);
34496
34556
  },
34497
34557
  methods: {
34558
+ handleValue: function handleValue(label, evnt) {
34559
+ var $xeradiogroup = this.$xeradiogroup;
34560
+ var params = {
34561
+ label: label,
34562
+ $event: evnt
34563
+ };
34564
+
34565
+ if ($xeradiogroup) {
34566
+ $xeradiogroup.handleChecked(params);
34567
+ } else {
34568
+ this.$emit('input', label);
34569
+ this.$emit('change', params);
34570
+ }
34571
+ },
34498
34572
  changeEvent: function changeEvent(evnt) {
34499
- var $xeradiogroup = this.$xeradiogroup,
34500
- isDisabled = this.isDisabled,
34501
- label = this.label;
34573
+ var isDisabled = this.isDisabled;
34502
34574
 
34503
34575
  if (!isDisabled) {
34504
- var params = {
34505
- label: label,
34506
- $event: evnt
34507
- };
34576
+ this.handleValue(this.label, evnt);
34577
+ }
34578
+ },
34579
+ clickEvent: function clickEvent(evnt) {
34580
+ var $xeradiogroup = this.$xeradiogroup,
34581
+ isDisabled = this.isDisabled,
34582
+ isStrict = this.isStrict;
34508
34583
 
34509
- if ($xeradiogroup) {
34510
- $xeradiogroup.handleChecked(params);
34511
- } else {
34512
- this.$emit('input', label);
34513
- this.$emit('change', params);
34584
+ if (!isDisabled && !isStrict) {
34585
+ if (this.label === ($xeradiogroup ? $xeradiogroup.value : this.value)) {
34586
+ this.handleValue(null, evnt);
34514
34587
  }
34515
34588
  }
34516
34589
  }