vxe-table 3.15.29 → 3.15.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/es/grid/src/grid.js +39 -42
  2. package/es/style.css +1 -1
  3. package/es/table/module/edit/mixin.js +11 -27
  4. package/es/table/module/export/mixin.js +65 -139
  5. package/es/table/module/menu/mixin.js +2 -6
  6. package/es/table/module/validator/mixin.js +99 -41
  7. package/es/table/src/methods.js +12 -36
  8. package/es/table/src/table.js +6 -8
  9. package/es/ui/index.js +1 -1
  10. package/es/ui/src/log.js +1 -1
  11. package/lib/grid/src/grid.js +24 -26
  12. package/lib/grid/src/grid.min.js +1 -1
  13. package/lib/index.umd.js +248 -556
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/style.css +1 -1
  16. package/lib/table/module/edit/mixin.js +11 -27
  17. package/lib/table/module/edit/mixin.min.js +1 -1
  18. package/lib/table/module/export/mixin.js +78 -168
  19. package/lib/table/module/export/mixin.min.js +1 -1
  20. package/lib/table/module/menu/mixin.js +2 -6
  21. package/lib/table/module/menu/mixin.min.js +1 -1
  22. package/lib/table/module/validator/mixin.js +97 -40
  23. package/lib/table/module/validator/mixin.min.js +1 -1
  24. package/lib/table/src/methods.js +12 -36
  25. package/lib/table/src/methods.min.js +1 -1
  26. package/lib/table/src/table.js +8 -10
  27. package/lib/table/src/table.min.js +1 -1
  28. package/lib/ui/index.js +1 -1
  29. package/lib/ui/index.min.js +1 -1
  30. package/lib/ui/src/log.js +1 -1
  31. package/lib/ui/src/log.min.js +1 -1
  32. package/package.json +1 -1
  33. package/packages/grid/src/grid.ts +39 -41
  34. package/packages/table/module/edit/mixin.ts +11 -27
  35. package/packages/table/module/export/mixin.ts +96 -158
  36. package/packages/table/module/menu/mixin.ts +2 -6
  37. package/packages/table/module/validator/mixin.ts +101 -40
  38. package/packages/table/src/methods.ts +12 -36
  39. package/packages/table/src/table.ts +6 -8
  40. /package/es/{iconfont.1747286367921.ttf → iconfont.1747357311626.ttf} +0 -0
  41. /package/es/{iconfont.1747286367921.woff → iconfont.1747357311626.woff} +0 -0
  42. /package/es/{iconfont.1747286367921.woff2 → iconfont.1747357311626.woff2} +0 -0
  43. /package/lib/{iconfont.1747286367921.ttf → iconfont.1747357311626.ttf} +0 -0
  44. /package/lib/{iconfont.1747286367921.woff → iconfont.1747357311626.woff} +0 -0
  45. /package/lib/{iconfont.1747286367921.woff2 → iconfont.1747357311626.woff2} +0 -0
