vxe-table 4.7.25 → 4.7.26
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/table/module/edit/hook.js +4 -4
- package/es/table/module/export/hook.js +4 -4
- package/es/table/module/keyboard/hook.js +2 -2
- package/es/table/module/menu/hook.js +1 -1
- package/es/table/module/validator/hook.js +1 -1
- package/es/table/src/table.js +91 -69
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +114 -92
- package/lib/index.umd.min.js +1 -1
- package/lib/table/module/edit/hook.js +4 -4
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/hook.js +4 -4
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +2 -2
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/module/menu/hook.js +1 -1
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +1 -1
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/src/table.js +99 -77
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +2 -2
- 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 +2 -2
- package/packages/table/module/edit/hook.ts +4 -4
- package/packages/table/module/export/hook.ts +6 -6
- package/packages/table/module/keyboard/hook.ts +2 -2
- package/packages/table/module/menu/hook.ts +1 -1
- package/packages/table/module/validator/hook.ts +1 -1
- package/packages/table/src/table.ts +88 -66
|
@@ -774,7 +774,7 @@ hooks.add('tableEditModule', {
|
|
|
774
774
|
const column = _xeUtils.default.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
|
|
775
775
|
if (row && column && (0, _utils.isEnableConf)(editConfig) && (0, _utils.isEnableConf)(column.editRender)) {
|
|
776
776
|
return $xeTable.scrollToRow(row, column).then(() => {
|
|
777
|
-
const cell = $xeTable.
|
|
777
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
778
778
|
if (cell) {
|
|
779
779
|
editPrivateMethods.handleActived({
|
|
780
780
|
row,
|
|
@@ -803,7 +803,7 @@ hooks.add('tableEditModule', {
|
|
|
803
803
|
if (row && column && editOpts.trigger !== 'manual') {
|
|
804
804
|
const rowIndex = $xeTable.findRowIndexOf(tableData, row);
|
|
805
805
|
if (rowIndex > -1 && column) {
|
|
806
|
-
const cell = $xeTable.
|
|
806
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
807
807
|
const params = {
|
|
808
808
|
row,
|
|
809
809
|
rowIndex,
|
|
@@ -845,7 +845,7 @@ hooks.add('tableEditModule', {
|
|
|
845
845
|
const {
|
|
846
846
|
editRender
|
|
847
847
|
} = column;
|
|
848
|
-
const cell = params.cell || $xeTable.
|
|
848
|
+
const cell = params.cell || $xeTable.getCellElement(row, column);
|
|
849
849
|
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
|
|
850
850
|
params.cell = cell;
|
|
851
851
|
if (cell && (0, _utils.isEnableConf)(editConfig) && (0, _utils.isEnableConf)(editRender)) {
|
|
@@ -1055,7 +1055,7 @@ hooks.add('tableEditModule', {
|
|
|
1055
1055
|
} = selected;
|
|
1056
1056
|
removeCellSelectedClass();
|
|
1057
1057
|
if (row && column) {
|
|
1058
|
-
const cell = $xeTable.
|
|
1058
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
1059
1059
|
if (cell) {
|
|
1060
1060
|
(0, _dom.addClass)(cell, 'col--selected');
|
|
1061
1061
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_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}}const{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(E){const{props:I,reactData:b,internalData:A}=E,o=E.getRefMaps()["refElem"],{computeMouseOpts:u,computeEditOpts:f,computeCheckboxOpts:x,computeTreeOpts:F}=E.getComputeMaps();let R={},m={};const p=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},n=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")};function a(){var{editStore:e,tableColumn:t}=b,l=f.value,e=e["actived"];const{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>n(r,e)):n(r,o))}function S(e,t){const{tableFullTreeData:a,afterFullData:i,fullDataRowIdData:d,fullAllDataRowIdData:c}=A;var l=F.value;const{rowField:s,parentField:u,mapChildrenField:v}=l,g=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{const t=l[u];var r=(0,_util.getRowid)(E,l),o=t?_xeUtils.default.findTree(a,e=>t===e[s],{children:v}):null;if(o){var o=o["item"],n=c[(0,_util.getRowid)(E,o)],n=n?n.level:0;let e=o[g],t=o[v];_xeUtils.default.isArray(e)||(e=o[g]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:e,parent:o,level:n+1};d[r]=o,c[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),i[w](l),a[w](l);n={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0};d[r]=n,c[r]=n}})}const r=(t,l,o)=>{const n=I["treeConfig"];var{mergeList:e,editStore:r}=b;const{tableFullTreeData:a,afterFullData:i,tableFullData:d,fullDataRowIdData:c,fullAllDataRowIdData:s}=A,u=F.value,{transform:v,rowField:g,mapChildrenField:w}=u,f=u.children||u.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(E.defineField(t.map(e=>Object.assign(n&&v?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))n&&v?S(m,!1):(i.unshift(...m),d.unshift(...m),e.forEach(e=>{var t=e["row"];0<t&&(e.row=t+m.length)}));else if(-1===l)n&&v?S(m,!0):(i.push(...m),d.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+m.length)}));else if(n&&v){const R=_xeUtils.default.findTree(a,e=>l[g]===e[g],{children:w});if(R){const h=R["parent"],C=h?h[w]:a;t=s[(0,_util.getRowid)(E,h)];const _=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(E,e);"development"===process.env.NODE_ENV&&e[u.parentField]&&h&&e[u.parentField]!==h[g]&&(0,_log.errLog)("vxe.error.errProp",[u.parentField+"="+e[u.parentField],u.parentField+"="+h[g]]),h&&(e[u.parentField]=h[g]);let r=R.index+t;o&&(r+=1),C.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,items:C,parent:h,level:_+1};c[l]=t,s[l]=t}),h){t=_xeUtils.default.findTree(a,e=>l[g]===e[g],{children:f});if(t){var p=t.items;let e=t.index;o&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),S(m,!0)}else{if(n)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=E.findRowIndexOf(i,l),-1===(r=o?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...m),d.splice(E.findRowIndexOf(d,l),0,...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}const x=r["insertMaps"];return m.forEach(e=>{var t=(0,_util.getRowid)(E,e);x[t]=e}),E.cacheRowMap(),E.updateScrollYStatus(),E.handleTableData(n&&v),n&&v||E.updateAfterDataIndex(),E.updateFooter(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))};return R={insert(e){return r(e,null)},insertAt(e,t){return r(e,t)},insertNextAt(e,t){return r(e,t,!0)},remove(e){var t=I["treeConfig"];const{mergeList:l,editStore:r,selectCheckboxMaps:o}=b,{tableFullTreeData:n,afterFullData:a,tableFullData:i}=A;var d=x.value,c=F.value;const{transform:s,mapChildrenField:u}=c,v=c.children||c.childrenField,{actived:g,removeMaps:w,insertMaps:f}=r;c=d.checkField;let m=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(e=>{var t;E.isInsertByRow(e)||(t=(0,_util.getRowid)(E,e),w[t]=e)}),!c){const p=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(E,e);p[e]&&delete p[e]}),b.selectCheckboxMaps=p}return i===e?(e=m=i.slice(0),A.tableFullData=[],A.afterFullData=[],E.clearMergeCells()):t&&s?e.forEach(e=>{const t=(0,_util.getRowid)(E,e);var l=_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:u}),l=(l&&(l=l.items.splice(l.index,1),m.push(l[0])),_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:v})),l=(l&&l.items.splice(l.index,1),E.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=E.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),m.push(t[0]));const r=E.findRowIndexOf(a,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),g.row&&-1<E.findRowIndexOf(e,g.row)&&R.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(E,e);f[e]&&delete f[e]}),E.updateFooter(),E.cacheRowMap(),E.handleTableData(t&&s),t&&s||E.updateAfterDataIndex(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))},removeCheckboxRow(){return R.remove(E.getCheckboxRecords()).then(e=>(E.clearCheckboxRow(),e))},removeRadioRow(){var e=E.getRadioRecord();return R.remove(e||[]).then(e=>(E.clearRadioRow(),e))},removeCurrentRow(){var e=E.getCurrentRecord();return R.remove(e||[]).then(e=>(E.clearCurrentRow(),e))},getRecordset(){return{insertRecords:R.getInsertRecords(),removeRecords:R.getRemoveRecords(),updateRecords:R.getUpdateRecords(),pendingRecords:E.getPendingRecords()}},getInsertRecords(){var e=b["editStore"];const l=A["fullAllDataRowIdData"];e=e.insertMaps;const r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b["editStore"],e=e["removeMaps"];const t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,l=A["tableFullData"],r=F.value;return e?(a(),t?_xeUtils.default.filterTree(l,e=>E.isUpdateByRow(e),r):l.filter(e=>E.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=b["editStore"],t=A["afterFullData"],l=o.value,{args:e,row:r}=e.actived;return e&&-1<E.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=b["editStore"],{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){var t=b["editStore"],{actived:t,focused:l}=t,{row:r,column:o}=t;return(r||o)&&(a(),t.args=null,t.row=null,t.column=null,E.updateFooter(),E.dispatchEvent("edit-closed",{row:r,rowIndex:E.getRowIndex(r),$rowIndex:E.getVMRowIndex(r),column:o,columnIndex:E.getColumnIndex(o),$columnIndex:E.getVMColumnIndex(o)},e||null)),"obsolete"===getConfig().cellVaildMode&&E.clearValidate?E.clearValidate():(l.row=null,(l.column=null,_vue.nextTick)())},clearSelected(){var e=b["editStore"],e=e["selected"];return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=b["editStore"];return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),R.setEditRow(e)},setEditRow(e,t){var l=A["visibleColumn"];let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(r=_xeUtils.default.isString(t)?E.getColumnByField(t):t),E.setEditCell(e,r)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),R.setEditCell(e,t)},setEditCell(t,e){var l=I["editConfig"];const r=_xeUtils.default.isString(e)?E.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?E.scrollToRow(t,r).then(()=>{var e=E.getCell(t,r);return e&&(m.handleActived({row:t,rowIndex:E.getRowIndex(t),column:r,columnIndex:E.getColumnIndex(r),cell:e,$table:E}),A._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell(e,t){var l=b["tableData"],r=f.value,t=_xeUtils.default.isString(t)?E.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=E.findRowIndexOf(l,e))&&t&&(l=E.getCell(e,t),e={row:e,rowIndex:r,column:t,columnIndex:E.getColumnIndex(t),cell:l},E.handleSelected(e,{})),(0,_vue.nextTick)()}},m={handleActived(t,l){var{editConfig:e,mouseConfig:r}=I,{editStore:o,tableColumn:n}=b,a=f.value,i=a["mode"],{actived:o,focused:d}=o;const{row:c,column:s}=t;var u=s["editRender"],v=t.cell||E.getCell(c,s),g=a.beforeEditMethod||a.activeMethod;if((t.cell=v)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!E.hasPendingByRow(c)){if(o.row!==c||"cell"===i&&o.column!==s){let e="edit-disabled";if(!g||g(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))){r&&(R.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),E.closeTooltip(),o.column&&R.clearEdit(l),e="edit-activated",s.renderHeight=v.offsetHeight,o.args=t,o.row=c,o.column=s,"row"===i?n.forEach(e=>p(c,e)):p(c,s);const w=a.afterEditMethod;(0,_vue.nextTick)(()=>{m.handleFocus(t,l),w&&w(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))})}E.dispatchEvent(e,{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l),"edit-activated"===e&&E.dispatchEvent("edit-actived",{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l)}else{e=o["column"];r&&(R.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),e!==s&&(u=e["model"],u.update&&(0,_util.setCellValue)(c,e,u.value),E.clearValidate)&&E.clearValidate(c,s),s.renderHeight=v.offsetHeight,o.args=t,o.column=s,setTimeout(()=>{m.handleFocus(t,l)})}d.column=null,d.row=null,E.focus()}return(0,_vue.nextTick)()},handleFocus(r){var{row:o,column:n,cell:a}=r,i=n["editRender"];if((0,_utils.isEnableConf)(i)){var d=renderer.get(i.name);let{autofocus:e,autoselect:t}=i,l;!e&&d&&(e=d.tableAutoFocus||d.tableAutofocus||d.autofocus),!t&&d&&(t=d.tableAutoSelect||d.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=a.querySelector(e))&&l.focus(),l?t?l.select():_dom.browse.msie&&((i=l.createTextRange()).collapse(!1),i.select()):E.scrollToRow(o,n)}},handleSelected(e,t){var l=I["mouseConfig"],r=b["editStore"],o=u.value;const n=f.value,{actived:a,selected:i}=r,{row:d,column:c}=e,s=l&&o.selected;return!s||i.row===d&&i.column===c||(a.row!==d||"cell"===n.mode&&a.column!==c)&&(R.clearEdit(t),R.clearSelected(),E.clearCellAreas&&(E.clearCellAreas(),E.clearCopyCellArea()),i.args=e,i.row=d,i.column=c,s&&m.addCellSelectedClass(),E.focus(),t)&&E.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=b["editStore"],e=e["selected"],{row:e,column:t}=e;l(),e&&t&&(e=E.getCell(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},R),m)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
1
|
+
"use strict";var _vue=require("vue"),_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}}const{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(E){const{props:I,reactData:b,internalData:A}=E,o=E.getRefMaps()["refElem"],{computeMouseOpts:u,computeEditOpts:f,computeCheckboxOpts:x,computeTreeOpts:F}=E.getComputeMaps();let R={},m={};const p=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},n=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")};function a(){var{editStore:e,tableColumn:t}=b,l=f.value,e=e["actived"];const{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>n(r,e)):n(r,o))}function S(e,t){const{tableFullTreeData:a,afterFullData:i,fullDataRowIdData:d,fullAllDataRowIdData:c}=A;var l=F.value;const{rowField:s,parentField:u,mapChildrenField:v}=l,g=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{const t=l[u];var r=(0,_util.getRowid)(E,l),o=t?_xeUtils.default.findTree(a,e=>t===e[s],{children:v}):null;if(o){var o=o["item"],n=c[(0,_util.getRowid)(E,o)],n=n?n.level:0;let e=o[g],t=o[v];_xeUtils.default.isArray(e)||(e=o[g]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:e,parent:o,level:n+1};d[r]=o,c[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),i[w](l),a[w](l);n={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0};d[r]=n,c[r]=n}})}const r=(t,l,o)=>{const n=I["treeConfig"];var{mergeList:e,editStore:r}=b;const{tableFullTreeData:a,afterFullData:i,tableFullData:d,fullDataRowIdData:c,fullAllDataRowIdData:s}=A,u=F.value,{transform:v,rowField:g,mapChildrenField:w}=u,f=u.children||u.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(E.defineField(t.map(e=>Object.assign(n&&v?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))n&&v?S(m,!1):(i.unshift(...m),d.unshift(...m),e.forEach(e=>{var t=e["row"];0<t&&(e.row=t+m.length)}));else if(-1===l)n&&v?S(m,!0):(i.push(...m),d.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+m.length)}));else if(n&&v){const R=_xeUtils.default.findTree(a,e=>l[g]===e[g],{children:w});if(R){const h=R["parent"],C=h?h[w]:a;t=s[(0,_util.getRowid)(E,h)];const _=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(E,e);"development"===process.env.NODE_ENV&&e[u.parentField]&&h&&e[u.parentField]!==h[g]&&(0,_log.errLog)("vxe.error.errProp",[u.parentField+"="+e[u.parentField],u.parentField+"="+h[g]]),h&&(e[u.parentField]=h[g]);let r=R.index+t;o&&(r+=1),C.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,items:C,parent:h,level:_+1};c[l]=t,s[l]=t}),h){t=_xeUtils.default.findTree(a,e=>l[g]===e[g],{children:f});if(t){var p=t.items;let e=t.index;o&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),S(m,!0)}else{if(n)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=E.findRowIndexOf(i,l),-1===(r=o?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...m),d.splice(E.findRowIndexOf(d,l),0,...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}const x=r["insertMaps"];return m.forEach(e=>{var t=(0,_util.getRowid)(E,e);x[t]=e}),E.cacheRowMap(),E.updateScrollYStatus(),E.handleTableData(n&&v),n&&v||E.updateAfterDataIndex(),E.updateFooter(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))};return R={insert(e){return r(e,null)},insertAt(e,t){return r(e,t)},insertNextAt(e,t){return r(e,t,!0)},remove(e){var t=I["treeConfig"];const{mergeList:l,editStore:r,selectCheckboxMaps:o}=b,{tableFullTreeData:n,afterFullData:a,tableFullData:i}=A;var d=x.value,c=F.value;const{transform:s,mapChildrenField:u}=c,v=c.children||c.childrenField,{actived:g,removeMaps:w,insertMaps:f}=r;c=d.checkField;let m=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(e=>{var t;E.isInsertByRow(e)||(t=(0,_util.getRowid)(E,e),w[t]=e)}),!c){const p=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(E,e);p[e]&&delete p[e]}),b.selectCheckboxMaps=p}return i===e?(e=m=i.slice(0),A.tableFullData=[],A.afterFullData=[],E.clearMergeCells()):t&&s?e.forEach(e=>{const t=(0,_util.getRowid)(E,e);var l=_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:u}),l=(l&&(l=l.items.splice(l.index,1),m.push(l[0])),_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:v})),l=(l&&l.items.splice(l.index,1),E.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=E.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),m.push(t[0]));const r=E.findRowIndexOf(a,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),g.row&&-1<E.findRowIndexOf(e,g.row)&&R.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(E,e);f[e]&&delete f[e]}),E.updateFooter(),E.cacheRowMap(),E.handleTableData(t&&s),t&&s||E.updateAfterDataIndex(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))},removeCheckboxRow(){return R.remove(E.getCheckboxRecords()).then(e=>(E.clearCheckboxRow(),e))},removeRadioRow(){var e=E.getRadioRecord();return R.remove(e||[]).then(e=>(E.clearRadioRow(),e))},removeCurrentRow(){var e=E.getCurrentRecord();return R.remove(e||[]).then(e=>(E.clearCurrentRow(),e))},getRecordset(){return{insertRecords:R.getInsertRecords(),removeRecords:R.getRemoveRecords(),updateRecords:R.getUpdateRecords(),pendingRecords:E.getPendingRecords()}},getInsertRecords(){var e=b["editStore"];const l=A["fullAllDataRowIdData"];e=e.insertMaps;const r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b["editStore"],e=e["removeMaps"];const t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,l=A["tableFullData"],r=F.value;return e?(a(),t?_xeUtils.default.filterTree(l,e=>E.isUpdateByRow(e),r):l.filter(e=>E.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=b["editStore"],t=A["afterFullData"],l=o.value,{args:e,row:r}=e.actived;return e&&-1<E.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=b["editStore"],{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){var t=b["editStore"],{actived:t,focused:l}=t,{row:r,column:o}=t;return(r||o)&&(a(),t.args=null,t.row=null,t.column=null,E.updateFooter(),E.dispatchEvent("edit-closed",{row:r,rowIndex:E.getRowIndex(r),$rowIndex:E.getVMRowIndex(r),column:o,columnIndex:E.getColumnIndex(o),$columnIndex:E.getVMColumnIndex(o)},e||null)),"obsolete"===getConfig().cellVaildMode&&E.clearValidate?E.clearValidate():(l.row=null,(l.column=null,_vue.nextTick)())},clearSelected(){var e=b["editStore"],e=e["selected"];return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=b["editStore"];return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),R.setEditRow(e)},setEditRow(e,t){var l=A["visibleColumn"];let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(r=_xeUtils.default.isString(t)?E.getColumnByField(t):t),E.setEditCell(e,r)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),R.setEditCell(e,t)},setEditCell(t,e){var l=I["editConfig"];const r=_xeUtils.default.isString(e)?E.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?E.scrollToRow(t,r).then(()=>{var e=E.getCellElement(t,r);return e&&(m.handleActived({row:t,rowIndex:E.getRowIndex(t),column:r,columnIndex:E.getColumnIndex(r),cell:e,$table:E}),A._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell(e,t){var l=b["tableData"],r=f.value,t=_xeUtils.default.isString(t)?E.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=E.findRowIndexOf(l,e))&&t&&(l=E.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:E.getColumnIndex(t),cell:l},E.handleSelected(e,{})),(0,_vue.nextTick)()}},m={handleActived(t,l){var{editConfig:e,mouseConfig:r}=I,{editStore:o,tableColumn:n}=b,a=f.value,i=a["mode"],{actived:o,focused:d}=o;const{row:c,column:s}=t;var u=s["editRender"],v=t.cell||E.getCellElement(c,s),g=a.beforeEditMethod||a.activeMethod;if((t.cell=v)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!E.hasPendingByRow(c)){if(o.row!==c||"cell"===i&&o.column!==s){let e="edit-disabled";if(!g||g(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))){r&&(R.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),E.closeTooltip(),o.column&&R.clearEdit(l),e="edit-activated",s.renderHeight=v.offsetHeight,o.args=t,o.row=c,o.column=s,"row"===i?n.forEach(e=>p(c,e)):p(c,s);const w=a.afterEditMethod;(0,_vue.nextTick)(()=>{m.handleFocus(t,l),w&&w(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))})}E.dispatchEvent(e,{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l),"edit-activated"===e&&E.dispatchEvent("edit-actived",{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l)}else{e=o["column"];r&&(R.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),e!==s&&(u=e["model"],u.update&&(0,_util.setCellValue)(c,e,u.value),E.clearValidate)&&E.clearValidate(c,s),s.renderHeight=v.offsetHeight,o.args=t,o.column=s,setTimeout(()=>{m.handleFocus(t,l)})}d.column=null,d.row=null,E.focus()}return(0,_vue.nextTick)()},handleFocus(r){var{row:o,column:n,cell:a}=r,i=n["editRender"];if((0,_utils.isEnableConf)(i)){var d=renderer.get(i.name);let{autofocus:e,autoselect:t}=i,l;!e&&d&&(e=d.tableAutoFocus||d.tableAutofocus||d.autofocus),!t&&d&&(t=d.tableAutoSelect||d.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=a.querySelector(e))&&l.focus(),l?t?l.select():_dom.browse.msie&&((i=l.createTextRange()).collapse(!1),i.select()):E.scrollToRow(o,n)}},handleSelected(e,t){var l=I["mouseConfig"],r=b["editStore"],o=u.value;const n=f.value,{actived:a,selected:i}=r,{row:d,column:c}=e,s=l&&o.selected;return!s||i.row===d&&i.column===c||(a.row!==d||"cell"===n.mode&&a.column!==c)&&(R.clearEdit(t),R.clearSelected(),E.clearCellAreas&&(E.clearCellAreas(),E.clearCopyCellArea()),i.args=e,i.row=d,i.column=c,s&&m.addCellSelectedClass(),E.focus(),t)&&E.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=b["editStore"],e=e["selected"],{row:e,column:t}=e;l(),e&&t&&(e=E.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},R),m)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
@@ -398,12 +398,12 @@ hooks.add('tableExportModule', {
|
|
|
398
398
|
if (opts.original) {
|
|
399
399
|
cellValue = (0, _util.getCellValue)(row, column);
|
|
400
400
|
} else {
|
|
401
|
-
cellValue = $xeTable.getCellLabel(row, column)
|
|
401
|
+
cellValue = `${$xeTable.getCellLabel(row, column)}`;
|
|
402
402
|
if (column.type === 'html') {
|
|
403
403
|
htmlCellElem.innerHTML = cellValue;
|
|
404
404
|
cellValue = htmlCellElem.innerText.trim();
|
|
405
405
|
} else {
|
|
406
|
-
const cell = $xeTable.
|
|
406
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
407
407
|
if (cell) {
|
|
408
408
|
cellValue = cell.innerText.trim();
|
|
409
409
|
}
|
|
@@ -465,12 +465,12 @@ hooks.add('tableExportModule', {
|
|
|
465
465
|
if (opts.original) {
|
|
466
466
|
cellValue = (0, _util.getCellValue)(row, column);
|
|
467
467
|
} else {
|
|
468
|
-
cellValue = $xeTable.getCellLabel(row, column)
|
|
468
|
+
cellValue = `${$xeTable.getCellLabel(row, column)}`;
|
|
469
469
|
if (column.type === 'html') {
|
|
470
470
|
htmlCellElem.innerHTML = cellValue;
|
|
471
471
|
cellValue = htmlCellElem.innerText.trim();
|
|
472
472
|
} else {
|
|
473
|
-
const cell = $xeTable.
|
|
473
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
474
474
|
if (cell) {
|
|
475
475
|
cellValue = cell.innerText.trim();
|
|
476
476
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,hooks,renderer}=_ui.VxeUI;let htmlCellElem;const csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}const getConvertColumns=e=>{const t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1;const o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(e,t){const l=e["footerFilterMethod"];return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function parseCsvAndTxt(e,t,o){t=t.split(enterSymbol);const r=[];let a=[];if(t.length){const s={},i=Date.now();t.forEach(e=>{if(e){const l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(i);return s[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(i);return s[l]=replaceTxtCell(t,s),l})).split(o);a.length?(e.forEach((e,t)=>{t<a.length&&(l[a[t]]=getTxtCellValue(e.trim(),s))}),r.push(l)):a=e.map(e=>getTxtCellValue(e.trim(),s))}})}return{fields:a,rows:r}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{const l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{r.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){const l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){const l=[];return e.forEach(e=>{e=e.property;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}const tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"];hooks.add("tableExportModule",{setupTable(C){const{props:T,reactData:E,internalData:y}=C,{computeTreeOpts:k,computePrintOpts:o,computeExportOpts:$,computeImportOpts:d,computeCustomOpts:f,computeSeqOpts:a,computeRadioOpts:s,computeCheckboxOpts:i,computeColumnOpts:n}=C.getComputeMaps(),w=(0,_vue.inject)("$xeGrid",null),v=(e,t,l,o)=>{var r=a.value.seqMethod||l.seqMethod;return r?r({row:e,rowIndex:C.getRowIndex(e),$rowIndex:t,column:l,columnIndex:C.getColumnIndex(l),$columnIndex:o}):C.getRowSeq(e)};function U(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:C}):(e.original?t.property:t.getTitle())||""}const b=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,c=(c,r,e)=>{const{isAllExpand:a,mode:p}=c;var t=T["treeConfig"];const u=s.value,h=i.value;var l=k.value;const m=n.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;const x=[],g=new Map;return _xeUtils.default.eachTree(e,(s,i,e,n,t,l)=>{const d=s._row||s;var o,s=t&&t._row?t._row:t;if(a||!s||g.has(s)&&C.isTreeExpandByRow(s)){t=d,o=(o=k.value).children||o.childrenField;t=t[o]&&t[o].length;const s={_row:d,_level:l.length-1,_hasChild:t,_expand:t&&C.isTreeExpandByRow(d)};r.forEach((e,t)=>{let l="";var o,r=e.editRender||e.cellRender;let a=e.exportMethod;if(a=(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:a)||m.exportMethod)l=a({$table:C,row:d,column:e,options:c});else switch(e.type){case"seq":l="all"===p?n.map((e,t)=>t%2==0?Number(e)+1:".").join(""):v(d,i,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(d)),s._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",s._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:d});break;case"radio":l=b(C.isCheckedByRadioRow(d)),s._radioLabel=u.labelField?_xeUtils.default.get(d,u.labelField):"",s._radioDisabled=u.checkMethod&&!u.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=C.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(o=C.getCell(d,e))&&(l=o.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(l)}),g.set(d,1),x.push(Object.assign(s,d))}},{children:t}),x}return e.map((s,i)=>{const n={_row:s};return r.forEach((e,t)=>{let l="";var o,r=e.editRender||e.cellRender;let a=e.exportMethod;if(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.exportMethod:a)l=a({$table:C,row:s,column:e,options:c});else switch(e.type){case"seq":l="all"===p?i+1:v(s,i,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(s)),n._checkboxLabel=h.labelField?_xeUtils.default.get(s,h.labelField):"",n._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:s});break;case"radio":l=b(C.isCheckedByRadioRow(s)),n._radioLabel=u.labelField?_xeUtils.default.get(s,u.labelField):"",n._radioDisabled=u.checkMethod&&!u.checkMethod({row:s});break;default:c.original?l=(0,_util.getCellValue)(s,e):(l=C.getCellLabel(s,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(o=C.getCell(s,e))&&(l=o.innerText.trim()))}n[e.id]=_xeUtils.default.toValueString(l)}),n})},M=(e,t,l)=>{var o=n.value,r=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.tableFooterExportMethod||r.footerExportMethod:a)||o.footerExportMethod;r=C.getVTColumnIndex(l);return a?a({$table:C,items:t,itemIndex:r,row:t,_columnIndex:r,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[r]):_xeUtils.default.get(t,l.field)},p=(l,e,t)=>{let o=csvBOM;return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(U(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(M(l,t,e))).join(",")+enterSymbol})),o},u=(l,e,t)=>{let o="";return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(U(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(M(l,t,e))).join(",")+enterSymbol})),o},j=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let o="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=E;return o=l||e?o||!0:o},h=(i,e,t)=>{const{id:d,border:l,treeConfig:o,headerAlign:n,align:c,footerAlign:a,showOverflow:p,showHeaderOverflow:u}=T,{isAllSelected:h,isIndeterminate:r,mergeList:m}=E,s=k.value,{print:x,isHeader:g,isFooter:f,isColgroup:v,isMerge:b,colgroups:_,original:y}=i,$="check-all";const w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),v&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||c,l=j(t,"showHeaderOverflow",u)?["col--ellipsis"]:[],o=U(i,t);let r=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,r+=e.renderWidth},{children:"childNodes"});var s=r-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${s}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${x?"":`style="width: ${s}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||c,l=j(e,"showHeaderOverflow",u)?["col--ellipsis"]:[],o=U(i,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),o?t.forEach(r=>{w.push("<tr>"+e.map(t=>{var e=t.align||c,l=j(t,"showOverflow",p)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=j(e,"showOverflow",p)?["col--ellipsis"]:[],o=n[e.id];let r=1,a=1;if(b&&m.length){var s=C.getVTRowIndex(n._row),i=C.getVTColumnIndex(e),s=(0,_util.mergeBodyMethod)(m,s,i);if(s){var{rowspan:i,colspan:s}=s;if(!i||!s)return"";1<i&&(r=i),1<s&&(a=s)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),f&&(t=E["footerTableData"],(t=getFooterData(i,t)).length)&&(w.push("<tfoot>"),t.forEach(r=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=j(e,"showOverflow",p)?["col--ellipsis"]:[],o=M(i,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!h&&r?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(i,w.join(""))},m=(l,e,t)=>{let o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${U(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${M(l,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</Table></Worksheet></Workbook>"},D=s=>{const{remote:l,columns:i,colgroups:o,exportMethod:r,afterExportMethod:t}=s;return new Promise(e=>{if(l){var t={options:s,$table:C,$grid:w};e(r?r(t):t)}else{const a=(e=>{const{columns:t,dataFilterMethod:l}=e;let o=e.data;return l&&(o=o.filter((e,t)=>l({row:e,$rowIndex:t}))),c(e,t,o)})(s);e(C.preventEvent(null,"event.export",{options:s,columns:i,colgroups:o,datas:a},()=>{var e=s,t=((e,t,l)=>{if(t.length)switch(e.type){case"csv":return p(e,t,l);case"txt":return u(e,t,l);case"html":return h(e,t,l);case"xml":return m(e,t,l)}return""})(s,i,a),{filename:l,type:o,download:r}=e;if(!r)return r=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:o,content:t,blob:r});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:o,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}))}}).then(e=>(clearColumnConvert(i),s.print||t&&t({status:!0,options:s,$table:C,$grid:w}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),s.print||t&&t({status:!1,options:s,$table:C,$grid:w});return Promise.reject({status:!1})})},x=(a,s)=>{const{importMethod:i,afterImportMethod:t}=s,{type:n,filename:c}=(0,_utils.parseFile)(a);var e=d.value;return i||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{const e=e=>{t(e),y._importResolve=null,y._importReject=null},o=e=>{l(e),y._importResolve=null,y._importReject=null};if(y._importResolve=e,y._importReject=o,window.FileReader){const d=Object.assign({mode:"insert"},s,{type:n,filename:c});var r;d.remote?i?Promise.resolve(i({file:a,options:d,$table:C})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=y["tableFullColumn"],C.preventEvent(null,"event.import",{file:a,options:d,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[n]),o({status:!1})},e.onload=t=>{{var l=t.target.result,o=d;const{tableFullColumn:r,_importResolve:a,_importReject:s}=y;let e={fields:[],rows:[]};switch(o.type){case"csv":e=parseCsv(r,l);break;case"txt":e=parseTxt(r,l);break;case"html":e=parseHTML(r,l);break;case"xml":e=parseXML(r,l)}const{fields:i,rows:n}=e;checkImportData(r,i)?C.createData(n).then(e=>{let t;return t="insert"===o.mode?C.insert(e):C.reloadData(e),!1!==o.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[n.length]),status:"success"}),t.then(()=>{a&&a({status:!0})})}):!1!==o.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),s)&&s({status:!1})}},e.readAsText(a,d.encoding||"UTF-8")}))}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:s,$table:C})}).catch(e=>(t&&t({status:!1,options:s,$table:C}),Promise.reject(e))):(!1!==s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1}))},l=(e,t)=>{var{treeConfig:l,showHeader:o,showFooter:r}=T,{initStore:a,mergeList:s,isGroup:i,footerTableData:n,exportStore:d,exportParams:c}=E,p=y["collectColumn"],u=$.value,h=f.value,m=C.getCheckboxRecords(),n=!!n.length,s=!l&&s.length,o=Object.assign({message:!0,isHeader:o,isFooter:r},e),r=o.types||_xeUtils.default.keys(u._typeMaps),e=o.modes;const x=h.checkMethod;u=p.slice(0);const g=o["columns"];h=r.map(e=>({value:e,label:"vxe.export.types."+e})),p=e.map(e=>({value:e,label:"vxe.export.modes."+e}));return _xeUtils.default.eachTree(u,(o,e,t,l,r)=>{(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=g?g.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o===e:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.property||e.field,t?o.id===t:e&&l?o.property===e&&o.type===l:e?o.property===e:!!l&&o.type===l)}):o.visible,o.halfChecked=!1,o.disabled=r&&r.disabled||!!x&&!x({column:o}))}),Object.assign(d,{columns:u,typeList:h,modeList:p,hasFooter:n,hasMerge:s,hasTree:l,isPrint:t,hasColgroup:i,visible:!0}),Object.assign(c,{mode:m.length?"selected":"current"},o),-1===e.indexOf(c.mode)&&(c.mode=e[0]),-1===r.indexOf(c.type)&&(c.type=r[0]),a.export=!0,(0,_vue.nextTick)()},r={exportData(e){var t=T["treeConfig"],{isGroup:l,tableGroupColumn:o}=E;const{tableFullColumn:a,afterFullData:r}=y;var s=$.value,i=k.value;const n=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},s,{print:!1},e);var{type:e,mode:d,columns:c,original:p,beforeExportMethod:u}=n;let h=[];c=c&&c.length?c:null;let m=n.columnFilterMethod;c||(m=m||(p?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=c?(n._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(c,e=>{let t;if(e){if((0,_util.isColumnInfo)(e))t=e;else if(_xeUtils.default.isString(e))t=C.getColumnByField(e);else{var l=e.id||e.colId;const o=e.type,r=e.property||e.field;l?t=C.getColumnById(l):r&&o?t=a.find(e=>e.property===r&&e.type===o):r?t=C.getColumnByField(r):o&&(t=a.find(e=>e.type===o))}return t||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!m||m({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?o:a,(e,t)=>e.visible&&(!m||m({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0});const x=[];if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||x.push(e)},{children:"childNodes"}),n.columns=x,n.colgroups=convertToRows(h),n.filename||(n.filename=getI18n(n.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),n.sheetName||(n.sheetName=document.title),!n.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(s._typeMaps),e))return"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notType",[e]),Promise.reject({status:!1});if(n.print||u&&u({options:n,$table:C,$grid:w}),!n.data)if(n.data=r,"selected"===d){const g=C.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&t?n.data=_xeUtils.default.searchTree(C.getTableData().fullData,e=>-1<C.findRowIndexOf(g,e),Object.assign({},i,{data:"_row"})):n.data=g}else if("all"===d&&("development"!==process.env.NODE_ENV||w||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),w)&&!n.remote){p=w["reactData"],c=w.getComputeMaps()["computeProxyOpts"];const{beforeQueryAll:f,afterQueryAll:v,ajax:b={},props:T={}}=c.value;l=b.queryAll;if("development"!==process.env.NODE_ENV||l||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),l){const _={$table:C,$grid:w,sort:p.sortData,filters:p.filterData,form:p.formData,target:l,options:n};return Promise.resolve((f||l)(_)).catch(e=>e).then(e=>(n.data=(T.list?_xeUtils.default.get(e,T.list):e)||[],v&&v(_),D(n)))}}return D(n)},importByFile(e,t){var t=Object.assign({},t),l=t["beforeImportMethod"];return l&&l({options:t,$table:C}),x(e,t)},importData(e){var t=d.value;const l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:C}),_ui.VxeUI.readFile(l).catch(e=>(r&&r({status:!1,options:l,$table:C}),Promise.reject(e))).then(e=>{e=e.file;return x(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){var t=o.value;const l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return l.sheetName||(l.sheetName=document.title),new Promise((e,t)=>{_ui.VxeUI.print?l.content?e(_ui.VxeUI.print({title:l.sheetName,html:l.content})):e(r.exportData(l).then(({content:e})=>_ui.VxeUI.print({title:l.sheetName,html:e}))):t({status:!1})})},getPrintHtml(e){var t=o.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return r.exportData(t).then(({content:e})=>({html:e}))},openImport(e){var{treeConfig:t,importConfig:l}=T,{initStore:o,importStore:r,importParams:a}=E,s=d.value,s=Object.assign({mode:"insert",message:!0,types:_xeUtils.default.keys(s._typeMaps)},s,e),e=s["types"];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:"vxe.export.types."+e})),l=s.modes.map(e=>({value:e,label:"vxe.import.modes."+e})),Object.assign(r,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,s),o.import=!0):s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},openExport(e){var t=$.value,t=Object.assign({mode:"insert",message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);"development"!==process.env.NODE_ENV||T.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},openPrint(e){var t=o.value,t=Object.assign({message:!0},t,e);"development"!==process.env.NODE_ENV||T.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return r},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,hooks,renderer}=_ui.VxeUI;let htmlCellElem;const csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}const getConvertColumns=e=>{const t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1;const o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(e,t){const l=e["footerFilterMethod"];return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function parseCsvAndTxt(e,t,o){t=t.split(enterSymbol);const r=[];let a=[];if(t.length){const s={},i=Date.now();t.forEach(e=>{if(e){const l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(i);return s[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(i);return s[l]=replaceTxtCell(t,s),l})).split(o);a.length?(e.forEach((e,t)=>{t<a.length&&(l[a[t]]=getTxtCellValue(e.trim(),s))}),r.push(l)):a=e.map(e=>getTxtCellValue(e.trim(),s))}})}return{fields:a,rows:r}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{const l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");const o=[],r=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{r.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){const l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){const l=[];return e.forEach(e=>{e=e.property;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}const tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"];hooks.add("tableExportModule",{setupTable(C){const{props:T,reactData:E,internalData:y}=C,{computeTreeOpts:k,computePrintOpts:o,computeExportOpts:$,computeImportOpts:d,computeCustomOpts:f,computeSeqOpts:a,computeRadioOpts:s,computeCheckboxOpts:i,computeColumnOpts:n}=C.getComputeMaps(),w=(0,_vue.inject)("$xeGrid",null),v=(e,t,l,o)=>{var r=a.value.seqMethod||l.seqMethod;return r?r({row:e,rowIndex:C.getRowIndex(e),$rowIndex:t,column:l,columnIndex:C.getColumnIndex(l),$columnIndex:o}):C.getRowSeq(e)};function U(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:C}):(e.original?t.property:t.getTitle())||""}const b=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,c=(c,r,e)=>{const{isAllExpand:a,mode:p}=c;var t=T["treeConfig"];const u=s.value,h=i.value;var l=k.value;const m=n.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;const x=[],g=new Map;return _xeUtils.default.eachTree(e,(s,i,e,n,t,l)=>{const d=s._row||s;var o,s=t&&t._row?t._row:t;if(a||!s||g.has(s)&&C.isTreeExpandByRow(s)){t=d,o=(o=k.value).children||o.childrenField;t=t[o]&&t[o].length;const s={_row:d,_level:l.length-1,_hasChild:t,_expand:t&&C.isTreeExpandByRow(d)};r.forEach((e,t)=>{let l="";var o,r=e.editRender||e.cellRender;let a=e.exportMethod;if(a=(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:a)||m.exportMethod)l=a({$table:C,row:d,column:e,options:c});else switch(e.type){case"seq":l="all"===p?n.map((e,t)=>t%2==0?Number(e)+1:".").join(""):v(d,i,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(d)),s._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",s._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:d});break;case"radio":l=b(C.isCheckedByRadioRow(d)),s._radioLabel=u.labelField?_xeUtils.default.get(d,u.labelField):"",s._radioDisabled=u.checkMethod&&!u.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=""+C.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(o=C.getCellElement(d,e))&&(l=o.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(l)}),g.set(d,1),x.push(Object.assign(s,d))}},{children:t}),x}return e.map((s,i)=>{const n={_row:s};return r.forEach((e,t)=>{let l="";var o,r=e.editRender||e.cellRender;let a=e.exportMethod;if(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.exportMethod:a)l=a({$table:C,row:s,column:e,options:c});else switch(e.type){case"seq":l="all"===p?i+1:v(s,i,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(s)),n._checkboxLabel=h.labelField?_xeUtils.default.get(s,h.labelField):"",n._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:s});break;case"radio":l=b(C.isCheckedByRadioRow(s)),n._radioLabel=u.labelField?_xeUtils.default.get(s,u.labelField):"",n._radioDisabled=u.checkMethod&&!u.checkMethod({row:s});break;default:c.original?l=(0,_util.getCellValue)(s,e):(l=""+C.getCellLabel(s,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(o=C.getCellElement(s,e))&&(l=o.innerText.trim()))}n[e.id]=_xeUtils.default.toValueString(l)}),n})},M=(e,t,l)=>{var o=n.value,r=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.tableFooterExportMethod||r.footerExportMethod:a)||o.footerExportMethod;r=C.getVTColumnIndex(l);return a?a({$table:C,items:t,itemIndex:r,row:t,_columnIndex:r,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[r]):_xeUtils.default.get(t,l.field)},p=(l,e,t)=>{let o=csvBOM;return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(U(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(M(l,t,e))).join(",")+enterSymbol})),o},u=(l,e,t)=>{let o="";return l.isHeader&&(o+=e.map(e=>toTxtCellLabel(U(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(M(l,t,e))).join(",")+enterSymbol})),o},j=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let o="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=E;return o=l||e?o||!0:o},h=(i,e,t)=>{const{id:d,border:l,treeConfig:o,headerAlign:n,align:c,footerAlign:a,showOverflow:p,showHeaderOverflow:u}=T,{isAllSelected:h,isIndeterminate:r,mergeList:m}=E,s=k.value,{print:x,isHeader:g,isFooter:f,isColgroup:v,isMerge:b,colgroups:_,original:y}=i,$="check-all";const w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),v&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||c,l=j(t,"showHeaderOverflow",u)?["col--ellipsis"]:[],o=U(i,t);let r=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,r+=e.renderWidth},{children:"childNodes"});var s=r-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${s}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${x?"":`style="width: ${s}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||c,l=j(e,"showHeaderOverflow",u)?["col--ellipsis"]:[],o=U(i,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),o?t.forEach(r=>{w.push("<tr>"+e.map(t=>{var e=t.align||c,l=j(t,"showOverflow",p)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*s.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=j(e,"showOverflow",p)?["col--ellipsis"]:[],o=n[e.id];let r=1,a=1;if(b&&m.length){var s=C.getVTRowIndex(n._row),i=C.getVTColumnIndex(e),s=(0,_util.mergeBodyMethod)(m,s,i);if(s){var{rowspan:i,colspan:s}=s;if(!i||!s)return"";1<i&&(r=i),1<s&&(a=s)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),f&&(t=E["footerTableData"],(t=getFooterData(i,t)).length)&&(w.push("<tfoot>"),t.forEach(r=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=j(e,"showOverflow",p)?["col--ellipsis"]:[],o=M(i,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!h&&r?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(i,w.join(""))},m=(l,e,t)=>{let o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${U(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${M(l,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</Table></Worksheet></Workbook>"},D=s=>{const{remote:l,columns:i,colgroups:o,exportMethod:r,afterExportMethod:t}=s;return new Promise(e=>{if(l){var t={options:s,$table:C,$grid:w};e(r?r(t):t)}else{const a=(e=>{const{columns:t,dataFilterMethod:l}=e;let o=e.data;return l&&(o=o.filter((e,t)=>l({row:e,$rowIndex:t}))),c(e,t,o)})(s);e(C.preventEvent(null,"event.export",{options:s,columns:i,colgroups:o,datas:a},()=>{var e=s,t=((e,t,l)=>{if(t.length)switch(e.type){case"csv":return p(e,t,l);case"txt":return u(e,t,l);case"html":return h(e,t,l);case"xml":return m(e,t,l)}return""})(s,i,a),{filename:l,type:o,download:r}=e;if(!r)return r=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:o,content:t,blob:r});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:o,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}))}}).then(e=>(clearColumnConvert(i),s.print||t&&t({status:!0,options:s,$table:C,$grid:w}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),s.print||t&&t({status:!1,options:s,$table:C,$grid:w});return Promise.reject({status:!1})})},x=(a,s)=>{const{importMethod:i,afterImportMethod:t}=s,{type:n,filename:c}=(0,_utils.parseFile)(a);var e=d.value;return i||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{const e=e=>{t(e),y._importResolve=null,y._importReject=null},o=e=>{l(e),y._importResolve=null,y._importReject=null};if(y._importResolve=e,y._importReject=o,window.FileReader){const d=Object.assign({mode:"insert"},s,{type:n,filename:c});var r;d.remote?i?Promise.resolve(i({file:a,options:d,$table:C})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=y["tableFullColumn"],C.preventEvent(null,"event.import",{file:a,options:d,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[n]),o({status:!1})},e.onload=t=>{{var l=t.target.result,o=d;const{tableFullColumn:r,_importResolve:a,_importReject:s}=y;let e={fields:[],rows:[]};switch(o.type){case"csv":e=parseCsv(r,l);break;case"txt":e=parseTxt(r,l);break;case"html":e=parseHTML(r,l);break;case"xml":e=parseXML(r,l)}const{fields:i,rows:n}=e;checkImportData(r,i)?C.createData(n).then(e=>{let t;return t="insert"===o.mode?C.insert(e):C.reloadData(e),!1!==o.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[n.length]),status:"success"}),t.then(()=>{a&&a({status:!0})})}):!1!==o.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),s)&&s({status:!1})}},e.readAsText(a,d.encoding||"UTF-8")}))}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:s,$table:C})}).catch(e=>(t&&t({status:!1,options:s,$table:C}),Promise.reject(e))):(!1!==s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1}))},l=(e,t)=>{var{treeConfig:l,showHeader:o,showFooter:r}=T,{initStore:a,mergeList:s,isGroup:i,footerTableData:n,exportStore:d,exportParams:c}=E,p=y["collectColumn"],u=$.value,h=f.value,m=C.getCheckboxRecords(),n=!!n.length,s=!l&&s.length,o=Object.assign({message:!0,isHeader:o,isFooter:r},e),r=o.types||_xeUtils.default.keys(u._typeMaps),e=o.modes;const x=h.checkMethod;u=p.slice(0);const g=o["columns"];h=r.map(e=>({value:e,label:"vxe.export.types."+e})),p=e.map(e=>({value:e,label:"vxe.export.modes."+e}));return _xeUtils.default.eachTree(u,(o,e,t,l,r)=>{(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=g?g.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o===e:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.property||e.field,t?o.id===t:e&&l?o.property===e&&o.type===l:e?o.property===e:!!l&&o.type===l)}):o.visible,o.halfChecked=!1,o.disabled=r&&r.disabled||!!x&&!x({column:o}))}),Object.assign(d,{columns:u,typeList:h,modeList:p,hasFooter:n,hasMerge:s,hasTree:l,isPrint:t,hasColgroup:i,visible:!0}),Object.assign(c,{mode:m.length?"selected":"current"},o),-1===e.indexOf(c.mode)&&(c.mode=e[0]),-1===r.indexOf(c.type)&&(c.type=r[0]),a.export=!0,(0,_vue.nextTick)()},r={exportData(e){var t=T["treeConfig"],{isGroup:l,tableGroupColumn:o}=E;const{tableFullColumn:a,afterFullData:r}=y;var s=$.value,i=k.value;const n=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},s,{print:!1},e);var{type:e,mode:d,columns:c,original:p,beforeExportMethod:u}=n;let h=[];c=c&&c.length?c:null;let m=n.columnFilterMethod;c||(m=m||(p?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=c?(n._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(c,e=>{let t;if(e){if((0,_util.isColumnInfo)(e))t=e;else if(_xeUtils.default.isString(e))t=C.getColumnByField(e);else{var l=e.id||e.colId;const o=e.type,r=e.property||e.field;l?t=C.getColumnById(l):r&&o?t=a.find(e=>e.property===r&&e.type===o):r?t=C.getColumnByField(r):o&&(t=a.find(e=>e.type===o))}return t||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!m||m({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?o:a,(e,t)=>e.visible&&(!m||m({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0});const x=[];if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||x.push(e)},{children:"childNodes"}),n.columns=x,n.colgroups=convertToRows(h),n.filename||(n.filename=getI18n(n.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),n.sheetName||(n.sheetName=document.title),!n.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(s._typeMaps),e))return"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notType",[e]),Promise.reject({status:!1});if(n.print||u&&u({options:n,$table:C,$grid:w}),!n.data)if(n.data=r,"selected"===d){const g=C.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&t?n.data=_xeUtils.default.searchTree(C.getTableData().fullData,e=>-1<C.findRowIndexOf(g,e),Object.assign({},i,{data:"_row"})):n.data=g}else if("all"===d&&("development"!==process.env.NODE_ENV||w||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),w)&&!n.remote){p=w["reactData"],c=w.getComputeMaps()["computeProxyOpts"];const{beforeQueryAll:f,afterQueryAll:v,ajax:b={},props:T={}}=c.value;l=b.queryAll;if("development"!==process.env.NODE_ENV||l||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),l){const _={$table:C,$grid:w,sort:p.sortData,filters:p.filterData,form:p.formData,target:l,options:n};return Promise.resolve((f||l)(_)).catch(e=>e).then(e=>(n.data=(T.list?_xeUtils.default.get(e,T.list):e)||[],v&&v(_),D(n)))}}return D(n)},importByFile(e,t){var t=Object.assign({},t),l=t["beforeImportMethod"];return l&&l({options:t,$table:C}),x(e,t)},importData(e){var t=d.value;const l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:C}),_ui.VxeUI.readFile(l).catch(e=>(r&&r({status:!1,options:l,$table:C}),Promise.reject(e))).then(e=>{e=e.file;return x(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){var t=o.value;const l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return l.sheetName||(l.sheetName=document.title),new Promise((e,t)=>{_ui.VxeUI.print?l.content?e(_ui.VxeUI.print({title:l.sheetName,html:l.content})):e(r.exportData(l).then(({content:e})=>_ui.VxeUI.print({title:l.sheetName,html:e}))):t({status:!1})})},getPrintHtml(e){var t=o.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return r.exportData(t).then(({content:e})=>({html:e}))},openImport(e){var{treeConfig:t,importConfig:l}=T,{initStore:o,importStore:r,importParams:a}=E,s=d.value,s=Object.assign({mode:"insert",message:!0,types:_xeUtils.default.keys(s._typeMaps)},s,e),e=s["types"];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:"vxe.export.types."+e})),l=s.modes.map(e=>({value:e,label:"vxe.import.modes."+e})),Object.assign(r,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,s),o.import=!0):s.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},openExport(e){var t=$.value,t=Object.assign({mode:"insert",message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);"development"!==process.env.NODE_ENV||T.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},openPrint(e){var t=o.value,t=Object.assign({message:!0},t,e);"development"!==process.env.NODE_ENV||T.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return r},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
|
|
@@ -322,7 +322,7 @@ hooks.add('tableKeyboardModule', {
|
|
|
322
322
|
}
|
|
323
323
|
params.columnIndex = targetColumnIndex;
|
|
324
324
|
params.column = targetColumn;
|
|
325
|
-
params.cell = $xeTable.
|
|
325
|
+
params.cell = $xeTable.getCellElement(params.row, params.column);
|
|
326
326
|
if (editConfig) {
|
|
327
327
|
if (editOpts.trigger === 'click' || editOpts.trigger === 'dblclick') {
|
|
328
328
|
if (editOpts.mode === 'row') {
|
|
@@ -413,7 +413,7 @@ hooks.add('tableKeyboardModule', {
|
|
|
413
413
|
params.column = visibleColumn[params.columnIndex];
|
|
414
414
|
}
|
|
415
415
|
$xeTable.scrollToRow(params.row, params.column).then(() => {
|
|
416
|
-
params.cell = $xeTable.
|
|
416
|
+
params.cell = $xeTable.getCellElement(params.row, params.column);
|
|
417
417
|
$xeTable.handleSelected(params, evnt);
|
|
418
418
|
});
|
|
419
419
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const hooks=_ui.VxeUI["hooks"];function getTargetOffset(e,t){let o=0,l=0;var r,n,a=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(a&&(r=getComputedStyle(e),o-=_xeUtils.default.toNumber(r.paddingTop),l-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)o+=e.offsetTop,l+=e.offsetLeft,e=e.offsetParent,a&&(n=getComputedStyle(e),o-=_xeUtils.default.toNumber(n.paddingTop),l-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:o,offsetLeft:l}}hooks.add("tableKeyboardModule",{setupTable(k){const{props:g,reactData:
|
|
1
|
+
"use strict";var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const hooks=_ui.VxeUI["hooks"];function getTargetOffset(e,t){let o=0,l=0;var r,n,a=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(a&&(r=getComputedStyle(e),o-=_xeUtils.default.toNumber(r.paddingTop),l-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)o+=e.offsetTop,l+=e.offsetLeft,e=e.offsetParent,a&&(n=getComputedStyle(e),o-=_xeUtils.default.toNumber(n.paddingTop),l-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:o,offsetLeft:l}}hooks.add("tableKeyboardModule",{setupTable(k){const{props:g,reactData:E,internalData:y}=k,a=k.getRefMaps()["refElem"],{computeEditOpts:f,computeCheckboxOpts:s,computeMouseOpts:u,computeTreeOpts:d}=k.getComputeMaps();const i=(e,d)=>{var{column:t,cell:o}=d;if("checkbox"===t.type){const r=a.value;var l=y["elemStore"];const i=e.clientX,g=e.clientY;t=l[`${t.fixed||"main"}-body-wrapper`]||l["main-body-wrapper"];const f=t?t.value:null;if(f){const m=f.querySelector(".vxe-table--checkbox-range"),n=document.onmousemove,h=document.onmouseup,v=o.parentNode,p=k.getCheckboxRecords();let c=[];const x=1;l=getTargetOffset(e.target,f);const w=l.offsetTop+e.offsetY,b=l.offsetLeft+e.offsetX,C=f.scrollTop,T=v.offsetHeight;let a=null,s=!1,u=1;const R=(e,t)=>{k.dispatchEvent("checkbox-range-"+e,{records:k.getCheckboxRecords(),reserves:k.getCheckboxReserveRecords()},t)},I=e=>{var{clientX:t,clientY:o}=e,t=t-i,o=o-g+(f.scrollTop-C);let l=Math.abs(o),r=Math.abs(t),n=w,a=b;o<x?(n+=o)<x&&(n=x,l=w):l=Math.min(l,f.scrollHeight-w-x),t<x?(a+=t,r>b&&(a=x,r=b)):r=Math.min(r,f.clientWidth-b-x),m.style.height=l+"px",m.style.width=r+"px",m.style.left=a+"px",m.style.top=n+"px",m.style.display="block";t=function(e,t,o){let l=0,r=[];var n=0<o,a=0<o?o:Math.abs(o)+t.offsetHeight,o=E["scrollYLoad"],{afterFullData:c,scrollYStore:s}=y;if(o){o=k.getVTRowIndex(e.row);r=n?c.slice(o,o+Math.ceil(a/s.rowHeight)):c.slice(o-Math.floor(a/s.rowHeight)+1,o+1)}else for(var u=n?"next":"previous";t&&l<a;){var d=k.getRowNode(t);d&&(r.push(d.item),l+=t.offsetHeight,t=t[u+"ElementSibling"])}return r}(d,v,o<x?-l:l);10<l&&t.length!==c.length&&(c=t,e.ctrlKey?t.forEach(e=>{k.handleSelectRow({row:e},-1===p.indexOf(e))}):(k.setAllCheckboxRow(!1),k.handleCheckedCheckboxRow(t,!0,!1)),R("change",e))},M=()=>{clearTimeout(a),a=null},_=n=>{M(),a=setTimeout(()=>{var e,t,o,l,r;a&&({scrollLeft:e,scrollTop:t,clientHeight:o,scrollHeight:l}=f,r=Math.ceil(50*u/T),s?t+o<l?(k.scrollTo(e,t+r),_(n),I(n)):M():t?(k.scrollTo(e,t-r),_(n),I(n)):M())},50)};(0,_dom.addClass)(r,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e["clientY"],o=(0,_dom.getAbsolutePos)(f)["boundingTop"];t<o?(s=!1,u=o-t,a||_(e)):t>o+f.clientHeight?(s=!0,u=t-o-f.clientHeight,a||_(e)):a&&M(),I(e)},document.onmouseup=e=>{M(),(0,_dom.removeClass)(r,"drag--range"),m.removeAttribute("style"),document.onmousemove=n,document.onmouseup=h,R("end",e)},R("start",e)}}};return{moveTabSelected(e,t,o){var l=g["editConfig"],{afterFullData:r,visibleColumn:n}=y,a=f.value;let c,s,u;const d=Object.assign({},e);var e=k.getVTRowIndex(d.row),i=k.getVTColumnIndex(d.column),t=(o.preventDefault(),t?i<=0?0<e&&(s=e-1,c=r[s],u=n.length-1):u=i-1:i>=n.length-1?e<r.length-1&&(s=e+1,c=r[s],u=0):u=i+1,n[u]);t&&(c?(d.rowIndex=s,d.row=c):d.rowIndex=e,d.columnIndex=u,d.column=t,d.cell=k.getCellElement(d.row,d.column),l?"click"!==a.trigger&&"dblclick"!==a.trigger||("row"===a.mode?k.handleActived(d,o):k.scrollToRow(d.row,d.column).then(()=>k.handleSelected(d,o))):k.scrollToRow(d.row,d.column).then(()=>k.handleSelected(d,o)))},moveCurrentRow(e,t,o){var l=g["treeConfig"];const r=E["currentRow"];var n=y["afterFullData"],a=d.value,a=a.children||a.childrenField;let c;if(o.preventDefault(),r?l?({index:l,items:a}=_xeUtils.default.findTree(n,e=>e===r,{children:a}),e&&0<l?c=a[l-1]:t&&l<a.length-1&&(c=a[l+1])):(a=k.getVTRowIndex(r),e&&0<a?c=n[a-1]:t&&a<n.length-1&&(c=n[a+1])):c=n[0],c){const s={$table:k,row:c,rowIndex:k.getRowIndex(c),$rowIndex:k.getVMRowIndex(c)};k.scrollToRow(c).then(()=>k.triggerCurrentRowEvent(o,s))}},moveSelected(e,t,o,l,r,n){var{afterFullData:a,visibleColumn:c}=y;const s=Object.assign({},e);var e=k.getVTRowIndex(s.row),u=k.getVTColumnIndex(s.column);n.preventDefault(),o&&0<e?(s.rowIndex=e-1,s.row=a[s.rowIndex]):r&&e<a.length-1?(s.rowIndex=e+1,s.row=a[s.rowIndex]):t&&u?(s.columnIndex=u-1,s.column=c[s.columnIndex]):l&&u<c.length-1&&(s.columnIndex=u+1,s.column=c[s.columnIndex]),k.scrollToRow(s.row,s.column).then(()=>{s.cell=k.getCellElement(s.row,s.column),k.handleSelected(s,n)})},triggerHeaderCellMousedownEvent(e,t){var o,l=g["mouseConfig"],r=u.value;l&&r.area&&k.handleHeaderCellAreaEvent&&(l=e.currentTarget,r=(0,_dom.getEventTargetNode)(e,l,"vxe-cell--sort").flag,o=(0,_dom.getEventTargetNode)(e,l,"vxe-cell--filter").flag,k.handleHeaderCellAreaEvent(e,Object.assign({cell:l,triggerSort:r,triggerFilter:o},t))),k.focus(),k.closeMenu&&k.closeMenu()},triggerCellMousedownEvent(e,t){var o=e.currentTarget;t.cell=o,((e,t)=>{var{editConfig:o,checkboxConfig:l,mouseConfig:r}=g,n=s.value,a=u.value,c=f.value;if(r&&a.area&&k.handleCellAreaEvent)return k.handleCellAreaEvent(e,t);l&&n.range&&i(e,t),r&&a.selected&&(o&&"cell"!==c.mode||k.handleSelected(t,e))})(e,t),k.focus(),k.closeFilter(),k.closeMenu&&k.closeMenu()}}}});
|
|
@@ -105,7 +105,7 @@ hooks.add('tableMenuModule', {
|
|
|
105
105
|
} = params;
|
|
106
106
|
if (keyboard && row && column) {
|
|
107
107
|
$xeTable.scrollToRow(row, column).then(() => {
|
|
108
|
-
const cell = $xeTable.
|
|
108
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
109
109
|
if (cell) {
|
|
110
110
|
const {
|
|
111
111
|
boundingTop,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(b){const{xID:m,props:p,reactData:M,internalData:
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(b){const{xID:m,props:p,reactData:M,internalData:E}=b,{refElem:x,refTableFilter:_,refTableMenu:C}=b.getRefMaps(),{computeMouseOpts:T,computeIsMenu:u,computeMenuOpts:y}=b.getComputeMaps();let w,r={};const L=(t,e,l)=>{const v=M["ctxMenuStore"];var n=u.value,o=y.value,e=o[e];const i=o.visibleMethod;if(e){const{options:f,disabled:s}=e;s?t.preventDefault():n&&f&&f.length&&(l.options=f,b.preventEvent(t,"event.showMenu",l,()=>{if(!i||i(l)){t.preventDefault(),b.updateZindex();const{scrollTop:s,scrollLeft:u,visibleHeight:r,visibleWidth:a}=(0,_dom.getDomNode)();let o=t.clientY+s,i=t.clientX+u;const n=()=>{E._currMenuParams=l,Object.assign(v,{visible:!0,list:f,selected:null,selectChild:null,showChild:!1,style:{zIndex:E.tZindex,top:o+"px",left:i+"px"}}),(0,_vue.nextTick)(()=>{var e=C.value.getRefMaps().refElem.value,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-r,n=n+l-a;-10<e&&(v.style.top=Math.max(s+2,o-t-2)+"px"),-10<n&&(v.style.left=Math.max(u+2,i-l-2)+"px")})},{keyboard:e,row:d,column:c}=l;e&&d&&c?b.scrollToRow(d,c).then(()=>{var e,t,l=b.getCellElement(d,c);l&&({boundingTop:e,boundingLeft:t}=(0,_dom.getAbsolutePos)(l),o=e+s+Math.floor(l.offsetHeight/2),i=t+u+Math.floor(l.offsetWidth/2)),n()}):n()}else w.closeMenu()}))}b.closeFilter()};return w={closeMenu(){return Object.assign(M.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),(0,_vue.nextTick)()}},r={moveCtxMenu(e,t,l,n,o,i){let s;var u=_xeUtils.default.findIndexOf(i,e=>t[l]===e);if(n)o&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=u-1;0<=e;e--)if(!1!==i[e].visible){s=i[e];break}t[l]=s||i[i.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=u+1;e<i.length;e++)if(!1!==i[e].visible){s=i[e];break}t[l]=s||i[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&r.ctxMenuLinkEvent(e,t[l])},handleOpenMenuEvent:L,handleGlobalContextmenuEvent(t){var{mouseConfig:e,menuConfig:l}=p,{editStore:n,ctxMenuStore:o}=M,i=E["visibleColumn"],s=_.value,u=C.value,r=T.value,a=y.value,d=x.value,n=n["selected"],c=["header","body","footer"];if((0,_utils.isEnableConf)(l)){if(o.visible&&u&&(0,_dom.getEventTargetNode)(t,u.getRefMaps().refElem.value).flag)return void t.preventDefault();if(E._keyCtx){l="body",o={type:l,$table:b,keyboard:!0,columns:i.slice(0),$event:t};if(e&&r.area){u=b.getActiveCellArea();if(u&&u.row&&u.column)return o.row=u.row,o.column=u.column,void L(t,l,o)}else if(e&&r.selected&&n.row&&n.column)return o.row=n.row,o.column=n.column,void L(t,l,o)}for(let e=0;e<c.length;e++){var v=c[e],f=(0,_dom.getEventTargetNode)(t,d,`vxe-${v}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===m),g={type:v,$table:b,columns:i.slice(0),$event:t};if(f.flag){var f=f.targetElem,h=b.getColumnNode(f),h=h?h.item:null;let e=v+"-";h&&Object.assign(g,{column:h,columnIndex:b.getColumnIndex(h),cell:f}),"body"===v&&(f=(h=b.getRowNode(f.parentNode))?h.item:null,e="",f)&&(g.row=f,g.rowIndex=b.getRowIndex(f));h=e+"cell-menu";return L(t,v,g),void b.dispatchEvent(h,g,t)}if((0,_dom.getEventTargetNode)(t,d,`vxe-table--${v}-wrapper`,e=>e.getAttribute("xid")===m).flag)return void("cell"===a.trigger?t.preventDefault():L(t,v,g))}}s&&!(0,_dom.getEventTargetNode)(t,s.$el).flag&&b.closeFilter(),w.closeMenu()},ctxMenuMouseoverEvent(e,t,l){const a=e.currentTarget;var n=M["ctxMenuStore"];e.preventDefault(),e.stopPropagation(),n.selected=t,(n.selectChild=l)||(n.showChild=(0,_utils.hasChildrenList)(t),n.showChild&&(0,_vue.nextTick)(()=>{var o=a.nextElementSibling;if(o){var{boundingTop:i,boundingLeft:s,visibleHeight:u,visibleWidth:r}=(0,_dom.getAbsolutePos)(a),i=i+a.offsetHeight;let e="",t="",l=(s+a.offsetWidth+o.offsetWidth>r-10&&(e="auto",t=a.offsetWidth+"px"),""),n="";i+o.offsetHeight>u-10&&(l="auto",n="0"),o.style.left=e,o.style.right=t,o.style.top=l,o.style.bottom=n}}))},ctxMenuMouseoutEvent(e,t){var l=M["ctxMenuStore"];t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({},E._currMenuParams,{menu:t,$table:b,$grid:b.xegrid,$event:e}),(l=l?l.tableMenuMethod||l.menuMethod:null)&&l(t,e),b.dispatchEvent("menu-click",t,e),w.closeMenu())}},Object.assign(Object.assign({},w),r)},setupGrid(e){return e.extendTableMethods(tableMenuMethodKeys)}});
|
|
@@ -213,7 +213,7 @@ hooks.add('tableValidatorModule', {
|
|
|
213
213
|
});
|
|
214
214
|
};
|
|
215
215
|
const posAndFinish = () => {
|
|
216
|
-
firstErrParams.cell = $xeTable.
|
|
216
|
+
firstErrParams.cell = $xeTable.getCellElement(firstErrParams.row, firstErrParams.column);
|
|
217
217
|
(0, _dom.scrollToView)(firstErrParams.cell);
|
|
218
218
|
handleValidError(firstErrParams).then(finish);
|
|
219
219
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}const tableValidatorMethodKeys=["fullValidate","validate","clearValidate"];hooks.add("tableValidatorModule",{setupTable(v){const{props:
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}const tableValidatorMethodKeys=["fullValidate","validate","clearValidate"];hooks.add("tableValidatorModule",{setupTable(v){const{props:m,reactData:f,internalData:h}=v,g=v.getRefMaps()["refValidTooltip"],{computeValidOpts:_,computeTreeOpts:x,computeEditOpts:u}=v.getComputeMaps();let w={},R={},V;const l=(e,u,i)=>{const d={},{editRules:t,treeConfig:l}=m,{afterFullData:c,visibleColumn:g}=h;var r=x.value,r=r.children||r.childrenField;const p=_.value;let a;!0===e?a=c:e&&(_xeUtils.default.isFunction(e)?u=e:a=_xeUtils.default.isArray(e)?e:[e]),a=a||(v.getInsertRecords?v.getInsertRecords().concat(v.getUpdateRecords()):[]);const o=[],s=(h._lastCallTime=Date.now(),V=!1,w.clearValidate(),{});if(t){const n=v.getColumns();e=r=>{if(i||!V){const e=[];n.forEach(l=>{!i&&V||!_xeUtils.default.has(t,l.property)||e.push(R.validCellRules("all",r,l).catch(({rule:e,rules:t})=>{t={rule:e,rules:t,rowIndex:v.getRowIndex(r),row:r,columnIndex:v.getColumnIndex(l),column:l,field:l.property,$table:v};if(d[l.property]||(d[l.property]=[]),s[(0,_util.getRowid)(v,r)+":"+l.id]={column:l,row:r,rule:e,content:e.content},d[l.property].push(t),!i)return V=!0,Promise.reject(t)}))}),o.push(Promise.all(e))}};return l?_xeUtils.default.eachTree(a,e,{children:r}):a.forEach(e),Promise.all(o).then(()=>{const e=Object.keys(d);var t,l,r;return f.validErrorMaps=(t=s,"single"===_.value.msgMode?(l=t,(r=Object.keys(t)).length&&(l[r=r[0]]=t[r]),l):t),(0,_vue.nextTick)().then(()=>{if(e.length)return Promise.reject(d[e[0]][0]);u&&u()})}).catch(n=>new Promise((e,t)=>{const l=()=>{(0,_vue.nextTick)(()=>{u?(u(d),e()):("obsolete"===getConfig().validToReject?t:e)(d)})};var r,i,a,o,s=()=>{var t;n.cell=v.getCellElement(n.row,n.column),(0,_dom.scrollToView)(n.cell),t=n,new Promise(e=>{!1===_.value.autoPos?(v.dispatchEvent("valid-error",t,null),e()):v.handleActived(t,{type:"valid-error",trigger:"call"}).then(()=>{e(R.showValidTooltip(t))})}).then(l)};!1===p.autoPos?l():(o=n.row,r=n.column,a=c.indexOf(o),i=g.indexOf(r),a=0<a?c[a-1]:o,o=0<i?g[i-1]:r,v.scrollToRow(a,o).then(s))}))}return f.validErrorMaps={},(0,_vue.nextTick)().then(()=>{u&&u()})},E=(w={fullValidate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),l(e,t,!0)},validate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["validate(rows, callback)","validate(rows)"]),l(e,t)},clearValidate(e,t){var l=f["validErrorMaps"],r=g.value,i=_.value,e=_xeUtils.default.isArray(e)?e:e?[e]:[];const a=_xeUtils.default.isArray(t)?t:(t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(v,e));let o={};if(r&&r.reactData.visible&&r.close(),"single"===i.msgMode)f.validErrorMaps={};else{if(e.length&&a.length)o=Object.assign({},l),e.forEach(t=>{a.forEach(e=>{e=(0,_util.getRowid)(v,t)+":"+e.id;o[e]&&delete o[e]})});else if(e.length){const s=e.map(e=>""+(0,_util.getRowid)(v,e));_xeUtils.default.each(l,(e,t)=>{-1<s.indexOf(t.split(":")[0])&&(o[t]=e)})}else if(a.length){const n=a.map(e=>""+e.id);_xeUtils.default.each(l,(e,t)=>{-1<n.indexOf(t.split(":")[1])&&(o[t]=e)})}f.validErrorMaps=o}return(0,_vue.nextTick)()}},(e,t)=>{var{type:e,min:l,max:r,pattern:i}=e,e="number"===e,a=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(l)&&a<_xeUtils.default.toNumber(l)||!_xeUtils.default.eqNull(r)&&a>_xeUtils.default.toNumber(r)||!(!i||(_xeUtils.default.isRegExp(i)?i:new RegExp(i)).test(t))});return R={validCellRules(e,n,u,t){var l=m["editRules"],r=u["field"];const d=[],c=[];if(r&&l){const g=_xeUtils.default.get(l,r);if(g){const p=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(n,r):t;g.forEach(t=>{const{type:l,trigger:r,required:i,validator:a}=t;if("all"===e||!r||e===r)if(a){var o={cellValue:p,rule:t,rules:g,row:n,rowIndex:v.getRowIndex(n),column:u,columnIndex:v.getColumnIndex(u),field:u.field,$table:v,$grid:v.xegrid};let e;_xeUtils.default.isString(a)?(s=validators.get(a))?(s=s.tableCellValidatorMethod||s.cellValidatorMethod)?e=s(o):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(o),e&&(_xeUtils.default.isError(e)?(V=!0,d.push(new Rule({type:"custom",trigger:r,content:e.message,rule:new Rule(t)}))):e.catch&&c.push(e.catch(e=>{V=!0,d.push(new Rule({type:"custom",trigger:r,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var s="array"===l,o=_xeUtils.default.isArray(p);let e=!0;e=s||o?!o||!p.length:_xeUtils.default.isString(p)?(0,_utils.eqEmptyValue)(p.trim()):(0,_utils.eqEmptyValue)(p),(i?e||E(t,p):!e&&E(t,p))&&(V=!0,d.push(new Rule(t)))}})}}return Promise.all(c).then(()=>{var e;if(d.length)return e={rules:d,rule:d[0]},Promise.reject(e)})},hasCellRules(t,e,l){var r=m["editRules"],l=l["field"];return!(!l||!r)&&(r=_xeUtils.default.get(r,l))&&!!_xeUtils.default.find(r,e=>"all"===t||!e.trigger||t===e.trigger)},triggerValidate(t){var{editConfig:e,editRules:l}=m,r=f["editStore"],r=r["actived"];const i=u.value;var a=_.value;if(l&&"single"===a.msgMode&&(f.validErrorMaps={}),e&&l&&r.row){const{row:o,column:s,cell:n}=r.args;if(R.hasCellRules(t,o,s))return R.validCellRules(t,o,s).then(()=>{"row"===i.mode&&w.clearValidate(o,s)}).catch(({rule:e})=>{return e.trigger&&t!==e.trigger?Promise.resolve():(e={rule:e,row:o,column:s,cell:n},R.showValidTooltip(e),Promise.reject(e))})}return Promise.resolve()},showValidTooltip(e){var t=m["height"],{tableData:l,validStore:r,validErrorMaps:i}=f,{rule:a,row:o,column:s,cell:n}=e,u=_.value,d=g.value,c=a.content;return r.visible=!0,"single"===u.msgMode?f.validErrorMaps={[(0,_util.getRowid)(v,o)+":"+s.id]:{column:s,row:o,rule:a,content:c}}:f.validErrorMaps=Object.assign({},i,{[(0,_util.getRowid)(v,o)+":"+s.id]:{column:s,row:o,rule:a,content:c}}),v.dispatchEvent("valid-error",e,null),d&&("tooltip"===u.message||"default"===u.message&&!t&&l.length<2)?d.open(n,c):(0,_vue.nextTick)()}},Object.assign(Object.assign({},w),R)},setupGrid(e){return e.extendTableMethods(tableValidatorMethodKeys)}});
|