vxe-table 4.23.1 → 4.23.2

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.
@@ -168,6 +168,44 @@ hooks.add('tableValidatorModule', {
168
168
  } = $xeTable.getComputeMaps();
169
169
  let validatorMethods = {};
170
170
  let validatorPrivateMethods = {};
171
+ const handleClearValid = (rows, fieldOrColumn) => {
172
+ const {
173
+ validErrorMaps
174
+ } = reactData;
175
+ const validOpts = computeValidOpts.value;
176
+ const rowList = _xeUtils.default.isArray(rows) ? rows : rows ? [rows] : [];
177
+ const colList = (_xeUtils.default.isArray(fieldOrColumn) ? fieldOrColumn : fieldOrColumn ? [fieldOrColumn] : []).map(column => (0, _util.handleFieldOrColumn)($xeTable, column));
178
+ let validErrMaps = {};
179
+ // 如果是多个提示模式
180
+ if (validOpts.msgMode === 'full') {
181
+ validErrMaps = Object.assign({}, validErrorMaps);
182
+ if (rowList.length && colList.length) {
183
+ rowList.forEach(row => {
184
+ colList.forEach(column => {
185
+ const validKey = `${(0, _util.getRowid)($xeTable, row)}:${column.id}`;
186
+ if (validErrMaps[validKey]) {
187
+ delete validErrMaps[validKey];
188
+ }
189
+ });
190
+ });
191
+ } else if (rowList.length) {
192
+ const rowIdList = rowList.map(row => `${(0, _util.getRowid)($xeTable, row)}`);
193
+ _xeUtils.default.each(validErrorMaps, (item, key) => {
194
+ if (rowIdList.indexOf(key.split(':')[0]) > -1) {
195
+ delete validErrMaps[key];
196
+ }
197
+ });
198
+ } else if (colList.length) {
199
+ const colidList = colList.map(column => `${column.id}`);
200
+ _xeUtils.default.each(validErrorMaps, (item, key) => {
201
+ if (colidList.indexOf(key.split(':')[1]) > -1) {
202
+ delete validErrMaps[key];
203
+ }
204
+ });
205
+ }
206
+ }
207
+ return validErrMaps;
208
+ };
171
209
  /**
172
210
  * 聚焦到校验通过的单元格并弹出校验错误提示
173
211
  */
@@ -316,7 +354,7 @@ hooks.add('tableValidatorModule', {
316
354
  }
317
355
  return Promise.all(rowValidErrs).then(() => {
318
356
  const ruleProps = Object.keys(validRest);
319
- reactData.validErrorMaps = handleErrMsgMode(validErrMaps);
357
+ reactData.validErrorMaps = Object.assign(handleClearValid(rows, columns), handleErrMsgMode(validErrMaps));
320
358
  return (0, _vue.nextTick)().then(() => {
321
359
  if (ruleProps.length) {
322
360
  return Promise.reject(validRest[ruleProps[0]][0]);
@@ -407,48 +445,11 @@ hooks.add('tableValidatorModule', {
407
445
  return (0, _vue.nextTick)();
408
446
  },
409
447
  clearValidate(rows, fieldOrColumn) {
410
- const {
411
- validErrorMaps
412
- } = reactData;
413
448
  const validTip = refValidTooltip.value;
414
- const validOpts = computeValidOpts.value;
415
- const rowList = _xeUtils.default.isArray(rows) ? rows : rows ? [rows] : [];
416
- const colList = (_xeUtils.default.isArray(fieldOrColumn) ? fieldOrColumn : fieldOrColumn ? [fieldOrColumn] : []).map(column => (0, _util.handleFieldOrColumn)($xeTable, column));
417
- let validErrMaps = {};
418
449
  if (validTip && validTip.reactData.visible) {
419
450
  validTip.close();
420
451
  }
421
- // 如果是单个提示模式
422
- if (validOpts.msgMode === 'single') {
423
- reactData.validErrorMaps = {};
424
- return (0, _vue.nextTick)();
425
- }
426
- if (rowList.length && colList.length) {
427
- validErrMaps = Object.assign({}, validErrorMaps);
428
- rowList.forEach(row => {
429
- colList.forEach(column => {
430
- const validKey = `${(0, _util.getRowid)($xeTable, row)}:${column.id}`;
431
- if (validErrMaps[validKey]) {
432
- delete validErrMaps[validKey];
433
- }
434
- });
435
- });
436
- } else if (rowList.length) {
437
- const rowIdList = rowList.map(row => `${(0, _util.getRowid)($xeTable, row)}`);
438
- _xeUtils.default.each(validErrorMaps, (item, key) => {
439
- if (rowIdList.indexOf(key.split(':')[0]) > -1) {
440
- validErrMaps[key] = item;
441
- }
442
- });
443
- } else if (colList.length) {
444
- const colidList = colList.map(column => `${column.id}`);
445
- _xeUtils.default.each(validErrorMaps, (item, key) => {
446
- if (colidList.indexOf(key.split(':')[1]) > -1) {
447
- validErrMaps[key] = item;
448
- }
449
- });
450
- }
451
- reactData.validErrorMaps = validErrMaps;
452
+ reactData.validErrorMaps = handleClearValid(rows, fieldOrColumn);
452
453
  return (0, _vue.nextTick)();
453
454
  }
454
455
  };
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validREValue(e,l){return!(e&&!(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(l))}function validMaxValue(e,l){return!(!_xeUtils.default.eqNull(e)&&l>_xeUtils.default.toNumber(e))}function validMinValue(e,l){return!(!_xeUtils.default.eqNull(e)&&l<_xeUtils.default.toNumber(e))}function validRuleValue(e,l,t){var{type:e,min:r,max:i,pattern:a}=e,u="array"===e,n="number"===e,e="string"===e,s=""+l;if(!validREValue(a,s))return!1;if(u){if(!_xeUtils.default.isArray(l))return!1;if(t&&!l.length)return!1;if(!validMinValue(r,l.length))return!1;if(!validMaxValue(i,l.length))return!1}else if(n){a=Number(l);if(isNaN(a))return!1;if(!validMinValue(r,a))return!1;if(!validMaxValue(i,a))return!1}else{if(e&&!_xeUtils.default.isString(l))return!1;if(t&&!s)return!1;if(!validMinValue(r,s.length))return!1;if(!validMaxValue(i,s.length))return!1}return!0}function checkRuleStatus(e,l,t){var{required:r,field:i}=e,l=i?_xeUtils.default.get(l,i):t,i=_xeUtils.default.isArray(l)?!l.length:(0,_utils.eqEmptyValue)(l);if(r){if(i)return!1;if(!validRuleValue(e,l,r))return!1}else if(!i&&!validRuleValue(e,l,r))return!1;return!0}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(p){let{props:x,reactData:_,internalData:R}=p,g=p.getRefMaps().refValidTooltip,{computeValidOpts:w,computeTreeOpts:V,computeEditOpts:r,computeAggregateOpts:M}=p.getComputeMaps(),n,U={},t=(e,t,u,a)=>{let n={},{editRules:s,treeConfig:r}=x;var i=_.isRowGroupStatus;let{afterFullData:l,pendingRowMaps:o,removeRowMaps:d}=R;var c=V.value,g=M.value;let f=w.value,v,h=(!0===e?v=l:e&&(_xeUtils.default.isFunction(e)?u=e:v=_xeUtils.default.isArray(e)?e:[e]),v=v||(p.getInsertRecords?p.getInsertRecords().concat(p.getUpdateRecords()):[]),[]),m=(R._lastCallTime=Date.now(),R.validRuleErr=!1,p.clearValidate(),{});if(s){let l=t&&t.length?t:p.getColumns();e=i=>{var e=(0,_util.getRowid)(p,i);if(!d[e]&&!o[e]&&!p.isAggregateRecord(i)&&(a||!R.validRuleErr)){let e=[];l.forEach(t=>{let r=_xeUtils.default.isString(t)?t:t.field;!a&&R.validRuleErr||!_xeUtils.default.has(s,r)||e.push(U.validCellRules("all",i,t).catch(({rule:e,rules:l})=>{l={rule:e,rules:l,rowIndex:p.getRowIndex(i),row:i,columnIndex:p.getColumnIndex(t),column:t,field:r,$table:p};if(n[r]||(n[r]=[]),m[(0,_util.getRowid)(p,i)+":"+t.id]={column:t,row:i,rule:e,content:e.content},n[r].push(l),!a)return R.validRuleErr=!0,Promise.reject(l)}))}),h.push(Promise.all(e))}};return i?_xeUtils.default.eachTree(v,e,{children:g.mapChildrenField}):r?(t=c.children||c.childrenField,_xeUtils.default.eachTree(v,e,{children:t})):v.forEach(e),Promise.all(h).then(()=>{let e=Object.keys(n);var l,t,r;return _.validErrorMaps=(l=m,"single"===w.value.msgMode?(t={},(r=Object.keys(l)).length&&(t[r=r[0]]=l[r]),t):l),(0,_vue.nextTick)().then(()=>{if(e.length)return Promise.reject(n[e[0]][0]);u&&u()})}).catch(a=>new Promise((e,l)=>{let t=()=>{(0,_vue.nextTick)(()=>{u?(u(n),e()):("obsolete"===getConfig().validToReject?l:e)(n)})};var r,i=()=>{var l;a.cell=p.getCellElement(a.row,a.column),(0,_dom.scrollToView)(a.cell),l=a,new Promise(e=>{!1===w.value.autoPos?(p.dispatchEvent("valid-error",l,null),e()):p.handleEdit(l,{type:"valid-error",trigger:"call"}).then(()=>{e(p.showValidTooltip(l))})}).then(t)};!1===f.autoPos?t():(r=a.row,p.scrollToRow(r,a.column).then(i))}))}return _.validErrorMaps={},(0,_vue.nextTick)().then(()=>{u&&u()})};return n={fullValidate(e,l){return _xeUtils.default.isFunction(l)&&warnLog("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),t(e,null,l,!0)},validate(e,l){return t(e,null,l)},fullValidateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e));return l.length?t(e,l,null,!0):(0,_vue.nextTick)()},validateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e));return l.length?t(e,l,null):(0,_vue.nextTick)()},clearValidate(e,l){var r=_.validErrorMaps,t=g.value,i=w.value,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let a=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e)),u={};if(t&&t.reactData.visible&&t.close(),"single"===i.msgMode)_.validErrorMaps={};else{if(e.length&&a.length)u=Object.assign({},r),e.forEach(l=>{a.forEach(e=>{e=(0,_util.getRowid)(p,l)+":"+e.id;u[e]&&delete u[e]})});else if(e.length){let t=e.map(e=>""+(0,_util.getRowid)(p,e));_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[0])&&(u[l]=e)})}else if(a.length){let t=a.map(e=>""+e.id);_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[1])&&(u[l]=e)})}_.validErrorMaps=u}return(0,_vue.nextTick)()}},U={validCellRules(e,s,o,l){let d=p.xeGrid,c=p.xeGantt;var t=x.editRules,r=o.field;let g=[],f=[];if(r&&t){let n=o.rules||_xeUtils.default.get(t,r);if(n){let u=_xeUtils.default.isUndefined(l)?_xeUtils.default.get(s,r):l;n.forEach(l=>{let{trigger:t,validator:r}=l;if("all"===e||!t||e===t)if(r){var i,a={cellValue:u,rule:l,rules:n,row:s,rowIndex:p.getRowIndex(s),column:o,columnIndex:p.getColumnIndex(o),field:o.field,$table:p,$grid:d,$gantt:c};let e;_xeUtils.default.isString(r)?(i=validators.get(r))&&(i=i.tableCellValidatorMethod||i.cellValidatorMethod)?e=i(a):errLog("vxe.error.notValidators",[r]):e=r(a),e&&(_xeUtils.default.isError(e)?(R.validRuleErr=!0,g.push(new Rule({type:"custom",trigger:t,content:e.message,rule:new Rule(l)}))):e.catch&&f.push(e.catch(e=>{R.validRuleErr=!0,g.push(new Rule({type:"custom",trigger:t,content:e&&e.message?e.message:l.content||l.message,rule:new Rule(l)}))})))}else checkRuleStatus(l,s,u)||(R.validRuleErr=!0,g.push(new Rule(l)))})}}return Promise.all(f).then(()=>{var e;if(g.length)return e={rules:g,rule:g[0]},Promise.reject(e)})},hasCellRules(l,e,t){var r=x.editRules,i=t.field;return!(!i||!r)&&(t=t.rules||_xeUtils.default.get(r,i))&&!!_xeUtils.default.find(t,e=>"all"===l||!e.trigger||l===e.trigger)},triggerValidate(i){var{editConfig:e,editRules:l}=x,a=_.editStore,a=a.actived;let u=r.value;var t=w.value;if(l&&"single"===t.msgMode&&(_.validErrorMaps={}),e&&l&&a.row){let{row:l,column:t,cell:r}=a.args;if(p.hasCellRules(i,l,t))return p.validCellRules(i,l,t).then(()=>{"row"===u.mode&&n.clearValidate(l,t)}).catch(({rule:e})=>e.trigger&&i!==e.trigger?Promise.resolve():(e={rule:e,row:l,column:t,cell:r},p.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var l=x.height,{tableData:t,validStore:r,validErrorMaps:i}=_,{rule:a,row:u,column:n,cell:s}=e,o=w.value,d=g.value,c=a.content;return r.visible=!0,"single"===o.msgMode?_.validErrorMaps={[(0,_util.getRowid)(p,u)+":"+n.id]:{column:n,row:u,rule:a,content:c}}:_.validErrorMaps=Object.assign({},i,{[(0,_util.getRowid)(p,u)+":"+n.id]:{column:n,row:u,rule:a,content:c}}),p.dispatchEvent("valid-error",e,null),d&&("tooltip"===o.message||"default"===o.message&&!l&&t.length<2)?d.open(s,c):(0,_vue.nextTick)()}},Object.assign(Object.assign({},n),U)},setupGrid(e){return e.extendTableMethods(tableValidatorMethodKeys)},setupGantt(e){return e.extendTableMethods(tableValidatorMethodKeys)}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validREValue(e,l){return!(e&&!(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(l))}function validMaxValue(e,l){return!(!_xeUtils.default.eqNull(e)&&l>_xeUtils.default.toNumber(e))}function validMinValue(e,l){return!(!_xeUtils.default.eqNull(e)&&l<_xeUtils.default.toNumber(e))}function validRuleValue(e,l,t){var{type:e,min:r,max:i,pattern:a}=e,u="array"===e,n="number"===e,e="string"===e,s=""+l;if(!validREValue(a,s))return!1;if(u){if(!_xeUtils.default.isArray(l))return!1;if(t&&!l.length)return!1;if(!validMinValue(r,l.length))return!1;if(!validMaxValue(i,l.length))return!1}else if(n){a=Number(l);if(isNaN(a))return!1;if(!validMinValue(r,a))return!1;if(!validMaxValue(i,a))return!1}else{if(e&&!_xeUtils.default.isString(l))return!1;if(t&&!s)return!1;if(!validMinValue(r,s.length))return!1;if(!validMaxValue(i,s.length))return!1}return!0}function checkRuleStatus(e,l,t){var{required:r,field:i}=e,l=i?_xeUtils.default.get(l,i):t,i=_xeUtils.default.isArray(l)?!l.length:(0,_utils.eqEmptyValue)(l);if(r){if(i)return!1;if(!validRuleValue(e,l,r))return!1}else if(!i&&!validRuleValue(e,l,r))return!1;return!0}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(p){let{props:x,reactData:_,internalData:R}=p,g=p.getRefMaps().refValidTooltip,{computeValidOpts:w,computeTreeOpts:V,computeEditOpts:r,computeAggregateOpts:M}=p.getComputeMaps(),n,U={},E=(e,l)=>{var r=_.validErrorMaps,t=w.value,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let i=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e)),a={};if("full"===t.msgMode)if(a=Object.assign({},r),e.length&&i.length)e.forEach(l=>{i.forEach(e=>{e=(0,_util.getRowid)(p,l)+":"+e.id;a[e]&&delete a[e]})});else if(e.length){let t=e.map(e=>""+(0,_util.getRowid)(p,e));_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[0])&&delete a[l]})}else if(i.length){let t=i.map(e=>""+e.id);_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[1])&&delete a[l]})}return a},t=(i,e,u,n)=>{let s={},{editRules:l,treeConfig:t}=x;var r=_.isRowGroupStatus;let{afterFullData:a,pendingRowMaps:o,removeRowMaps:d}=R;var c=V.value,g=M.value;let f=w.value,v,h=(!0===i?v=a:i&&(_xeUtils.default.isFunction(i)?u=i:v=_xeUtils.default.isArray(i)?i:[i]),v=v||(p.getInsertRecords?p.getInsertRecords().concat(p.getUpdateRecords()):[]),[]),m=(R._lastCallTime=Date.now(),R.validRuleErr=!1,p.clearValidate(),{});if(l){let a=e&&e.length?e:p.getColumns();e=i=>{var e=(0,_util.getRowid)(p,i);if(!d[e]&&!o[e]&&!p.isAggregateRecord(i)&&(n||!R.validRuleErr)){let e=[];a.forEach(t=>{let r=_xeUtils.default.isString(t)?t:t.field;!n&&R.validRuleErr||!_xeUtils.default.has(l,r)||e.push(U.validCellRules("all",i,t).catch(({rule:e,rules:l})=>{l={rule:e,rules:l,rowIndex:p.getRowIndex(i),row:i,columnIndex:p.getColumnIndex(t),column:t,field:r,$table:p};if(s[r]||(s[r]=[]),m[(0,_util.getRowid)(p,i)+":"+t.id]={column:t,row:i,rule:e,content:e.content},s[r].push(l),!n)return R.validRuleErr=!0,Promise.reject(l)}))}),h.push(Promise.all(e))}};return r?_xeUtils.default.eachTree(v,e,{children:g.mapChildrenField}):t?(r=c.children||c.childrenField,_xeUtils.default.eachTree(v,e,{children:r})):v.forEach(e),Promise.all(h).then(()=>{let e=Object.keys(s);var l,t,r;return _.validErrorMaps=Object.assign(E(i,a),(l=m,"single"===w.value.msgMode?(t={},(r=Object.keys(l)).length&&(t[r=r[0]]=l[r]),t):l)),(0,_vue.nextTick)().then(()=>{if(e.length)return Promise.reject(s[e[0]][0]);u&&u()})}).catch(a=>new Promise((e,l)=>{let t=()=>{(0,_vue.nextTick)(()=>{u?(u(s),e()):("obsolete"===getConfig().validToReject?l:e)(s)})};var r,i=()=>{var l;a.cell=p.getCellElement(a.row,a.column),(0,_dom.scrollToView)(a.cell),l=a,new Promise(e=>{!1===w.value.autoPos?(p.dispatchEvent("valid-error",l,null),e()):p.handleEdit(l,{type:"valid-error",trigger:"call"}).then(()=>{e(p.showValidTooltip(l))})}).then(t)};!1===f.autoPos?t():(r=a.row,p.scrollToRow(r,a.column).then(i))}))}return _.validErrorMaps={},(0,_vue.nextTick)().then(()=>{u&&u()})};return n={fullValidate(e,l){return _xeUtils.default.isFunction(l)&&warnLog("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),t(e,null,l,!0)},validate(e,l){return t(e,null,l)},fullValidateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e));return l.length?t(e,l,null,!0):(0,_vue.nextTick)()},validateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(p,e));return l.length?t(e,l,null):(0,_vue.nextTick)()},clearValidate(e,l){var t=g.value;return t&&t.reactData.visible&&t.close(),_.validErrorMaps=E(e,l),(0,_vue.nextTick)()}},U={validCellRules(e,s,o,l){let d=p.xeGrid,c=p.xeGantt;var t=x.editRules,r=o.field;let g=[],f=[];if(r&&t){let n=o.rules||_xeUtils.default.get(t,r);if(n){let u=_xeUtils.default.isUndefined(l)?_xeUtils.default.get(s,r):l;n.forEach(l=>{let{trigger:t,validator:r}=l;if("all"===e||!t||e===t)if(r){var i,a={cellValue:u,rule:l,rules:n,row:s,rowIndex:p.getRowIndex(s),column:o,columnIndex:p.getColumnIndex(o),field:o.field,$table:p,$grid:d,$gantt:c};let e;_xeUtils.default.isString(r)?(i=validators.get(r))&&(i=i.tableCellValidatorMethod||i.cellValidatorMethod)?e=i(a):errLog("vxe.error.notValidators",[r]):e=r(a),e&&(_xeUtils.default.isError(e)?(R.validRuleErr=!0,g.push(new Rule({type:"custom",trigger:t,content:e.message,rule:new Rule(l)}))):e.catch&&f.push(e.catch(e=>{R.validRuleErr=!0,g.push(new Rule({type:"custom",trigger:t,content:e&&e.message?e.message:l.content||l.message,rule:new Rule(l)}))})))}else checkRuleStatus(l,s,u)||(R.validRuleErr=!0,g.push(new Rule(l)))})}}return Promise.all(f).then(()=>{var e;if(g.length)return e={rules:g,rule:g[0]},Promise.reject(e)})},hasCellRules(l,e,t){var r=x.editRules,i=t.field;return!(!i||!r)&&(t=t.rules||_xeUtils.default.get(r,i))&&!!_xeUtils.default.find(t,e=>"all"===l||!e.trigger||l===e.trigger)},triggerValidate(i){var{editConfig:e,editRules:l}=x,a=_.editStore,a=a.actived;let u=r.value;var t=w.value;if(l&&"single"===t.msgMode&&(_.validErrorMaps={}),e&&l&&a.row){let{row:l,column:t,cell:r}=a.args;if(p.hasCellRules(i,l,t))return p.validCellRules(i,l,t).then(()=>{"row"===u.mode&&n.clearValidate(l,t)}).catch(({rule:e})=>e.trigger&&i!==e.trigger?Promise.resolve():(e={rule:e,row:l,column:t,cell:r},p.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var l=x.height,{tableData:t,validStore:r,validErrorMaps:i}=_,{rule:a,row:u,column:n,cell:s}=e,o=w.value,d=g.value,c=a.content;return r.visible=!0,"single"===o.msgMode?_.validErrorMaps={[(0,_util.getRowid)(p,u)+":"+n.id]:{column:n,row:u,rule:a,content:c}}:_.validErrorMaps=Object.assign({},i,{[(0,_util.getRowid)(p,u)+":"+n.id]:{column:n,row:u,rule:a,content:c}}),p.dispatchEvent("valid-error",e,null),d&&("tooltip"===o.message||"default"===o.message&&!l&&t.length<2)?d.open(s,c):(0,_vue.nextTick)()}},Object.assign(Object.assign({},n),U)},setupGrid(e){return e.extendTableMethods(tableValidatorMethodKeys)},setupGantt(e){return e.extendTableMethods(tableValidatorMethodKeys)}});
package/lib/ui/index.js CHANGED
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
13
13
  exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
14
14
  var _core = require("@vxe-ui/core");
15
15
  var _utils = require("./src/utils");
16
- const version = exports.version = "4.23.1";
16
+ const version = exports.version = "4.23.2";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.23.1",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},currentRowConfig:{strict:!0},currentColumnConfig:{strict:!0},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{mode:"tooltip",enterable:!0,defaultPlacement:"top"},headerTooltipConfig:{mode:"tooltip",enterable:!0},footerTooltipConfig:{mode:"tooltip",enterable:!0},validConfig:{showErrorMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{autoOptions:{isCalcHeader:!0,isCalcBody:!0,isCalcFooter:!0},maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},menuConfig:{destroyOnClose:!0},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,allowAlign:!0,showSortDragButton:!0,showFooter:!0,placement:"top-right",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0,align:!0,headerAlign:!0,footerAlign:!0,aggFunc:!0},modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{destroyOnClose:!0,multiple:!0,showIcon:!0,maxHeight:320},floatingFilterConfig:{},aggregateConfig:{padding:!0,placement:"left",rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0,maxGroupSize:4,showAggFuncTitle:!0},treeConfig:{padding:!0,rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0,showRootLine:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0,isReuseKeep:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isAll:!0,isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{gt:24,preSize:1,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{},undoRedoHistoryConfig:{stackSize:50}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:"list",result:"result",total:"page.total",footerData:"footerData",message:"message"}}},toolbar:{},gantt:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_CHECKBOX_DISABLED_UNCHECKED:iconPrefix+"checkbox-unchecked-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_RADIO_DISABLED_UNCHECKED:iconPrefix+"radio-unchecked-fill",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_CUSTOM_FIXED_LEFT:iconPrefix+"fixed-left",TABLE_CUSTOM_FIXED_RIGHT:iconPrefix+"fixed-right",TABLE_CUSTOM_ALIGN_LEFT:iconPrefix+"align-left",TABLE_CUSTOM_ALIGN_CENTER:iconPrefix+"align-center",TABLE_CUSTOM_ALIGN_RIGHT:iconPrefix+"align-right",TABLE_CUSTOM_MOVE_UP:iconPrefix+"arrows-up",TABLE_CUSTOM_MOVE_DN:iconPrefix+"arrows-down",TABLE_CUSTOM_PUT_TOP:iconPrefix+"top",TABLE_CUSTOM_PUT_BOTTOM:iconPrefix+"bottom",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_MENU_OPTION_LOADING:iconPrefix+"repeat roll",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_AGG_GROUP:iconPrefix+"grouping",TABLE_DRAG_STATUS_AGG_VALUES:iconPrefix+"values",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",TABLE_AGGREGATE_GROUPING:iconPrefix+"grouping",TABLE_AGGREGATE_VALUES:iconPrefix+"values",TABLE_AGGREGATE_SORT:iconPrefix+"drag-handle",TABLE_AGGREGATE_DELETE:iconPrefix+"close",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"setting",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,i){return _core.VxeUI.modal.alert(e,o,i)},confirm(e,o,i){return _core.VxeUI.modal.confirm(e,o,i)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,i){return _core.VxeUI.modal.notification(e,o,i)}});var _default=exports.default=_core.VxeUI;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.23.2",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},currentRowConfig:{strict:!0},currentColumnConfig:{strict:!0},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{mode:"tooltip",enterable:!0,defaultPlacement:"top"},headerTooltipConfig:{mode:"tooltip",enterable:!0},footerTooltipConfig:{mode:"tooltip",enterable:!0},validConfig:{showErrorMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{autoOptions:{isCalcHeader:!0,isCalcBody:!0,isCalcFooter:!0},maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},menuConfig:{destroyOnClose:!0},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,allowAlign:!0,showSortDragButton:!0,showFooter:!0,placement:"top-right",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0,align:!0,headerAlign:!0,footerAlign:!0,aggFunc:!0},modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{destroyOnClose:!0,multiple:!0,showIcon:!0,maxHeight:320},floatingFilterConfig:{},aggregateConfig:{padding:!0,placement:"left",rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0,maxGroupSize:4,showAggFuncTitle:!0},treeConfig:{padding:!0,rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0,showRootLine:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0,isReuseKeep:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isAll:!0,isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{gt:24,preSize:1,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{},undoRedoHistoryConfig:{stackSize:50}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:"list",result:"result",total:"page.total",footerData:"footerData",message:"message"}}},toolbar:{},gantt:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_CHECKBOX_DISABLED_UNCHECKED:iconPrefix+"checkbox-unchecked-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_RADIO_DISABLED_UNCHECKED:iconPrefix+"radio-unchecked-fill",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_CUSTOM_FIXED_LEFT:iconPrefix+"fixed-left",TABLE_CUSTOM_FIXED_RIGHT:iconPrefix+"fixed-right",TABLE_CUSTOM_ALIGN_LEFT:iconPrefix+"align-left",TABLE_CUSTOM_ALIGN_CENTER:iconPrefix+"align-center",TABLE_CUSTOM_ALIGN_RIGHT:iconPrefix+"align-right",TABLE_CUSTOM_MOVE_UP:iconPrefix+"arrows-up",TABLE_CUSTOM_MOVE_DN:iconPrefix+"arrows-down",TABLE_CUSTOM_PUT_TOP:iconPrefix+"top",TABLE_CUSTOM_PUT_BOTTOM:iconPrefix+"bottom",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_MENU_OPTION_LOADING:iconPrefix+"repeat roll",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_AGG_GROUP:iconPrefix+"grouping",TABLE_DRAG_STATUS_AGG_VALUES:iconPrefix+"values",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",TABLE_AGGREGATE_GROUPING:iconPrefix+"grouping",TABLE_AGGREGATE_VALUES:iconPrefix+"values",TABLE_AGGREGATE_SORT:iconPrefix+"drag-handle",TABLE_AGGREGATE_DELETE:iconPrefix+"close",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"setting",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,i){return _core.VxeUI.modal.alert(e,o,i)},confirm(e,o,i){return _core.VxeUI.modal.confirm(e,o,i)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,i){return _core.VxeUI.modal.notification(e,o,i)}});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -9,7 +9,7 @@ var _core = require("@vxe-ui/core");
9
9
  const {
10
10
  log
11
11
  } = _core.VxeUI;
