vxe-table 4.22.0-beta.0 → 4.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/all.esm.js +82 -43
  2. package/dist/style.css +1 -1
  3. package/es/grid/src/grid.js +2 -2
  4. package/es/style.css +1 -1
  5. package/es/table/module/edit/hook.js +4 -2
  6. package/es/table/module/export/hook.js +7 -5
  7. package/es/table/module/filter/hook.js +5 -3
  8. package/es/table/module/filter/panel.js +5 -3
  9. package/es/table/src/body.js +5 -3
  10. package/es/table/src/cell.js +16 -6
  11. package/es/table/src/columnInfo.js +3 -2
  12. package/es/table/src/footer.js +3 -2
  13. package/es/table/src/header.js +6 -4
  14. package/es/table/src/props.js +4 -0
  15. package/es/table/src/table.js +13 -5
  16. package/es/toolbar/src/toolbar.js +7 -4
  17. package/es/ui/index.js +1 -1
  18. package/es/ui/src/log.js +1 -1
  19. package/lib/grid/src/grid.js +2 -2
  20. package/lib/grid/src/grid.min.js +1 -1
  21. package/lib/index.umd.js +100 -47
  22. package/lib/index.umd.min.js +1 -1
  23. package/lib/style.css +1 -1
  24. package/lib/table/module/edit/hook.js +5 -2
  25. package/lib/table/module/edit/hook.min.js +1 -1
  26. package/lib/table/module/export/hook.js +8 -5
  27. package/lib/table/module/export/hook.min.js +1 -1
  28. package/lib/table/module/filter/hook.js +6 -3
  29. package/lib/table/module/filter/hook.min.js +1 -1
  30. package/lib/table/module/filter/panel.js +6 -3
  31. package/lib/table/module/filter/panel.min.js +1 -1
  32. package/lib/table/src/body.js +6 -3
  33. package/lib/table/src/body.min.js +1 -1
  34. package/lib/table/src/cell.js +26 -6
  35. package/lib/table/src/cell.min.js +1 -1
  36. package/lib/table/src/columnInfo.js +6 -4
  37. package/lib/table/src/columnInfo.min.js +1 -1
  38. package/lib/table/src/footer.js +4 -2
  39. package/lib/table/src/footer.min.js +1 -1
  40. package/lib/table/src/header.js +7 -4
  41. package/lib/table/src/header.min.js +1 -1
  42. package/lib/table/src/props.js +4 -0
  43. package/lib/table/src/props.min.js +1 -1
  44. package/lib/table/src/table.js +7 -7
  45. package/lib/table/src/table.min.js +1 -1
  46. package/lib/toolbar/src/toolbar.js +11 -4
  47. package/lib/toolbar/src/toolbar.min.js +1 -1
  48. package/lib/ui/index.js +1 -1
  49. package/lib/ui/index.min.js +1 -1
  50. package/lib/ui/src/log.js +1 -1
  51. package/lib/ui/src/log.min.js +1 -1
  52. package/package.json +2 -2
  53. package/packages/grid/src/grid.ts +2 -2
  54. package/packages/table/module/edit/hook.ts +4 -2
  55. package/packages/table/module/export/hook.ts +7 -5
  56. package/packages/table/module/filter/hook.ts +6 -4
  57. package/packages/table/module/filter/panel.ts +5 -3
  58. package/packages/table/src/body.ts +5 -3
  59. package/packages/table/src/cell.ts +16 -6
  60. package/packages/table/src/columnInfo.ts +4 -2
  61. package/packages/table/src/footer.ts +3 -2
  62. package/packages/table/src/header.ts +6 -4
  63. package/packages/table/src/props.ts +4 -0
  64. package/packages/table/src/table.ts +14 -5
  65. package/packages/toolbar/src/toolbar.ts +7 -4
  66. /package/es/{iconfont.1789131679524.ttf → iconfont.1789914604819.ttf} +0 -0
  67. /package/es/{iconfont.1789131679524.woff → iconfont.1789914604819.woff} +0 -0
  68. /package/es/{iconfont.1789131679524.woff2 → iconfont.1789914604819.woff2} +0 -0
  69. /package/lib/{iconfont.1789131679524.ttf → iconfont.1789914604819.ttf} +0 -0
  70. /package/lib/{iconfont.1789131679524.woff → iconfont.1789914604819.woff} +0 -0
  71. /package/lib/{iconfont.1789131679524.woff2 → iconfont.1789914604819.woff2} +0 -0
