vxe-table 4.11.9 → 4.11.11
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/locale/lang/ja-JP.js +2 -2
- package/es/style.css +1 -1
- package/es/table/module/edit/hook.js +7 -5
- package/es/table/src/table.js +34 -18
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +1791 -1863
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +2 -2
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -2
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +7 -5
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/src/table.js +30 -18
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/locale/lang/ja-JP.ts +2 -2
- package/packages/table/module/edit/hook.ts +7 -5
- package/packages/table/src/table.ts +33 -24
- /package/es/{iconfont.1740288784144.ttf → iconfont.1740451619106.ttf} +0 -0
- /package/es/{iconfont.1740288784144.woff → iconfont.1740451619106.woff} +0 -0
- /package/es/{iconfont.1740288784144.woff2 → iconfont.1740451619106.woff2} +0 -0
- /package/lib/{iconfont.1740288784144.ttf → iconfont.1740451619106.ttf} +0 -0
- /package/lib/{iconfont.1740288784144.woff → iconfont.1740451619106.woff} +0 -0
- /package/lib/{iconfont.1740288784144.woff2 → iconfont.1740451619106.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(m){let{props:R,reactData:C,internalData:_}=m,o=m.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:f,computeCheckboxOpts:x,computeTreeOpts:E,computeValidOpts:n}=m.getComputeMaps(),I={},g={},p=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},i=(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}=C,l=f.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))},b=(e,t)=>{let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=_;var l=E.value;let{rowField:u,parentField:c,mapChildrenField:g}=l,v=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(m,l),o=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:g}):null;if(o){var o=o.item,i=s[(0,_util.getRowid)(m,o)],i=i?i.level:0;let e=o[v],t=o[g];_xeUtils.default.isArray(e)||(e=o[v]=[]),_xeUtils.default.isArray(t)||(t=o[v]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,s[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),a[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=i,s[r]=i}})},s=(t,l,d)=>{let o=R.treeConfig;var{mergeList:e,editStore:r}=C;let{tableFullTreeData:s,afterFullData:i,tableFullData:a,fullDataRowIdData:u,fullAllDataRowIdData:c}=_,g=E.value,{transform:n,rowField:v,mapChildrenField:w}=g,f=g.children||g.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(m.defineField(t.map(e=>Object.assign(o&&n?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&n?b(p,!1):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,i.unshift(e),a.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+p.length)}));else if(-1===l)o&&n?b(p,!0):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,i.push(e),a.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+p.length)}));else if(o&&n){let n=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,i=o?o[w]:s;t=c[(0,_util.getRowid)(m,o)];let a=t?t.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(m,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&o&&e[g.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+o[v]]),o&&(e[g.parentField]=o[v]);let r=n.index+t;d&&(r+=1),i.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,c[l]=t}),o){t=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:f});if(t){var h=t.items;let e=t.index;d&&(e+=1),h.splice(e,0,...p)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),b(p,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=m.findRowIndexOf(i,l),-1===(r=d?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...p);t=m.findRowIndexOf(a,l);-1<t?a.splice(t+(d?1:0),0,...p):a.push(...p),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+p.length:t+l>r&&(e.rowspan=l+p.length)})}let x=r.insertMaps;return p.forEach(e=>{var t=(0,_util.getRowid)(m,e);x[t]=e}),m.cacheRowMap(!1),m.updateScrollYStatus(),m.handleTableData(o&&n),o&&n||m.updateAfterDataIndex(),m.updateFooter(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:i,rowField:a,parentField:n}=E.value;return o&&i?(_xeUtils.default.isArray(e)||(e=[e]),s(e.map(e=>Object.assign({},e,{[n]:t[a]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.treeConfig=false","tree-config.treeConfig=true"]),Promise.resolve({row:null,rows:[]}))},h=(e,t)=>{var l=C.editStore,{actived:l,focused:r}=l,{row:o,column:i}=l,a=n.value;if(o||i){if(t&&(0,_util.getRowid)(m,t)!==(0,_util.getRowid)(m,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,m.updateFooter(),m.dispatchEvent("edit-closed",{row:o,rowIndex:m.getRowIndex(o),$rowIndex:m.getVMRowIndex(o),column:i,columnIndex:m.getColumnIndex(i),$columnIndex:m.getVMColumnIndex(i)},e||null)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&m.clearValidate?m.clearValidate():(0,_vue.nextTick)().then(()=>m.updateCellAreas())},a=(l,r,o)=>{var{editConfig:e,mouseConfig:i}=R,{editStore:a,tableColumn:n}=C,d=f.value,s=d.mode,{actived:a,focused:t}=a;let{row:u,column:c}=l;var g=c.editRender,v=l.cell||m.getCellElement(u,c),w=d.beforeEditMethod||d.activeMethod;if((l.cell=v)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(g)&&!m.isPendingByRow(u)){if(a.row!==u||"cell"===s&&a.column!==c){let t="edit-disabled";if(!w||w(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))){i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),m.closeTooltip(),a.column&&h(r),t="edit-activated",c.renderHeight=v.offsetHeight,a.args=l,a.row=u,a.column=c,"row"===s?n.forEach(e=>p(u,e)):p(u,c);let e=d.afterEditMethod;(0,_vue.nextTick)(()=>{o&&m.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))})}m.dispatchEvent(t,{row:u,rowIndex:m.getRowIndex(u),$rowIndex:m.getVMRowIndex(u),column:c,columnIndex:m.getColumnIndex(c),$columnIndex:m.getVMColumnIndex(c)},r),"edit-activated"===t&&m.dispatchEvent("edit-actived",{row:u,rowIndex:m.getRowIndex(u),$rowIndex:m.getVMRowIndex(u),column:c,columnIndex:m.getColumnIndex(c),$columnIndex:m.getVMColumnIndex(c)},r)}else{e=a.column;i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),e!==c&&(g=e.model,g.update&&(0,_util.setCellValue)(u,e,g.value),m.clearValidate)&&m.clearValidate(u,c),c.renderHeight=v.offsetHeight,a.args=l,a.column=c,o&&setTimeout(()=>{m.handleFocus(l,r)})}t.column=null,t.row=null,m.focus()}return(0,_vue.nextTick)()},u=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?m.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?m.scrollToRow(t,o):null).then(()=>{var e=m.getCellElement(t,o);return e&&(a({row:t,rowIndex:m.getRowIndex(t),column:o,columnIndex:m.getColumnIndex(o),cell:e,$table:m},null,!1),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={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=R.treeConfig;let{mergeList:l,editStore:r,selectCheckboxMaps:o}=C,{tableFullTreeData:i,afterFullData:a,tableFullData:n}=_;var d=x.value,s=E.value;let{transform:u,mapChildrenField:c}=s,g=s.children||s.childrenField,{actived:v,removeMaps:w}=r,f=Object.assign({},r.insertMaps),p=Object.assign({},C.pendingRowMaps);s=d.checkField;let h=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;m.isInsertByRow(e)||(t=(0,_util.getRowid)(m,e),w[t]=e)}),!s){let t=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(m,e);t[e]&&delete t[e]}),C.selectCheckboxMaps=t}return n===e?(e=h=n.slice(0),_.tableFullData=[],_.afterFullData=[],m.clearMergeCells()):t&&u?e.forEach(e=>{let t=(0,_util.getRowid)(m,e);var l=_xeUtils.default.findTree(i,e=>t===(0,_util.getRowid)(m,e),{children:c}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(i,e=>t===(0,_util.getRowid)(m,e),{children:g})),l=(l&&l.items.splice(l.index,1),m.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=m.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),h.push(t[0]));let r=m.findRowIndexOf(a,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),v.row&&-1<m.findRowIndexOf(e,v.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(m,e);f[e]&&delete f[e],p[e]&&delete p[e]}),r.insertMaps=f,C.pendingRowMaps=p,m.updateFooter(),m.cacheRowMap(!1),m.handleTableData(t&&u),t&&u||m.updateAfterDataIndex(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return I.remove(m.getCheckboxRecords()).then(e=>(m.clearCheckboxRow(),e))},removeRadioRow(){var e=m.getRadioRecord();return I.remove(e||[]).then(e=>(m.clearRadioRow(),e))},removeCurrentRow(){var e=m.getCurrentRecord();return I.remove(e||[]).then(e=>(m.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=m.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>m.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){var e=C.editStore;let l=_.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=_.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>m.isUpdateByRow(e),r):l.filter(e=>m.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=C.editStore,t=_.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<m.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=C.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){return h(null,e)},clearSelected(){var e=C.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=C.editStore;return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=_.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(r=_xeUtils.default.isString(t)?m.getColumnByField(t):t),u(e,r,!1)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return u(e,t,!0)},setSelectCell(e,t){var l=C.tableData,r=f.value,t=_xeUtils.default.isString(t)?m.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=m.findRowIndexOf(l,e))&&t&&(l=m.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:m.getColumnIndex(t),cell:l},m.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return a(e,t,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:h,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=f.value;if((0,_utils.isEnableConf)(n)){var s=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&m.scrollToRow(o,i)}},handleSelected(e,t){var l=R.mouseConfig,r=C.editStore,o=c.value;let i=f.value,{actived:a,selected:n}=r,{row:d,column:s}=e,u=l&&o.selected;return!u||n.row===d&&n.column===s||(a.row!==d||"cell"===i.mode&&a.column!==s)&&(h(t),I.clearSelected(),m.clearCellAreas&&(m.clearCellAreas(),m.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&g.addCellSelectedClass(),m.focus(),t)&&m.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=C.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=m.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(m){let{props:R,reactData:C,internalData:_}=m,o=m.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:p,computeCheckboxOpts:x,computeTreeOpts:E,computeValidOpts:n}=m.getComputeMaps(),I={},g={},h=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},i=(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}=C,l=p.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))},b=(e,t)=>{let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=_;var l=E.value;let{rowField:u,parentField:c,mapChildrenField:g}=l,v=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(m,l),o=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:g}):null;if(o){var o=o.item,i=s[(0,_util.getRowid)(m,o)],i=i?i.level:0;let e=o[v],t=o[g];_xeUtils.default.isArray(e)||(e=o[v]=[]),_xeUtils.default.isArray(t)||(t=o[v]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,s[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),a[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=i,s[r]=i}})},s=(t,l,d)=>{let o=R.treeConfig;var{mergeList:e,editStore:r}=C;let{tableFullTreeData:s,afterFullData:i,tableFullData:a,fullDataRowIdData:u,fullAllDataRowIdData:c}=_,g=E.value,{transform:n,rowField:v,mapChildrenField:w}=g,f=g.children||g.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(m.defineField(t.map(e=>Object.assign(o&&n?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&n?b(p,!1):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,i.unshift(e),a.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+p.length)}));else if(-1===l)o&&n?b(p,!0):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,i.push(e),a.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+p.length)}));else if(o&&n){let n=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,i=o?o[w]:s;t=c[(0,_util.getRowid)(m,o)];let a=t?t.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(m,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&o&&e[g.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+o[v]]),o&&(e[g.parentField]=o[v]);let r=n.index+t;d&&(r+=1),i.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,c[l]=t}),o){t=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:f});if(t){var h=t.items;let e=t.index;d&&(e+=1),h.splice(e,0,...p)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),b(p,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=m.findRowIndexOf(i,l),-1===(r=d?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...p);t=m.findRowIndexOf(a,l);-1<t?a.splice(t+(d?1:0),0,...p):a.push(...p),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+p.length:t+l>r&&(e.rowspan=l+p.length)})}let x=r.insertMaps;return p.forEach(e=>{var t=(0,_util.getRowid)(m,e);x[t]=e}),m.cacheRowMap(!1),m.updateScrollYStatus(),m.handleTableData(o&&n),o&&n||m.updateAfterDataIndex(),m.updateFooter(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:i,rowField:a,parentField:n}=E.value;return o&&i?(_xeUtils.default.isArray(e)||(e=[e]),s(e.map(e=>Object.assign({},e,{[n]:t[a]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.treeConfig=false","tree-config.treeConfig=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=C.editStore,{actived:l,focused:r}=l,{row:o,column:i}=l,a=n.value;if(o||i){if(t&&(0,_util.getRowid)(m,t)!==(0,_util.getRowid)(m,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,m.updateFooter(),m.dispatchEvent("edit-closed",{row:o,rowIndex:m.getRowIndex(o),$rowIndex:m.getVMRowIndex(o),column:i,columnIndex:m.getColumnIndex(i),$columnIndex:m.getVMColumnIndex(i)},e||null)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&m.clearValidate?m.clearValidate():(0,_vue.nextTick)().then(()=>m.updateCellAreas())},a=(l,r,o,e)=>{var{editConfig:t,mouseConfig:i}=R,{editStore:a,tableColumn:n}=C,d=p.value,s=d.mode,{actived:a,focused:u}=a;let{row:c,column:g}=l;var v=g.editRender,w=l.cell||m.getCellElement(c,g),f=d.beforeEditMethod||d.activeMethod;if((l.cell=w)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(v)&&!m.isPendingByRow(c)){if(a.row!==c||"cell"===s&&a.column!==g){let t="edit-disabled";if(!f||f(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))){i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),m.closeTooltip(),a.column&&A(r),t="edit-activated",g.renderHeight=w.offsetHeight,a.args=l,a.row=c,a.column=g,"row"===s?n.forEach(e=>h(c,e)):h(c,g);let e=d.afterEditMethod;(0,_vue.nextTick)(()=>{o&&m.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))})}m.dispatchEvent(t,{row:c,rowIndex:m.getRowIndex(c),$rowIndex:m.getVMRowIndex(c),column:g,columnIndex:m.getColumnIndex(g),$columnIndex:m.getVMColumnIndex(g)},r),"edit-activated"===t&&m.dispatchEvent("edit-actived",{row:c,rowIndex:m.getRowIndex(c),$rowIndex:m.getVMRowIndex(c),column:g,columnIndex:m.getColumnIndex(g),$columnIndex:m.getVMColumnIndex(g)},r)}else{t=a.column;i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),t!==g&&(v=t.model,v.update&&(0,_util.setCellValue)(c,t,v.value),m.clearValidate)&&m.clearValidate(c,g),g.renderHeight=w.offsetHeight,a.args=l,a.column=g,e&&setTimeout(()=>{m.handleFocus(l,r)})}u.column=null,u.row=null,m.focus()}return(0,_vue.nextTick)()},u=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?m.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?m.scrollToRow(t,o):null).then(()=>{var e=m.getCellElement(t,o);return e&&(a({row:t,rowIndex:m.getRowIndex(t),column:o,columnIndex:m.getColumnIndex(o),cell:e,$table:m},null,l,l),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={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=R.treeConfig;let{mergeList:l,editStore:r,selectCheckboxMaps:o}=C,{tableFullTreeData:i,afterFullData:a,tableFullData:n}=_;var d=x.value,s=E.value;let{transform:u,mapChildrenField:c}=s,g=s.children||s.childrenField,{actived:v,removeMaps:w}=r,f=Object.assign({},r.insertMaps),p=Object.assign({},C.pendingRowMaps);s=d.checkField;let h=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;m.isInsertByRow(e)||(t=(0,_util.getRowid)(m,e),w[t]=e)}),!s){let t=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(m,e);t[e]&&delete t[e]}),C.selectCheckboxMaps=t}return n===e?(e=h=n.slice(0),_.tableFullData=[],_.afterFullData=[],m.clearMergeCells()):t&&u?e.forEach(e=>{let t=(0,_util.getRowid)(m,e);var l=_xeUtils.default.findTree(i,e=>t===(0,_util.getRowid)(m,e),{children:c}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(i,e=>t===(0,_util.getRowid)(m,e),{children:g})),l=(l&&l.items.splice(l.index,1),m.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=m.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),h.push(t[0]));let r=m.findRowIndexOf(a,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),v.row&&-1<m.findRowIndexOf(e,v.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(m,e);f[e]&&delete f[e],p[e]&&delete p[e]}),r.insertMaps=f,C.pendingRowMaps=p,m.updateFooter(),m.cacheRowMap(!1),m.handleTableData(t&&u),t&&u||m.updateAfterDataIndex(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return I.remove(m.getCheckboxRecords()).then(e=>(m.clearCheckboxRow(),e))},removeRadioRow(){var e=m.getRadioRecord();return I.remove(e||[]).then(e=>(m.clearRadioRow(),e))},removeCurrentRow(){var e=m.getCurrentRecord();return I.remove(e||[]).then(e=>(m.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=m.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>m.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){var e=C.editStore;let l=_.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=_.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>m.isUpdateByRow(e),r):l.filter(e=>m.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=C.editStore,t=_.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<m.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=C.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){return A(null,e)},clearSelected(){var e=C.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=C.editStore;return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=_.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0,r=_xeUtils.default.isString(t)?m.getColumnByField(t):t),u(e,r,o)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return u(e,t,!0)},setSelectCell(e,t){var l=C.tableData,r=p.value,t=_xeUtils.default.isString(t)?m.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=m.findRowIndexOf(l,e))&&t&&(l=m.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:m.getColumnIndex(t),cell:l},m.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return a(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=p.value;if((0,_utils.isEnableConf)(n)){var s=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&m.scrollToRow(o,i)}},handleSelected(e,t){var l=R.mouseConfig,r=C.editStore,o=c.value;let i=p.value,{actived:a,selected:n}=r,{row:d,column:s}=e,u=l&&o.selected;return!u||n.row===d&&n.column===s||(a.row!==d||"cell"===i.mode&&a.column!==s)&&(A(t),I.clearSelected(),m.clearCellAreas&&(m.clearCellAreas(),m.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&g.addCellSelectedClass(),m.focus(),t)&&m.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=C.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=m.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/table.js
CHANGED
|
@@ -2172,16 +2172,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2172
2172
|
if (layout === 'header') {
|
|
2173
2173
|
// 表头体样式处理
|
|
2174
2174
|
// 横向滚动渲染
|
|
2175
|
-
let tWidth = tableWidth;
|
|
2176
2175
|
let renderColumnList = tableColumn;
|
|
2177
2176
|
let isOptimizeMode = false;
|
|
2178
2177
|
if (isGroup) {
|
|
2179
2178
|
renderColumnList = visibleColumn;
|
|
2180
|
-
if (fixedType) {
|
|
2181
|
-
if (wrapperElem) {
|
|
2182
|
-
wrapperElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
2183
|
-
}
|
|
2184
|
-
}
|
|
2185
2179
|
} else {
|
|
2186
2180
|
// 如果是使用优化模式
|
|
2187
2181
|
if (scrollXLoad || scrollYLoad || allColumnHeaderOverflow) {
|
|
@@ -2197,24 +2191,32 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2197
2191
|
if (isOptimizeMode) {
|
|
2198
2192
|
renderColumnList = fixedColumn || [];
|
|
2199
2193
|
}
|
|
2200
|
-
|
|
2194
|
+
}
|
|
2195
|
+
}
|
|
2196
|
+
const tWidth = renderColumnList.reduce((previous, column) => previous + column.renderWidth, 0);
|
|
2197
|
+
if (fixedType) {
|
|
2198
|
+
if (isGroup) {
|
|
2199
|
+
if (wrapperElem) {
|
|
2200
|
+
wrapperElem.style.width = tableWidth ? `${tableWidth}px` : '';
|
|
2201
|
+
}
|
|
2202
|
+
} else {
|
|
2203
|
+
if (isOptimizeMode) {
|
|
2201
2204
|
if (wrapperElem) {
|
|
2202
2205
|
wrapperElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
2203
2206
|
}
|
|
2207
|
+
} else {
|
|
2208
|
+
if (wrapperElem) {
|
|
2209
|
+
wrapperElem.style.width = tableWidth ? `${tableWidth}px` : '';
|
|
2210
|
+
}
|
|
2204
2211
|
}
|
|
2205
2212
|
}
|
|
2206
2213
|
}
|
|
2207
|
-
tWidth = renderColumnList.reduce((previous, column) => previous + column.renderWidth, 0);
|
|
2208
2214
|
if (currScrollElem) {
|
|
2209
2215
|
currScrollElem.style.height = `${headerHeight}px`;
|
|
2210
2216
|
}
|
|
2211
2217
|
if (tableElem) {
|
|
2212
2218
|
tableElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
2213
2219
|
}
|
|
2214
|
-
const repairElem = (0, _util.getRefElem)(elemStore[`${name}-${layout}-repair`]);
|
|
2215
|
-
if (repairElem) {
|
|
2216
|
-
repairElem.style.width = `${tableWidth}px`;
|
|
2217
|
-
}
|
|
2218
2220
|
const listElem = (0, _util.getRefElem)(elemStore[`${name}-${layout}-list`]);
|
|
2219
2221
|
if (isGroup && listElem) {
|
|
2220
2222
|
_xeUtils.default.arrayEach(listElem.querySelectorAll('.col--group'), thElem => {
|
|
@@ -2259,7 +2261,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2259
2261
|
fixedWrapperElem.style.height = `${customHeight > 0 ? customHeight : tableHeight + headerHeight + footerHeight + osbHeight}px`;
|
|
2260
2262
|
fixedWrapperElem.style.width = `${fixedColumn.reduce((previous, column) => previous + column.renderWidth, 0)}px`;
|
|
2261
2263
|
}
|
|
2262
|
-
let tWidth = tableWidth;
|
|
2263
2264
|
let renderColumnList = tableColumn;
|
|
2264
2265
|
let isOptimizeMode = false;
|
|
2265
2266
|
// 如果是使用优化模式
|
|
@@ -2275,13 +2276,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2275
2276
|
if (isOptimizeMode) {
|
|
2276
2277
|
renderColumnList = fixedColumn || [];
|
|
2277
2278
|
}
|
|
2278
|
-
|
|
2279
|
+
}
|
|
2280
|
+
const tWidth = renderColumnList.reduce((previous, column) => previous + column.renderWidth, 0);
|
|
2281
|
+
if (fixedType) {
|
|
2282
|
+
if (isOptimizeMode) {
|
|
2279
2283
|
if (wrapperElem) {
|
|
2280
2284
|
wrapperElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
2281
2285
|
}
|
|
2286
|
+
} else {
|
|
2287
|
+
if (wrapperElem) {
|
|
2288
|
+
wrapperElem.style.width = tableWidth ? `${tableWidth}px` : '';
|
|
2289
|
+
}
|
|
2282
2290
|
}
|
|
2283
2291
|
}
|
|
2284
|
-
tWidth = renderColumnList.reduce((previous, column) => previous + column.renderWidth, 0);
|
|
2285
2292
|
if (tableElem) {
|
|
2286
2293
|
tableElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
2287
2294
|
// 兼容性处理
|
|
@@ -2292,7 +2299,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2292
2299
|
emptyBlockElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
2293
2300
|
}
|
|
2294
2301
|
} else if (layout === 'footer') {
|
|
2295
|
-
let tWidth = tableWidth;
|
|
2296
2302
|
let renderColumnList = tableColumn;
|
|
2297
2303
|
let isOptimizeMode = false;
|
|
2298
2304
|
// 如果是使用优化模式
|
|
@@ -2308,13 +2314,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2308
2314
|
if (isOptimizeMode) {
|
|
2309
2315
|
renderColumnList = fixedColumn || [];
|
|
2310
2316
|
}
|
|
2311
|
-
|
|
2317
|
+
}
|
|
2318
|
+
const tWidth = renderColumnList.reduce((previous, column) => previous + column.renderWidth, 0);
|
|
2319
|
+
if (fixedType) {
|
|
2320
|
+
if (isOptimizeMode) {
|
|
2312
2321
|
if (wrapperElem) {
|
|
2313
2322
|
wrapperElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
2314
2323
|
}
|
|
2324
|
+
} else {
|
|
2325
|
+
if (wrapperElem) {
|
|
2326
|
+
wrapperElem.style.width = tableWidth ? `${tableWidth}px` : '';
|
|
2327
|
+
}
|
|
2315
2328
|
}
|
|
2316
2329
|
}
|
|
2317
|
-
tWidth = renderColumnList.reduce((previous, column) => previous + column.renderWidth, 0);
|
|
2318
2330
|
if (currScrollElem) {
|
|
2319
2331
|
currScrollElem.style.height = `${footerHeight}px`;
|
|
2320
2332
|
// 如果是固定列
|