vxe-table 4.13.37 → 4.13.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/module/edit/hook.js +2 -2
- package/es/table/src/body.js +1 -1
- package/es/table/src/table.js +3 -1
- package/es/ui/index.js +2 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +7 -6
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +2 -2
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/src/body.js +1 -1
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +1 -1
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +2 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/table/module/edit/hook.ts +2 -2
- package/packages/table/src/body.ts +1 -1
- package/packages/table/src/table.ts +3 -1
- package/packages/ui/index.ts +1 -0
- /package/es/{iconfont.1749517680224.ttf → iconfont.1749800539928.ttf} +0 -0
- /package/es/{iconfont.1749517680224.woff → iconfont.1749800539928.woff} +0 -0
- /package/es/{iconfont.1749517680224.woff2 → iconfont.1749800539928.woff2} +0 -0
- /package/lib/{iconfont.1749517680224.ttf → iconfont.1749800539928.ttf} +0 -0
- /package/lib/{iconfont.1749517680224.woff → iconfont.1749800539928.woff} +0 -0
- /package/lib/{iconfont.1749517680224.woff2 → iconfont.1749800539928.woff2} +0 -0
|
@@ -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{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(p){let{props:R,reactData:m,internalData:C}=p,o=p.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:x,computeCheckboxOpts:_,computeTreeOpts:E,computeValidOpts:n}=p.getComputeMaps(),s=_xeUtils.default.browse(),I={},g={},b=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=m,l=x.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},F=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=C;var l=E.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,v=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(p,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,a=u[(0,_util.getRowid)(p,o)],a=a?a.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[w]=[]),e[v](l),t[v](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[v](l),i[v](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=a,u[r]=a}})},u=(t,l,d)=>{let o=R.treeConfig,{tableFullTreeData:e,afterFullData:a,mergeBodyList:i,tableFullData:n,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:r}=C,c=E.value,{transform:g,rowField:w,mapChildrenField:v}=c,f=c.children||c.childrenField,h=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(p.defineField(t.map(e=>Object.assign(o&&g?{[v]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&g?F(h,!1):(h.forEach(e=>{var t=(0,_util.getRowid)(p,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.unshift(e),n.unshift(e)}),i.forEach(e=>{var t=e.row;0<t&&(e.row=t+h.length)}));else if(-1===l)o&&g?F(h,!0):(h.forEach(e=>{var t=(0,_util.getRowid)(p,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.push(e),n.push(e)}),i.forEach(e=>{var{row:t,rowspan:l}=e;t+l>a.length&&(e.rowspan=l+h.length)}));else if(o&&g){let n=_xeUtils.default.findTree(e,e=>l[w]===e[w],{children:v});if(n){let o=n.parent,a=o?o[v]:e;t=s[(0,_util.getRowid)(p,o)];let i=t?t.level:0;if(h.forEach((e,t)=>{var l=(0,_util.getRowid)(p,e);e[c.parentField]&&o&&e[c.parentField]!==o[w]&&(0,_log.errLog)("vxe.error.errProp",[c.parentField+"="+e[c.parentField],c.parentField+"="+o[w]]),o&&(e[c.parentField]=o[w]);let r=n.index+t;d&&(r+=1),a.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,s[l]=t}),o){t=_xeUtils.default.findTree(e,e=>l[w]===e[w],{children:f});if(t){var x=t.items;let e=t.index;d&&(e+=1),x.splice(e,0,...h)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),F(h,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<a.length&&(r=l):r=p.findRowIndexOf(a,l),-1===(r=d?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...h);t=p.findRowIndexOf(n,l);-1<t?n.splice(t+(d?1:0),0,...h):n.push(...h),i.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+h.length:t+l>r&&(e.rowspan=l+h.length)})}return h.forEach(e=>{var t=(0,_util.getRowid)(p,e);r[t]=e}),m.insertRowFlag++,p.cacheRowMap(!1),p.updateScrollYStatus(),p.handleTableData(o&&g),o&&g||p.updateAfterDataIndex(),p.updateFooter(),p.handleUpdateBodyMerge(),p.checkSelectionStatus(),m.scrollYLoad&&p.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(p.updateCellAreas(),p.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:a,rowField:i,parentField:n}=E.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=m.editStore,{actived:l,focused:r}=l,{row:o,column:a}=l,i=n.value;if(o||a){if(t&&(0,_util.getRowid)(p,t)!==(0,_util.getRowid)(p,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,p.updateFooter(),p.dispatchEvent("edit-closed",{row:o,rowIndex:p.getRowIndex(o),$rowIndex:p.getVMRowIndex(o),column:a,columnIndex:p.getColumnIndex(a),$columnIndex:p.getVMColumnIndex(a)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&p.clearValidate?p.clearValidate():(0,_vue.nextTick)().then(()=>p.updateCellAreas())},i=(l,r,o,e)=>{let a=p.xeGrid;var{editConfig:t,mouseConfig:i}=R,{editStore:n,tableColumn:d}=m,u=x.value,s=u.mode,{actived:n,focused:c}=n;let{row:g,column:w}=l;var v=w.editRender,f=l.cell||p.getCellElement(g,w),h=u.beforeEditMethod||u.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(v)&&!p.isPendingByRow(g)&&!p.isAggregateRecord(g)){if(n.row!==g||"cell"===s&&n.column!==w){let t="edit-disabled";if(!h||h(Object.assign(Object.assign({},l),{$table:p,$grid:a}))){i&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),p.closeTooltip(),n.column&&A(r),t="edit-activated",w.renderHeight=f.offsetHeight,n.args=l,n.row=g,n.column=w,"row"===s?d.forEach(e=>b(g,e)):b(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{o&&p.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:p,$grid:a}))})}p.dispatchEvent(t,{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r),"edit-activated"===t&&p.dispatchEvent("edit-actived",{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r)}else{t=n.column;i&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),t!==w&&(v=t.model,v.update&&(0,_util.setCellValue)(g,t,v.value),p.clearValidate)&&p.clearValidate(g,w),w.renderHeight=f.offsetHeight,n.args=l,n.column=w,e&&setTimeout(()=>{p.handleFocus(l,r)})}c.column=null,c.row=null,p.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?p.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)&&!p.isAggregateRecord(t)?Promise.resolve(l?p.scrollToRow(t,o):null).then(()=>{var e=p.getCellElement(t,o);return e&&(i({row:t,rowIndex:p.getRowIndex(t),column:o,columnIndex:p.getColumnIndex(o),cell:e,$table:p},null,l,l),C._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={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=R.treeConfig,l=m.editStore;let{tableFullTreeData:r,selectCheckboxMaps:o,afterFullData:a,mergeBodyList:i,tableFullData:n,pendingRowMaps:d,insertRowMaps:u,removeRowMaps:s}=C;var c=_.value,g=E.value;let{transform:w,mapChildrenField:v}=g,f=g.children||g.childrenField;g=l.actived,l=c.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;p.isInsertByRow(e)||(t=(0,_util.getRowid)(p,e),s[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(p,e);o[e]&&delete o[e]}),m.updateCheckboxFlag++),n===e?(e=h=n.slice(0),C.tableFullData=[],C.afterFullData=[],p.clearMergeCells()):t&&w?e.forEach(e=>{let t=(0,_util.getRowid)(p,e);var l=_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(p,e),{children:v}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(p,e),{children:f})),l=(l&&l.items.splice(l.index,1),p.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=p.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),h.push(t[0]));let r=p.findRowIndexOf(a,e);-1<r&&(i.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),g.row&&-1<p.findRowIndexOf(e,g.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(p,e);u[e]&&delete u[e],d[e]&&delete d[e]}),m.removeRowFlag++,m.insertRowFlag++,m.pendingRowFlag++,p.cacheRowMap(!1),p.handleTableData(t&&w),p.updateFooter(),p.handleUpdateBodyMerge(),t&&w||p.updateAfterDataIndex(),p.checkSelectionStatus(),m.scrollYLoad&&p.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(p.updateCellAreas(),p.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return I.remove(p.getCheckboxRecords()).then(e=>(p.clearCheckboxRow(),e))},removeRadioRow(){var e=p.getRadioRecord();return I.remove(e||[]).then(e=>(p.clearRadioRow(),e))},removeCurrentRow(){var e=p.getCurrentRecord();return I.remove(e||[]).then(e=>(p.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=p.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>p.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=C,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=C.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>p.isUpdateByRow(e),r):l.filter(e=>p.isUpdateByRow(e))):[]},getActiveRecord(){return(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),p.getEditRecord()},getEditRecord(){var e=m.editStore,t=C.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<p.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=m.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),p.clearEdit(e)},clearEdit(e){return A(null,e)},clearSelected(){var e=m.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),p.isEditByRow(e)},isEditByRow(e){var t=m.editStore;return t.actived.row===e},setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=C.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?p.getColumnByField(t):t),w(e,r,o)},setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return w(e,t,!0)},setSelectCell(e,t){var l=m.tableData,r=x.value,t=_xeUtils.default.isString(t)?p.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=p.findRowIndexOf(l,e))&&t&&(l=p.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:p.getColumnIndex(t),cell:l},p.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=x.value;if((0,_utils.isEnableConf)(n)){var u=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&u&&(e=u.tableAutoFocus||u.tableAutofocus||u.autofocus),!t&&u&&(t=u.tableAutoSelect||u.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():s.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&p.scrollToRow(o,a)}},handleSelected(e,t){var l=R.mouseConfig,r=m.editStore,o=c.value;let a=x.value,{actived:i,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(i.row!==d||"cell"===a.mode&&i.column!==u)&&(A(t),p.clearSelected(),p.clearCellAreas&&(p.clearCellAreas(),p.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),p.focus(),t)&&p.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=m.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=p.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(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{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(p){let{props:R,reactData:m,internalData:C}=p,o=p.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:x,computeCheckboxOpts:_,computeTreeOpts:E,computeValidOpts:n}=p.getComputeMaps(),s=_xeUtils.default.browse(),I={},g={},b=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=m,l=x.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},F=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=C;var l=E.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,v=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(p,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,a=u[(0,_util.getRowid)(p,o)],a=a?a.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[w]=[]),e[v](l),t[v](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[v](l),i[v](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=a,u[r]=a}})},u=(t,l,d)=>{let o=R.treeConfig,{tableFullTreeData:e,afterFullData:a,mergeBodyList:i,tableFullData:n,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:r}=C,c=E.value,{transform:g,rowField:w,mapChildrenField:v}=c,f=c.children||c.childrenField,h=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(p.defineField(t.map(e=>Object.assign(o&&g?{[v]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&g?F(h,!1):(h.forEach(e=>{var t=(0,_util.getRowid)(p,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.unshift(e),n.unshift(e)}),i.forEach(e=>{var t=e.row;0<t&&(e.row=t+h.length)}));else if(-1===l)o&&g?F(h,!0):(h.forEach(e=>{var t=(0,_util.getRowid)(p,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.push(e),n.push(e)}),i.forEach(e=>{var{row:t,rowspan:l}=e;t+l>a.length&&(e.rowspan=l+h.length)}));else if(o&&g){let n=_xeUtils.default.findTree(e,e=>l[w]===e[w],{children:v});if(n){let o=n.parent,a=o?o[v]:e;t=s[(0,_util.getRowid)(p,o)];let i=t?t.level:0;if(h.forEach((e,t)=>{var l=(0,_util.getRowid)(p,e);e[c.parentField]&&o&&e[c.parentField]!==o[w]&&(0,_log.errLog)("vxe.error.errProp",[c.parentField+"="+e[c.parentField],c.parentField+"="+o[w]]),o&&(e[c.parentField]=o[w]);let r=n.index+t;d&&(r+=1),a.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,s[l]=t}),o){t=_xeUtils.default.findTree(e,e=>l[w]===e[w],{children:f});if(t){var x=t.items;let e=t.index;d&&(e+=1),x.splice(e,0,...h)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),F(h,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<a.length&&(r=l):r=p.findRowIndexOf(a,l),-1===(r=d?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...h);t=p.findRowIndexOf(n,l);-1<t?n.splice(t+(d?1:0),0,...h):n.push(...h),i.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+h.length:t+l>r&&(e.rowspan=l+h.length)})}return h.forEach(e=>{var t=(0,_util.getRowid)(p,e);r[t]=e}),m.insertRowFlag++,p.cacheRowMap(!1),p.updateScrollYStatus(),p.handleTableData(o&&g),o&&g||p.updateAfterDataIndex(),p.updateFooter(),p.handleUpdateBodyMerge(),p.checkSelectionStatus(),m.scrollYLoad&&p.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(p.updateCellAreas(),p.recalculate(!0))).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:a,rowField:i,parentField:n}=E.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=m.editStore,{actived:l,focused:r}=l,{row:o,column:a}=l,i=n.value;if(o||a){if(t&&(0,_util.getRowid)(p,t)!==(0,_util.getRowid)(p,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,p.updateFooter(),p.dispatchEvent("edit-closed",{row:o,rowIndex:p.getRowIndex(o),$rowIndex:p.getVMRowIndex(o),column:a,columnIndex:p.getColumnIndex(a),$columnIndex:p.getVMColumnIndex(a)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&p.clearValidate?p.clearValidate():(0,_vue.nextTick)().then(()=>p.updateCellAreas())},i=(l,r,o,e)=>{let a=p.xeGrid;var{editConfig:t,mouseConfig:i}=R,{editStore:n,tableColumn:d}=m,u=x.value,s=u.mode,{actived:n,focused:c}=n;let{row:g,column:w}=l;var v=w.editRender,f=l.cell||p.getCellElement(g,w),h=u.beforeEditMethod||u.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(v)&&!p.isPendingByRow(g)&&!p.isAggregateRecord(g)){if(n.row!==g||"cell"===s&&n.column!==w){let t="edit-disabled";if(!h||h(Object.assign(Object.assign({},l),{$table:p,$grid:a}))){i&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),p.closeTooltip(),n.column&&A(r),t="edit-activated",w.renderHeight=f.offsetHeight,n.args=l,n.row=g,n.column=w,"row"===s?d.forEach(e=>b(g,e)):b(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{o&&p.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:p,$grid:a}))})}p.dispatchEvent(t,{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r),"edit-activated"===t&&p.dispatchEvent("edit-actived",{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r)}else{t=n.column;i&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),t!==w&&(v=t.model,v.update&&(0,_util.setCellValue)(g,t,v.value),p.clearValidate)&&p.clearValidate(g,w),w.renderHeight=f.offsetHeight,n.args=l,n.column=w,e&&setTimeout(()=>{p.handleFocus(l,r)})}c.column=null,c.row=null,p.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?p.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)&&!p.isAggregateRecord(t)?Promise.resolve(l?p.scrollToRow(t,o):null).then(()=>{var e=p.getCellElement(t,o);return e&&(i({row:t,rowIndex:p.getRowIndex(t),column:o,columnIndex:p.getColumnIndex(o),cell:e,$table:p},null,l,l),C._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={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=R.treeConfig,l=m.editStore;let{tableFullTreeData:r,selectCheckboxMaps:o,afterFullData:a,mergeBodyList:i,tableFullData:n,pendingRowMaps:d,insertRowMaps:u,removeRowMaps:s}=C;var c=_.value,g=E.value;let{transform:w,mapChildrenField:v}=g,f=g.children||g.childrenField;g=l.actived,l=c.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;p.isInsertByRow(e)||(t=(0,_util.getRowid)(p,e),s[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(p,e);o[e]&&delete o[e]}),m.updateCheckboxFlag++),n===e?(e=h=n.slice(0),C.tableFullData=[],C.afterFullData=[],p.clearMergeCells()):t&&w?e.forEach(e=>{let t=(0,_util.getRowid)(p,e);var l=_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(p,e),{children:v}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(p,e),{children:f})),l=(l&&l.items.splice(l.index,1),p.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=p.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),h.push(t[0]));let r=p.findRowIndexOf(a,e);-1<r&&(i.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),g.row&&-1<p.findRowIndexOf(e,g.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(p,e);u[e]&&delete u[e],d[e]&&delete d[e]}),m.removeRowFlag++,m.insertRowFlag++,m.pendingRowFlag++,p.cacheRowMap(!1),p.handleTableData(t&&w),p.updateFooter(),p.handleUpdateBodyMerge(),t&&w||p.updateAfterDataIndex(),p.checkSelectionStatus(),m.scrollYLoad&&p.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(p.updateCellAreas(),p.recalculate(!0))).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return I.remove(p.getCheckboxRecords()).then(e=>(p.clearCheckboxRow(),e))},removeRadioRow(){var e=p.getRadioRecord();return I.remove(e||[]).then(e=>(p.clearRadioRow(),e))},removeCurrentRow(){var e=p.getCurrentRecord();return I.remove(e||[]).then(e=>(p.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=p.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>p.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=C,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=C.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>p.isUpdateByRow(e),r):l.filter(e=>p.isUpdateByRow(e))):[]},getActiveRecord(){return(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),p.getEditRecord()},getEditRecord(){var e=m.editStore,t=C.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<p.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=m.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),p.clearEdit(e)},clearEdit(e){return A(null,e)},clearSelected(){var e=m.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),p.isEditByRow(e)},isEditByRow(e){var t=m.editStore;return t.actived.row===e},setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=C.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?p.getColumnByField(t):t),w(e,r,o)},setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return w(e,t,!0)},setSelectCell(e,t){var l=m.tableData,r=x.value,t=_xeUtils.default.isString(t)?p.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=p.findRowIndexOf(l,e))&&t&&(l=p.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:p.getColumnIndex(t),cell:l},p.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=x.value;if((0,_utils.isEnableConf)(n)){var u=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&u&&(e=u.tableAutoFocus||u.tableAutofocus||u.autofocus),!t&&u&&(t=u.tableAutoSelect||u.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():s.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&p.scrollToRow(o,a)}},handleSelected(e,t){var l=R.mouseConfig,r=m.editStore,o=c.value;let a=x.value,{actived:i,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(i.row!==d||"cell"===a.mode&&i.column!==u)&&(A(t),p.clearSelected(),p.clearCellAreas&&(p.clearCellAreas(),p.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),p.focus(),t)&&p.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=m.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=p.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -398,7 +398,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
398
398
|
if (mEndRow) {
|
|
399
399
|
const meRowRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, mEndRow)];
|
|
400
400
|
if (meRowRest) {
|
|
401
|
-
cellHeight += meRowRest.oTop - rowRest.oTop
|
|
401
|
+
cellHeight += meRowRest.oTop + (0, _util.getCellRestHeight)(meRowRest, cellOpts, rowOpts, defaultRowHeight) - rowRest.oTop - (0, _util.getCellRestHeight)(rowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
402
402
|
}
|
|
403
403
|
}
|
|
404
404
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(k){let Ve=(0,_vue.inject)("$xeTable",{}),{xID:z,props:Xe,context:$,reactData:Ke,internalData:Ye}=Ve,{computeEditOpts:Je,computeMouseOpts:Qe,computeCellOffsetWidth:Ze,computeAreaOpts:el,computeDefaultRowHeight:ll,computeEmptyOpts:A,computeTooltipOpts:tl,computeRadioOpts:e,computeExpandOpts:re,computeTreeOpts:p,computeCheckboxOpts:al,computeCellOpts:ol,computeValidOpts:rl,computeRowOpts:il,computeColumnOpts:sl,computeRowDragOpts:nl,computeColumnDragOpts:l,computeResizableOpts:dl,computeVirtualXOpts:ul,computeVirtualYOpts:pl}=Ve.getComputeMaps(),q=(0,_vue.ref)(),H=(0,_vue.ref)(),F=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),cl=()=>{var e=Xe.delayHover,{lastScrollTime:l,isDragResize:t}=Ke;return!!(t||l&&Date.now()<l+e)},vl=(e,l,t)=>{var{row:a,column:o}=l,r=Ye.afterFullData,i=Xe.treeConfig,s=p.value,{slots:o,treeNode:n}=o,d=Ye.fullAllDataRowIdData;if(o&&o.line)return Ve.callSlot(o.line,l);o=d[e];let u=0,c=null;return o&&(u=o.level,c=o.items[o.treeIndex-1]),i&&n&&(s.showLine||s.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${Ve.eqRow(r[0],a)?1:(0,_util.calcTreeLine)(l,c)}px`,bottom:`-${Math.floor(t/2)}px`,left:u*s.indent+(u?2-(0,_util.getOffsetSize)(Ve):0)+16+"px"}})])]:[]},se=(q,e,l,H,F,t,U,L,a,o,j,N,r)=>{var i=Ve.xeGrid,{columnKey:B,resizable:s,showOverflow:n,border:G,height:d,treeConfig:W,cellClassName:P,cellStyle:V,align:X,spanMethod:K,mouseConfig:Y,editConfig:J,editRules:u,tooltipConfig:c,padding:p}=Xe,{tableData:v,dragRow:Q,overflowX:Z,currentColumn:ee,scrollXLoad:le,scrollYLoad:g,mergeBodyFlag:te,calcCellHeightFlag:x,resizeHeightFlag:h,resizeWidthFlag:ae,editStore:oe,isAllOverflow:re,validErrorMaps:m}=Ke,{fullAllDataRowIdData:ie,fullColumnIdData:w,mergeBodyCellMaps:se,visibleColumn:ne,afterFullData:de,mergeBodyList:ue,scrollXStore:ce,scrollYStore:pe}=Ye,_=ol.value,f=rl.value,ve=al.value,ge=Je.value,b=tl.value,xe=dl.value,he=ul.value,me=pl.value,{isAllColumnDrag:xe,isAllRowDrag:we}=xe,y=il.value,C=nl.value,_e=ll.value,x=x?_.height||y.height:0,{disabledMethod:R,isCrossDrag:fe,isPeerDrag:be}=C,ye=sl.value,Ce=Qe.value,Re=el.value,De=Ze.value,Re=Re.selectCellToRow,{type:Ee,cellRender:Oe,editRender:Ie,align:Se,showOverflow:Me,className:Te,treeNode:ke,rowResize:ze,padding:D,verticalAlign:E,slots:$e}=o,O=_.verticalAlign,oe=oe.actived,Ae=ie[e]||{},I=o.id,w=w[I]||{},S=Ie||Oe,S=S?renderer.get(S.name):null,qe=S?S.tableCellClassName||S.cellClassName:null,He=S?S.tableCellStyle||S.cellStyle:"";let Fe=b.showAll;var Ue=w.index,b=w._index,w=(0,_utils.isEnableConf)(Ie),h=h?Ae.resizeHeight:0;let M=l?o.fixed!==l:o.fixed&&Z;Z=_xeUtils.default.eqNull(D)?null===p?_.padding:p:D,p=_xeUtils.default.eqNull(Me)?n:Me,D="ellipsis"===p;let T="title"===p,k=!0===p||"tooltip"===p;n=re||T||k||D,Me=_xeUtils.default.isBoolean(o.resizable)?o.resizable:ye.resizable||s,p=!!x,s=0<h;let Le;x={},h=Se||(S?S.tableCellAlign:"")||X,Se=_xeUtils.default.eqNull(E)?O:E,S=m[e+":"+I],X=u&&f.showMessage&&("default"===f.message?d||1<v.length:"inline"===f.message),O={colid:I};let z={$table:Ve,$grid:i,isEdit:!1,seq:q,rowid:e,row:t,rowIndex:U,$rowIndex:L,_rowIndex:a,column:o,columnIndex:Ue,$columnIndex:j,_columnIndex:b,fixed:l,type:renderType,isHidden:!!M,level:F,visibleData:de,data:v,items:r},$=!1,je=!1,A=(($=y.drag?"row"===C.trigger||o.dragSort&&"cell"===C.trigger:$)&&(je=!(!R||!R(z))),(T||k||Fe||c)&&(x.onMouseenter=e=>{cl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(k||Fe)&&Ve.triggerBodyTooltipEvent(e,z),Ve.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},z),e))}),(k||Fe||c)&&(x.onMouseleave=e=>{cl()||((k||Fe)&&Ve.handleTargetLeaveEvent(e),Ve.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},z),e))}),($||ve.range||Y)&&(x.onMousedown=e=>{Ve.triggerCellMousedownEvent(e,z)}),$&&(x.onMouseup=Ve.triggerCellMouseupEvent),x.onClick=e=>{Ve.triggerCellClickEvent(e,z)},!(x.onDblclick=e=>{Ve.triggerCellDblclickEvent(e,z)})),Ne=1;if(te&&ue.length){E=se[a+":"+b];if(E){var{rowspan:m,colspan:u}=E;if(!m||!u)return null;1<m&&(A=!0,Ne=m,O.rowspan=m),1<u&&(A=!0,O.colspan=u)}}else if(K){var{rowspan:d=1,colspan:i=1}=K(z)||{};if(!d||!i)return null;1<d&&(A=!0,Ne=d,O.rowspan=d),1<i&&(A=!0,O.colspan=i)}!(M=M&&A&&(1<O.colspan||1<O.rowspan)?!1:M)&&J&&(Ie||Oe)&&(ge.showStatus||ge.showUpdateStatus)&&(Le=Ve.isUpdateByRow(t,o.field));q=g&&!n;let Be=(0,_util.getCellRestHeight)(Ae,_,y,_e);U=j===N.length-1,L=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let Ge=!1;A||Q&&(0,_util.getRowid)(Ve,Q)===e||(g&&!W&&!me.immediate&&(a<pe.visibleStartIndex-pe.preloadSize||a>pe.visibleEndIndex+pe.preloadSize)||le&&!he.immediate&&!o.fixed&&(b<ce.visibleStartIndex-ce.preloadSize||b>ce.visibleEndIndex+ce.preloadSize))&&(Ge=!0),1<Ne&&(v=de[a+Ne-1])&&(r=ie[(0,_util.getRowid)(Ve,v)])&&(Be+=r.oTop-Ae.oTop+(0,_util.getCellRestHeight)(r,_,y,_e));C={};if(n&&ae){let l=O.colspan||0;if(1<l)for(let e=1;e<l;e++){var We=ne[Ue+e];We&&(l+=We.renderWidth)}C.width=o.renderWidth-De*l+"px"}g||n||p||s?C.height=Be+"px":C.minHeight=Be+"px";R=[];M&&re?R.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:C})):(W&&R.push(...vl(e,z,Be)),R.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:C,title:T?Ve.getCellLabel(t,o):null},Ge?[]:[(0,_vue.h)("div",{colid:I,rowid:e,class:"vxe-cell--wrapper"},o.renderCell(z))])),X&&S&&(c=S.rule,ve=$e?$e.valid:null,te=Object.assign(Object.assign(Object.assign({},z),S),{rule:S}),R.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,te)],style:c&&c.maxWidth?{width:c.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[ve?Ve.callSlot(ve,te):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let Pe=!1;return Y&&Ce.area&&Re&&((b||!0!==Re)&&Re!==o.field||(Pe=!0)),!M&&Me&&xe&&R.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!G||"none"===G}],onMousedown:e=>Ve.handleColResizeMousedownEvent(e,l,z),onDblclick:e=>Ve.handleColResizeDblclickEvent(e,z)})),(ze||we)&&y.resizable&&R.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Ve.handleRowResizeMousedownEvent(e,z),onDblclick:e=>Ve.handleRowResizeDblclickEvent(e,z)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",I,Se?"col--vertical-"+Se:"",h?"col--"+h:"",Ee?"col--"+Ee:"",{"col--last":U,"col--tree-node":ke,"col--edit":w,"col--ellipsis":n,"col--cs-height":p,"col--rs-height":s,"col--to-row":Pe,"col--auto-height":q,"fixed--width":!L,"fixed--hidden":M,"is--padding":Z,"is--progress":M&&re||Ge,"is--drag-cell":$&&(fe||be||!F),"is--drag-disabled":je,"col--dirty":Le,"col--active":J&&w&&oe.row===t&&(oe.column===o||"row"===ge.mode),"col--valid-error":!!S,"col--current":ee===o},(0,_dom.getPropClass)(qe,z),(0,_dom.getPropClass)(Te,z),(0,_dom.getPropClass)(P,z)],key:B||le||g||ye.useKey||y.useKey||ye.drag?I:j},O),{style:Object.assign({},_xeUtils.default.isFunction(He)?He(z):He,_xeUtils.default.isFunction(V)?V(z):V)}),x),H&&M?[]:R)},ie=(h,m,w,_)=>{let f=Ve.xeGrid,{stripe:b,rowKey:y,highlightHoverRow:C,rowClassName:R,rowStyle:D,editConfig:E,treeConfig:O}=Xe,{hasFixedColumn:I,treeExpandedFlag:S,isColLoading:M,scrollXLoad:T,scrollYLoad:k,isAllOverflow:z,rowExpandedFlag:$,expandColumn:A,selectRadioRow:q,pendingRowFlag:H,isDragColMove:F,rowExpandHeightFlag:U,isRowGroupStatus:L}=Ke,{fullAllDataRowIdData:j,fullColumnIdData:N,treeExpandedMaps:B,pendingRowMaps:G,rowExpandedMaps:W}=Ye,Q=al.value,Z=e.value,P=p.value,V=Je.value,X=il.value,K=sl.value,ee=l.value,{transform:Y,seqMode:le}=P,te=P.children||P.childrenField,J=[],ae=(0,_util.createHandleGetRowId)(Ve).handleGetRowId,oe=O||L;return w.forEach((a,o)=>{let r=ae(a);var i=j[r]||{};let s=o,n=0,d=-1,u=-1;var c=L&&a.isAggregate,p={},v=((X.isHover||C)&&(p.onMouseenter=e=>{cl()||Ve.triggerHoverEvent(e,{row:a,rowIndex:s})},p.onMouseleave=()=>{cl()||Ve.clearHoverRow()}),i&&(n=i.level,d=c||O&&Y&&"increasing"===le?i._index+1:i.seq,s=i.index,u=i._index),{$table:Ve,seq:d,rowid:r,fixed:h,type:renderType,level:n,row:a,rowIndex:s,$rowIndex:o,_rowIndex:u}),g=A&&!!$&&!!W[r];let e=!1,l=[],t=!1;E&&(t=Ve.isInsertByRow(a)),!O||k||Y||(l=a[te],e=!!S&&l&&0<l.length&&!!B[r]),!X.drag||L||O&&!Y||(p.onDragstart=Ve.handleRowDragDragstartEvent,p.onDragend=Ve.handleRowDragDragendEvent,p.onDragover=Ve.handleRowDragDragoverEvent);c=["vxe-body--row",oe?"row--level-"+n:"",{"row--stripe":b&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(V.showStatus||V.showInsertStatus),"row--radio":Z.highlight&&Ve.eqRow(q,a),"row--checked":Q.highlight&&Ve.isCheckedByCheckboxRow(a),"row--pending":!!H&&!!G[r],"row--group":c},(0,_dom.getPropClass)(R,v)];let x=_.map((e,l)=>se(d,r,h,m,n,a,s,o,u,e,l,_,w));if(J.push(!M&&K.drag&&ee.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(F?"":"-disabled"),tag:"tr",class:c,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:y||T||k||X.useKey||X.drag||K.drag||L||O?r:o},p),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:c,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:y||T||k||X.useKey||X.drag||K.drag||L||O?r:o},p),x)),g){var{height:c,padding:v,mode:p}=re.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${U?i.expandHeight||c:0}px`}})]));else{g={},p=(c&&(g.height=c+"px"),O&&(g.paddingLeft=n*P.indent+30+"px"),A||{}).showOverflow,i=A.id,i=N[i]||{},p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?z:p;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);i={$grid:f,$table:Ve,seq:d,column:A,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:n,row:a,rowid:r,rowIndex:s,$rowIndex:o,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!I,"col--ellipsis":p}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:g},[A.renderData(i)])])]))}}e&&J.push(...ie(h,m,l,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=k.fixedType,l=Ye.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=q,l[e+"scroll"]=H,l[e+"table"]=F,l[e+"colgroup"]=U,l[e+"list"]=L,l[e+"xSpace"]=j,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=k.fixedType,l=Ye.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=$.slots,l=Ve.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:o}=k;var{spanMethod:r,footerSpanMethod:i,mouseConfig:s}=Xe,{isGroup:n,tableData:d,isRowLoading:u,isColLoading:c,overflowX:p,scrollXLoad:v,scrollYLoad:g,isAllOverflow:x,isDragRowMove:h,expandColumn:m,dragRow:w,dragCol:_}=Ke,{visibleColumn:f,fullAllDataRowIdData:b,fullColumnIdData:y}=Ye,C=il.value,R=A.value,D=Qe.value,E=nl.value,O=re.value;let I=d,S=o,M=!1;!(v||g||x)||m&&"fixed"!==O.mode||r||i||(M=!0),c||!a&&p||(S=f),a&&M&&(S=t||[]),g&&w&&2<I.length&&(d=b[(0,_util.getRowid)(Ve,w)])&&(x=d._index,m=I[0],O=I[I.length-1],r=b[(0,_util.getRowid)(Ve,m)],i=b[(0,_util.getRowid)(Ve,O)],r)&&i&&(p=r._index,f=i._index,x<p?I=[w].concat(I):f<x&&(I=I.concat([w]))),a||n||v&&_&&2<S.length&&(g=y[_.id])&&(d=g._index,m=S[0],b=S[S.length-1],O=y[m.id],r=y[b.id],O)&&r&&(i=O._index,p=r._index,d<i?S=[_].concat(S):p<d&&(S=S.concat([_])));let T;f=e?e.empty:null,T=f?Ve.callSlot(f,{$table:Ve,$grid:l}):(w=(x=R.name?renderer.get(R.name):null)?x.renderTableEmpty||x.renderTableEmptyView||x.renderEmpty:null)?(0,_vn.getSlotVNs)(w(R,{$table:Ve})):Xe.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){Ve.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:q,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:z},[(0,_vue.h)("div",Object.assign({ref:H,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(Ve):(0,_vue.h)("div",{ref:j,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:F,class:"vxe-table--body",xid:z,cellspacing:0,cellpadding:0,border:0,xvm:M?"1":null},[(0,_vue.h)("colgroup",{ref:U},S.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),!u&&!c&&C.drag&&E.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(h?"":"-disabled"),tag:"tbody"},{default:()=>ie(a,M,I,S)}):(0,_vue.h)("tbody",{ref:L},ie(a,M,I,S))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&D.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},D.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Ve.triggerCellAreaExtendMousedownEvent&&Ve.triggerCellAreaExtendMousedownEvent(e,{$table:Ve,fixed:a,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Ve),a?renderEmptyElement(Ve):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},T)])])])}}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(k){let Ve=(0,_vue.inject)("$xeTable",{}),{xID:z,props:Xe,context:$,reactData:Ke,internalData:Ye}=Ve,{computeEditOpts:Je,computeMouseOpts:Qe,computeCellOffsetWidth:Ze,computeAreaOpts:el,computeDefaultRowHeight:ll,computeEmptyOpts:A,computeTooltipOpts:tl,computeRadioOpts:e,computeExpandOpts:re,computeTreeOpts:p,computeCheckboxOpts:al,computeCellOpts:ol,computeValidOpts:rl,computeRowOpts:il,computeColumnOpts:sl,computeRowDragOpts:nl,computeColumnDragOpts:l,computeResizableOpts:dl,computeVirtualXOpts:ul,computeVirtualYOpts:pl}=Ve.getComputeMaps(),q=(0,_vue.ref)(),H=(0,_vue.ref)(),F=(0,_vue.ref)(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),cl=()=>{var e=Xe.delayHover,{lastScrollTime:l,isDragResize:t}=Ke;return!!(t||l&&Date.now()<l+e)},vl=(e,l,t)=>{var{row:a,column:o}=l,r=Ye.afterFullData,i=Xe.treeConfig,s=p.value,{slots:o,treeNode:n}=o,d=Ye.fullAllDataRowIdData;if(o&&o.line)return Ve.callSlot(o.line,l);o=d[e];let u=0,c=null;return o&&(u=o.level,c=o.items[o.treeIndex-1]),i&&n&&(s.showLine||s.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${Ve.eqRow(r[0],a)?1:(0,_util.calcTreeLine)(l,c)}px`,bottom:`-${Math.floor(t/2)}px`,left:u*s.indent+(u?2-(0,_util.getOffsetSize)(Ve):0)+16+"px"}})])]:[]},se=(q,e,l,H,F,t,U,L,a,o,j,N,r)=>{var i=Ve.xeGrid,{columnKey:B,resizable:s,showOverflow:n,border:G,height:d,treeConfig:W,cellClassName:P,cellStyle:V,align:X,spanMethod:K,mouseConfig:Y,editConfig:J,editRules:u,tooltipConfig:c,padding:p}=Xe,{tableData:v,dragRow:Q,overflowX:Z,currentColumn:ee,scrollXLoad:le,scrollYLoad:g,mergeBodyFlag:te,calcCellHeightFlag:x,resizeHeightFlag:h,resizeWidthFlag:ae,editStore:oe,isAllOverflow:re,validErrorMaps:m}=Ke,{fullAllDataRowIdData:ie,fullColumnIdData:w,mergeBodyCellMaps:se,visibleColumn:ne,afterFullData:de,mergeBodyList:ue,scrollXStore:ce,scrollYStore:pe}=Ye,_=ol.value,f=rl.value,ve=al.value,ge=Je.value,b=tl.value,xe=dl.value,he=ul.value,me=pl.value,{isAllColumnDrag:xe,isAllRowDrag:we}=xe,y=il.value,C=nl.value,_e=ll.value,x=x?_.height||y.height:0,{disabledMethod:R,isCrossDrag:fe,isPeerDrag:be}=C,ye=sl.value,Ce=Qe.value,Re=el.value,De=Ze.value,Re=Re.selectCellToRow,{type:Ee,cellRender:Oe,editRender:Ie,align:Se,showOverflow:Me,className:Te,treeNode:ke,rowResize:ze,padding:D,verticalAlign:E,slots:$e}=o,O=_.verticalAlign,oe=oe.actived,Ae=ie[e]||{},I=o.id,w=w[I]||{},S=Ie||Oe,S=S?renderer.get(S.name):null,qe=S?S.tableCellClassName||S.cellClassName:null,He=S?S.tableCellStyle||S.cellStyle:"";let Fe=b.showAll;var Ue=w.index,b=w._index,w=(0,_utils.isEnableConf)(Ie),h=h?Ae.resizeHeight:0;let M=l?o.fixed!==l:o.fixed&&Z;Z=_xeUtils.default.eqNull(D)?null===p?_.padding:p:D,p=_xeUtils.default.eqNull(Me)?n:Me,D="ellipsis"===p;let T="title"===p,k=!0===p||"tooltip"===p;n=re||T||k||D,Me=_xeUtils.default.isBoolean(o.resizable)?o.resizable:ye.resizable||s,p=!!x,s=0<h;let Le;x={},h=Se||(S?S.tableCellAlign:"")||X,Se=_xeUtils.default.eqNull(E)?O:E,S=m[e+":"+I],X=u&&f.showMessage&&("default"===f.message?d||1<v.length:"inline"===f.message),O={colid:I};let z={$table:Ve,$grid:i,isEdit:!1,seq:q,rowid:e,row:t,rowIndex:U,$rowIndex:L,_rowIndex:a,column:o,columnIndex:Ue,$columnIndex:j,_columnIndex:b,fixed:l,type:renderType,isHidden:!!M,level:F,visibleData:de,data:v,items:r},$=!1,je=!1,A=(($=y.drag?"row"===C.trigger||o.dragSort&&"cell"===C.trigger:$)&&(je=!(!R||!R(z))),(T||k||Fe||c)&&(x.onMouseenter=e=>{cl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(k||Fe)&&Ve.triggerBodyTooltipEvent(e,z),Ve.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},z),e))}),(k||Fe||c)&&(x.onMouseleave=e=>{cl()||((k||Fe)&&Ve.handleTargetLeaveEvent(e),Ve.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},z),e))}),($||ve.range||Y)&&(x.onMousedown=e=>{Ve.triggerCellMousedownEvent(e,z)}),$&&(x.onMouseup=Ve.triggerCellMouseupEvent),x.onClick=e=>{Ve.triggerCellClickEvent(e,z)},!(x.onDblclick=e=>{Ve.triggerCellDblclickEvent(e,z)})),Ne=1;if(te&&ue.length){E=se[a+":"+b];if(E){var{rowspan:m,colspan:u}=E;if(!m||!u)return null;1<m&&(A=!0,Ne=m,O.rowspan=m),1<u&&(A=!0,O.colspan=u)}}else if(K){var{rowspan:d=1,colspan:i=1}=K(z)||{};if(!d||!i)return null;1<d&&(A=!0,Ne=d,O.rowspan=d),1<i&&(A=!0,O.colspan=i)}!(M=M&&A&&(1<O.colspan||1<O.rowspan)?!1:M)&&J&&(Ie||Oe)&&(ge.showStatus||ge.showUpdateStatus)&&(Le=Ve.isUpdateByRow(t,o.field));q=g&&!n;let Be=(0,_util.getCellRestHeight)(Ae,_,y,_e);U=j===N.length-1,L=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let Ge=!1;A||Q&&(0,_util.getRowid)(Ve,Q)===e||(g&&!W&&!me.immediate&&(a<pe.visibleStartIndex-pe.preloadSize||a>pe.visibleEndIndex+pe.preloadSize)||le&&!he.immediate&&!o.fixed&&(b<ce.visibleStartIndex-ce.preloadSize||b>ce.visibleEndIndex+ce.preloadSize))&&(Ge=!0),1<Ne&&(v=de[a+Ne-1])&&(r=ie[(0,_util.getRowid)(Ve,v)])&&(Be+=r.oTop+(0,_util.getCellRestHeight)(r,_,y,_e)-Ae.oTop-(0,_util.getCellRestHeight)(Ae,_,y,_e));C={};if(n&&ae){let l=O.colspan||0;if(1<l)for(let e=1;e<l;e++){var We=ne[Ue+e];We&&(l+=We.renderWidth)}C.width=o.renderWidth-De*l+"px"}g||n||p||s?C.height=Be+"px":C.minHeight=Be+"px";R=[];M&&re?R.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:C})):(W&&R.push(...vl(e,z,Be)),R.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":D}],style:C,title:T?Ve.getCellLabel(t,o):null},Ge?[]:[(0,_vue.h)("div",{colid:I,rowid:e,class:"vxe-cell--wrapper"},o.renderCell(z))])),X&&S&&(c=S.rule,ve=$e?$e.valid:null,te=Object.assign(Object.assign(Object.assign({},z),S),{rule:S}),R.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,te)],style:c&&c.maxWidth?{width:c.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[ve?Ve.callSlot(ve,te):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},S.content)]])]))));let Pe=!1;return Y&&Ce.area&&Re&&((b||!0!==Re)&&Re!==o.field||(Pe=!0)),!M&&Me&&xe&&R.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!G||"none"===G}],onMousedown:e=>Ve.handleColResizeMousedownEvent(e,l,z),onDblclick:e=>Ve.handleColResizeDblclickEvent(e,z)})),(ze||we)&&y.resizable&&R.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Ve.handleRowResizeMousedownEvent(e,z),onDblclick:e=>Ve.handleRowResizeDblclickEvent(e,z)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",I,Se?"col--vertical-"+Se:"",h?"col--"+h:"",Ee?"col--"+Ee:"",{"col--last":U,"col--tree-node":ke,"col--edit":w,"col--ellipsis":n,"col--cs-height":p,"col--rs-height":s,"col--to-row":Pe,"col--auto-height":q,"fixed--width":!L,"fixed--hidden":M,"is--padding":Z,"is--progress":M&&re||Ge,"is--drag-cell":$&&(fe||be||!F),"is--drag-disabled":je,"col--dirty":Le,"col--active":J&&w&&oe.row===t&&(oe.column===o||"row"===ge.mode),"col--valid-error":!!S,"col--current":ee===o},(0,_dom.getPropClass)(qe,z),(0,_dom.getPropClass)(Te,z),(0,_dom.getPropClass)(P,z)],key:B||le||g||ye.useKey||y.useKey||ye.drag?I:j},O),{style:Object.assign({},_xeUtils.default.isFunction(He)?He(z):He,_xeUtils.default.isFunction(V)?V(z):V)}),x),H&&M?[]:R)},ie=(h,m,w,_)=>{let f=Ve.xeGrid,{stripe:b,rowKey:y,highlightHoverRow:C,rowClassName:R,rowStyle:D,editConfig:E,treeConfig:O}=Xe,{hasFixedColumn:I,treeExpandedFlag:S,isColLoading:M,scrollXLoad:T,scrollYLoad:k,isAllOverflow:z,rowExpandedFlag:$,expandColumn:A,selectRadioRow:q,pendingRowFlag:H,isDragColMove:F,rowExpandHeightFlag:U,isRowGroupStatus:L}=Ke,{fullAllDataRowIdData:j,fullColumnIdData:N,treeExpandedMaps:B,pendingRowMaps:G,rowExpandedMaps:W}=Ye,Q=al.value,Z=e.value,P=p.value,V=Je.value,X=il.value,K=sl.value,ee=l.value,{transform:Y,seqMode:le}=P,te=P.children||P.childrenField,J=[],ae=(0,_util.createHandleGetRowId)(Ve).handleGetRowId,oe=O||L;return w.forEach((a,o)=>{let r=ae(a);var i=j[r]||{};let s=o,n=0,d=-1,u=-1;var c=L&&a.isAggregate,p={},v=((X.isHover||C)&&(p.onMouseenter=e=>{cl()||Ve.triggerHoverEvent(e,{row:a,rowIndex:s})},p.onMouseleave=()=>{cl()||Ve.clearHoverRow()}),i&&(n=i.level,d=c||O&&Y&&"increasing"===le?i._index+1:i.seq,s=i.index,u=i._index),{$table:Ve,seq:d,rowid:r,fixed:h,type:renderType,level:n,row:a,rowIndex:s,$rowIndex:o,_rowIndex:u}),g=A&&!!$&&!!W[r];let e=!1,l=[],t=!1;E&&(t=Ve.isInsertByRow(a)),!O||k||Y||(l=a[te],e=!!S&&l&&0<l.length&&!!B[r]),!X.drag||L||O&&!Y||(p.onDragstart=Ve.handleRowDragDragstartEvent,p.onDragend=Ve.handleRowDragDragendEvent,p.onDragover=Ve.handleRowDragDragoverEvent);c=["vxe-body--row",oe?"row--level-"+n:"",{"row--stripe":b&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(V.showStatus||V.showInsertStatus),"row--radio":Z.highlight&&Ve.eqRow(q,a),"row--checked":Q.highlight&&Ve.isCheckedByCheckboxRow(a),"row--pending":!!H&&!!G[r],"row--group":c},(0,_dom.getPropClass)(R,v)];let x=_.map((e,l)=>se(d,r,h,m,n,a,s,o,u,e,l,_,w));if(J.push(!M&&K.drag&&ee.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(F?"":"-disabled"),tag:"tr",class:c,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:y||T||k||X.useKey||X.drag||K.drag||L||O?r:o},p),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:c,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:y||T||k||X.useKey||X.drag||K.drag||L||O?r:o},p),x)),g){var{height:c,padding:v,mode:p}=re.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${U?i.expandHeight||c:0}px`}})]));else{g={},p=(c&&(g.height=c+"px"),O&&(g.paddingLeft=n*P.indent+30+"px"),A||{}).showOverflow,i=A.id,i=N[i]||{},p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?z:p;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);i={$grid:f,$table:Ve,seq:d,column:A,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:n,row:a,rowid:r,rowIndex:s,$rowIndex:o,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!I,"col--ellipsis":p}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:g},[A.renderData(i)])])]))}}e&&J.push(...ie(h,m,l,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=k.fixedType,l=Ye.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=q,l[e+"scroll"]=H,l[e+"table"]=F,l[e+"colgroup"]=U,l[e+"list"]=L,l[e+"xSpace"]=j,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=k.fixedType,l=Ye.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=$.slots,l=Ve.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:o}=k;var{spanMethod:r,footerSpanMethod:i,mouseConfig:s}=Xe,{isGroup:n,tableData:d,isRowLoading:u,isColLoading:c,overflowX:p,scrollXLoad:v,scrollYLoad:g,isAllOverflow:x,isDragRowMove:h,expandColumn:m,dragRow:w,dragCol:_}=Ke,{visibleColumn:f,fullAllDataRowIdData:b,fullColumnIdData:y}=Ye,C=il.value,R=A.value,D=Qe.value,E=nl.value,O=re.value;let I=d,S=o,M=!1;!(v||g||x)||m&&"fixed"!==O.mode||r||i||(M=!0),c||!a&&p||(S=f),a&&M&&(S=t||[]),g&&w&&2<I.length&&(d=b[(0,_util.getRowid)(Ve,w)])&&(x=d._index,m=I[0],O=I[I.length-1],r=b[(0,_util.getRowid)(Ve,m)],i=b[(0,_util.getRowid)(Ve,O)],r)&&i&&(p=r._index,f=i._index,x<p?I=[w].concat(I):f<x&&(I=I.concat([w]))),a||n||v&&_&&2<S.length&&(g=y[_.id])&&(d=g._index,m=S[0],b=S[S.length-1],O=y[m.id],r=y[b.id],O)&&r&&(i=O._index,p=r._index,d<i?S=[_].concat(S):p<d&&(S=S.concat([_])));let T;f=e?e.empty:null,T=f?Ve.callSlot(f,{$table:Ve,$grid:l}):(w=(x=R.name?renderer.get(R.name):null)?x.renderTableEmpty||x.renderTableEmptyView||x.renderEmpty:null)?(0,_vn.getSlotVNs)(w(R,{$table:Ve})):Xe.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){Ve.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:q,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:z},[(0,_vue.h)("div",Object.assign({ref:H,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(Ve):(0,_vue.h)("div",{ref:j,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:F,class:"vxe-table--body",xid:z,cellspacing:0,cellpadding:0,border:0,xvm:M?"1":null},[(0,_vue.h)("colgroup",{ref:U},S.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),!u&&!c&&C.drag&&E.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(h?"":"-disabled"),tag:"tbody"},{default:()=>ie(a,M,I,S)}):(0,_vue.h)("tbody",{ref:L},ie(a,M,I,S))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&D.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},D.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Ve.triggerCellAreaExtendMousedownEvent&&Ve.triggerCellAreaExtendMousedownEvent(e,{$table:Ve,fixed:a,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Ve),a?renderEmptyElement(Ve):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},T)])])])}}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -570,7 +570,7 @@ if(transform){return handleVirtualTreeExpand(rows,expanded);}else{return handleB
|
|
|
570
570
|
* 如果有滚动条,则滚动到对应的位置
|
|
571
571
|
* @param {Number} scrollLeft 左距离
|
|
572
572
|
* @param {Number} scrollTop 上距离
|
|
573
|
-
*/scrollTo(scrollLeft,scrollTop){const{elemStore}=internalData;const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;internalData.intoRunScroll=true;if(_xeUtils.default.isNumber(scrollLeft)){(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(bodyScrollElem,scrollLeft);(0,_dom.setScrollLeft)(headerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(footerScrollElem,scrollLeft);loadScrollXData();}if(_xeUtils.default.isNumber(scrollTop)){(0,_dom.setScrollTop)(yHandleEl,scrollTop);(0,_dom.setScrollTop)(bodyScrollElem,scrollTop);(0,_dom.setScrollTop)(leftScrollElem,scrollTop);(0,_dom.setScrollTop)(rightScrollElem,scrollTop);loadScrollYData();}if(reactData.scrollXLoad||reactData.scrollYLoad){return new Promise(resolve=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{internalData.intoRunScroll=false;resolve();});},30);});}return(0,_vue.nextTick)();},/**
|
|
573
|
+
*/scrollTo(scrollLeft,scrollTop){const{elemStore}=internalData;const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;internalData.intoRunScroll=true;if(_xeUtils.default.isNumber(scrollLeft)){(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(bodyScrollElem,scrollLeft);(0,_dom.setScrollLeft)(headerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(footerScrollElem,scrollLeft);loadScrollXData();}if(_xeUtils.default.isNumber(scrollTop)){(0,_dom.setScrollTop)(yHandleEl,scrollTop);(0,_dom.setScrollTop)(bodyScrollElem,scrollTop);(0,_dom.setScrollTop)(leftScrollElem,scrollTop);(0,_dom.setScrollTop)(rightScrollElem,scrollTop);loadScrollYData();}if(reactData.scrollXLoad||reactData.scrollYLoad){return new Promise(resolve=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{internalData.intoRunScroll=false;resolve();});},30);});}return(0,_vue.nextTick)().then(()=>{internalData.intoRunScroll=false;});},/**
|
|
574
574
|
* 如果有滚动条,则滚动到对应的行
|
|
575
575
|
* @param {Row} row 行对象
|
|
576
576
|
* @param {ColumnInfo} fieldOrColumn 列配置
|