@@ -34,7 +34,8 @@ hooks.add('tableEditModule', {
34
34
  computeEditOpts,
35
35
  computeCheckboxOpts,
36
36
  computeTreeOpts,
37
- computeValidOpts
37
+ computeValidOpts,
38
+ computeRendererOpts
38
39
  } = $xeTable.getComputeMaps();
39
40
  const browseObj = _xeUtils.default.browse();
40
41
  let editMethods = {};
@@ -1247,7 +1248,9 @@ hooks.add('tableEditModule', {
1247
1248
  } = column;
1248
1249
  const editOpts = computeEditOpts.value;
1249
1250
  if (editConfig && (0, _utils.isEnableConf)(editRender)) {
1250
- const compRender = renderer.get(editRender.name);
1251
+ const rendererOpts = computeRendererOpts.value;
1252
+ const renderName = editRender.name;
1253
+ const compRender = renderName ? rendererOpts[renderName] || renderer.get(renderName) : null;
1251
1254
  let autoFocus = editRender.autofocus || editRender.autoFocus;
1252
1255
  let autoSelect = editRender.autoSelect || editRender.autoselect;
1253
1256
  let inputElem = null;
@@ -1 +1 @@
1
- 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}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getEditCell","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(_){let{props:I,reactData:E,internalData:b}=_,t=_.getRefMaps().refElem,{computeMouseOpts:g,computeEditOpts:p,computeCheckboxOpts:m,computeTreeOpts:F,computeValidOpts:a}=_.getComputeMaps(),i=_xeUtils.default.browse(),R={},w={},C=(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=t.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=E,l=p.value,e=e.actived;let{row:r,column:o}=e;r&&o&&("row"===l.mode?t.forEach(e=>n(r,e)):n(r,o))},A=(e,t)=>{let{tableFullTreeData:i,afterFullData:a,fullDataRowIdData:d,fullAllDataRowIdData:u}=b;var l=F.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,x=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(_,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,n=u[(0,_util.getRowid)(_,o)],n=n?n.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[x](l),t[x](l);o={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{t&&warnLog("vxe.error.unableInsert"),a[x](l),i[x](l);n={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=n,u[r]=n}})},u=(t,e,a)=>{let l=I.treeConfig;var r=E.isRowGroupStatus;let{tableFullTreeData:d,afterFullData:o,mergeBodyList:n,tableFullData:i,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:c,removeRowMaps:g}=b;var w=F.value;let{transform:x,parentField:v,rowField:f,mapChildrenField:h}=w,m=w.children||w.childrenField,R=(_xeUtils.default.isArray(t)||(t=[t]),e);if((_xeUtils.default.isString(e)||_xeUtils.default.isNumber(e))&&(w=s[e])&&(R=w.row),!t.length)return Promise.resolve({row:null,rows:[]});_.handlePushStack();let p=(0,_vue.reactive)(_.defineField(t.map(e=>Object.assign(l&&x?{[h]:[],[m]:[]}:{},e)))),C=[];if(l&&x&&(C=_xeUtils.default.toArrayTree(p,{key:f,parentKey:v,children:m})),_xeUtils.default.eqNull(R))if(l&&x)A(p,!1);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,o.unshift(e),i.unshift(e)}),n.forEach(e=>{var t=e.row;0<=t&&(e.row=t+p.length)});else if(-1===R)if(l&&x)A(p,!0);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,treeIndex:-1,_tIndex:-1,$index:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,o.push(e),i.push(e)});else if(l&&x){let i=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:h});if(i){let r=i.parent,o=r?r[h]:d;e=s[(0,_util.getRowid)(_,r)];let n=e?e.level:0;if(C.forEach((e,t)=>{r?e[v]!==r[f]&&(errLog("vxe.error.errProp",[v+"="+e[v],v+"="+r[f]]),e[v]=r[f]):null!==e[v]&&(_xeUtils.default.eqNull(e[v])||errLog("vxe.error.errProp",[v+"="+e[v],"null"]),e[v]=null);let l=i.index+t;a&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(C,e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:r,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};e[m]&&(e[h]=e[m]),u[t]=l,s[t]=l},{children:m}),r){w=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:m});if(w){t=w.items;let e=w.index;a&&(e+=1),t.splice(e,0,...C)}}}else warnLog("vxe.error.unableInsert"),A(p,!0)}else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else{if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(R)?R<o.length&&(r=R):r=_.findRowIndexOf(o,R),-1===(r=a?Math.min(o.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));o.splice(r,0,...p);e=_.findRowIndexOf(i,R);-1<e?i.splice(e+(a?1:0),0,...p):i.push(...p),n.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+p.length:(a?t+l>=r:t+l>r)&&(e.rowspan=l+p.length)})}w=e=>{var t=(0,_util.getRowid)(_,e);g[t]?(delete g[t],c[t]&&delete c[t]):c[t]=e};return l&&x?_xeUtils.default.eachTree(C,w,{children:h}):p.forEach(w),E.removeRowFlag++,E.insertRowFlag++,_.cacheRowMap(!1),_.updateScrollYStatus(),_.handleTableData(l&&x),l&&x||_.updateAfterDataIndex(),_.updateFooter(),_.handleUpdateBodyMerge(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,l,r,o)=>{var n=I.treeConfig,i=b.fullAllDataRowIdData;let{transform:t,rowField:a,parentField:d}=F.value;if(n&&t){_xeUtils.default.isArray(e)||(e=[e]);let t=l;return(_xeUtils.default.isString(l)||_xeUtils.default.isNumber(l))&&(n=i[l])&&(t=n.row),u(e.map(e=>Object.assign({},e,{[d]:t[a]})),r,o)}return errLog("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]})},S=(e,t)=>{var l=E.editStore,{actived:l,focused:r}=l,{row:o,column:n}=l,i=a.value;if(o||n){if(t&&(0,_util.getRowid)(_,t)!==(0,_util.getRowid)(_,o))return(0,_vue.nextTick)();d(),_.updateFooter(),l.args=null,l.row=null,l.column=null,_.dispatchEvent("edit-closed",{row:o,rowIndex:_.getRowIndex(o),$rowIndex:_.getVMRowIndex(o),column:n,columnIndex:_.getColumnIndex(n),$columnIndex:_.getVMColumnIndex(n)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&_.clearValidate?_.clearValidate():(0,_vue.nextTick)().then(()=>_.updateCellAreas())},s=(e,l,r)=>{let o=_.xeGrid,n=_.xeGantt;var{editConfig:t,mouseConfig:i}=I,{editStore:a,tableColumn:d}=E,u=p.value,s=u.mode,{actived:a,focused:c}=a;let{row:g,column:w}=e;var x=w.editRender;let{isFocus:v,isPos:f,isClear:h}=r;var r=e.cell||_.getCellElement(g,w),m=u.beforeEditMethod||u.activeMethod;let R=Object.assign(Object.assign({},e),{cell:r});if(r&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(x)&&!_.isPendingByRow(g)&&!_.isAggregateRecord(g)){if(a.row!==g||"cell"===s&&a.column!==w){let t="edit-disabled";if(!m||m(Object.assign(Object.assign({},R),{$table:_,$grid:o,$gantt:n}))){i&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),_.closeTooltip(),a.column&&S(l),t="edit-activated",w.renderHeight=r.offsetHeight,a.args=R,a.row=g,a.column=w,_.handlePushStack(),h&&(0,_util.setCellValue)(g,w,null),"row"===s?d.forEach(e=>C(g,e)):C(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{v&&_.handleFocus(R,l),e&&e(Object.assign(Object.assign({},R),{$table:_,$grid:o,$gantt:n}))})}_.dispatchEvent(t,{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},l),"edit-activated"===t&&_.dispatchEvent("edit-actived",{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},l)}else{e=a.column;i&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),e&&e!==w&&(t=e.model,t.update&&(0,_util.setCellValue)(g,e,t.value),_.clearValidate)&&_.clearValidate(g,w),w.renderHeight=r.offsetHeight,a.args=R,a.column=w,f&&setTimeout(()=>{_.handleFocus(R,l)})}c.column=null,c.row=null,_.focus()}return(0,_vue.nextTick)()},c=(t,e,l)=>{var r=I.editConfig;let o=l.isPos,n=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&n&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(n.editRender)&&!_.isAggregateRecord(t)?Promise.resolve(o?_.scrollToRow(t,n):null).then(()=>{var e=_.getCellElement(t,n);return e&&(s({row:t,rowIndex:_.getRowIndex(t),$rowIndex:_.getVMRowIndex(t),_rowIndex:_.getVTRowIndex(t),column:n,columnIndex:_.getColumnIndex(n),$columnIndex:_.getVMColumnIndex(n),_columnIndex:_.getVTColumnIndex(n),cell:e,$table:_},null,{isFocus:o,isPos:o}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},x=(R={insert(e){return u(e,null)},insertAt(e,t){return u(e,t)},insertNextAt(e,t){return u(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=I.treeConfig,{editStore:l,isRowGroupStatus:r}=E;let{tableFullTreeData:o,selectCheckboxMaps:n,afterFullData:i,mergeBodyList:a,tableFullData:d,pendingRowMaps:u,insertRowMaps:s,removeRowMaps:c}=b;var g=m.value,w=F.value;let{transform:x,mapChildrenField:v}=w,f=w.children||w.childrenField;w=l.actived,l=g.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=d,e.length?(_.handlePushStack(),e.forEach(e=>{var t;_.isInsertByRow(e)||(t=(0,_util.getRowid)(_,e),c[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(_,e);n[e]&&delete n[e]}),E.updateCheckboxFlag++),d===e?(e=h=d.slice(0),b.tableFullData=[],b.afterFullData=[],_.clearMergeCells()):t&&x?e.forEach(e=>{let t=(0,_util.getRowid)(_,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:v}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:f})),l=(l&&l.items.splice(l.index,1),_.findRowIndexOf(i,e));-1<l&&i.splice(l,1)}):r?warnLog(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=_.findRowIndexOf(d,e);-1<t&&(t=d.splice(t,1),h.push(t[0]));let r=_.findRowIndexOf(i,e);-1<r&&(a.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),i.splice(r,1))}),w.row&&-1<_.findRowIndexOf(e,w.row)&&R.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(_,e);s[e]&&delete s[e],u[e]&&delete u[e]}),E.removeRowFlag++,E.insertRowFlag++,E.pendingRowFlag++,_.cacheRowMap(!1),_.handleTableData(t&&x),_.updateFooter(),_.handleUpdateBodyMerge(),t&&x||_.updateAfterDataIndex(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))):Promise.resolve({row:null,rows:[]})},removeCheckboxRow(){return R.remove(_.getCheckboxRecords()).then(e=>(_.clearCheckboxRow(),e))},removeRadioRow(){var e=_.getRadioRecord();return R.remove(e||[]).then(e=>(_.clearRadioRow(),e))},removeCurrentRow(){var e=_.getCurrentRecord();return R.remove(e||[]).then(e=>(_.clearCurrentRow(),e))},getRecordset(){var e=R.getRemoveRecords(),t=_.getPendingRecords();let l=e.concat(t);var r=R.getUpdateRecords().filter(t=>!l.some(e=>_.eqRow(e,t)));return{insertRecords:R.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=b,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,{tableFullData:l,tableFullTreeData:r}=b,o=F.value;let n=[];return e&&(d(),t?(e=o.children||o.childrenField,_xeUtils.default.eachTree(r,e=>{_.isUpdateByRow(e)&&n.push(e)},{children:e})):l.forEach(e=>{_.isUpdateByRow(e)&&n.push(e)})),n},getActiveRecord(){warnLog("vxe.error.delFunc",["getActiveRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditRecord(){warnLog("vxe.error.delFunc",["getEditRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditCell(){var e=E.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,rowIndex:_.getRowIndex(e),column:t,columnIndex:_.getColumnIndex(t)}:null},getSelectedCell(){var e=E.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},clearActived(e){return warnLog("vxe.error.delFunc",["clearActived","clearEdit"]),_.clearEdit(e)},clearEdit(e){return S(null,e)},clearSelected(){var e=E.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return warnLog("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),_.isEditByRow(e)},isEditByRow(e){var t=E.editStore;return t.actived.row===e},setActiveRow(e){return warnLog("vxe.error.delFunc",["setActiveRow","setEditRow"]),R.setEditRow(e)},setEditRow(e,t,l){var r=b.visibleColumn;let o=_xeUtils.default.find(r,e=>(0,_utils.isEnableConf)(e.editRender)),n=!1;return t&&(n=!0)!==t&&(o=_xeUtils.default.isString(t)?_.getColumnByField(t):t),c(e,o,Object.assign({isPos:n,isFocus:n},l))},setActiveCell(e,t){return warnLog("vxe.error.delFunc",["setActiveCell","setEditCell"]),R.setEditCell(e,t)},setEditCell(e,t,l){return c(e,t,Object.assign({isFocus:!0,isPos:!0},l))},setSelectCell(e,t){var l=E.tableData,r=p.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=_.findRowIndexOf(l,e))&&t&&(l=_.getCellElement(e,t),r={$table:_,row:e,rowIndex:r,$rowIndex:_.getVMRowIndex(e),_rowIndex:_.getVTRowIndex(e),column:t,columnIndex:_.getColumnIndex(t),$columnIndex:_.getVMColumnIndex(t),_columnIndex:_.getVTColumnIndex(t),cell:l},_.handleSelected(r,null)),(0,_vue.nextTick)()}},(l,r)=>{var o=I.editConfig,n=r.column,n=n.editRender,i=p.value;if(o&&(0,_utils.isEnableConf)(n)){o=renderer.get(n.name);let e=n.autofocus||n.autoFocus;n=n.autoSelect||n.autoselect;let t=null;return i.autoFocus&&(!e&&o&&(e=o.tableAutoFocus||o.tableAutofocus||o.autofocus),!n&&o&&(o.tableAutoSelect||o.autoselect),_xeUtils.default.isFunction(e)?t=e(r):e&&(t=!0===e?l.querySelector("input,textarea"):l.querySelector(e))&&t.focus()),t}return null});return w={handleEdit(e,t,l){return s(e,t,Object.assign({isFocus:!0,isPos:!0},l))},handleActived(e,t){return w.handleEdit(e,t)},handleClearEdit:S,handleCellFocus:x,handleFocus(e){var{row:t,column:l,cell:r}=e,o=l.editRender,n=p.value;(0,_utils.isEnableConf)(o)&&(o=o.autoSelect||o.autoselect,(r=x(r,e))?o?r.select():i.msie&&((e=r.createTextRange()).collapse(!1),e.select()):n.autoPos&&!l.fixed&&_.scrollToRow(t,l))},handleSelected(t,e){let{mouseConfig:l,editConfig:r}=I;var o=E.editStore,n=g.value;let i=p.value,{actived:a,selected:d}=o,{row:u,column:s}=t,c=l&&n.selected;return!c||d.row===u&&d.column===s||(a.row!==u||"cell"===i.mode&&a.column!==s)&&(S(e),_.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),d.args=t,d.row=u,d.column=s,c&&w.addCellSelectedClass(),_.focus(),r&&i.isReuseKeep&&(0,_utils.isEnableConf)(i)&&(0,_utils.isEnableConf)(s.editRender)&&setTimeout(()=>{var e=_.getCellElement(u,s);e&&e.querySelector(".vxe-reusekeep-control")&&x(e,t)},0),e)&&_.dispatchEvent("cell-selected",t,e),(0,_vue.nextTick)()},addCellSelectedClass(){var e=E.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=_.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},R),w)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)},setupGantt(e){return e.extendTableMethods(tableEditMethodKeys)}});
1
+ 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}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getEditCell","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(_){let{props:I,reactData:E,internalData:b}=_,t=_.getRefMaps().refElem,{computeMouseOpts:g,computeEditOpts:p,computeCheckboxOpts:m,computeTreeOpts:F,computeValidOpts:a,computeRendererOpts:d}=_.getComputeMaps(),i=_xeUtils.default.browse(),R={},w={},C=(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=t.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},u=()=>{var{editStore:e,tableColumn:t}=E,l=p.value,e=e.actived;let{row:r,column:o}=e;r&&o&&("row"===l.mode?t.forEach(e=>n(r,e)):n(r,o))},A=(e,t)=>{let{tableFullTreeData:i,afterFullData:a,fullDataRowIdData:d,fullAllDataRowIdData:u}=b;var l=F.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,x=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(_,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,n=u[(0,_util.getRowid)(_,o)],n=n?n.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[x](l),t[x](l);o={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{t&&warnLog("vxe.error.unableInsert"),a[x](l),i[x](l);n={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=n,u[r]=n}})},s=(t,e,a)=>{let l=I.treeConfig;var r=E.isRowGroupStatus;let{tableFullTreeData:d,afterFullData:o,mergeBodyList:n,tableFullData:i,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:c,removeRowMaps:g}=b;var w=F.value;let{transform:x,parentField:v,rowField:f,mapChildrenField:h}=w,m=w.children||w.childrenField,R=(_xeUtils.default.isArray(t)||(t=[t]),e);if((_xeUtils.default.isString(e)||_xeUtils.default.isNumber(e))&&(w=s[e])&&(R=w.row),!t.length)return Promise.resolve({row:null,rows:[]});_.handlePushStack();let p=(0,_vue.reactive)(_.defineField(t.map(e=>Object.assign(l&&x?{[h]:[],[m]:[]}:{},e)))),C=[];if(l&&x&&(C=_xeUtils.default.toArrayTree(p,{key:f,parentKey:v,children:m})),_xeUtils.default.eqNull(R))if(l&&x)A(p,!1);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,o.unshift(e),i.unshift(e)}),n.forEach(e=>{var t=e.row;0<=t&&(e.row=t+p.length)});else if(-1===R)if(l&&x)A(p,!0);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,treeIndex:-1,_tIndex:-1,$index:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,o.push(e),i.push(e)});else if(l&&x){let i=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:h});if(i){let r=i.parent,o=r?r[h]:d;e=s[(0,_util.getRowid)(_,r)];let n=e?e.level:0;if(C.forEach((e,t)=>{r?e[v]!==r[f]&&(errLog("vxe.error.errProp",[v+"="+e[v],v+"="+r[f]]),e[v]=r[f]):null!==e[v]&&(_xeUtils.default.eqNull(e[v])||errLog("vxe.error.errProp",[v+"="+e[v],"null"]),e[v]=null);let l=i.index+t;a&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(C,e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:r,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};e[m]&&(e[h]=e[m]),u[t]=l,s[t]=l},{children:m}),r){w=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:m});if(w){t=w.items;let e=w.index;a&&(e+=1),t.splice(e,0,...C)}}}else warnLog("vxe.error.unableInsert"),A(p,!0)}else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else{if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(R)?R<o.length&&(r=R):r=_.findRowIndexOf(o,R),-1===(r=a?Math.min(o.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));o.splice(r,0,...p);e=_.findRowIndexOf(i,R);-1<e?i.splice(e+(a?1:0),0,...p):i.push(...p),n.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+p.length:(a?t+l>=r:t+l>r)&&(e.rowspan=l+p.length)})}w=e=>{var t=(0,_util.getRowid)(_,e);g[t]?(delete g[t],c[t]&&delete c[t]):c[t]=e};return l&&x?_xeUtils.default.eachTree(C,w,{children:h}):p.forEach(w),E.removeRowFlag++,E.insertRowFlag++,_.cacheRowMap(!1),_.updateScrollYStatus(),_.handleTableData(l&&x),l&&x||_.updateAfterDataIndex(),_.updateFooter(),_.handleUpdateBodyMerge(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,l,r,o)=>{var n=I.treeConfig,i=b.fullAllDataRowIdData;let{transform:t,rowField:a,parentField:d}=F.value;if(n&&t){_xeUtils.default.isArray(e)||(e=[e]);let t=l;return(_xeUtils.default.isString(l)||_xeUtils.default.isNumber(l))&&(n=i[l])&&(t=n.row),s(e.map(e=>Object.assign({},e,{[d]:t[a]})),r,o)}return errLog("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]})},S=(e,t)=>{var l=E.editStore,{actived:l,focused:r}=l,{row:o,column:n}=l,i=a.value;if(o||n){if(t&&(0,_util.getRowid)(_,t)!==(0,_util.getRowid)(_,o))return(0,_vue.nextTick)();u(),_.updateFooter(),l.args=null,l.row=null,l.column=null,_.dispatchEvent("edit-closed",{row:o,rowIndex:_.getRowIndex(o),$rowIndex:_.getVMRowIndex(o),column:n,columnIndex:_.getColumnIndex(n),$columnIndex:_.getVMColumnIndex(n)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&_.clearValidate?_.clearValidate():(0,_vue.nextTick)().then(()=>_.updateCellAreas())},c=(e,l,r)=>{let o=_.xeGrid,n=_.xeGantt;var{editConfig:t,mouseConfig:i}=I,{editStore:a,tableColumn:d}=E,u=p.value,s=u.mode,{actived:a,focused:c}=a;let{row:g,column:w}=e;var x=w.editRender;let{isFocus:v,isPos:f,isClear:h}=r;var r=e.cell||_.getCellElement(g,w),m=u.beforeEditMethod||u.activeMethod;let R=Object.assign(Object.assign({},e),{cell:r});if(r&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(x)&&!_.isPendingByRow(g)&&!_.isAggregateRecord(g)){if(a.row!==g||"cell"===s&&a.column!==w){let t="edit-disabled";if(!m||m(Object.assign(Object.assign({},R),{$table:_,$grid:o,$gantt:n}))){i&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),_.closeTooltip(),a.column&&S(l),t="edit-activated",w.renderHeight=r.offsetHeight,a.args=R,a.row=g,a.column=w,_.handlePushStack(),h&&(0,_util.setCellValue)(g,w,null),"row"===s?d.forEach(e=>C(g,e)):C(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{v&&_.handleFocus(R,l),e&&e(Object.assign(Object.assign({},R),{$table:_,$grid:o,$gantt:n}))})}_.dispatchEvent(t,{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},l),"edit-activated"===t&&_.dispatchEvent("edit-actived",{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},l)}else{e=a.column;i&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),e&&e!==w&&(t=e.model,t.update&&(0,_util.setCellValue)(g,e,t.value),_.clearValidate)&&_.clearValidate(g,w),w.renderHeight=r.offsetHeight,a.args=R,a.column=w,f&&setTimeout(()=>{_.handleFocus(R,l)})}c.column=null,c.row=null,_.focus()}return(0,_vue.nextTick)()},x=(t,e,l)=>{var r=I.editConfig;let o=l.isPos,n=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&n&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(n.editRender)&&!_.isAggregateRecord(t)?Promise.resolve(o?_.scrollToRow(t,n):null).then(()=>{var e=_.getCellElement(t,n);return e&&(c({row:t,rowIndex:_.getRowIndex(t),$rowIndex:_.getVMRowIndex(t),_rowIndex:_.getVTRowIndex(t),column:n,columnIndex:_.getColumnIndex(n),$columnIndex:_.getVMColumnIndex(n),_columnIndex:_.getVTColumnIndex(n),cell:e,$table:_},null,{isFocus:o,isPos:o}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},v=(R={insert(e){return s(e,null)},insertAt(e,t){return s(e,t)},insertNextAt(e,t){return s(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=I.treeConfig,{editStore:l,isRowGroupStatus:r}=E;let{tableFullTreeData:o,selectCheckboxMaps:n,afterFullData:i,mergeBodyList:a,tableFullData:d,pendingRowMaps:u,insertRowMaps:s,removeRowMaps:c}=b;var g=m.value,w=F.value;let{transform:x,mapChildrenField:v}=w,f=w.children||w.childrenField;w=l.actived,l=g.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=d,e.length?(_.handlePushStack(),e.forEach(e=>{var t;_.isInsertByRow(e)||(t=(0,_util.getRowid)(_,e),c[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(_,e);n[e]&&delete n[e]}),E.updateCheckboxFlag++),d===e?(e=h=d.slice(0),b.tableFullData=[],b.afterFullData=[],_.clearMergeCells()):t&&x?e.forEach(e=>{let t=(0,_util.getRowid)(_,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:v}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:f})),l=(l&&l.items.splice(l.index,1),_.findRowIndexOf(i,e));-1<l&&i.splice(l,1)}):r?warnLog(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=_.findRowIndexOf(d,e);-1<t&&(t=d.splice(t,1),h.push(t[0]));let r=_.findRowIndexOf(i,e);-1<r&&(a.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),i.splice(r,1))}),w.row&&-1<_.findRowIndexOf(e,w.row)&&R.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(_,e);s[e]&&delete s[e],u[e]&&delete u[e]}),E.removeRowFlag++,E.insertRowFlag++,E.pendingRowFlag++,_.cacheRowMap(!1),_.handleTableData(t&&x),_.updateFooter(),_.handleUpdateBodyMerge(),t&&x||_.updateAfterDataIndex(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))):Promise.resolve({row:null,rows:[]})},removeCheckboxRow(){return R.remove(_.getCheckboxRecords()).then(e=>(_.clearCheckboxRow(),e))},removeRadioRow(){var e=_.getRadioRecord();return R.remove(e||[]).then(e=>(_.clearRadioRow(),e))},removeCurrentRow(){var e=_.getCurrentRecord();return R.remove(e||[]).then(e=>(_.clearCurrentRow(),e))},getRecordset(){var e=R.getRemoveRecords(),t=_.getPendingRecords();let l=e.concat(t);var r=R.getUpdateRecords().filter(t=>!l.some(e=>_.eqRow(e,t)));return{insertRecords:R.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=b,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,{tableFullData:l,tableFullTreeData:r}=b,o=F.value;let n=[];return e&&(u(),t?(e=o.children||o.childrenField,_xeUtils.default.eachTree(r,e=>{_.isUpdateByRow(e)&&n.push(e)},{children:e})):l.forEach(e=>{_.isUpdateByRow(e)&&n.push(e)})),n},getActiveRecord(){warnLog("vxe.error.delFunc",["getActiveRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditRecord(){warnLog("vxe.error.delFunc",["getEditRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditCell(){var e=E.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,rowIndex:_.getRowIndex(e),column:t,columnIndex:_.getColumnIndex(t)}:null},getSelectedCell(){var e=E.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},clearActived(e){return warnLog("vxe.error.delFunc",["clearActived","clearEdit"]),_.clearEdit(e)},clearEdit(e){return S(null,e)},clearSelected(){var e=E.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return warnLog("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),_.isEditByRow(e)},isEditByRow(e){var t=E.editStore;return t.actived.row===e},setActiveRow(e){return warnLog("vxe.error.delFunc",["setActiveRow","setEditRow"]),R.setEditRow(e)},setEditRow(e,t,l){var r=b.visibleColumn;let o=_xeUtils.default.find(r,e=>(0,_utils.isEnableConf)(e.editRender)),n=!1;return t&&(n=!0)!==t&&(o=_xeUtils.default.isString(t)?_.getColumnByField(t):t),x(e,o,Object.assign({isPos:n,isFocus:n},l))},setActiveCell(e,t){return warnLog("vxe.error.delFunc",["setActiveCell","setEditCell"]),R.setEditCell(e,t)},setEditCell(e,t,l){return x(e,t,Object.assign({isFocus:!0,isPos:!0},l))},setSelectCell(e,t){var l=E.tableData,r=p.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=_.findRowIndexOf(l,e))&&t&&(l=_.getCellElement(e,t),r={$table:_,row:e,rowIndex:r,$rowIndex:_.getVMRowIndex(e),_rowIndex:_.getVTRowIndex(e),column:t,columnIndex:_.getColumnIndex(t),$columnIndex:_.getVMColumnIndex(t),_columnIndex:_.getVTColumnIndex(t),cell:l},_.handleSelected(r,null)),(0,_vue.nextTick)()}},(l,r)=>{var o=I.editConfig,n=r.column,n=n.editRender,i=p.value;if(o&&(0,_utils.isEnableConf)(n)){var o=d.value,a=n.name,o=a?o[a]||renderer.get(a):null;let e=n.autofocus||n.autoFocus;a=n.autoSelect||n.autoselect;let t=null;return i.autoFocus&&(!e&&o&&(e=o.tableAutoFocus||o.tableAutofocus||o.autofocus),!a&&o&&(o.tableAutoSelect||o.autoselect),_xeUtils.default.isFunction(e)?t=e(r):e&&(t=!0===e?l.querySelector("input,textarea"):l.querySelector(e))&&t.focus()),t}return null});return w={handleEdit(e,t,l){return c(e,t,Object.assign({isFocus:!0,isPos:!0},l))},handleActived(e,t){return w.handleEdit(e,t)},handleClearEdit:S,handleCellFocus:v,handleFocus(e){var{row:t,column:l,cell:r}=e,o=l.editRender,n=p.value;(0,_utils.isEnableConf)(o)&&(o=o.autoSelect||o.autoselect,(r=v(r,e))?o?r.select():i.msie&&((e=r.createTextRange()).collapse(!1),e.select()):n.autoPos&&!l.fixed&&_.scrollToRow(t,l))},handleSelected(t,e){let{mouseConfig:l,editConfig:r}=I;var o=E.editStore,n=g.value;let i=p.value,{actived:a,selected:d}=o,{row:u,column:s}=t,c=l&&n.selected;return!c||d.row===u&&d.column===s||(a.row!==u||"cell"===i.mode&&a.column!==s)&&(S(e),_.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),d.args=t,d.row=u,d.column=s,c&&w.addCellSelectedClass(),_.focus(),r&&i.isReuseKeep&&(0,_utils.isEnableConf)(i)&&(0,_utils.isEnableConf)(s.editRender)&&setTimeout(()=>{var e=_.getCellElement(u,s);e&&e.querySelector(".vxe-reusekeep-control")&&v(e,t)},0),e)&&_.dispatchEvent("cell-selected",t,e),(0,_vue.nextTick)()},addCellSelectedClass(){var e=E.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=_.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},R),w)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)},setupGantt(e){return e.extendTableMethods(tableEditMethodKeys)}});
@@ -298,7 +298,8 @@ hooks.add('tableExportModule', {
298
298
  computeRadioOpts,
299
299
  computeCheckboxOpts,
300
300
  computeColumnOpts,
301
- computeAggregateOpts
301
+ computeAggregateOpts,
302
+ computeRendererOpts
302
303
  } = $xeTable.getComputeMaps();
303
304
  const getSeq = (cellValue, row, $rowIndex, column, $columnIndex) => {
304
305
  const seqOpts = computeSeqOpts.value;
@@ -354,6 +355,7 @@ hooks.add('tableExportModule', {
354
355
  const treeOpts = computeTreeOpts.value;
355
356
  const columnOpts = computeColumnOpts.value;
356
357
  const aggregateOpts = computeAggregateOpts.value;
358
+ const rendererOpts = computeRendererOpts.value;
357
359
  if (!htmlCellElem) {
358
360
  htmlCellElem = document.createElement('div');
359
361
  }
@@ -402,7 +404,7 @@ hooks.add('tableExportModule', {
402
404
  const renderOpts = editRender || cellRender;
403
405
  let bodyExportMethod = column.exportMethod || columnOpts.exportMethod;
404
406
  if (!bodyExportMethod && renderOpts && renderOpts.name) {
405
- const compConf = renderer.get(renderOpts.name);
407
+ const compConf = rendererOpts[renderOpts.name] || renderer.get(renderOpts.name);
406
408
  if (compConf) {
407
409
  bodyExportMethod = compConf.tableExportMethod || compConf.exportMethod;
408
410
  }
@@ -560,7 +562,7 @@ hooks.add('tableExportModule', {
560
562
  const renderOpts = column.editRender || column.cellRender;
561
563
  let bodyExportMethod = column.exportMethod || columnOpts.exportMethod;
562
564
  if (!bodyExportMethod && renderOpts && renderOpts.name) {
563
- const compConf = renderer.get(renderOpts.name);
565
+ const compConf = rendererOpts[renderOpts.name] || renderer.get(renderOpts.name);
564
566
  if (compConf) {
565
567
  bodyExportMethod = compConf.tableExportMethod || compConf.exportMethod;
566
568
  }
@@ -641,7 +643,7 @@ hooks.add('tableExportModule', {
641
643
  const renderOpts = column.editRender || column.cellRender;
642
644
  let bodyExportMethod = column.exportMethod || columnOpts.exportMethod;
643
645
  if (!bodyExportMethod && renderOpts && renderOpts.name) {
644
- const compConf = renderer.get(renderOpts.name);
646
+ const compConf = rendererOpts[renderOpts.name] || renderer.get(renderOpts.name);
645
647
  if (compConf) {
646
648
  bodyExportMethod = compConf.tableExportMethod || compConf.exportMethod;
647
649
  }
@@ -720,10 +722,11 @@ hooks.add('tableExportModule', {
720
722
  };
721
723
  const getFooterCellValue = (opts, row, column) => {
722
724
  const columnOpts = computeColumnOpts.value;
725
+ const rendererOpts = computeRendererOpts.value;
723
726
  const renderOpts = column.editRender || column.cellRender;
724
727
  let footLabelMethod = column.footerExportMethod;
725
728
  if (!footLabelMethod && renderOpts && renderOpts.name) {
726
- const compConf = renderer.get(renderOpts.name);
729
+ const compConf = rendererOpts[renderOpts.name] || renderer.get(renderOpts.name);
727
730
  if (compConf) {
728
731
  footLabelMethod = compConf.tableFooterExportMethod || compConf.footerExportMethod;
729
732
  }
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}let getConvertColumns=e=>{let 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,r=(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=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(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(l,e,t){let r=l.xeGrid,o=l.xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:r,$gantt:o,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,'""')}"`:_xeUtils.default.eqNull(e)?"":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 toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}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"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(P){let{props:V,reactData:B,internalData:S}=P,{computeTreeOpts:A,computePrintOpts:L,computeExportOpts:q,computeImportOpts:c,computeSeqOpts:i,computeRadioOpts:a,computeCheckboxOpts:s,computeColumnOpts:n,computeAggregateOpts:u}=P.getComputeMaps(),D=(e,t,l,r,o)=>{var a=i.value.seqMethod||r.seqMethod;return a?a({$table:P,row:t,rowIndex:P.getRowIndex(t),_rowIndex:P.getVTRowIndex(t),$rowIndex:l,column:r,columnIndex:P.getColumnIndex(r),_columnIndex:P.getVTColumnIndex(r),$columnIndex:o}):e};function R(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:P}):(e.isTitle?P.getHeaderCellLabel(t):t.field)||""}let O=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,N=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(M,k,e)=>{let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:F}=M;var t=V.treeConfig,l=B.isRowGroupStatus;let{fullColumnFieldData:U,fullAllDataRowIdData:x}=S,j=a.value,I=s.value;var r=A.value;let L=n.value;var o=u.value;htmlCellElem=htmlCellElem||document.createElement("div");let R=(0,_util.createHandleGetRowId)(P).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:w,contentMethod:C,formatValuesMethod:E,mapChildrenField:T}=o,i=[],s={},n={};return _xeUtils.default.eachTree(e,(e,f,t,b,l,r)=>{let v=e._row||e;var o=R(v);if(!n[o]){e=l&&l._row?l._row:l,l=e?R(e):"";if(d||!e||s[l]&&P.isRowExpandByRow(e)){var a=T&&v[T]&&v[T].length;let x={_row:v,_level:r.length-1,_hasChild:a,_expand:a&&P.isRowExpandByRow(v)};k.forEach((e,t)=>{var{field:l,editRender:r,cellRender:o,aggFunc:a,rowGroupNode:i}=e;let s="";var n,d,c,u,p,h,r=r||o;let m=e.exportMethod||L.exportMethod;if(m=(m=!m&&r&&r.name&&(o=renderer.get(r.name))?o.tableExportMethod||o.exportMethod:m)||L.exportMethod)s=m({$table:P,row:v,column:e,options:M});else switch(e.type){case"seq":var g=b.map((e,t)=>t%2==0?Number(e)+1:".").join("");s="all"===F?g:D(g,v,f,e,t);break;case"checkbox":s=O(P.isCheckedByCheckboxRow(v)),x._checkboxLabel=I.labelField?_xeUtils.default.get(v,I.labelField):"",x._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:P,row:v});break;case"radio":s=O(P.isCheckedByRadioRow(v)),x._radioLabel=j.labelField?_xeUtils.default.get(v,j.labelField):"",x._radioDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:v});break;default:l&&v.isAggregate?(n=(n=(g=v).aggData)?n[l]:null,u=g.groupField,d=g.groupContent,h=T&&g[T]||[],c=g.childCount,p=U[u]||{},u={$table:P,groupField:u,groupColumn:p?p.column:null,column:e,groupValue:d,childList:h,childCount:c,aggValue:null,children:h,totalValue:c},("column"===_?l===g.groupField:i)?(s=d,C&&(s=""+C(u)),$&&(s=getI18n("vxe.table.rowGroupContentTotal",[s,y?y(u):c,c]))):P.getPivotTableAggregateCellAggValue?(p={$table:P,row:v,column:e},s=P.getPivotTableAggregateCellAggValue(p)):(!0===a||w&&w.includes(l))&&(s=n?n.value:c,u.aggValue=s,E)&&(s=E(u))):M.original?s=(0,_util.getCellValue)(v,e):(s=P.getCellLabel(v,e),"html"===e.type?(htmlCellElem.innerHTML=s,s=htmlCellElem.innerText.trim()):(h=P.getCellElement(v,e))&&!(0,_dom.hasClass)(h,"is--progress")&&(s=h.innerText.trim()))}x[e.id]=N(s)}),n[o]=!0,l&&(s[l]=!0),i.push(Object.assign(x,v))}}},{children:T}),i}if(t){let u=r.seqMode,p=r.children||r.childrenField,h=[],m={},g={};return _xeUtils.default.eachTree(e,(e,n,t,d,l,r)=>{let c=e._row||e;var o=R(c);if(!g[o]){e=l&&l._row?l._row:l,l=e?R(e):"";if(i||!e||m[l]&&P.isTreeExpandByRow(e)){var a=c[p]&&c[p].length;let i={_row:c,_level:r.length-1,_hasChild:a,_expand:a&&P.isTreeExpandByRow(c)},s=x[o]||{};k.forEach((t,l)=>{let r="";var e,o=t.editRender||t.cellRender;let a=t.exportMethod||L.exportMethod;if(a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:a)||L.exportMethod)r=a({$table:P,row:c,column:t,options:M});else switch(t.type){case"seq":{let e=d.map((e,t)=>t%2==0?Number(e)+1:".").join("");"increasing"===u&&(e=s?s._index+1:-1),r="all"===F?e:D(e,c,n,t,l);break}case"checkbox":r=O(P.isCheckedByCheckboxRow(c)),i._checkboxLabel=I.labelField?_xeUtils.default.get(c,I.labelField):"",i._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:P,row:c});break;case"radio":r=O(P.isCheckedByRadioRow(c)),i._radioLabel=j.labelField?_xeUtils.default.get(c,j.labelField):"",i._radioDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:c});break;default:M.original?r=(0,_util.getCellValue)(c,t):(r=P.getCellLabel(c,t),"html"===t.type?(htmlCellElem.innerHTML=r,r=htmlCellElem.innerText.trim()):(e=P.getCellElement(c,t))&&!(0,_dom.hasClass)(e,"is--progress")&&(r=e.innerText.trim()))}i[t.id]=N(r)}),g[o]=!0,l&&(m[l]=!0),h.push(Object.assign(i,c))}}},{children:p}),h}return e.map((i,s)=>{let n={_row:i};return k.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||L.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:P,row:i,column:e,options:M});else switch(e.type){case"seq":var a=s+1;l="all"===F?a:D(a,i,s,e,t);break;case"checkbox":l=O(P.isCheckedByCheckboxRow(i)),n._checkboxLabel=I.labelField?_xeUtils.default.get(i,I.labelField):"",n._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:P,row:i});break;case"radio":l=O(P.isCheckedByRadioRow(i)),n._radioLabel=j.labelField?_xeUtils.default.get(i,j.labelField):"",n._radioDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=P.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=P.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=N(l)}),n})},p=e=>{let l=P.xeGrid,r=P.xeGantt,{columns:t,dataFilterMethod:o}=e,a=e.data;return o&&(a=a.filter((e,t)=>o({$table:P,$grid:l,$gantt:r,row:e,$rowIndex:t}))),d(e,t,a)},H=(e,t,l)=>{var r=n.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;return(a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod)?(o=P.getVTColumnIndex(l),a({$table:P,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e})):P.getFooterCellLabel(t,l)},o=(e,l,r,t)=>{let o=csvBOM;return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(R(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(H(l,t,e))).join(",")+enterSymbol})),o},h=(e,l,r,t)=>{let o="";return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(R(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(H(l,t,e))).join("\t")+enterSymbol})),o},G=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=B;return r=l||e?r||!0:r},W=e=>`${e.field||""}:`+(e.type||""),m=(c,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:o,align:u,footerAlign:p,showOverflow:h,showHeaderOverflow:a}=V,{isAllSelected:i,isIndeterminate:s}=B,{mergeBodyCellMaps:m,mergeFooterCellMaps:g}=S,n=A.value,{print:x,widthMode:f,isHeader:b,isFooter:v,isColgroup:_,isMerge:$,colgroups:y,_columnConfs:w,original:C}=c,E="auto"===f,T="scale"===f,M=!E&&!T,k={},F=(w&&w.forEach(e=>{(0,_util.isColumnInfo)(e)||(e.field||e.type)&&e.width&&(k[W(e)]=e.width)}),{}),U={};if(x){let o=0;e.forEach(e=>{o+=e.renderWidth}),y&&y.forEach(e=>{e.forEach(r=>{if(r.childNodes&&r.childNodes.length){let t=0,l=0;_xeUtils.default.eachTree([r],e=>{e.childNodes&&r.childNodes.length||l++;e=U[e.id];t+=e||0},{children:"childNodes"});var e=t-l;F[r.id]=e,U[r.id]=_xeUtils.default.floor(e/o*180,2)}})}),e.forEach(e=>{var t=e.renderWidth;e.width&&(F[e.id]=t),U[e.id]=_xeUtils.default.floor(t/o*180,2)})}let j=e=>{var t=W(e),t=k[t];return t?"width:"+(0,_dom.toCssUnit)(t):E||M?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""},I="check-all";let L=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",E?"is--auto-width":"",T?"is--scale-width":"",M?"is--default-width":"",b?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>{return`<col style="${e=e,t=W(e),t=k[t],t?"width:"+(0,_dom.toCssUnit)(t):E?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""}">`;var t}).join("")}</colgroup>`];b&&(L.push("<thead>"),_&&!C?y.forEach(e=>{L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=R(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=R(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),L.push("</thead>")),t.length&&(L.push("<tbody>"),r?t.forEach(o=>{L.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||u,r=G(t,"showOverflow",h)?["col--ellipsis"]:[],l=o[l];if(e&&r.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),r.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${l}</div></div></div></td>`}return"radio"===t.type?`<td class="${r.join(" ")}"><div style="${j(t)}"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}"><div style="${j(t)}"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}">${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{L.push("<tr>"+e.map(e=>{var t=e.align||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if($){var i=P.getVTRowIndex(n._row),s=P.getVTColumnIndex(e),i=m[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div style="${j(e)}"><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div style="${j(e)}"><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),L.push("</tbody>")),v&&(t=B.footerTableData,(t=getFooterData(P,c,t)).length)&&(L.push("<tfoot>"),t.forEach((n,d)=>{L.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||p||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=H(c,n,e);let o=1,a=1;if($){var i=d,s=P.getVTColumnIndex(e),i=g[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),L.push("</tfoot>"));t=!i&&s?`<script>(function(){var a=document.querySelector(".${I}");if(a){a.indeterminate=true}})()</script>`:"";return L.push("</table>",t),x?L.join(""):(0,_util2.createHtmlPage)(c,L.join(""))},g=(l,e,t)=>{let r=['<?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&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${R(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=B.footerTableData,getFooterData(P,l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${H(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},x=(e,t,l,r)=>{if(l.length)switch(t.type){case"csv":return o(e,t,l,r);case"txt":return h(e,t,l,r);case"html":return m(t,l,r);case"xml":return g(t,l,r)}return""},f=(e,t)=>{var{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})},X=l=>{let r=P.xeGrid,o=P.xeGantt,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=l;return new Promise(t=>{if(a){var e={options:l,$table:P,$grid:r,$gantt:o};t(n?n(e):e)}else{let e=p(l);t(P.preventEvent(null,"event.export",{options:l,columns:i,colgroups:s,datas:e},()=>f(l,x(P,l,i,e))))}}).then(e=>(clearColumnConvert(i),l.print||t&&t({status:!0,options:l,$table:P,$grid:r,$gantt:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),l.print||t&&t({status:!1,options:l,$table:P,$grid:r,$gantt:o});return Promise.reject({status:!1})})},b=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),S._importResolve=null,S._importReject=null},r=e=>{l(e),S._importResolve=null,S._importReject=null};if(S._importResolve=e,S._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var o;t.remote?s?Promise.resolve(s({file:a,options:t,$table:P})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=S.tableFullColumn,P.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{errLog("vxe.error.notType",[n]),r({status:!1,msg:"reading file error"})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=S,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=P.getHeaderCellLabel(e);t&&(i[t]=e),l&&(s[l]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?P.createData(c).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?P.insertAt(e,-1):"insertTop"===l.mode?P.insert(e):P.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),o)&&o({status:!1,msg:"field mismatching"})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else errLog("vxe.error.notExp"),e({status:!1,msg:"unsupported browser"})}).then(()=>{t&&t({status:!0,options:i,$table:P})}).catch(e=>(t&&t({status:!1,options:i,$table:P}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1,msg:"type error"}))},K=(e,r,t)=>t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)}),Q=(e,t,l,r,o,a)=>{var i=t.field;return!o[i]&&(l?!!r[i]:!!a[i]||(e.original?!!i:defaultFilterExportColumn(t)))},l=(e,t)=>{var l=P.xeGrid,r=P.xeGantt,o=l||r,{treeConfig:a,showHeader:i,showFooter:s}=V,{initStore:n,isGroup:d,rowGroupList:c,footerTableData:u,exportStore:p,exportParams:h}=B,{collectColumn:m,mergeBodyList:g,mergeFooterList:x}=S,f=q.value,b=L.value,a=!!a,c=0<c.length,v=P.getCheckboxRecords(),o=o?o.getComputeMaps().computeProxyOpts.value:{},u=!!u.length,g=!(!g.length&&!x.length);let _=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:d,isMerge:g,useStyle:!0,current:"current",modes:(o.ajax&&o.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean(_.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),_.isTreeAllExpanded=_.isAllExpand);x=t?[]:_.types||_xeUtils.default.keys(f._typeMaps),i=_.modes||[];let $=(t?b:f).checkMethod;s=m.slice(0);let{columns:y,excludeFields:w,includeFields:C,extraFields:E}=_;o=x.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});let T={},M=(w&&w.length&&w.forEach(e=>{T[e]=1}),{}),k=(C&&C.length&&C.forEach(e=>{M[e]=1}),{}),{filename:F,sheetName:U,mode:j,type:I}=(E&&E.forEach(e=>{k[e]=1}),_xeUtils.default.eachTree(s,(e,t,l,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;var s=k[e.field];i=y?K(_,e,y):w||C?Q(_,e,C,M,T,k):!!s||e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!$&&!$({$table:P,column:e})}),p.columns=s,p.typeList=o,p.modeList=e,p.hasFooter=u,p.hasMerge=g,p.hasTree=a,p.hasRowGroup=c,p.isPrint=!!t,p.hasColgroup=d,p.visible=!0,Object.assign(h,{mode:v.length?"selected":"current"},_),h);return F&&(_xeUtils.default.isFunction(F)?h.filename=F({options:_,$table:P,$grid:l,$gantt:r}):h.filename=""+F),U&&(_xeUtils.default.isFunction(U)?h.sheetName=U({options:_,$table:P,$grid:l,$gantt:r}):h.sheetName=""+U),e.some(e=>e.value===j)||(h.mode=e.length?e[0].value:""),o.some(e=>e.value===I)||(h.type=o.length?o[0].value:""),h.widthMode||(h.widthMode=""),n.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let v={exportData(r){let c=P.xeGrid,u=P.xeGantt;var p=c||u,{treeConfig:e,showHeader:h,showFooter:t}=V,m=B.isGroup;let{tableFullColumn:a,afterFullData:l,afterTreeFullData:o,collectColumn:i,mergeBodyList:s,mergeFooterList:O}=S;var n=q.value,N=A.value;let d=p?p.getComputeMaps().computeProxyOpts.value:{};var g=!(!s.length&&!O.length);let x=Object.assign({message:!0,isHeader:h,isTitle:h,isFooter:t,isColgroup:m,isMerge:g,useStyle:!0,current:"current",modes:(d.ajax&&d.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},n,r),{filename:f,sheetName:b,type:v,mode:_,columns:$,columnFilterMethod:y,beforeExportMethod:w,includeFields:C,excludeFields:E,extraFields:T}=(_xeUtils.default.isBoolean(x.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),x.isTreeAllExpanded=x.isAllExpand),x),M=[],k=P.getCheckboxRecords(),F=(_=_||(k.length?"selected":"current"),{}),U=(E&&E.length&&E.forEach(e=>{F[e]=1}),{}),j=(C&&C.length&&C.forEach(e=>{U[e]=1}),{}),I=(T&&T.forEach(e=>{j[e]=1}),!1),L=[];h=x._columns;L=h?(I=!0,_xeUtils.default.searchTree(h,()=>!0,{children:"_children",mapChildren:"childNodes",original:!0})):$?(I=!0,_xeUtils.default.searchTree($,()=>!0,{children:"children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(i,e=>{var t=e.children&&0<e.children.length;let l=!1;var r=j[e.field];return l=$?K(x,e,$):E||C?Q(x,e,C,U,F,j):!!r||e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let R=Object.assign({},x,{filename:"",sheetName:"",_columnConfs:$}),D=(I||y||(y=({column:e})=>Q(R,e,C,U,F,j),R.columnFilterMethod=y),M=L?(R._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(L,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=P.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=P.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=P.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!y||y({$table:P,$grid:c,$gantt:u,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(m?i:a,(e,t)=>e.visible&&(!y||y({$table:P,$grid:c,$gantt:u,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(M,e=>{e.children&&e.children.length||D.push(e)},{children:"childNodes"}),R.columns=D,R.colgroups=convertToRows(M),f&&(_xeUtils.default.isFunction(f)?R.filename=f({options:x,$table:P,$grid:c,$gantt:u}):R.filename=""+f),R.filename||(R.filename=getI18n(R.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),b&&(_xeUtils.default.isFunction(b)?R.sheetName=b({options:x,$table:P,$grid:c,$gantt:u}):R.sheetName=""+b),R.sheetName||(R.sheetName=document.title||""),!R.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(n._typeMaps),v))return errLog("vxe.error.notType",[v]),["xlsx","pdf"].includes(v)&&warnLog("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1,msg:"type error"});if(!R.print&&w){t=w({options:R,$table:P,$grid:c,$gantt:u});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,msg:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeExportMethod","boolean",t])}if(R.data)R._isCustomData=!0;else{if(R.data=[],"selected"===_)-1<["html","pdf"].indexOf(v)&&e?R.data=_xeUtils.default.searchTree(P.getTableData().fullData,e=>-1<P.findRowIndexOf(k,e),Object.assign({},N,{data:"_row"})):R.data=k;else if("all"===_&&(p||errLog("vxe.error.errProp",["all","mode=current,selected"]),p)&&!R.remote){g=p.reactData,r=p.getComputeMaps().computeProxyOpts;let e=r.value;h=g.sortData;let{beforeQueryAll:l,afterQueryAll:o,ajax:t={}}=e,a=e.response||e.props||{};m=t.beforeQueryAll;let i=t.queryAll,s=t.afterQueryAll,n=t.queryAllSuccess,d=t.queryAllError;if(i||errLog("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),i){let r={$table:P,$grid:c,$gantt:u,sort:h.length?h[0]:{},sorts:h,filters:g.filterData,form:g.formData,options:R},t=()=>Promise.resolve((l||i)(r)).then(t=>{if(s)s(Object.assign(Object.assign({},r),{response:t,status:"success"}));else{var l=a.list;let e=[];l?e=_xeUtils.default.isFunction(l)?l({data:t,$table:P,$grid:c,$gantt:u}):_xeUtils.default.isArray(t)?t:_xeUtils.default.get(t,l):_xeUtils.default.isArray(t)&&(e=t),R.data=e,o&&o(Object.assign(Object.assign({},r),{response:t}))}return n&&n(Object.assign(Object.assign({},r),{response:t})),X(R)}).catch(e=>{s&&s(Object.assign(Object.assign({},r),{response:e,status:"error"})),d&&d(Object.assign(Object.assign({},r),{response:e}))});return m?Promise.resolve(m(r)).then(e=>{if(!1!==e)return t()}):t()}}"current"===_&&(R.data=e?o:l)}return X(R)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;if(l){l=l({options:t,$table:P});if(_xeUtils.default.isBoolean(l)){if(!l)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",l])}return b(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;if(r){t=r({options:l,$table:P});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",t])}return _ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:P}),Promise.reject(e))).then(e=>{e=e.file;return b(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){let l=P.xeGrid,r=P.xeGantt;var t=L.value;let o=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=o.sheetName;let a="",i=(a=(a=t?_xeUtils.default.isFunction(t)?t({options:o,$table:P,$grid:l,$gantt:r}):""+t:a)||document.title||"",o.beforePrintMethod),s=o.printMethod,n=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?n?e(_ui.VxeUI.print({title:a,html:n,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0})):e(v.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:a,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0}))):(errLog("vxe.error.reqComp",["vxe-print"]),t({status:!1,msg:"print not exist"}))})},getPrintHtml(e){var t=L.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return P.exportData(t).then(({content:e})=>({html:e}))},closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},openImport(e){var{treeConfig:t,importConfig:l}=V;let{initStore:r,importStore:o,importParams:a}=B;var i=c.value,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=i.modes||[];!t?(l||errLog("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=q.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return V.exportConfig||errLog("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=L.value,t=Object.assign({message:!0},t,e);return V.printConfig||errLog("vxe.error.reqProp",["print-config"]),l(t,!0)}};return v},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)},setupGantt(e){return e.extendTableMethods(tableExportMethodKeys)}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}let getConvertColumns=e=>{let 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,r=(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=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(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(l,e,t){let r=l.xeGrid,o=l.xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:r,$gantt:o,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,'""')}"`:_xeUtils.default.eqNull(e)?"":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 toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}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"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(P){let{props:V,reactData:B,internalData:S}=P,{computeTreeOpts:A,computePrintOpts:L,computeExportOpts:q,computeImportOpts:c,computeSeqOpts:i,computeRadioOpts:a,computeCheckboxOpts:s,computeColumnOpts:n,computeAggregateOpts:u,computeRendererOpts:p}=P.getComputeMaps(),O=(e,t,l,r,o)=>{var a=i.value.seqMethod||r.seqMethod;return a?a({$table:P,row:t,rowIndex:P.getRowIndex(t),_rowIndex:P.getVTRowIndex(t),$rowIndex:l,column:r,columnIndex:P.getColumnIndex(r),_columnIndex:P.getVTColumnIndex(r),$columnIndex:o}):e};function R(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:P}):(e.isTitle?P.getHeaderCellLabel(t):t.field)||""}let N=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,H=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(M,k,e)=>{let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:F}=M;var t=V.treeConfig,l=B.isRowGroupStatus;let{fullColumnFieldData:U,fullAllDataRowIdData:x}=S,j=a.value,I=s.value;var r=A.value;let L=n.value;var o=u.value;let R=p.value,D=(htmlCellElem=htmlCellElem||document.createElement("div"),(0,_util.createHandleGetRowId)(P)).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:w,contentMethod:C,formatValuesMethod:E,mapChildrenField:T}=o,i=[],s={},n={};return _xeUtils.default.eachTree(e,(e,f,t,b,l,r)=>{let v=e._row||e;var o=D(v);if(!n[o]){e=l&&l._row?l._row:l,l=e?D(e):"";if(d||!e||s[l]&&P.isRowExpandByRow(e)){var a=T&&v[T]&&v[T].length;let x={_row:v,_level:r.length-1,_hasChild:a,_expand:a&&P.isRowExpandByRow(v)};k.forEach((e,t)=>{var{field:l,editRender:r,cellRender:o,aggFunc:a,rowGroupNode:i}=e;let s="";var n,d,c,u,p,h,r=r||o;let m=e.exportMethod||L.exportMethod;if(m=(m=!m&&r&&r.name&&(o=R[r.name]||renderer.get(r.name))?o.tableExportMethod||o.exportMethod:m)||L.exportMethod)s=m({$table:P,row:v,column:e,options:M});else switch(e.type){case"seq":var g=b.map((e,t)=>t%2==0?Number(e)+1:".").join("");s="all"===F?g:O(g,v,f,e,t);break;case"checkbox":s=N(P.isCheckedByCheckboxRow(v)),x._checkboxLabel=I.labelField?_xeUtils.default.get(v,I.labelField):"",x._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:P,row:v});break;case"radio":s=N(P.isCheckedByRadioRow(v)),x._radioLabel=j.labelField?_xeUtils.default.get(v,j.labelField):"",x._radioDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:v});break;default:l&&v.isAggregate?(n=(n=(g=v).aggData)?n[l]:null,u=g.groupField,d=g.groupContent,h=T&&g[T]||[],c=g.childCount,p=U[u]||{},u={$table:P,groupField:u,groupColumn:p?p.column:null,column:e,groupValue:d,childList:h,childCount:c,aggValue:null,children:h,totalValue:c},("column"===_?l===g.groupField:i)?(s=d,C&&(s=""+C(u)),$&&(s=getI18n("vxe.table.rowGroupContentTotal",[s,y?y(u):c,c]))):P.getPivotTableAggregateCellAggValue?(p={$table:P,row:v,column:e},s=P.getPivotTableAggregateCellAggValue(p)):(!0===a||w&&w.includes(l))&&(s=n?n.value:c,u.aggValue=s,E)&&(s=E(u))):M.original?s=(0,_util.getCellValue)(v,e):(s=P.getCellLabel(v,e),"html"===e.type?(htmlCellElem.innerHTML=s,s=htmlCellElem.innerText.trim()):(h=P.getCellElement(v,e))&&!(0,_dom.hasClass)(h,"is--progress")&&(s=h.innerText.trim()))}x[e.id]=H(s)}),n[o]=!0,l&&(s[l]=!0),i.push(Object.assign(x,v))}}},{children:T}),i}if(t){let u=r.seqMode,p=r.children||r.childrenField,h=[],m={},g={};return _xeUtils.default.eachTree(e,(e,n,t,d,l,r)=>{let c=e._row||e;var o=D(c);if(!g[o]){e=l&&l._row?l._row:l,l=e?D(e):"";if(i||!e||m[l]&&P.isTreeExpandByRow(e)){var a=c[p]&&c[p].length;let i={_row:c,_level:r.length-1,_hasChild:a,_expand:a&&P.isTreeExpandByRow(c)},s=x[o]||{};k.forEach((t,l)=>{let r="";var e,o=t.editRender||t.cellRender;let a=t.exportMethod||L.exportMethod;if(a=(a=!a&&o&&o.name&&(o=R[o.name]||renderer.get(o.name))?o.tableExportMethod||o.exportMethod:a)||L.exportMethod)r=a({$table:P,row:c,column:t,options:M});else switch(t.type){case"seq":{let e=d.map((e,t)=>t%2==0?Number(e)+1:".").join("");"increasing"===u&&(e=s?s._index+1:-1),r="all"===F?e:O(e,c,n,t,l);break}case"checkbox":r=N(P.isCheckedByCheckboxRow(c)),i._checkboxLabel=I.labelField?_xeUtils.default.get(c,I.labelField):"",i._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:P,row:c});break;case"radio":r=N(P.isCheckedByRadioRow(c)),i._radioLabel=j.labelField?_xeUtils.default.get(c,j.labelField):"",i._radioDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:c});break;default:M.original?r=(0,_util.getCellValue)(c,t):(r=P.getCellLabel(c,t),"html"===t.type?(htmlCellElem.innerHTML=r,r=htmlCellElem.innerText.trim()):(e=P.getCellElement(c,t))&&!(0,_dom.hasClass)(e,"is--progress")&&(r=e.innerText.trim()))}i[t.id]=H(r)}),g[o]=!0,l&&(m[l]=!0),h.push(Object.assign(i,c))}}},{children:p}),h}return e.map((i,s)=>{let n={_row:i};return k.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||L.exportMethod;if(o=!o&&r&&r.name&&(r=R[r.name]||renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:P,row:i,column:e,options:M});else switch(e.type){case"seq":var a=s+1;l="all"===F?a:O(a,i,s,e,t);break;case"checkbox":l=N(P.isCheckedByCheckboxRow(i)),n._checkboxLabel=I.labelField?_xeUtils.default.get(i,I.labelField):"",n._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:P,row:i});break;case"radio":l=N(P.isCheckedByRadioRow(i)),n._radioLabel=j.labelField?_xeUtils.default.get(i,j.labelField):"",n._radioDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=P.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=P.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=H(l)}),n})},h=e=>{let l=P.xeGrid,r=P.xeGantt,{columns:t,dataFilterMethod:o}=e,a=e.data;return o&&(a=a.filter((e,t)=>o({$table:P,$grid:l,$gantt:r,row:e,$rowIndex:t}))),d(e,t,a)},D=(e,t,l)=>{var r=n.value,o=p.value,a=l.editRender||l.cellRender;let i=l.footerExportMethod;return(i=(i=!i&&a&&a.name&&(o=o[a.name]||renderer.get(a.name))?o.tableFooterExportMethod||o.footerExportMethod:i)||r.footerExportMethod)?(a=P.getVTColumnIndex(l),i({$table:P,items:t,itemIndex:a,row:t,_columnIndex:a,column:l,options:e})):P.getFooterCellLabel(t,l)},o=(e,l,r,t)=>{let o=csvBOM;return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(R(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(D(l,t,e))).join(",")+enterSymbol})),o},m=(e,l,r,t)=>{let o="";return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(R(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(D(l,t,e))).join("\t")+enterSymbol})),o},G=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=B;return r=l||e?r||!0:r},W=e=>`${e.field||""}:`+(e.type||""),g=(c,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:o,align:u,footerAlign:p,showOverflow:h,showHeaderOverflow:a}=V,{isAllSelected:i,isIndeterminate:s}=B,{mergeBodyCellMaps:m,mergeFooterCellMaps:g}=S,n=A.value,{print:x,widthMode:f,isHeader:b,isFooter:v,isColgroup:_,isMerge:$,colgroups:y,_columnConfs:w,original:C}=c,E="auto"===f,T="scale"===f,M=!E&&!T,k={},F=(w&&w.forEach(e=>{(0,_util.isColumnInfo)(e)||(e.field||e.type)&&e.width&&(k[W(e)]=e.width)}),{}),U={};if(x){let o=0;e.forEach(e=>{o+=e.renderWidth}),y&&y.forEach(e=>{e.forEach(r=>{if(r.childNodes&&r.childNodes.length){let t=0,l=0;_xeUtils.default.eachTree([r],e=>{e.childNodes&&r.childNodes.length||l++;e=U[e.id];t+=e||0},{children:"childNodes"});var e=t-l;F[r.id]=e,U[r.id]=_xeUtils.default.floor(e/o*180,2)}})}),e.forEach(e=>{var t=e.renderWidth;e.width&&(F[e.id]=t),U[e.id]=_xeUtils.default.floor(t/o*180,2)})}let j=e=>{var t=W(e),t=k[t];return t?"width:"+(0,_dom.toCssUnit)(t):E||M?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""},I="check-all";let L=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",E?"is--auto-width":"",T?"is--scale-width":"",M?"is--default-width":"",b?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>{return`<col style="${e=e,t=W(e),t=k[t],t?"width:"+(0,_dom.toCssUnit)(t):E?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""}">`;var t}).join("")}</colgroup>`];b&&(L.push("<thead>"),_&&!C?y.forEach(e=>{L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=R(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=R(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),L.push("</thead>")),t.length&&(L.push("<tbody>"),r?t.forEach(o=>{L.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||u,r=G(t,"showOverflow",h)?["col--ellipsis"]:[],l=o[l];if(e&&r.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),r.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${l}</div></div></div></td>`}return"radio"===t.type?`<td class="${r.join(" ")}"><div style="${j(t)}"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}"><div style="${j(t)}"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}">${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{L.push("<tr>"+e.map(e=>{var t=e.align||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if($){var i=P.getVTRowIndex(n._row),s=P.getVTColumnIndex(e),i=m[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div style="${j(e)}"><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div style="${j(e)}"><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),L.push("</tbody>")),v&&(t=B.footerTableData,(t=getFooterData(P,c,t)).length)&&(L.push("<tfoot>"),t.forEach((n,d)=>{L.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||p||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=D(c,n,e);let o=1,a=1;if($){var i=d,s=P.getVTColumnIndex(e),i=g[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),L.push("</tfoot>"));t=!i&&s?`<script>(function(){var a=document.querySelector(".${I}");if(a){a.indeterminate=true}})()</script>`:"";return L.push("</table>",t),x?L.join(""):(0,_util2.createHtmlPage)(c,L.join(""))},x=(l,e,t)=>{let r=['<?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&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${R(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=B.footerTableData,getFooterData(P,l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${D(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},f=(e,t,l,r)=>{if(l.length)switch(t.type){case"csv":return o(e,t,l,r);case"txt":return m(e,t,l,r);case"html":return g(t,l,r);case"xml":return x(t,l,r)}return""},b=(e,t)=>{var{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})},X=l=>{let r=P.xeGrid,o=P.xeGantt,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=l;return new Promise(t=>{if(a){var e={options:l,$table:P,$grid:r,$gantt:o};t(n?n(e):e)}else{let e=h(l);t(P.preventEvent(null,"event.export",{options:l,columns:i,colgroups:s,datas:e},()=>b(l,f(P,l,i,e))))}}).then(e=>(clearColumnConvert(i),l.print||t&&t({status:!0,options:l,$table:P,$grid:r,$gantt:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),l.print||t&&t({status:!1,options:l,$table:P,$grid:r,$gantt:o});return Promise.reject({status:!1})})},v=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),S._importResolve=null,S._importReject=null},r=e=>{l(e),S._importResolve=null,S._importReject=null};if(S._importResolve=e,S._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var o;t.remote?s?Promise.resolve(s({file:a,options:t,$table:P})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=S.tableFullColumn,P.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{errLog("vxe.error.notType",[n]),r({status:!1,msg:"reading file error"})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=S,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=P.getHeaderCellLabel(e);t&&(i[t]=e),l&&(s[l]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?P.createData(c).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?P.insertAt(e,-1):"insertTop"===l.mode?P.insert(e):P.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),o)&&o({status:!1,msg:"field mismatching"})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else errLog("vxe.error.notExp"),e({status:!1,msg:"unsupported browser"})}).then(()=>{t&&t({status:!0,options:i,$table:P})}).catch(e=>(t&&t({status:!1,options:i,$table:P}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1,msg:"type error"}))},K=(e,r,t)=>t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)}),Q=(e,t,l,r,o,a)=>{var i=t.field;return!o[i]&&(l?!!r[i]:!!a[i]||(e.original?!!i:defaultFilterExportColumn(t)))},l=(e,t)=>{var l=P.xeGrid,r=P.xeGantt,o=l||r,{treeConfig:a,showHeader:i,showFooter:s}=V,{initStore:n,isGroup:d,rowGroupList:c,footerTableData:u,exportStore:p,exportParams:h}=B,{collectColumn:m,mergeBodyList:g,mergeFooterList:x}=S,f=q.value,b=L.value,a=!!a,c=0<c.length,v=P.getCheckboxRecords(),o=o?o.getComputeMaps().computeProxyOpts.value:{},u=!!u.length,g=!(!g.length&&!x.length);let _=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:d,isMerge:g,useStyle:!0,current:"current",modes:(o.ajax&&o.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean(_.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),_.isTreeAllExpanded=_.isAllExpand);x=t?[]:_.types||_xeUtils.default.keys(f._typeMaps),i=_.modes||[];let $=(t?b:f).checkMethod;s=m.slice(0);let{columns:y,excludeFields:w,includeFields:C,extraFields:E}=_;o=x.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});let T={},M=(w&&w.length&&w.forEach(e=>{T[e]=1}),{}),k=(C&&C.length&&C.forEach(e=>{M[e]=1}),{}),{filename:F,sheetName:U,mode:j,type:I}=(E&&E.forEach(e=>{k[e]=1}),_xeUtils.default.eachTree(s,(e,t,l,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;var s=k[e.field];i=y?K(_,e,y):w||C?Q(_,e,C,M,T,k):!!s||e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!$&&!$({$table:P,column:e})}),p.columns=s,p.typeList=o,p.modeList=e,p.hasFooter=u,p.hasMerge=g,p.hasTree=a,p.hasRowGroup=c,p.isPrint=!!t,p.hasColgroup=d,p.visible=!0,Object.assign(h,{mode:v.length?"selected":"current"},_),h);return F&&(_xeUtils.default.isFunction(F)?h.filename=F({options:_,$table:P,$grid:l,$gantt:r}):h.filename=""+F),U&&(_xeUtils.default.isFunction(U)?h.sheetName=U({options:_,$table:P,$grid:l,$gantt:r}):h.sheetName=""+U),e.some(e=>e.value===j)||(h.mode=e.length?e[0].value:""),o.some(e=>e.value===I)||(h.type=o.length?o[0].value:""),h.widthMode||(h.widthMode=""),n.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let _={exportData(r){let c=P.xeGrid,u=P.xeGantt;var p=c||u,{treeConfig:e,showHeader:h,showFooter:t}=V,m=B.isGroup;let{tableFullColumn:a,afterFullData:l,afterTreeFullData:o,collectColumn:i,mergeBodyList:s,mergeFooterList:O}=S;var n=q.value,N=A.value;let d=p?p.getComputeMaps().computeProxyOpts.value:{};var g=!(!s.length&&!O.length);let x=Object.assign({message:!0,isHeader:h,isTitle:h,isFooter:t,isColgroup:m,isMerge:g,useStyle:!0,current:"current",modes:(d.ajax&&d.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},n,r),{filename:f,sheetName:b,type:v,mode:_,columns:$,columnFilterMethod:y,beforeExportMethod:w,includeFields:C,excludeFields:E,extraFields:T}=(_xeUtils.default.isBoolean(x.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),x.isTreeAllExpanded=x.isAllExpand),x),M=[],k=P.getCheckboxRecords(),F=(_=_||(k.length?"selected":"current"),{}),U=(E&&E.length&&E.forEach(e=>{F[e]=1}),{}),j=(C&&C.length&&C.forEach(e=>{U[e]=1}),{}),I=(T&&T.forEach(e=>{j[e]=1}),!1),L=[];h=x._columns;L=h?(I=!0,_xeUtils.default.searchTree(h,()=>!0,{children:"_children",mapChildren:"childNodes",original:!0})):$?(I=!0,_xeUtils.default.searchTree($,()=>!0,{children:"children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(i,e=>{var t=e.children&&0<e.children.length;let l=!1;var r=j[e.field];return l=$?K(x,e,$):E||C?Q(x,e,C,U,F,j):!!r||e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let R=Object.assign({},x,{filename:"",sheetName:"",_columnConfs:$}),D=(I||y||(y=({column:e})=>Q(R,e,C,U,F,j),R.columnFilterMethod=y),M=L?(R._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(L,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=P.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=P.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=P.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!y||y({$table:P,$grid:c,$gantt:u,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(m?i:a,(e,t)=>e.visible&&(!y||y({$table:P,$grid:c,$gantt:u,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(M,e=>{e.children&&e.children.length||D.push(e)},{children:"childNodes"}),R.columns=D,R.colgroups=convertToRows(M),f&&(_xeUtils.default.isFunction(f)?R.filename=f({options:x,$table:P,$grid:c,$gantt:u}):R.filename=""+f),R.filename||(R.filename=getI18n(R.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),b&&(_xeUtils.default.isFunction(b)?R.sheetName=b({options:x,$table:P,$grid:c,$gantt:u}):R.sheetName=""+b),R.sheetName||(R.sheetName=document.title||""),!R.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(n._typeMaps),v))return errLog("vxe.error.notType",[v]),["xlsx","pdf"].includes(v)&&warnLog("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1,msg:"type error"});if(!R.print&&w){t=w({options:R,$table:P,$grid:c,$gantt:u});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,msg:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeExportMethod","boolean",t])}if(R.data)R._isCustomData=!0;else{if(R.data=[],"selected"===_)-1<["html","pdf"].indexOf(v)&&e?R.data=_xeUtils.default.searchTree(P.getTableData().fullData,e=>-1<P.findRowIndexOf(k,e),Object.assign({},N,{data:"_row"})):R.data=k;else if("all"===_&&(p||errLog("vxe.error.errProp",["all","mode=current,selected"]),p)&&!R.remote){g=p.reactData,r=p.getComputeMaps().computeProxyOpts;let e=r.value;h=g.sortData;let{beforeQueryAll:l,afterQueryAll:o,ajax:t={}}=e,a=e.response||e.props||{};m=t.beforeQueryAll;let i=t.queryAll,s=t.afterQueryAll,n=t.queryAllSuccess,d=t.queryAllError;if(i||errLog("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),i){let r={$table:P,$grid:c,$gantt:u,sort:h.length?h[0]:{},sorts:h,filters:g.filterData,form:g.formData,options:R},t=()=>Promise.resolve((l||i)(r)).then(t=>{if(s)s(Object.assign(Object.assign({},r),{response:t,status:"success"}));else{var l=a.list;let e=[];l?e=_xeUtils.default.isFunction(l)?l({data:t,$table:P,$grid:c,$gantt:u}):_xeUtils.default.isArray(t)?t:_xeUtils.default.get(t,l):_xeUtils.default.isArray(t)&&(e=t),R.data=e,o&&o(Object.assign(Object.assign({},r),{response:t}))}return n&&n(Object.assign(Object.assign({},r),{response:t})),X(R)}).catch(e=>{s&&s(Object.assign(Object.assign({},r),{response:e,status:"error"})),d&&d(Object.assign(Object.assign({},r),{response:e}))});return m?Promise.resolve(m(r)).then(e=>{if(!1!==e)return t()}):t()}}"current"===_&&(R.data=e?o:l)}return X(R)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;if(l){l=l({options:t,$table:P});if(_xeUtils.default.isBoolean(l)){if(!l)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",l])}return v(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;if(r){t=r({options:l,$table:P});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",t])}return _ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:P}),Promise.reject(e))).then(e=>{e=e.file;return v(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){let l=P.xeGrid,r=P.xeGantt;var t=L.value;let o=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=o.sheetName;let a="",i=(a=(a=t?_xeUtils.default.isFunction(t)?t({options:o,$table:P,$grid:l,$gantt:r}):""+t:a)||document.title||"",o.beforePrintMethod),s=o.printMethod,n=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?n?e(_ui.VxeUI.print({title:a,html:n,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0})):e(_.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:a,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0}))):(errLog("vxe.error.reqComp",["vxe-print"]),t({status:!1,msg:"print not exist"}))})},getPrintHtml(e){var t=L.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return P.exportData(t).then(({content:e})=>({html:e}))},closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},openImport(e){var{treeConfig:t,importConfig:l}=V;let{initStore:r,importStore:o,importParams:a}=B;var i=c.value,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=i.modes||[];!t?(l||errLog("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=q.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return V.exportConfig||errLog("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=L.value,t=Object.assign({message:!0},t,e);return V.printConfig||errLog("vxe.error.reqProp",["print-config"]),l(t,!0)}};return _},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)},setupGantt(e){return e.extendTableMethods(tableExportMethodKeys)}});
@@ -29,7 +29,8 @@ hooks.add('tableFilterModule', {
29
29
  } = $xeTable.getRefMaps();
30
30
  const {
31
31
  computeFilterOpts,
32
- computeMouseOpts
32
+ computeMouseOpts,
33
+ computeRendererOpts
33
34
  } = $xeTable.getComputeMaps();
34
35
  const updatePopupStyle = () => {
35
36
  const {
@@ -47,13 +48,14 @@ hooks.add('tableFilterModule', {
47
48
  }
48
49
  const tableEl = refElem.value;
49
50
  const filterOpts = computeFilterOpts.value;
51
+ const rendererOpts = computeRendererOpts.value;
50
52
  const {
51
53
  maxHeight: customMaxHeight,
52
54
  transfer,
53
55
  zIndex
54
56
  } = filterOpts;
55
57
  const filterRender = column ? column.filterRender : null;
56
- const compConf = filterRender && (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
58
+ const compConf = filterRender && (0, _utils.isEnableConf)(filterRender) && filterRender.name ? rendererOpts[filterRender.name] || renderer.get(filterRender.name) : null;
57
59
  const headerScrollElem = (0, _util.getRefElem)(elemStore['main-header-scroll']);
58
60
  if (!headerScrollElem) {
59
61
  return (0, _vue.nextTick)();
@@ -205,7 +207,8 @@ hooks.add('tableFilterModule', {
205
207
  filterRender
206
208
  } = column;
207
209
  if (filters) {
208
- const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
210
+ const rendererOpts = computeRendererOpts.value;
211
+ const compConf = (0, _utils.isEnableConf)(filterRender) && filterRender.name ? rendererOpts[filterRender.name] || renderer.get(filterRender.name) : null;
209
212
  const frMethod = column.filterResetMethod || (compConf ? compConf.tableFilterResetMethod || compConf.filterResetMethod : null);
210
213
  filters.forEach(item => {
211
214
  item._checked = false;
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,hooks}=_ui.VxeUI,tableFilterMethodKeys=["openFilter","setFilter","clearFilter","saveFilter","saveFilterByEvent","saveFilterPanel","saveFilterPanelByEvent","resetFilter","resetFilterByEvent","resetFilterPanel","resetFilterPanelByEvent","getCheckedFilters","updateFilterOptionStatus"],sourceType="table";hooks.add("tableFilterModule",{setupTable(s){let a=s.xeGrid,u=s.xeGantt,x=a||u,{props:h,reactData:k,internalData:o}=s,{refElem:l,refTableFilter:r}=s.getRefMaps(),{computeFilterOpts:E,computeMouseOpts:f}=s.getComputeMaps(),d=()=>{let d=k.filterStore,c=o.elemStore,{column:s,targetEl:h}=d;if(!s)return(0,_vue.nextTick)();let f=l.value;let{maxHeight:v,transfer:m,zIndex:F}=E.value;var e=s?s.filterRender:null;let p=e&&(0,_utils.isEnableConf)(e)?renderer.get(e.name):null;if(!(0,_util.getRefElem)(c["main-header-scroll"]))return(0,_vue.nextTick)();e=r.value;let _=e?e.getRefMaps().refElem.value:null;if(!_)return(0,_vue.nextTick)();let C=_.querySelector(".vxe-table--filter-header"),g=_.querySelector(".vxe-table--filter-footer"),t=()=>{let e=h;if(h||(r=(r=(0,_util.getRefElem)(c[`${s.fixed||"main"}-header-wrapper`]||c["main-header-wrapper"]))?r.querySelector(".vxe-header--column."+s.id):null)&&(e=r),!e)return(0,_vue.nextTick)();var t,l,r=e.getBoundingClientRect(),i=f.getBoundingClientRect();let n=0,a=0,u=0,o={};o=m?(0,_dom.updatePanelPlacement)(e,_,{defaultPlacement:"bottom",isMinWidth:!1,teleportTo:m}).style:(t=_.offsetWidth,l=h?t/2:(t-s.renderWidth)/2,n=r.left-i.left-l,a=r.top-i.top+e.clientHeight,u=Math.max(40,f.clientHeight-a-(C?C.clientHeight:0)-(g?g.clientHeight:0)-14),n<1?n=1:n>f.clientWidth-t-1&&(n=f.clientWidth-t-1),x&&(l=x.getRefMaps().refElem.value)&&(r=l.getBoundingClientRect(),a+=i.top-r.top),{top:(0,_dom.toCssUnit)(a),left:(0,_dom.toCssUnit)(n)}),F&&(o.zIndex=F),d.style=o,p&&!p.tableFilterAutoHeight?u=0:v&&(u=v>u?u:v),d.maxHeight=u};return t(),(0,_vue.nextTick)().then(()=>{t()})};var e={checkFilterOptions(){var e=k.filterStore,t=e.column;t&&(t=t.filters||[],e.isAllSelected=t.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&t.some(e=>e._checked))},handleOpenFilterColumn(e,t,l,r,i){var{initStore:n,filterStore:a}=k;a.column===r&&a.visible?a.visible=!1:(s.handleFilterOptions(r),o._currFilterParams=i,a.targetEl=t,a.style=null,a.visible=!0,n.filter=!0),(0,_vue.nextTick)().then(()=>{d()}),s.dispatchEvent("filter-visible",{column:r,field:r.field,property:r.field,filterList:s.getCheckedFilters(),visible:a.visible},e)},triggerFilterEvent(e,t,l){var r=o.elemStore,i=t.fixed,i=(0,_util.getRefElem)(r[`${i||"main"}-header-wrapper`]||r["main-header-wrapper"]),r=e.currentTarget,i=i?i.querySelector(".vxe-header--column."+t.id):null;s.handleOpenFilterColumn(e,r,i||r,t,l)},handleClearFilter(e){if(e){var{filters:l,filterRender:r}=e;if(l){r=(0,_utils.isEnableConf)(r)?renderer.get(r.name):null;let t=e.filterResetMethod||(r?r.tableFilterResetMethod||r.filterResetMethod:null);l.forEach(e=>{e._checked=!1,e.checked=!1,t||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),t&&t({options:l,column:e,$table:s})}}},handleColumnConfirmFilter(e,t){var l=h.mouseConfig;let{scrollXLoad:r,scrollYLoad:i}=k;var n=E.value,a=f.value,{field:u,filters:o}=e;let d=[],c=[];(o||[]).forEach(e=>{e.checked&&(d.push(e.value),c.push(e.data))});o=s.getCheckedFilters(),e={$table:s,$event:t,column:e,field:u,property:u,values:d,datas:c,filters:o,filterList:o};return n.remote||(s.handleTableData(!0),s.checkSelectionStatus()),l&&a.area&&s.handleFilterEvent&&s.handleFilterEvent(t,e),t&&s.dispatchEvent("filter-change",e,t),s.closeFilter(),s.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=k;if(r||e||i||t)return(r||e)&&s.updateScrollXSpace(),(i||t)&&s.updateScrollYSpace(),s.refreshScroll()}).then(()=>(s.updateCellAreas(),s.recalculate(!0))).then(()=>{setTimeout(()=>s.recalculate(),50)})},confirmFilterEvent(e,t){t&&s.handleColumnConfirmFilter(t,e)},handleFilterChangeRadioOption(e,t,l){var r=k.filterStore,r=r.column;r&&((r.filters||[]).forEach(e=>{e._checked=!1}),l._checked=t,s.checkFilterOptions(),s.handleFilterConfirmFilter(e,r))},handleFilterChangeMultipleOption(e,t,l){l._checked=t,s.checkFilterOptions()},handleFilterChangeOption(e,t,l){var r=k.filterStore,i=o.fullColumnIdData;let n=r.column;n||(i=i[l._colId])&&(n=i.column,r.column=n),n&&(n.filterMultiple?s.handleFilterChangeMultipleOption(e,t,l):s.handleFilterChangeRadioOption(e,t,l))},handleFilterConfirmFilter(e,t){t&&((t.filters||[]).forEach(e=>{e.checked=e._checked}),s.confirmFilterEvent(e,t))},handleFilterResetFilter(e,t){t&&(s.handleClearFilter(t),s.confirmFilterEvent(e,t),e)&&s.dispatchEvent("clear-filter",{filterList:[]},e)},handleFilterStyle(){var e=k.filterStore;return(e.visible?d:(0,_vue.nextTick))()}};return Object.assign(Object.assign({},{openFilter(e){let n=(0,_util.handleFieldOrColumn)(s,e);if(n&&n.filters){let e=o.elemStore,{fixed:r,filters:i}=n;return s.scrollToColumn(n).then(()=>{var t=(0,_util.getRefElem)(e[`${r||"main"}-header-wrapper`]||e["main-header-wrapper"]);if(t){var l=t.querySelector(`.vxe-header--column.${n.id} .vxe-cell--filter`);if(l)(0,_dom.triggerEvent)(l,"click");else{l=t.querySelector(".vxe-header--column."+n.id);if(l){let e=null;i&&(e=i[0]);t={$table:s,$grid:a,$gantt:u,$rowIndex:-1,column:n,columnIndex:s.getColumnIndex(n),$columnIndex:s.getVMColumnIndex(n),_columnIndex:s.getVTColumnIndex(n),firstFilterOption:e,fixed:r,source:sourceType,type:"header"};s.handleOpenFilterColumn(new Event("click"),null,l,n,t)}}}})}return(0,_vue.nextTick)()},setFilter(e,t,l){var r=k.filterStore,e=(0,_util.handleFieldOrColumn)(s,e);if(e&&e.filters){if(e.filters=(0,_util.toFilters)(t||[],e.id),l)return s.handleColumnConfirmFilter(e,null);r.visible&&s.handleFilterOptions(e)}return(0,_vue.nextTick)()},clearFilter(e){var t=k.filterStore,l=o.tableFullColumn,r=E.value;let i;return e?(i=(0,_util.handleFieldOrColumn)(s,e))&&s.handleClearFilter(i):l.forEach(s.handleClearFilter),e&&i===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),r.remote?(0,_vue.nextTick)():s.updateData()},saveFilter(e){return e&&(e=(0,_util.handleFieldOrColumn)(s,e),s.handleFilterConfirmFilter(null,e)),(0,_vue.nextTick)()},saveFilterByEvent(e,t){return t&&(t=(0,_util.handleFieldOrColumn)(s,t),s.handleFilterConfirmFilter(e,t)),(0,_vue.nextTick)()},resetFilter(e){return e&&(e=(0,_util.handleFieldOrColumn)(s,e),s.handleFilterResetFilter(null,e)),(0,_vue.nextTick)()},resetFilterByEvent(e,t){return t&&(t=(0,_util.handleFieldOrColumn)(s,t),s.handleFilterResetFilter(e,t)),(0,_vue.nextTick)()},saveFilterPanel(){var e=k.filterStore;return s.handleFilterConfirmFilter(null,e.column||null),(0,_vue.nextTick)()},saveFilterPanelByEvent(e){var t=k.filterStore;return s.handleFilterConfirmFilter(e,t.column||null),(0,_vue.nextTick)()},resetFilterPanel(){var e=k.filterStore;return s.handleFilterResetFilter(null,e.column||null),(0,_vue.nextTick)()},resetFilterPanelByEvent(e){var t=k.filterStore;return s.handleFilterResetFilter(e,t.column||null),(0,_vue.nextTick)()},getCheckedFilters(){var e=o.tableFullColumn;let n=[];return e.forEach(e=>{var{field:t,filters:l}=e,l=l||[];let r=[],i=[];l&&(l.forEach(e=>{e.checked&&(r.push(e.value),i.push(e.data))}),r.length)&&n.push({column:e,field:t,property:t,values:r,datas:i})}),n},updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,(0,_vue.nextTick)()}}),e)},setupGrid(e){return e.extendTableMethods(tableFilterMethodKeys)},setupGantt(e){return e.extendTableMethods(tableFilterMethodKeys)}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,hooks}=_ui.VxeUI,tableFilterMethodKeys=["openFilter","setFilter","clearFilter","saveFilter","saveFilterByEvent","saveFilterPanel","saveFilterPanelByEvent","resetFilter","resetFilterByEvent","resetFilterPanel","resetFilterPanelByEvent","getCheckedFilters","updateFilterOptionStatus"],sourceType="table";hooks.add("tableFilterModule",{setupTable(s){let a=s.xeGrid,u=s.xeGantt,x=a||u,{props:h,reactData:k,internalData:o}=s,{refElem:r,refTableFilter:i}=s.getRefMaps(),{computeFilterOpts:E,computeMouseOpts:f,computeRendererOpts:n}=s.getComputeMaps(),d=()=>{let d=k.filterStore,c=o.elemStore,{column:s,targetEl:h}=d;if(!s)return(0,_vue.nextTick)();let f=r.value;var e=E.value,t=n.value;let{maxHeight:m,transfer:v,zIndex:F}=e;e=s?s.filterRender:null;let p=e&&(0,_utils.isEnableConf)(e)&&e.name?t[e.name]||renderer.get(e.name):null;if(!(0,_util.getRefElem)(c["main-header-scroll"]))return(0,_vue.nextTick)();t=i.value;let _=t?t.getRefMaps().refElem.value:null;if(!_)return(0,_vue.nextTick)();let C=_.querySelector(".vxe-table--filter-header"),g=_.querySelector(".vxe-table--filter-footer"),l=()=>{let e=h;if(h||(r=(r=(0,_util.getRefElem)(c[`${s.fixed||"main"}-header-wrapper`]||c["main-header-wrapper"]))?r.querySelector(".vxe-header--column."+s.id):null)&&(e=r),!e)return(0,_vue.nextTick)();var t,l,r=e.getBoundingClientRect(),i=f.getBoundingClientRect();let n=0,a=0,u=0,o={};o=v?(0,_dom.updatePanelPlacement)(e,_,{defaultPlacement:"bottom",isMinWidth:!1,teleportTo:v}).style:(t=_.offsetWidth,l=h?t/2:(t-s.renderWidth)/2,n=r.left-i.left-l,a=r.top-i.top+e.clientHeight,u=Math.max(40,f.clientHeight-a-(C?C.clientHeight:0)-(g?g.clientHeight:0)-14),n<1?n=1:n>f.clientWidth-t-1&&(n=f.clientWidth-t-1),x&&(l=x.getRefMaps().refElem.value)&&(r=l.getBoundingClientRect(),a+=i.top-r.top),{top:(0,_dom.toCssUnit)(a),left:(0,_dom.toCssUnit)(n)}),F&&(o.zIndex=F),d.style=o,p&&!p.tableFilterAutoHeight?u=0:m&&(u=m>u?u:m),d.maxHeight=u};return l(),(0,_vue.nextTick)().then(()=>{l()})};var e={checkFilterOptions(){var e=k.filterStore,t=e.column;t&&(t=t.filters||[],e.isAllSelected=t.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&t.some(e=>e._checked))},handleOpenFilterColumn(e,t,l,r,i){var{initStore:n,filterStore:a}=k;a.column===r&&a.visible?a.visible=!1:(s.handleFilterOptions(r),o._currFilterParams=i,a.targetEl=t,a.style=null,a.visible=!0,n.filter=!0),(0,_vue.nextTick)().then(()=>{d()}),s.dispatchEvent("filter-visible",{column:r,field:r.field,property:r.field,filterList:s.getCheckedFilters(),visible:a.visible},e)},triggerFilterEvent(e,t,l){var r=o.elemStore,i=t.fixed,i=(0,_util.getRefElem)(r[`${i||"main"}-header-wrapper`]||r["main-header-wrapper"]),r=e.currentTarget,i=i?i.querySelector(".vxe-header--column."+t.id):null;s.handleOpenFilterColumn(e,r,i||r,t,l)},handleClearFilter(e){if(e){var{filters:l,filterRender:r}=e;if(l){var i=n.value,i=(0,_utils.isEnableConf)(r)&&r.name?i[r.name]||renderer.get(r.name):null;let t=e.filterResetMethod||(i?i.tableFilterResetMethod||i.filterResetMethod:null);l.forEach(e=>{e._checked=!1,e.checked=!1,t||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),t&&t({options:l,column:e,$table:s})}}},handleColumnConfirmFilter(e,t){var l=h.mouseConfig;let{scrollXLoad:r,scrollYLoad:i}=k;var n=E.value,a=f.value,{field:u,filters:o}=e;let d=[],c=[];(o||[]).forEach(e=>{e.checked&&(d.push(e.value),c.push(e.data))});o=s.getCheckedFilters(),e={$table:s,$event:t,column:e,field:u,property:u,values:d,datas:c,filters:o,filterList:o};return n.remote||(s.handleTableData(!0),s.checkSelectionStatus()),l&&a.area&&s.handleFilterEvent&&s.handleFilterEvent(t,e),t&&s.dispatchEvent("filter-change",e,t),s.closeFilter(),s.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=k;if(r||e||i||t)return(r||e)&&s.updateScrollXSpace(),(i||t)&&s.updateScrollYSpace(),s.refreshScroll()}).then(()=>(s.updateCellAreas(),s.recalculate(!0))).then(()=>{setTimeout(()=>s.recalculate(),50)})},confirmFilterEvent(e,t){t&&s.handleColumnConfirmFilter(t,e)},handleFilterChangeRadioOption(e,t,l){var r=k.filterStore,r=r.column;r&&((r.filters||[]).forEach(e=>{e._checked=!1}),l._checked=t,s.checkFilterOptions(),s.handleFilterConfirmFilter(e,r))},handleFilterChangeMultipleOption(e,t,l){l._checked=t,s.checkFilterOptions()},handleFilterChangeOption(e,t,l){var r=k.filterStore,i=o.fullColumnIdData;let n=r.column;n||(i=i[l._colId])&&(n=i.column,r.column=n),n&&(n.filterMultiple?s.handleFilterChangeMultipleOption(e,t,l):s.handleFilterChangeRadioOption(e,t,l))},handleFilterConfirmFilter(e,t){t&&((t.filters||[]).forEach(e=>{e.checked=e._checked}),s.confirmFilterEvent(e,t))},handleFilterResetFilter(e,t){t&&(s.handleClearFilter(t),s.confirmFilterEvent(e,t),e)&&s.dispatchEvent("clear-filter",{filterList:[]},e)},handleFilterStyle(){var e=k.filterStore;return(e.visible?d:(0,_vue.nextTick))()}};return Object.assign(Object.assign({},{openFilter(e){let n=(0,_util.handleFieldOrColumn)(s,e);if(n&&n.filters){let e=o.elemStore,{fixed:r,filters:i}=n;return s.scrollToColumn(n).then(()=>{var t=(0,_util.getRefElem)(e[`${r||"main"}-header-wrapper`]||e["main-header-wrapper"]);if(t){var l=t.querySelector(`.vxe-header--column.${n.id} .vxe-cell--filter`);if(l)(0,_dom.triggerEvent)(l,"click");else{l=t.querySelector(".vxe-header--column."+n.id);if(l){let e=null;i&&(e=i[0]);t={$table:s,$grid:a,$gantt:u,$rowIndex:-1,column:n,columnIndex:s.getColumnIndex(n),$columnIndex:s.getVMColumnIndex(n),_columnIndex:s.getVTColumnIndex(n),firstFilterOption:e,fixed:r,source:sourceType,type:"header"};s.handleOpenFilterColumn(new Event("click"),null,l,n,t)}}}})}return(0,_vue.nextTick)()},setFilter(e,t,l){var r=k.filterStore,e=(0,_util.handleFieldOrColumn)(s,e);if(e&&e.filters){if(e.filters=(0,_util.toFilters)(t||[],e.id),l)return s.handleColumnConfirmFilter(e,null);r.visible&&s.handleFilterOptions(e)}return(0,_vue.nextTick)()},clearFilter(e){var t=k.filterStore,l=o.tableFullColumn,r=E.value;let i;return e?(i=(0,_util.handleFieldOrColumn)(s,e))&&s.handleClearFilter(i):l.forEach(s.handleClearFilter),e&&i===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),r.remote?(0,_vue.nextTick)():s.updateData()},saveFilter(e){return e&&(e=(0,_util.handleFieldOrColumn)(s,e),s.handleFilterConfirmFilter(null,e)),(0,_vue.nextTick)()},saveFilterByEvent(e,t){return t&&(t=(0,_util.handleFieldOrColumn)(s,t),s.handleFilterConfirmFilter(e,t)),(0,_vue.nextTick)()},resetFilter(e){return e&&(e=(0,_util.handleFieldOrColumn)(s,e),s.handleFilterResetFilter(null,e)),(0,_vue.nextTick)()},resetFilterByEvent(e,t){return t&&(t=(0,_util.handleFieldOrColumn)(s,t),s.handleFilterResetFilter(e,t)),(0,_vue.nextTick)()},saveFilterPanel(){var e=k.filterStore;return s.handleFilterConfirmFilter(null,e.column||null),(0,_vue.nextTick)()},saveFilterPanelByEvent(e){var t=k.filterStore;return s.handleFilterConfirmFilter(e,t.column||null),(0,_vue.nextTick)()},resetFilterPanel(){var e=k.filterStore;return s.handleFilterResetFilter(null,e.column||null),(0,_vue.nextTick)()},resetFilterPanelByEvent(e){var t=k.filterStore;return s.handleFilterResetFilter(e,t.column||null),(0,_vue.nextTick)()},getCheckedFilters(){var e=o.tableFullColumn;let n=[];return e.forEach(e=>{var{field:t,filters:l}=e,l=l||[];let r=[],i=[];l&&(l.forEach(e=>{e.checked&&(r.push(e.value),i.push(e.data))}),r.length)&&n.push({column:e,field:t,property:t,values:r,datas:i})}),n},updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,(0,_vue.nextTick)()}}),e)},setupGrid(e){return e.extendTableMethods(tableFilterMethodKeys)},setupGantt(e){return e.extendTableMethods(tableFilterMethodKeys)}});
@@ -39,7 +39,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
39
39
  getComputeMaps
40
40
  } = $xeTable;
41
41
  const {
42
- computeFilterOpts
42
+ computeFilterOpts,
43
+ computeRendererOpts
43
44
  } = getComputeMaps();
44
45
  const refElem = (0, _vue.ref)();
45
46
  const refMaps = {
@@ -228,6 +229,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
228
229
  return [];
229
230
  }
230
231
  const filterOpts = computeFilterOpts.value;
232
+ const rendererOpts = computeRendererOpts.value;
231
233
  const hasCheckOption = computeHasCheckOption.value;
232
234
  const {
233
235
  filterRender,
@@ -238,7 +240,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
238
240
  resetButtonText,
239
241
  showFooter
240
242
  } = filterOpts;
241
- const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
243
+ const compConf = filterRender && (0, _utils.isEnableConf)(filterRender) && filterRender.name ? rendererOpts[filterRender.name] || renderer.get(filterRender.name) : null;
242
244
  const isDisabled = !hasCheckOption && !filterStore.isAllSelected && !filterStore.isIndeterminate;
243
245
  let showFlFoot = !!filterMultiple;
244
246
  if (_xeUtils.default.isBoolean(showFooter)) {
@@ -272,8 +274,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
272
274
  if (!column) {
273
275
  return renderEmptyElement($xeFilterPanel);
274
276
  }
277
+ const rendererOpts = computeRendererOpts.value;
275
278
  const filterRender = column ? column.filterRender : null;
276
- const compConf = filterRender && (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
279
+ const compConf = filterRender && (0, _utils.isEnableConf)(filterRender) && filterRender.name ? rendererOpts[filterRender.name] || renderer.get(filterRender.name) : null;
277
280
  const filterClassName = compConf ? compConf.tableFilterClassName || compConf.filterClassName : '';
278
281
  const params = Object.assign({}, tableInternalData._currFilterParams, {
279
282
  $panel: $xeFilterPanel,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_vn=require("../../../ui/src/vn"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let warnLog=(0,_log.createComponentLog)("table").warnLog,{getI18n,getIcon,renderer,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableFilterPanel",props:{filterStore:{type:Object,default:()=>({})}},setup(_,e){var t=_xeUtils.default.uniqueId();let f=(0,_vue.inject)("$xeTable",{}),{reactData:p,internalData:m,getComputeMaps:l}=f,h=l().computeFilterOpts,b=(0,_vue.ref)(),r={refElem:b},x={xID:t,props:_,context:e,getRefMaps:()=>r},g=(0,_vue.computed)(()=>{var e=_.filterStore,e=e.column;return e&&e.filters&&e.filters.some(e=>e.checked)}),i=(e,t)=>{var l=_.filterStore,r=l.column;r&&r.filters&&r.filters.forEach(e=>{e._checked=t,e.checked=t}),l.isAllSelected=t,l.isIndeterminate=!1},C=e=>{var t=_.filterStore;e||warnLog("vxe.error.delFunc",["confirmFilter","saveFilterPanelByEvent"]),f.handleFilterConfirmFilter(e||new Event("click"),t.column||null)};let E=e=>{var t=_.filterStore;f.handleFilterResetFilter(e,t.column||null)};let F=(e,t,l)=>{f.handleFilterChangeOption(e,t,l)},I=(e,t)=>{var l=_.filterStore,l=l.column;l&&l.filterMultiple?i(0,t):E(e)};t={changeRadioOption:(e,t,l)=>{f.handleFilterChangeRadioOption(e,t,l)},changeMultipleOption:(e,t,l)=>{f.handleFilterChangeMultipleOption(e,t,l)},changeAllOption:I,changeOption:F,confirmFilter:C,resetFilter:E};Object.assign(x,t);return x.renderVN=()=>{var e,t,l,r,i,a,n,o,s,u=_.filterStore,c=p.initStore,{visible:d,column:v}=u;return v?(l=(t=(e=v?v.filterRender:null)&&(0,_utils.isEnableConf)(e)?renderer.get(e.name):null)?t.tableFilterClassName||t.filterClassName:"",r=Object.assign({},m._currFilterParams,{$panel:x,$table:f}),i=f.props,a=f.getComputeMaps().computeSize,a=a.value,{transfer:n,destroyOnClose:o,className:s}=h.value,(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!n},[(0,_vue.h)("div",{ref:b,class:["vxe-table--filter-wrapper","filter--prevent-default",s,(0,_dom.getPropClass)(l,r),{["size--"+a]:a,"is--animat":i.animat,"is--multiple":v.filterMultiple,"is--active":d}],style:u.style},c.filter&&(!o||d)&&v?((e,t)=>{let l=_.filterStore;var{column:r,maxHeight:i}=l;if(!r)return[];let{filterMultiple:a,filters:n,slots:o}=r;var r=n||[],s=o?o.filter:null,u=Object.assign({},m._currFilterParams,{option:r[0],$panel:x,$table:f}),t=t?t.renderTableFilter||t.renderFilter:null;return s?[(0,_vue.h)("div",{class:"vxe-table--filter-template",style:i?{maxHeight:(0,_dom.toCssUnit)(i)}:{}},f.callSlot(s,u))]:e&&t?[(0,_vue.h)("div",{class:"vxe-table--filter-template",style:i?{maxHeight:(0,_dom.toCssUnit)(i)}:{}},(0,_vn.getSlotVNs)(t(e,u)))]:(s=a?l.isAllSelected:!r.some(e=>e._checked),t=a&&l.isIndeterminate,[(0,_vue.h)("ul",{class:"vxe-table--filter-header"},[(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":s,"is--indeterminate":t}],title:getI18n(a?"vxe.table.allTitle":"vxe.table.allFilter"),onClick:e=>{I(e,!l.isAllSelected)}},(a?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),(0,_vue.h)("ul",{class:"vxe-table--filter-body",style:i?{maxHeight:(0,_dom.toCssUnit)(i)}:{}},r.map(t=>{var e=t._checked;return(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":t._checked}],title:t.label,onClick:e=>{F(e,!t._checked,t)}},(a?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])})(e,t).concat((()=>{var e=_.filterStore,t=e.column;if(!t)return[];var l=h.value,r=g.value,{filterRender:t,filterMultiple:i}=t,{confirmButtonText:l,resetButtonText:a,showFooter:n}=l,t=(0,_utils.isEnableConf)(t)?renderer.get(t.name):null,r=!r&&!e.isAllSelected&&!e.isIndeterminate;let o=!!i;return _xeUtils.default.isBoolean(n)?o=n:t&&(o=!(!1===t.showTableFilterFooter||!1===t.showFilterFooter||!1===t.isFooter)),o?[(0,_vue.h)("div",{class:"vxe-table--filter-footer"},[(0,_vue.h)("button",{class:{"is--disabled":r},disabled:r,onClick:C},l||getI18n("vxe.table.confirmFilter")),(0,_vue.h)("button",{onClick:E},a||getI18n("vxe.table.resetFilter"))])]:[]})()):[])])):renderEmptyElement(x)},x},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_vn=require("../../../ui/src/vn"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let warnLog=(0,_log.createComponentLog)("table").warnLog,{getI18n,getIcon,renderer,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableFilterPanel",props:{filterStore:{type:Object,default:()=>({})}},setup(m,e){var t=_xeUtils.default.uniqueId();let _=(0,_vue.inject)("$xeTable",{}),{reactData:p,internalData:f,getComputeMaps:l}=_,{computeFilterOpts:h,computeRendererOpts:b}=l(),x=(0,_vue.ref)(),r={refElem:x},g={xID:t,props:m,context:e,getRefMaps:()=>r},C=(0,_vue.computed)(()=>{var e=m.filterStore,e=e.column;return e&&e.filters&&e.filters.some(e=>e.checked)}),i=(e,t)=>{var l=m.filterStore,r=l.column;r&&r.filters&&r.filters.forEach(e=>{e._checked=t,e.checked=t}),l.isAllSelected=t,l.isIndeterminate=!1},E=e=>{var t=m.filterStore;e||warnLog("vxe.error.delFunc",["confirmFilter","saveFilterPanelByEvent"]),_.handleFilterConfirmFilter(e||new Event("click"),t.column||null)};let F=e=>{var t=m.filterStore;_.handleFilterResetFilter(e,t.column||null)};let O=(e,t,l)=>{_.handleFilterChangeOption(e,t,l)},I=(e,t)=>{var l=m.filterStore,l=l.column;l&&l.filterMultiple?i(0,t):F(e)};t={changeRadioOption:(e,t,l)=>{_.handleFilterChangeRadioOption(e,t,l)},changeMultipleOption:(e,t,l)=>{_.handleFilterChangeMultipleOption(e,t,l)},changeAllOption:I,changeOption:O,confirmFilter:E,resetFilter:F};Object.assign(g,t);return g.renderVN=()=>{var e,t,l,r,i,a,n,o,s,u=m.filterStore,c=p.initStore,{visible:v,column:d}=u;return d?(t=b.value,l=(t=(e=d?d.filterRender:null)&&(0,_utils.isEnableConf)(e)&&e.name?t[e.name]||renderer.get(e.name):null)?t.tableFilterClassName||t.filterClassName:"",r=Object.assign({},f._currFilterParams,{$panel:g,$table:_}),i=_.props,a=_.getComputeMaps().computeSize,a=a.value,{transfer:n,destroyOnClose:o,className:s}=h.value,(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!n},[(0,_vue.h)("div",{ref:x,class:["vxe-table--filter-wrapper","filter--prevent-default",s,(0,_dom.getPropClass)(l,r),{["size--"+a]:a,"is--animat":i.animat,"is--multiple":d.filterMultiple,"is--active":v}],style:u.style},c.filter&&(!o||v)&&d?((e,t)=>{let l=m.filterStore;var{column:r,maxHeight:i}=l;if(!r)return[];let{filterMultiple:a,filters:n,slots:o}=r;var r=n||[],s=o?o.filter:null,u=Object.assign({},f._currFilterParams,{option:r[0],$panel:g,$table:_}),t=t?t.renderTableFilter||t.renderFilter:null;return s?[(0,_vue.h)("div",{class:"vxe-table--filter-template",style:i?{maxHeight:(0,_dom.toCssUnit)(i)}:{}},_.callSlot(s,u))]:e&&t?[(0,_vue.h)("div",{class:"vxe-table--filter-template",style:i?{maxHeight:(0,_dom.toCssUnit)(i)}:{}},(0,_vn.getSlotVNs)(t(e,u)))]:(s=a?l.isAllSelected:!r.some(e=>e._checked),t=a&&l.isIndeterminate,[(0,_vue.h)("ul",{class:"vxe-table--filter-header"},[(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":s,"is--indeterminate":t}],title:getI18n(a?"vxe.table.allTitle":"vxe.table.allFilter"),onClick:e=>{I(e,!l.isAllSelected)}},(a?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),(0,_vue.h)("ul",{class:"vxe-table--filter-body",style:i?{maxHeight:(0,_dom.toCssUnit)(i)}:{}},r.map(t=>{var e=t._checked;return(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":t._checked}],title:t.label,onClick:e=>{O(e,!t._checked,t)}},(a?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])})(e,t).concat((()=>{var e=m.filterStore,t=e.column;if(!t)return[];var l=h.value,r=b.value,i=C.value,{filterRender:t,filterMultiple:a}=t,{confirmButtonText:l,resetButtonText:n,showFooter:o}=l,r=t&&(0,_utils.isEnableConf)(t)&&t.name?r[t.name]||renderer.get(t.name):null,t=!i&&!e.isAllSelected&&!e.isIndeterminate;let s=!!a;return _xeUtils.default.isBoolean(o)?s=o:r&&(s=!(!1===r.showTableFilterFooter||!1===r.showFilterFooter||!1===r.isFooter)),s?[(0,_vue.h)("div",{class:"vxe-table--filter-footer"},[(0,_vue.h)("button",{class:{"is--disabled":t},disabled:t,onClick:E},l||getI18n("vxe.table.confirmFilter")),(0,_vue.h)("button",{onClick:F},n||getI18n("vxe.table.resetFilter"))])]:[]})()):[])])):renderEmptyElement(g)},g},render(){return this.renderVN()}});
@@ -60,7 +60,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
60
60
  computeResizableOpts,
61
61
  computeVirtualXOpts,
62
62
  computeVirtualYOpts,
63
- computeIsBodyRenderOptimize
63
+ computeIsBodyRenderOptimize,
64
+ computeRendererOpts
64
65
  } = $xeTable.getComputeMaps();
65
66
  const refElem = (0, _vue.ref)();
66
67
  const refBodyScroll = (0, _vue.ref)();
@@ -199,6 +200,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
199
200
  const resizableOpts = computeResizableOpts.value;
200
201
  const virtualXOpts = computeVirtualXOpts.value;
201
202
  const virtualYOpts = computeVirtualYOpts.value;
203
+ const rendererOpts = computeRendererOpts.value;
202
204
  const {
203
205
  isAllColumnDrag,
204
206
  isAllRowDrag
@@ -245,7 +247,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
245
247
  const colid = column.id;
246
248
  const colRest = fullColumnIdData[colid] || {};
247
249
  const renderOpts = editRender || cellRender;
248
- const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
250
+ const compConf = renderOpts && renderOpts.name ? rendererOpts[renderOpts.name] || renderer.get(renderOpts.name) : null;
249
251
  const compCellClassName = compConf ? compConf.tableCellClassName || compConf.cellClassName : null;
250
252
  const compCellStyle = compConf ? compConf.tableCellStyle || compConf.cellStyle : '';
251
253
  const showAllTip = tooltipOpts.showAll;
@@ -936,7 +938,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
936
938
  if (emptySlot) {
937
939
  emptyContent = $xeTable.callSlot(emptySlot, emptyParams);
938
940
  } else {
939
- const compConf = emptyOpts.name ? renderer.get(emptyOpts.name) : null;
941
+ const rendererOpts = computeRendererOpts.value;
942
+ const compConf = emptyOpts.name ? rendererOpts[emptyOpts.name] || renderer.get(emptyOpts.name) : null;
940
943
  const rtEmptyView = compConf ? compConf.renderTableEmpty || compConf.renderTableEmptyView || compConf.renderEmpty : null;
941
944
  if (rtEmptyView) {
942
945
  emptyContent = (0, _vn.getSlotVNs)(rtEmptyView(emptyOpts, emptyParams));