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.
- package/es/grid/src/grid.js +39 -42
- package/es/style.css +1 -1
- package/es/table/module/edit/mixin.js +11 -27
- package/es/table/module/export/mixin.js +65 -139
- package/es/table/module/menu/mixin.js +2 -6
- package/es/table/module/validator/mixin.js +99 -41
- package/es/table/src/methods.js +12 -36
- package/es/table/src/table.js +6 -8
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +24 -26
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +248 -556
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +11 -27
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/mixin.js +78 -168
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/menu/mixin.js +2 -6
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +97 -40
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/methods.js +12 -36
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +8 -10
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +39 -41
- package/packages/table/module/edit/mixin.ts +11 -27
- package/packages/table/module/export/mixin.ts +96 -158
- package/packages/table/module/menu/mixin.ts +2 -6
- package/packages/table/module/validator/mixin.ts +101 -40
- package/packages/table/src/methods.ts +12 -36
- package/packages/table/src/table.ts +6 -8
- /package/es/{iconfont.1747286367921.ttf → iconfont.1747357311626.ttf} +0 -0
- /package/es/{iconfont.1747286367921.woff → iconfont.1747357311626.woff} +0 -0
- /package/es/{iconfont.1747286367921.woff2 → iconfont.1747357311626.woff2} +0 -0
- /package/lib/{iconfont.1747286367921.ttf → iconfont.1747357311626.ttf} +0 -0
- /package/lib/{iconfont.1747286367921.woff → iconfont.1747357311626.woff} +0 -0
- /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 (
|
|
130
|
-
|
|
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 (
|
|
281
|
-
if (item[treeOpts.parentField]) {
|
|
282
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
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
|
-
|
|
664
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
1595
|
-
|
|
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 (
|
|
1625
|
-
|
|
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 (
|
|
1645
|
-
|
|
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:
|
|
1589
|
+
$table: $xeTable
|
|
1698
1590
|
});
|
|
1699
1591
|
}
|
|
1700
|
-
return handleFileImport(
|
|
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
|
|
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:
|
|
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(
|
|
1627
|
+
return handleFileImport($xeTable, file, opts);
|
|
1735
1628
|
});
|
|
1736
1629
|
},
|
|
1737
1630
|
_saveFile(options) {
|
|
1738
|
-
return
|
|
1631
|
+
return _ui.VxeUI.saveFile(options);
|
|
1739
1632
|
},
|
|
1740
1633
|
_readFile(options) {
|
|
1741
|
-
return
|
|
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
|
-
|
|
1851
|
-
|
|
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
|
-
},
|
|
1760
|
+
}, importOpts, options);
|
|
1858
1761
|
const types = defOpts.types || [];
|
|
1859
1762
|
const modes = defOpts.modes || [];
|
|
1860
|
-
const isTree = !!
|
|
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 (!
|
|
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(
|
|
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(
|
|
1901
|
-
if (!modeList.some(item => item.value ===
|
|
1902
|
-
|
|
1803
|
+
Object.assign(importParams, defOpts);
|
|
1804
|
+
if (!modeList.some(item => item.value === importParams.mode)) {
|
|
1805
|
+
importParams.mode = modeList[0].value;
|
|
1903
1806
|
}
|
|
1904
|
-
|
|
1807
|
+
initStore.import = true;
|
|
1905
1808
|
},
|
|
1906
1809
|
_closeExport: handleCloseExport,
|
|
1907
1810
|
_openExport(options) {
|
|
1908
|
-
const
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
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(
|
|
1821
|
+
return handleExportAndPrint($xeTable, defOpts);
|
|
1915
1822
|
},
|
|
1916
1823
|
_closePrint: handleCloseExport,
|
|
1917
1824
|
_openPrint(options) {
|
|
1918
|
-
const
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
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(
|
|
1834
|
+
return handleExportAndPrint($xeTable, defOpts, true);
|
|
1925
1835
|
}
|
|
1926
1836
|
}
|
|
1927
1837
|
};
|