@@ -126,10 +126,8 @@ function insertTreeRow($xeTable, newRecords, isAppend) {
126
126
  fullDataRowIdData[rowid] = rest;
127
127
  fullAllDataRowIdData[rowid] = rest;
128
128
  } else {
129
- if (process.env.NODE_ENV === 'development') {
130
- if (parentRowId) {
131
- (0, _log.warnLog)('vxe.error.unableInsert');
132
- }
129
+ if (parentRowId) {
130
+ (0, _log.warnLog)('vxe.error.unableInsert');
133
131
  }
134
132
  afterFullData[funcName](item);
135
133
  tableFullTreeData[funcName](item);
@@ -277,11 +275,9 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
277
275
  const parentLevel = parentRest ? parentRest.level : 0;
278
276
  newRecords.forEach((item, i) => {
279
277
  const rowid = (0, _util.getRowid)($xeTable, item);
280
- if (process.env.NODE_ENV === 'development') {
281
- if (item[treeOpts.parentField]) {
282
- if (parentRow && item[treeOpts.parentField] !== parentRow[rowField]) {
283
- (0, _log.errLog)('vxe.error.errProp', [`${treeOpts.parentField}=${item[treeOpts.parentField]}`, `${treeOpts.parentField}=${parentRow[rowField]}`]);
284
- }
278
+ if (item[treeOpts.parentField]) {
279
+ if (parentRow && item[treeOpts.parentField] !== parentRow[rowField]) {
280
+ (0, _log.errLog)('vxe.error.errProp', [`${treeOpts.parentField}=${item[treeOpts.parentField]}`, `${treeOpts.parentField}=${parentRow[rowField]}`]);
285
281
  }
286
282
  }
287
283
  if (parentRow) {
@@ -326,9 +322,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
326
322
  }
327
323
  }
328
324
  } else {
329
- if (process.env.NODE_ENV === 'development') {
330
- (0, _log.warnLog)('vxe.error.unableInsert');
331
- }
325
+ (0, _log.warnLog)('vxe.error.unableInsert');
332
326
  insertTreeRow($xeTable, newRecords, true);
333
327
  }
334
328
  } else {
@@ -946,9 +940,7 @@ var _default = exports.default = {
946
940
  syncActivedCell($xeTable);
947
941
  },
948
942
  _clearActived(row) {
949
- if (process.env.NODE_ENV === 'development') {
950
- (0, _log.warnLog)('vxe.error.delFunc', ['clearActived', 'clearEdit']);
951
- }
943
+ (0, _log.warnLog)('vxe.error.delFunc', ['clearActived', 'clearEdit']);
952
944
  // 即将废弃
953
945
  return this.clearEdit(row);
954
946
  },
@@ -968,9 +960,7 @@ var _default = exports.default = {
968
960
  },
969
961
  _getActiveRecord() {
970
962
  const $xeTable = this;
971
- if (process.env.NODE_ENV === 'development') {
972
- (0, _log.warnLog)('vxe.error.delFunc', ['getActiveRecord', 'getEditRecord']);
973
- }
963
+ (0, _log.warnLog)('vxe.error.delFunc', ['getActiveRecord', 'getEditRecord']);
974
964
  // 即将废弃
975
965
  return $xeTable.getEditRecord();
976
966
  },
@@ -996,9 +986,7 @@ var _default = exports.default = {
996
986
  },
997
987
  _isActiveByRow(row) {
998
988
  const $xeTable = this;
999
- if (process.env.NODE_ENV === 'development') {
1000
- (0, _log.warnLog)('vxe.error.delFunc', ['isActiveByRow', 'isEditByRow']);
1001
- }
989
+ (0, _log.warnLog)('vxe.error.delFunc', ['isActiveByRow', 'isEditByRow']);
1002
990
  // 即将废弃
1003
991
  return $xeTable.isEditByRow(row);
1004
992
  },
@@ -1080,9 +1068,7 @@ var _default = exports.default = {
1080
1068
  },
1081
1069
  _setActiveRow(row) {
1082
1070
  const $xeTable = this;
1083
- if (process.env.NODE_ENV === 'development') {
1084
- (0, _log.warnLog)('vxe.error.delFunc', ['setActiveRow', 'setEditRow']);
1085
- }
1071
+ (0, _log.warnLog)('vxe.error.delFunc', ['setActiveRow', 'setEditRow']);
1086
1072
  // 即将废弃
1087
1073
  return $xeTable.setEditRow(row);
1088
1074
  },
@@ -1102,9 +1088,7 @@ var _default = exports.default = {
1102
1088
  return handleEditCell($xeTable, row, column, isPos);
1103
1089
  },
1104
1090
  _setActiveCell(row, fieldOrColumn) {
1105
- if (process.env.NODE_ENV === 'development') {
1106
- (0, _log.warnLog)('vxe.error.delFunc', ['setActiveCell', 'setEditCell']);
1107
- }
1091
+ (0, _log.warnLog)('vxe.error.delFunc', ['setActiveCell', 'setEditCell']);
1108
1092
  // 即将废弃
1109
1093
  return this.setEditCell(row, fieldOrColumn);
1110
1094
  },
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,browseObj=_xeUtils.default.browse();function getEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)}function setEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)}function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function syncActivedCell(e){var{editStore:t,tableColumn:l}=e,e=e.computeEditOpts,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,i))}function insertTreeRow(n,e,t){let{tableFullTreeData:d,afterFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:u}=n;var l=n.computeTreeOpts;let{rowField:c,parentField:h,mapChildrenField:g}=l,w=l.children||l.childrenField,f=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(n,l),i=t?_xeUtils.default.findTree(d,e=>t===e[c],{children:g}):null;if(i){var i=i.item,o=u[(0,_util.getRowid)(n,i)],o=o?o.level:0;let e=i[w],t=i[g];_xeUtils.default.isArray(e)||(e=i[w]=[]),_xeUtils.default.isArray(t)||(t=i[w]=[]),e[f](l),t[f](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:i,level:o+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[f](l),d[f](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,u[r]=o}})}function handleInsertRowAt(a,t,l,s){var e=a;let i=a.treeConfig,{tableFullTreeData:r,afterFullData:o,mergeBodyList:n,tableFullData:d,fullDataRowIdData:u,fullAllDataRowIdData:c,insertRowMaps:h}=a,g=a.computeTreeOpts,{transform:w,rowField:f,mapChildrenField:m}=g,p=g.children||g.childrenField,v=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&w?{[m]:[],[p]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&w?insertTreeRow(a,v,!1):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,o.unshift(e),d.unshift(e)}),n.forEach(e=>{var t=e.row;0<t&&(e.row=t+v.length)}));else if(-1===l)i&&w?insertTreeRow(a,v,!0):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,o.push(e),d.push(e)}),n.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+v.length)}));else if(i&&w){let d=_xeUtils.default.findTree(r,e=>l[f]===e[f],{children:m});if(d){let i=d.parent,o=i?i[m]:r;t=c[(0,_util.getRowid)(a,i)];let n=t?t.level:0;if(v.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&i&&e[g.parentField]!==i[f]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+i[f]]),i&&(e[g.parentField]=i[f]);let r=d.index+t;s&&(r+=1),o.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:i,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,c[l]=t}),i){t=_xeUtils.default.findTree(r,e=>l[f]===e[f],{children:p});if(t){var x=t.items;let e=t.index;s&&(e+=1),x.splice(e,0,...v)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,v,!0)}else{if(i)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<o.length&&(r=l):r=a.findRowIndexOf(o,l),-1===(r=s?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...v);t=a.findRowIndexOf(d,l);-1<t?d.splice(t+(s?1:0),0,...v):d.push(...v),n.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+v.length:t+l>r&&(e.rowspan=l+v.length)})}return v.forEach(e=>{var t=(0,_util.getRowid)(a,e);h[t]=e}),e.insertRowFlag++,a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&w),i&&w||a.updateAfterDataIndex(),a.updateFooter(),a.handleUpdateBodyMerge(),a.checkSelectionStatus(),e.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return o&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))}function handleClearEdit(e,t,l){var r=e.editStore,{actived:r,focused:i}=r,{row:o,column:n}=r,d=e.computeValidOpts;if(o||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,o))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),e.dispatchEvent("edit-closed",{row:o,rowIndex:e.getRowIndex(o),$rowIndex:e.getVMRowIndex(o),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return i.row=null,i.column=null,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,i,o,e){let n=l.$xeGrid;var{editConfig:t,mouseConfig:d}=l,{editStore:a,tableColumn:s}=l,u=l.computeEditOpts,c=u.mode,{actived:a,focused:h}=a;let{row:g,column:w}=r;var f=w.editRender,m=r.cell||l.getCellElement(g,w),p=u.beforeEditMethod||u.activeMethod;if((r.cell=m)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(f)&&!l.isPendingByRow(g)){if(a.row!==g||"cell"===c&&a.column!==w){let t="edit-disabled";if(!p||p(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),a.column&&handleClearEdit(l,i),t="edit-activated",w.renderHeight=m.offsetHeight,a.args=r,a.row=g,a.column=w,"row"===c?s.forEach(e=>getEditColumnModel(g,e)):getEditColumnModel(g,w);let e=u.afterEditMethod;l.$nextTick(()=>{o&&l.handleFocus(r,i),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:n}))})}l.dispatchEvent(t,{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},i),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},i)}else{t=a.column;d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),t!==w&&(f=t.model,f.update&&(0,_util.setCellValue)(g,t,f.value),l.clearValidate)&&l.clearValidate(g,w),w.renderHeight=m.offsetHeight,a.args=r,a.column=w,e&&setTimeout(()=>{l.handleFocus(r,i)})}h.column=null,h.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let i=t;var o=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(o)&&(0,_utils.isEnableConf)(n.editRender)?Promise.resolve(r?t.scrollToRow(l,n):null).then(()=>{var e=t.getCellElement(l,n);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:n,columnIndex:t.getColumnIndex(n),cell:e,$table:t},null,r,r),i._lastCallTime=Date.now()),t.$nextTick()}):t.$nextTick()}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let l=this;var t=l,r=l,t=t.treeConfig,i=r.editStore;let{tableFullTreeData:o,selectCheckboxMaps:n,afterFullData:d,mergeBodyList:a,tableFullData:s,pendingRowMaps:u,insertRowMaps:c,removeRowMaps:h}=l;var g=l.computeCheckboxOpts,w=l.computeTreeOpts;let{transform:f,mapChildrenField:m}=w,p=w.children||w.childrenField;w=i.actived,i=g.checkField;let v=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=s,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),h[t]=e)}),i||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);n[e]&&delete n[e]}),r.updateCheckboxFlag++),s===e?(e=v=s.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&f?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(this,e),{children:m}),l=(l&&(l=l.items.splice(l.index,1),v.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(this,e),{children:p})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(d,e));-1<l&&d.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(s,e);-1<t&&(t=s.splice(t,1),v.push(t[0]));let r=this.findRowIndexOf(d,e);-1<r&&(a.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),d.splice(r,1))}),w.row&&-1<l.findRowIndexOf(e,w.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);c[e]&&delete c[e],u[e]&&delete u[e]}),r.removeRowFlag++,r.insertRowFlag++,r.pendingRowFlag++,l.cacheRowMap(!1),l.handleTableData(t&&f),l.updateFooter(),l.handleUpdateBodyMerge(),t&&f||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=this,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){var e=this.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){let t=this;var{keepSource:e,treeConfig:l}=t,r=t.tableFullData,i=t.computeTreeOpts;return e?(syncActivedCell(t),l?_xeUtils.default.filterTree(r,e=>t.isUpdateByRow(e),i):r.filter(e=>t.isUpdateByRow(e))):[]},handleEdit(e,t){return handleEditActive(this,e,t,!0,!0)},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){getEditColumnModel(e,t)},_setColumnModel(e,t){setEditColumnModel(e,t)},_syncActivedCell(){syncActivedCell(this)},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return handleClearEdit(this,null,e)},handleClearEdit(e,t){return handleClearEdit(this,e,t)},_getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var e=this.editStore,t=this.afterFullData,l=this.$refs.refElem,{args:e,row:r}=e.actived;return e&&-1<this.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){var t=this.editStore;return t.actived.row===e},handleFocus(r){var{row:i,column:o,cell:n}=r,d=o.editRender,a=this.computeEditOpts;if((0,_utils.isEnableConf)(d)){var s=renderer.get(d.name);let e=d.autofocus||d.autoFocus,t=d.autoSelect||d.autoselect,l;a.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autoFocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():browseObj.msie&&((d=l.createTextRange()).collapse(!1),d.select()):a.autoPos&&!o.fixed&&this.scrollToRow(i,o)}},_setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender)),r=!1;return t&&(r=!0)!==t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,l,r)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t){return handleEditCell(this,e,t,!0)},_setSelectCell(e,t){var l=this,r=l.tableData,i=l.computeEditOpts,t=_xeUtils.default.isString(t)?l.getColumnByField(t):t;return e&&t&&"manual"!==i.trigger&&-1<(i=l.findRowIndexOf(r,e))&&(r=l.getCellElement(e,t),e={row:e,rowIndex:i,column:t,columnIndex:l.getColumnIndex(t),cell:r},l.handleSelected(e,{})),l.$nextTick()},handleSelected(e,t){let l=this;var r=l.mouseConfig,i=l.editStore,o=l.computeMouseOpts;let n=l.computeEditOpts,{actived:d,selected:a}=i,{row:s,column:u}=e,c=r&&o.selected;return!c||a.row===s&&a.column===u||(d.row!==s||"cell"===n.mode&&d.column!==u)&&(handleClearEdit(l,t),l.clearSelected(),l.clearCellAreas&&(l.clearCellAreas(),l.clearCopyCellArea()),a.args=e,a.row=s,a.column=u,c&&this.addCellSelectedClass(),l.focus(),t)&&l.dispatchEvent("cell-selected",e,t),l.$nextTick()},_getSelectedCell(){var e=this.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore,e=e.selected;return e.row=null,e.column=null,removeCellSelectedClass(this),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,browseObj=_xeUtils.default.browse();function getEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)}function setEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)}function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function syncActivedCell(e){var{editStore:t,tableColumn:l}=e,e=e.computeEditOpts,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,i))}function insertTreeRow(n,e,t){let{tableFullTreeData:d,afterFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:u}=n;var l=n.computeTreeOpts;let{rowField:c,parentField:h,mapChildrenField:g}=l,w=l.children||l.childrenField,f=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(n,l),i=t?_xeUtils.default.findTree(d,e=>t===e[c],{children:g}):null;if(i){var i=i.item,o=u[(0,_util.getRowid)(n,i)],o=o?o.level:0;let e=i[w],t=i[g];_xeUtils.default.isArray(e)||(e=i[w]=[]),_xeUtils.default.isArray(t)||(t=i[w]=[]),e[f](l),t[f](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:i,level:o+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}else{t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[f](l),d[f](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,u[r]=o}})}function handleInsertRowAt(a,t,l,s){var e=a;let i=a.treeConfig,{tableFullTreeData:r,afterFullData:o,mergeBodyList:n,tableFullData:d,fullDataRowIdData:u,fullAllDataRowIdData:c,insertRowMaps:h}=a,g=a.computeTreeOpts,{transform:w,rowField:f,mapChildrenField:m}=g,p=g.children||g.childrenField,x=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&w?{[m]:[],[p]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&w?insertTreeRow(a,x,!1):(x.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,o.unshift(e),d.unshift(e)}),n.forEach(e=>{var t=e.row;0<t&&(e.row=t+x.length)}));else if(-1===l)i&&w?insertTreeRow(a,x,!0):(x.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,o.push(e),d.push(e)}),n.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+x.length)}));else if(i&&w){let d=_xeUtils.default.findTree(r,e=>l[f]===e[f],{children:m});if(d){let i=d.parent,o=i?i[m]:r;t=c[(0,_util.getRowid)(a,i)];let n=t?t.level:0;if(x.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);e[g.parentField]&&i&&e[g.parentField]!==i[f]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+i[f]]),i&&(e[g.parentField]=i[f]);let r=d.index+t;s&&(r+=1),o.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:i,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,c[l]=t}),i){t=_xeUtils.default.findTree(r,e=>l[f]===e[f],{children:p});if(t){var v=t.items;let e=t.index;s&&(e+=1),v.splice(e,0,...x)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,x,!0)}else{if(i)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<o.length&&(r=l):r=a.findRowIndexOf(o,l),-1===(r=s?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...x);t=a.findRowIndexOf(d,l);-1<t?d.splice(t+(s?1:0),0,...x):d.push(...x),n.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+x.length:t+l>r&&(e.rowspan=l+x.length)})}return x.forEach(e=>{var t=(0,_util.getRowid)(a,e);h[t]=e}),e.insertRowFlag++,a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&w),i&&w||a.updateAfterDataIndex(),a.updateFooter(),a.handleUpdateBodyMerge(),a.checkSelectionStatus(),e.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:x.length?x[x.length-1]:null,rows:x}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return o&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))}function handleClearEdit(e,t,l){var r=e.editStore,{actived:r,focused:i}=r,{row:o,column:n}=r,d=e.computeValidOpts;if(o||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,o))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),e.dispatchEvent("edit-closed",{row:o,rowIndex:e.getRowIndex(o),$rowIndex:e.getVMRowIndex(o),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return i.row=null,i.column=null,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,i,o,e){let n=l.$xeGrid;var{editConfig:t,mouseConfig:d}=l,{editStore:a,tableColumn:s}=l,u=l.computeEditOpts,c=u.mode,{actived:a,focused:h}=a;let{row:g,column:w}=r;var f=w.editRender,m=r.cell||l.getCellElement(g,w),p=u.beforeEditMethod||u.activeMethod;if((r.cell=m)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(f)&&!l.isPendingByRow(g)){if(a.row!==g||"cell"===c&&a.column!==w){let t="edit-disabled";if(!p||p(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),a.column&&handleClearEdit(l,i),t="edit-activated",w.renderHeight=m.offsetHeight,a.args=r,a.row=g,a.column=w,"row"===c?s.forEach(e=>getEditColumnModel(g,e)):getEditColumnModel(g,w);let e=u.afterEditMethod;l.$nextTick(()=>{o&&l.handleFocus(r,i),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:n}))})}l.dispatchEvent(t,{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},i),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},i)}else{t=a.column;d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),t!==w&&(f=t.model,f.update&&(0,_util.setCellValue)(g,t,f.value),l.clearValidate)&&l.clearValidate(g,w),w.renderHeight=m.offsetHeight,a.args=r,a.column=w,e&&setTimeout(()=>{l.handleFocus(r,i)})}h.column=null,h.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let i=t;var o=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(o)&&(0,_utils.isEnableConf)(n.editRender)?Promise.resolve(r?t.scrollToRow(l,n):null).then(()=>{var e=t.getCellElement(l,n);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:n,columnIndex:t.getColumnIndex(n),cell:e,$table:t},null,r,r),i._lastCallTime=Date.now()),t.$nextTick()}):t.$nextTick()}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let l=this;var t=l,r=l,t=t.treeConfig,i=r.editStore;let{tableFullTreeData:o,selectCheckboxMaps:n,afterFullData:d,mergeBodyList:a,tableFullData:s,pendingRowMaps:u,insertRowMaps:c,removeRowMaps:h}=l;var g=l.computeCheckboxOpts,w=l.computeTreeOpts;let{transform:f,mapChildrenField:m}=w,p=w.children||w.childrenField;w=i.actived,i=g.checkField;let x=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=s,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),h[t]=e)}),i||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);n[e]&&delete n[e]}),r.updateCheckboxFlag++),s===e?(e=x=s.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&f?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(this,e),{children:m}),l=(l&&(l=l.items.splice(l.index,1),x.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(this,e),{children:p})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(d,e));-1<l&&d.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(s,e);-1<t&&(t=s.splice(t,1),x.push(t[0]));let r=this.findRowIndexOf(d,e);-1<r&&(a.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),d.splice(r,1))}),w.row&&-1<l.findRowIndexOf(e,w.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);c[e]&&delete c[e],u[e]&&delete u[e]}),r.removeRowFlag++,r.insertRowFlag++,r.pendingRowFlag++,l.cacheRowMap(!1),l.handleTableData(t&&f),l.updateFooter(),l.handleUpdateBodyMerge(),t&&f||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:x.length?x[x.length-1]:null,rows:x}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=this,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){var e=this.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){let t=this;var{keepSource:e,treeConfig:l}=t,r=t.tableFullData,i=t.computeTreeOpts;return e?(syncActivedCell(t),l?_xeUtils.default.filterTree(r,e=>t.isUpdateByRow(e),i):r.filter(e=>t.isUpdateByRow(e))):[]},handleEdit(e,t){return handleEditActive(this,e,t,!0,!0)},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){getEditColumnModel(e,t)},_setColumnModel(e,t){setEditColumnModel(e,t)},_syncActivedCell(){syncActivedCell(this)},_clearActived(e){return(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return handleClearEdit(this,null,e)},handleClearEdit(e,t){return handleClearEdit(this,e,t)},_getActiveRecord(){return(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var e=this.editStore,t=this.afterFullData,l=this.$refs.refElem,{args:e,row:r}=e.actived;return e&&-1<this.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},_isActiveByRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){var t=this.editStore;return t.actived.row===e},handleFocus(r){var{row:i,column:o,cell:n}=r,d=o.editRender,a=this.computeEditOpts;if((0,_utils.isEnableConf)(d)){var s=renderer.get(d.name);let e=d.autofocus||d.autoFocus,t=d.autoSelect||d.autoselect,l;a.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autoFocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():browseObj.msie&&((d=l.createTextRange()).collapse(!1),d.select()):a.autoPos&&!o.fixed&&this.scrollToRow(i,o)}},_setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender)),r=!1;return t&&(r=!0)!==t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,l,r)},_setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t){return handleEditCell(this,e,t,!0)},_setSelectCell(e,t){var l=this,r=l.tableData,i=l.computeEditOpts,t=_xeUtils.default.isString(t)?l.getColumnByField(t):t;return e&&t&&"manual"!==i.trigger&&-1<(i=l.findRowIndexOf(r,e))&&(r=l.getCellElement(e,t),e={row:e,rowIndex:i,column:t,columnIndex:l.getColumnIndex(t),cell:r},l.handleSelected(e,{})),l.$nextTick()},handleSelected(e,t){let l=this;var r=l.mouseConfig,i=l.editStore,o=l.computeMouseOpts;let n=l.computeEditOpts,{actived:d,selected:a}=i,{row:s,column:u}=e,c=r&&o.selected;return!c||a.row===s&&a.column===u||(d.row!==s||"cell"===n.mode&&d.column!==u)&&(handleClearEdit(l,t),l.clearSelected(),l.clearCellAreas&&(l.clearCellAreas(),l.clearCopyCellArea()),a.args=e,a.row=s,a.column=u,c&&this.addCellSelectedClass(),l.focus(),t)&&l.dispatchEvent("cell-selected",e,t),l.$nextTick()},_getSelectedCell(){var e=this.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore,e=e.selected;return e.row=null,e.column=null,removeCellSelectedClass(this),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
@@ -4,8 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- exports.readLocalFile = readLocalFile;
8
- exports.saveLocalFile = saveLocalFile;
9
7
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
10
8
  var _ui = require("../../../ui");
11
9
  var _util = require("../../src/util");
@@ -19,9 +17,6 @@ const {
19
17
  renderer
20
18
  } = _ui.VxeUI;
21
19
  let htmlCellElem;
22
- // 导入
23
- let fileForm;
24
- let fileInput;
25
20
  const csvBOM = '\ufeff';
26
21
  const enterSymbol = '\r\n';
27
22
  function hasTreeChildren($xeTable, row) {
@@ -46,7 +41,7 @@ function getSeq($xeTable, cellValue, row, $rowIndex, column, $columnIndex) {
46
41
  return cellValue;
47
42
  }
48
43
  function defaultFilterExportColumn(column) {
49
- return column.field || ['seq', 'checkbox', 'radio'].indexOf(column.type) > -1;
44
+ return !!column.field || ['seq', 'checkbox', 'radio'].indexOf(column.type || '') > -1;
50
45
  }
51
46
  function toTableBorder(border) {
52
47
  if (border === true) {
@@ -601,41 +596,6 @@ function getContent($xeTable, opts, columns, datas) {
601
596
  }
602
597
  return '';
603
598
  }
604
- /**
605
- * 保存文件到本地
606
- * @param {*} options 参数
607
- */
608
- function saveLocalFile(options) {
609
- const {
610
- filename,
611
- type,
612
- content
613
- } = options;
614
- const name = `${filename}.${type}`;
615
- if (window.Blob) {
616
- const blob = content instanceof Blob ? content : (0, _util2.getExportBlobByContent)(_xeUtils.default.toValueString(content), options);
617
- if (navigator.msSaveBlob) {
618
- navigator.msSaveBlob(blob, name);
619
- } else {
620
- const url = URL.createObjectURL(blob);
621
- const linkElem = document.createElement('a');
622
- linkElem.target = '_blank';
623
- linkElem.download = name;
624
- linkElem.href = url;
625
- document.body.appendChild(linkElem);
626
- linkElem.click();
627
- document.body.removeChild(linkElem);
628
- requestAnimationFrame(() => {
629
- if (linkElem.parentNode) {
630
- linkElem.parentNode.removeChild(linkElem);
631
- }
632
- URL.revokeObjectURL(url);
633
- });
634
- }
635
- return Promise.resolve();
636
- }
637
- return Promise.reject(new Error(getI18n('vxe.error.notExp')));
638
- }
639
599
  function downloadFile($xeTable, opts, content) {
640
600
  const {
641
601
  filename,
@@ -650,22 +610,22 @@ function downloadFile($xeTable, opts, content) {
650
610
  blob
651
611
  });
652
612
  }
653
- saveLocalFile({
654
- filename,
655
- type,
656
- content
657
- }).then(() => {
658
- if (opts.message !== false) {
659
- // 检测弹窗模块
660
- if (!_ui.VxeUI.modal) {
661
- (0, _log.errLog)('vxe.error.reqModule', ['Modal']);
613
+ if (_ui.VxeUI.saveFile) {
614
+ _ui.VxeUI.saveFile({
615
+ filename,
616
+ type,
617
+ content
618
+ }).then(() => {
619
+ if (opts.message !== false) {
620
+ if (_ui.VxeUI.modal) {
621
+ _ui.VxeUI.modal.message({
622
+ content: getI18n('vxe.table.expSuccess'),
623
+ status: 'success'
624
+ });
625
+ }
662
626
  }
663
- _ui.VxeUI.modal.message({
664
- content: getI18n('vxe.table.expSuccess'),
665
- status: 'success'
666
- });
667
- }
668
- });
627
+ });
628
+ }
669
629
  }
670
630
  function clearColumnConvert(columns) {
671
631
  _xeUtils.default.eachTree(columns, column => {
@@ -1094,72 +1054,6 @@ function handleCloseExport() {
1094
1054
  }
1095
1055
  return Promise.resolve();
1096
1056
  }
1097
- /**
1098
- * 读取本地文件
1099
- * @param {*} options 参数
1100
- */
1101
- function readLocalFile(options = {}) {
1102
- if (!fileForm) {
1103
- fileForm = document.createElement('form');
1104
- fileInput = document.createElement('input');
1105
- fileForm.className = 'vxe-table--file-form';
1106
- fileInput.name = 'file';
1107
- fileInput.type = 'file';
1108
- fileForm.appendChild(fileInput);
1109
- document.body.appendChild(fileForm);
1110
- }
1111
- return new Promise((resolve, reject) => {
1112
- const types = options.types || [];
1113
- const isAllType = !types.length || types.some(type => type === '*');
1114
- fileInput.multiple = !!options.multiple;
1115
- fileInput.accept = isAllType ? '' : `.${types.join(', .')}`;
1116
- fileInput.onchange = evnt => {
1117
- const {
1118
- files
1119
- } = evnt.target;
1120
- const file = files[0];
1121
- let errType;
1122
- // 校验类型
1123
- if (!isAllType) {
1124
- for (let fIndex = 0; fIndex < files.length; fIndex++) {
1125
- const {
1126
- type
1127
- } = (0, _utils.parseFile)(files[fIndex]);
1128
- if (!_xeUtils.default.includes(types, type)) {
1129
- errType = type;
1130
- break;
1131
- }
1132
- }
1133
- }
1134
- if (!errType) {
1135
- resolve({
1136
- status: true,
1137
- files,
1138
- file
1139
- });
1140
- } else {
1141
- if (options.message !== false) {
1142
- // 检测弹窗模块
1143
- if (!_ui.VxeUI.modal) {
1144
- (0, _log.errLog)('vxe.error.reqModule', ['Modal']);
1145
- }
1146
- _ui.VxeUI.modal.message({
1147
- content: getI18n('vxe.error.notType', [errType]),
1148
- status: 'error'
1149
- });
1150
- }
1151
- const params = {
1152
- status: false,
1153
- files,
1154
- file
1155
- };
1156
- reject(params);
1157
- }
1158
- };
1159
- fileForm.reset();
1160
- fileInput.click();
1161
- });
1162
- }
1163
1057
  function handleFilterColumns(exportOpts, column, columns) {
1164
1058
  return columns.some(item => {
1165
1059
  if ((0, _util.isColumnInfo)(item)) {
@@ -1195,7 +1089,7 @@ function handleFilterFields(exportOpts, column, includeFields, excludeFields) {
1195
1089
  }
1196
1090
  return false;
1197
1091
  }
1198
- return exportOpts.original ? column.field : defaultFilterExportColumn(column);
1092
+ return exportOpts.original ? !!column.field : defaultFilterExportColumn(column);
1199
1093
  }
1200
1094
  function handleExportAndPrint($xeTable, options, isPrint) {
1201
1095
  const props = $xeTable;
@@ -1267,7 +1161,7 @@ function handleExportAndPrint($xeTable, options, isPrint) {
1267
1161
  });
1268
1162
  // 默认选中
1269
1163
  _xeUtils.default.eachTree(exportColumns, (column, index, items, path, parent) => {
1270
- const isColGroup = column.children && column.children.length;
1164
+ const isColGroup = column.children && column.children.length > 0;
1271
1165
  let isChecked = false;
1272
1166
  if (columns && columns.length) {
1273
1167
  isChecked = handleFilterColumns(defOpts, column, columns);
@@ -1407,14 +1301,14 @@ var _default = exports.default = {
1407
1301
  showFooter
1408
1302
  } = props;
1409
1303
  const {
1410
- mergeFooterList,
1411
1304
  isGroup
1412
1305
  } = reactData;
1413
1306
  const {
1414
1307
  tableFullColumn,
1415
1308
  afterFullData,
1309
+ collectColumn,
1416
1310
  mergeBodyList,
1417
- collectColumn
1311
+ mergeFooterList
1418
1312
  } = internalData;
1419
1313
  const exportOpts = $xeTable.computeExportOpts;
1420
1314
  const treeOpts = $xeTable.computeTreeOpts;
@@ -1463,7 +1357,7 @@ var _default = exports.default = {
1463
1357
  mode = selectRecords.length ? 'selected' : 'current';
1464
1358
  }
1465
1359
  const customCols = columns && columns.length ? columns : _xeUtils.default.searchTree(collectColumn, column => {
1466
- const isColGroup = column.children && column.children.length;
1360
+ const isColGroup = column.children && column.children.length > 0;
1467
1361
  let isChecked = false;
1468
1362
  if (columns && columns.length) {
1469
1363
  isChecked = handleFilterColumns(opts, column, columns);
@@ -1484,7 +1378,7 @@ var _default = exports.default = {
1484
1378
  });
1485
1379
  // 如果设置源数据,则默认导出设置了字段的列
1486
1380
  if (!customCols && !columnFilterMethod) {
1487
- handleOptions.columnFilterMethod = ({
1381
+ columnFilterMethod = ({
1488
1382
  column
1489
1383
  }) => {
1490
1384
  if (excludeFields) {
@@ -1498,8 +1392,9 @@ var _default = exports.default = {
1498
1392
  }
1499
1393
  return false;
1500
1394
  }
1501
- return original ? column.field : defaultFilterExportColumn(column);
1395
+ return original ? !!column.field : defaultFilterExportColumn(column);
1502
1396
  };
1397
+ handleOptions.columnFilterMethod = columnFilterMethod;
1503
1398
  }
1504
1399
  if (customCols) {
1505
1400
  handleOptions._isCustomColumn = true;
@@ -1530,6 +1425,7 @@ var _default = exports.default = {
1530
1425
  children: 'childNodes',
1531
1426
  mapChildren: '_children'
1532
1427
  }), (column, index) => (0, _util.isColumnInfo)(column) && (!columnFilterMethod || columnFilterMethod({
1428
+ $table: $xeTable,
1533
1429
  column: column,
1534
1430
  $columnIndex: index
1535
1431
  })), {
@@ -1539,6 +1435,7 @@ var _default = exports.default = {
1539
1435
  });
1540
1436
  } else {
1541
1437
  groups = _xeUtils.default.searchTree(isGroup ? collectColumn : tableFullColumn, (column, index) => column.visible && (!columnFilterMethod || columnFilterMethod({
1438
+ $table: $xeTable,
1542
1439
  column,
1543
1440
  $columnIndex: index
1544
1441
  })), {
@@ -1591,10 +1488,8 @@ var _default = exports.default = {
1591
1488
  // 检查类型,如果为自定义导出,则不需要校验类型
1592
1489
  if (!handleOptions.exportMethod && !_xeUtils.default.includes(_xeUtils.default.keys(exportOpts._typeMaps), type)) {
1593
1490
  (0, _log.errLog)('vxe.error.notType', [type]);
1594
- if (process.env.NODE_ENV === 'development') {
1595
- if (['xlsx', 'pdf'].includes(type)) {
1596
- (0, _log.warnLog)('vxe.error.reqPlugin', [4, 'plugin-export-xlsx']);
1597
- }
1491
+ if (['xlsx', 'pdf'].includes(type)) {
1492
+ (0, _log.warnLog)('vxe.error.reqPlugin', [4, 'plugin-export-xlsx']);
1598
1493
  }
1599
1494
  const params = {
1600
1495
  status: false
@@ -1621,10 +1516,8 @@ var _default = exports.default = {
1621
1516
  handleOptions.data = selectRecords;
1622
1517
  }
1623
1518
  } else if (mode === 'all') {
1624
- if (process.env.NODE_ENV === 'development') {
1625
- if (!$xeGrid) {
1626
- (0, _log.warnLog)('vxe.error.errProp', ['all', 'mode=current,selected']);
1627
- }
1519
+ if (!$xeGrid) {
1520
+ (0, _log.errLog)('vxe.error.errProp', ['all', 'mode=current,selected']);
1628
1521
  }
1629
1522
  if ($xeGrid && !handleOptions.remote) {
1630
1523
  const gridReactData = $xeGrid;
@@ -1641,10 +1534,8 @@ var _default = exports.default = {
1641
1534
  const ajaxMethods = ajax.queryAll;
1642
1535
  const queryAllSuccessMethods = ajax.queryAllSuccess;
1643
1536
  const queryAllErrorMethods = ajax.queryAllError;
1644
- if (process.env.NODE_ENV === 'development') {
1645
- if (!ajaxMethods) {
1646
- (0, _log.warnLog)('vxe.error.notFunc', ['proxy-config.ajax.queryAll']);
1647
- }
1537
+ if (!ajaxMethods) {
1538
+ (0, _log.errLog)('vxe.error.notFunc', ['proxy-config.ajax.queryAll']);
1648
1539
  }
1649
1540
  if (ajaxMethods) {
1650
1541
  const params = {
@@ -1687,6 +1578,7 @@ var _default = exports.default = {
1687
1578
  return handleExport($xeTable, handleOptions);
1688
1579
  },
1689
1580
  _importByFile(file, options) {
1581
+ const $xeTable = this;
1690
1582
  const opts = Object.assign({}, options);
1691
1583
  const {
1692
1584
  beforeImportMethod
@@ -1694,12 +1586,13 @@ var _default = exports.default = {
1694
1586
  if (beforeImportMethod) {
1695
1587
  beforeImportMethod({
1696
1588
  options: opts,
1697
- $table: this
1589
+ $table: $xeTable
1698
1590
  });
1699
1591
  }
1700
- return handleFileImport(this, file, opts);
1592
+ return handleFileImport($xeTable, file, opts);
1701
1593
  },
1702
1594
  _importData(options) {
1595
+ const $xeTable = this;
1703
1596
  const {
1704
1597
  importOpts
1705
1598
  } = this;
@@ -1718,12 +1611,12 @@ var _default = exports.default = {
1718
1611
  $table: this
1719
1612
  });
1720
1613
  }
1721
- return readLocalFile(opts).catch(e => {
1614
+ return _ui.VxeUI.readFile(opts).catch(e => {
1722
1615
  if (afterImportMethod) {
1723
1616
  afterImportMethod({
1724
1617
  status: false,
1725
1618
  options: opts,
1726
- $table: this
1619
+ $table: $xeTable
1727
1620
  });
1728
1621
  }
1729
1622
  return Promise.reject(e);
@@ -1731,14 +1624,14 @@ var _default = exports.default = {
1731
1624
  const {
1732
1625
  file
1733
1626
  } = params;
1734
- return handleFileImport(this, file, opts);
1627
+ return handleFileImport($xeTable, file, opts);
1735
1628
  });
1736
1629
  },
1737
1630
  _saveFile(options) {
1738
- return saveLocalFile(options);
1631
+ return _ui.VxeUI.saveFile(options);
1739
1632
  },
1740
1633
  _readFile(options) {
1741
- return readLocalFile(options);
1634
+ return _ui.VxeUI.readFile(options);
1742
1635
  },
1743
1636
  _print(options) {
1744
1637
  const $xeTable = this;
@@ -1846,18 +1739,28 @@ var _default = exports.default = {
1846
1739
  return Promise.resolve();
1847
1740
  },
1848
1741
  _openImport(options) {
1742
+ const $xeTable = this;
1743
+ const props = $xeTable;
1744
+ const reactData = $xeTable;
1849
1745
  const {
1850
- importOpts
1851
- } = this;
1746
+ treeConfig,
1747
+ importConfig
1748
+ } = props;
1749
+ const {
1750
+ initStore,
1751
+ importStore,
1752
+ importParams
1753
+ } = reactData;
1754
+ const importOpts = $xeTable.computeImportOpts;
1852
1755
  const defOpts = Object.assign({
1853
1756
  mode: 'insertTop',
1854
1757
  message: true,
1855
1758
  types: _xeUtils.default.keys(importOpts._typeMaps),
1856
1759
  modes: ['insertTop', 'covering']
1857
- }, options, importOpts);
1760
+ }, importOpts, options);
1858
1761
  const types = defOpts.types || [];
1859
1762
  const modes = defOpts.modes || [];
1860
- const isTree = !!this.getTreeStatus();
1763
+ const isTree = !!treeConfig;
1861
1764
  if (isTree) {
1862
1765
  if (defOpts.message) {
1863
1766
  _ui.VxeUI.modal.message({
@@ -1867,7 +1770,7 @@ var _default = exports.default = {
1867
1770
  }
1868
1771
  return;
1869
1772
  }
1870
- if (!this.importConfig) {
1773
+ if (!importConfig) {
1871
1774
  (0, _log.errLog)('vxe.error.reqProp', ['import-config']);
1872
1775
  }
1873
1776
  // 处理类型
@@ -1889,7 +1792,7 @@ var _default = exports.default = {
1889
1792
  label: getI18n(`vxe.import.modes.${item}`)
1890
1793
  };
1891
1794
  });
1892
- Object.assign(this.importStore, {
1795
+ Object.assign(importStore, {
1893
1796
  file: null,
1894
1797
  type: '',
1895
1798
  filename: '',
@@ -1897,31 +1800,38 @@ var _default = exports.default = {
1897
1800
  typeList,
1898
1801
  visible: true
1899
1802
  });
1900
- Object.assign(this.importParams, defOpts);
1901
- if (!modeList.some(item => item.value === this.importParams.mode)) {
1902
- this.importParams.mode = modeList[0].value;
1803
+ Object.assign(importParams, defOpts);
1804
+ if (!modeList.some(item => item.value === importParams.mode)) {
1805
+ importParams.mode = modeList[0].value;
1903
1806
  }
1904
- this.initStore.import = true;
1807
+ initStore.import = true;
1905
1808
  },
1906
1809
  _closeExport: handleCloseExport,
1907
1810
  _openExport(options) {
1908
- const {
1909
- exportOpts
1910
- } = this;
1911
- if (!this.exportConfig) {
1811
+ const $xeTable = this;
1812
+ const props = $xeTable;
1813
+ const exportOpts = $xeTable.computeExportOpts;
1814
+ const defOpts = Object.assign({
1815
+ message: true,
1816
+ types: _xeUtils.default.keys(exportOpts._typeMaps)
1817
+ }, exportOpts, options);
1818
+ if (!props.exportConfig) {
1912
1819
  (0, _log.errLog)('vxe.error.reqProp', ['export-config']);
1913
1820
  }
1914
- return handleExportAndPrint(this, Object.assign({}, exportOpts, options));
1821
+ return handleExportAndPrint($xeTable, defOpts);
1915
1822
  },
1916
1823
  _closePrint: handleCloseExport,
1917
1824
  _openPrint(options) {
1918
- const {
1919
- printOpts
1920
- } = this;
1921
- if (!this.printConfig) {
1825
+ const $xeTable = this;
1826
+ const props = $xeTable;
1827
+ const printOpts = $xeTable.computePrintOpts;
1828
+ const defOpts = Object.assign({
1829
+ message: true
1830
+ }, printOpts, options);
1831
+ if (!props.printConfig) {
1922
1832
  (0, _log.errLog)('vxe.error.reqProp', ['print-config']);
1923
1833
  }
1924
- return handleExportAndPrint(this, Object.assign({}, printOpts, options), true);
1834
+ return handleExportAndPrint($xeTable, defOpts, true);
1925
1835
  }
1926
1836
  }
1927
1837
  };