12
- const tableVersion = `table v${"4.23.1"}`;
12
+ const tableVersion = `table v${"4.23.2"}`;
13
13
  function createComponentLog(name) {
14
14
  const uiVersion = _core.VxeUI.uiVersion ? `ui v${_core.VxeUI.uiVersion}` : '';
15
15
  const ganttVersion = _core.VxeUI.ganttVersion ? `gantt v${_core.VxeUI.ganttVersion}` : '';
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.createComponentLog=createComponentLog,exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,tableVersion="table v4.23.1";function createComponentLog(e){var r=_core.VxeUI.uiVersion?"ui v"+_core.VxeUI.uiVersion:"",o=_core.VxeUI.ganttVersion?"gantt v"+_core.VxeUI.ganttVersion:"",t=_core.VxeUI.designVersion?"design v"+_core.VxeUI.designVersion:"",r=[r,tableVersion,o,t].filter(e=>e).join(" ");return{warnLog:log.create("warn",r+"] ["+e),errLog:log.create("error",r+"] ["+e)}}let warnLog=exports.warnLog=log.create("warn",tableVersion),errLog=exports.errLog=log.create("error",tableVersion);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.createComponentLog=createComponentLog,exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,tableVersion="table v4.23.2";function createComponentLog(e){var r=_core.VxeUI.uiVersion?"ui v"+_core.VxeUI.uiVersion:"",o=_core.VxeUI.ganttVersion?"gantt v"+_core.VxeUI.ganttVersion:"",t=_core.VxeUI.designVersion?"design v"+_core.VxeUI.designVersion:"",r=[r,tableVersion,o,t].filter(e=>e).join(" ");return{warnLog:log.create("warn",r+"] ["+e),errLog:log.create("error",r+"] ["+e)}}let warnLog=exports.warnLog=log.create("warn",tableVersion),errLog=exports.errLog=log.create("error",tableVersion);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.23.1",
3
+ "version": "4.23.2",
4
4
  "description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -157,6 +157,48 @@ hooks.add('tableValidatorModule', {
157
157
  let validatorMethods = {} as TableValidatorMethods
158
158
  let validatorPrivateMethods = {} as TableValidatorPrivateMethods
159
159
 
160
+ const handleClearValid = (rows: any, fieldOrColumn: string | string[] | VxeTableDefines.ColumnInfo | VxeTableDefines.ColumnInfo[] | undefined) => {
161
+ const { validErrorMaps } = reactData
162
+ const validOpts = computeValidOpts.value
163
+ const rowList = XEUtils.isArray(rows) ? rows : (rows ? [rows] : [])
164
+ const colList = (XEUtils.isArray(fieldOrColumn) ? fieldOrColumn : (fieldOrColumn ? [fieldOrColumn] : [])).map(column => handleFieldOrColumn($xeTable, column)) as VxeTableDefines.ColumnInfo<any>[]
165
+ let validErrMaps: Record<string, {
166
+ row: any;
167
+ column: any;
168
+ rule: any;
169
+ content: any;
170
+ }> = {}
171
+ // 如果是多个提示模式
172
+ if (validOpts.msgMode === 'full') {
173
+ validErrMaps = Object.assign({}, validErrorMaps)
174
+ if (rowList.length && colList.length) {
175
+ rowList.forEach(row => {
176
+ colList.forEach((column) => {
177
+ const validKey = `${getRowid($xeTable, row)}:${column.id}`
178
+ if (validErrMaps[validKey]) {
179
+ delete validErrMaps[validKey]
180
+ }
181
+ })
182
+ })
183
+ } else if (rowList.length) {
184
+ const rowIdList = rowList.map(row => `${getRowid($xeTable, row)}`)
185
+ XEUtils.each(validErrorMaps, (item, key) => {
186
+ if (rowIdList.indexOf(key.split(':')[0]) > -1) {
187
+ delete validErrMaps[key]
188
+ }
189
+ })
190
+ } else if (colList.length) {
191
+ const colidList = colList.map(column => `${column.id}`)
192
+ XEUtils.each(validErrorMaps, (item, key) => {
193
+ if (colidList.indexOf(key.split(':')[1]) > -1) {
194
+ delete validErrMaps[key]
195
+ }
196
+ })
197
+ }
198
+ }
199
+ return validErrMaps
200
+ }
201
+
160
202
  /**
161
203
  * 聚焦到校验通过的单元格并弹出校验错误提示
162
204
  */
@@ -306,7 +348,7 @@ hooks.add('tableValidatorModule', {
306
348
  }
307
349
  return Promise.all(rowValidErrs).then(() => {
308
350
  const ruleProps = Object.keys(validRest)
309
- reactData.validErrorMaps = handleErrMsgMode(validErrMaps)
351
+ reactData.validErrorMaps = Object.assign(handleClearValid(rows, columns), handleErrMsgMode(validErrMaps))
310
352
  return nextTick().then(() => {
311
353
  if (ruleProps.length) {
312
354
  return Promise.reject(validRest[ruleProps[0]][0])
@@ -398,51 +440,11 @@ hooks.add('tableValidatorModule', {
398
440
  return nextTick()
399
441
  },
400
442
  clearValidate (rows, fieldOrColumn) {
401
- const { validErrorMaps } = reactData
402
443
  const validTip = refValidTooltip.value
403
- const validOpts = computeValidOpts.value
404
- const rowList = XEUtils.isArray(rows) ? rows : (rows ? [rows] : [])
405
- const colList = (XEUtils.isArray(fieldOrColumn) ? fieldOrColumn : (fieldOrColumn ? [fieldOrColumn] : [])).map(column => handleFieldOrColumn($xeTable, column)) as VxeTableDefines.ColumnInfo<any>[]
406
- let validErrMaps: Record<string, {
407
- row: any;
408
- column: any;
409
- rule: any;
410
- content: any;
411
- }> = {}
412
444
  if (validTip && validTip.reactData.visible) {
413
445
  validTip.close()
414
446
  }
415
- // 如果是单个提示模式
416
- if (validOpts.msgMode === 'single') {
417
- reactData.validErrorMaps = {}
418
- return nextTick()
419
- }
420
- if (rowList.length && colList.length) {
421
- validErrMaps = Object.assign({}, validErrorMaps)
422
- rowList.forEach(row => {
423
- colList.forEach((column) => {
424
- const validKey = `${getRowid($xeTable, row)}:${column.id}`
425
- if (validErrMaps[validKey]) {
426
- delete validErrMaps[validKey]
427
- }
428
- })
429
- })
430
- } else if (rowList.length) {
431
- const rowIdList = rowList.map(row => `${getRowid($xeTable, row)}`)
432
- XEUtils.each(validErrorMaps, (item, key) => {
433
- if (rowIdList.indexOf(key.split(':')[0]) > -1) {
434
- validErrMaps[key] = item
435
- }
436
- })
437
- } else if (colList.length) {
438
- const colidList = colList.map(column => `${column.id}`)
439
- XEUtils.each(validErrorMaps, (item, key) => {
440
- if (colidList.indexOf(key.split(':')[1]) > -1) {
441
- validErrMaps[key] = item
442
- }
443
- })
444
- }
445
- reactData.validErrorMaps = validErrMaps
447
+ reactData.validErrorMaps = handleClearValid(rows, fieldOrColumn)
446
448
  return nextTick()
447
449
  }
448
450
  }