vxe-table 3.21.13 → 3.21.15
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +7 -0
- package/es/locale/lang/de-DE.js +7 -0
- package/es/locale/lang/en-US.js +7 -0
- package/es/locale/lang/es-ES.js +7 -0
- package/es/locale/lang/fr-FR.js +7 -0
- package/es/locale/lang/hu-HU.js +7 -0
- package/es/locale/lang/hy-AM.js +7 -0
- package/es/locale/lang/id-ID.js +7 -0
- package/es/locale/lang/it-IT.js +7 -0
- package/es/locale/lang/ja-JP.js +7 -0
- package/es/locale/lang/ko-KR.js +7 -0
- package/es/locale/lang/ms-MY.js +7 -0
- package/es/locale/lang/nb-NO.js +7 -0
- package/es/locale/lang/pt-BR.js +7 -0
- package/es/locale/lang/ru-RU.js +7 -0
- package/es/locale/lang/th-TH.js +7 -0
- package/es/locale/lang/ug-CN.js +7 -0
- package/es/locale/lang/uk-UA.js +7 -0
- package/es/locale/lang/uz-UZ.js +7 -0
- package/es/locale/lang/vi-VN.js +7 -0
- package/es/locale/lang/zh-CHT.js +7 -0
- package/es/locale/lang/zh-CN.js +7 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/mixin.js +5 -5
- package/es/table/render/index.js +46 -18
- package/es/table/src/methods.js +206 -61
- package/es/table/src/table.js +14 -7
- package/es/table/style.css +10 -5
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +10 -5
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +104 -33
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +7 -0
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +7 -0
- package/lib/locale/lang/de-DE.js +7 -0
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +7 -0
- package/lib/locale/lang/en-US.js +7 -0
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -0
- package/lib/locale/lang/es-ES.js +7 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +7 -0
- package/lib/locale/lang/fr-FR.js +7 -0
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +7 -0
- package/lib/locale/lang/hu-HU.js +7 -0
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +7 -0
- package/lib/locale/lang/hy-AM.js +7 -0
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +7 -0
- package/lib/locale/lang/id-ID.js +7 -0
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +7 -0
- package/lib/locale/lang/it-IT.js +7 -0
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +7 -0
- package/lib/locale/lang/ja-JP.js +7 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +7 -0
- package/lib/locale/lang/ko-KR.js +7 -0
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +7 -0
- package/lib/locale/lang/ms-MY.js +7 -0
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +7 -0
- package/lib/locale/lang/nb-NO.js +7 -0
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +7 -0
- package/lib/locale/lang/pt-BR.js +7 -0
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +7 -0
- package/lib/locale/lang/ru-RU.js +7 -0
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +7 -0
- package/lib/locale/lang/th-TH.js +7 -0
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +7 -0
- package/lib/locale/lang/ug-CN.js +7 -0
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +7 -0
- package/lib/locale/lang/uk-UA.js +7 -0
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +7 -0
- package/lib/locale/lang/uz-UZ.js +7 -0
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +7 -0
- package/lib/locale/lang/vi-VN.js +7 -0
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +7 -0
- package/lib/locale/lang/zh-CHT.js +7 -0
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +7 -0
- package/lib/locale/lang/zh-CN.js +7 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +7 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/mixin.js +5 -0
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/render/index.js +62 -18
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/methods.js +14 -7
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +14 -6
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +10 -5
- package/lib/table/style/style.min.css +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/lib/vxe-table/style/style.css +10 -5
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +7 -0
- package/packages/locale/lang/de-DE.ts +7 -0
- package/packages/locale/lang/en-US.ts +7 -0
- package/packages/locale/lang/es-ES.ts +7 -0
- package/packages/locale/lang/fr-FR.ts +7 -0
- package/packages/locale/lang/hu-HU.ts +7 -0
- package/packages/locale/lang/hy-AM.ts +7 -0
- package/packages/locale/lang/id-ID.ts +7 -0
- package/packages/locale/lang/it-IT.ts +7 -0
- package/packages/locale/lang/ja-JP.ts +7 -0
- package/packages/locale/lang/ko-KR.ts +7 -0
- package/packages/locale/lang/ms-MY.ts +7 -0
- package/packages/locale/lang/nb-NO.ts +7 -0
- package/packages/locale/lang/pt-BR.ts +7 -0
- package/packages/locale/lang/ru-RU.ts +7 -0
- package/packages/locale/lang/th-TH.ts +7 -0
- package/packages/locale/lang/ug-CN.ts +7 -0
- package/packages/locale/lang/uk-UA.ts +7 -0
- package/packages/locale/lang/uz-UZ.ts +7 -0
- package/packages/locale/lang/vi-VN.ts +7 -0
- package/packages/locale/lang/zh-CHT.ts +7 -0
- package/packages/locale/lang/zh-CN.ts +7 -0
- package/packages/table/module/edit/mixin.ts +5 -5
- package/packages/table/render/index.ts +46 -18
- package/packages/table/src/methods.ts +210 -60
- package/packages/table/src/table.ts +14 -7
- package/styles/components/table.scss +8 -4
- /package/es/{iconfont.1781229212834.ttf → iconfont.1781675364289.ttf} +0 -0
- /package/es/{iconfont.1781229212834.woff → iconfont.1781675364289.woff} +0 -0
- /package/es/{iconfont.1781229212834.woff2 → iconfont.1781675364289.woff2} +0 -0
- /package/lib/{iconfont.1781229212834.ttf → iconfont.1781675364289.ttf} +0 -0
- /package/lib/{iconfont.1781229212834.woff → iconfont.1781675364289.woff} +0 -0
- /package/lib/{iconfont.1781229212834.woff2 → iconfont.1781675364289.woff2} +0 -0
|
@@ -110,6 +110,7 @@ function insertTreeRow($xeTable, newRecords, isAppend) {
|
|
|
110
110
|
const rest = {
|
|
111
111
|
row: item,
|
|
112
112
|
rowid,
|
|
113
|
+
_seq: -1,
|
|
113
114
|
seq: -1,
|
|
114
115
|
index: -1,
|
|
115
116
|
_index: -1,
|
|
@@ -135,6 +136,7 @@ function insertTreeRow($xeTable, newRecords, isAppend) {
|
|
|
135
136
|
const rest = {
|
|
136
137
|
row: item,
|
|
137
138
|
rowid,
|
|
139
|
+
_seq: -1,
|
|
138
140
|
seq: -1,
|
|
139
141
|
index: -1,
|
|
140
142
|
_index: -1,
|
|
@@ -230,6 +232,7 @@ function handleInsertRowAt($xeTable, records, targetRowOrRowid, isInsertNextRow)
|
|
|
230
232
|
const rest = {
|
|
231
233
|
row: item,
|
|
232
234
|
rowid,
|
|
235
|
+
_seq: -1,
|
|
233
236
|
seq: -1,
|
|
234
237
|
index: -1,
|
|
235
238
|
_index: -1,
|
|
@@ -277,6 +280,7 @@ function handleInsertRowAt($xeTable, records, targetRowOrRowid, isInsertNextRow)
|
|
|
277
280
|
const rest = {
|
|
278
281
|
row: item,
|
|
279
282
|
rowid,
|
|
283
|
+
_seq: -1,
|
|
280
284
|
seq: -1,
|
|
281
285
|
index: -1,
|
|
282
286
|
_index: -1,
|
|
@@ -335,6 +339,7 @@ function handleInsertRowAt($xeTable, records, targetRowOrRowid, isInsertNextRow)
|
|
|
335
339
|
const rest = {
|
|
336
340
|
row: item,
|
|
337
341
|
rowid,
|
|
342
|
+
_seq: -1,
|
|
338
343
|
seq: -1,
|
|
339
344
|
index: -1,
|
|
340
345
|
_index: -1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,browseObj=_xeUtils.default.browse();function getEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)}function setEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)}function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function syncActivedCell(e){var{editStore:t,tableColumn:l}=e,e=e.computeEditOpts,t=t.actived;let{row:r,column:o}=t;r&&o&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,o))}function insertTreeRow(n,e,t){let{tableFullTreeData:a,afterFullData:d,fullDataRowIdData:s,fullAllDataRowIdData:u}=n;var l=n.computeTreeOpts;let{rowField:c,parentField:h,mapChildrenField:g}=l,w=l.children||l.childrenField,f=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(n,l),o=t?_xeUtils.default.findTree(a,e=>t===e[c],{children:g}):null;if(o){var o=o.item,i=u[(0,_util.getRowid)(n,o)],i=i?i.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[f](l),t[f](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,u[r]=o}else{t&&(0,_log.warnLog)("vxe.error.unableInsert"),d[f](l),a[f](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}})}function handleInsertRowAt(a,t,e,d){var l=a;let o=a.treeConfig;var r=l.isRowGroupStatus;let{tableFullTreeData:s,afterFullData:i,mergeBodyList:n,tableFullData:u,fullDataRowIdData:c,fullAllDataRowIdData:h,insertRowMaps:g,removeRowMaps:w}=a;var f=a.computeTreeOpts;let{transform:x,parentField:m,rowField:v,mapChildrenField:p}=f,_=f.children||f.childrenField,R=(_xeUtils.default.isArray(t)||(t=[t]),e);if((_xeUtils.default.isString(e)||_xeUtils.default.isNumber(e))&&(f=h[e])&&(R=f.row),!t.length)return Promise.resolve({row:null,rows:[]});a.handlePushStack();let C=a.defineField(t.map(e=>Object.assign(o&&x?{[p]:[],[_]:[]}:{},e))),I=[];if(o&&x&&(I=_xeUtils.default.toArrayTree(C,{key:v,parentKey:m,children:_})),_xeUtils.default.eqNull(R))if(o&&x)insertTreeRow(a,C,!1);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.errLog)(getI18n("vxe.error.noGroup",["insert"]))}else C.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[t]=l,h[t]=l,i.unshift(e),u.unshift(e)}),n.forEach(e=>{var t=e.row;0<=t&&(e.row=t+C.length)});else if(-1===R)if(o&&x)insertTreeRow(a,C,!0);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.errLog)(getI18n("vxe.error.noGroup",["insert"]))}else C.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[t]=l,h[t]=l,i.push(e),u.push(e)});else if(o&&x){let n=_xeUtils.default.findTree(s,e=>R[v]===e[v],{children:p});if(n){let r=n.parent,o=r?r[p]:s;e=h[(0,_util.getRowid)(a,r)];let i=e?e.level:0;if(I.forEach((e,t)=>{r?e[m]!==r[v]&&((0,_log.errLog)("vxe.error.errProp",[m+"="+e[m],m+"="+r[v]]),e[m]=r[v]):null!==e[m]&&(_xeUtils.default.eqNull(e[m])||(0,_log.errLog)("vxe.error.errProp",[m+"="+e[m],"null"]),e[m]=null);let l=n.index+t;d&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(I,e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:r,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};e[_]&&(e[p]=e[_]),c[t]=l,h[t]=l},{children:_}),r){f=_xeUtils.default.findTree(s,e=>R[v]===e[v],{children:_});if(f){t=f.items;let e=f.index;d&&(e+=1),t.splice(e,0,...I)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,C,!0)}else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.errLog)(getI18n("vxe.error.noGroup",["insert"]))}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(R)?R<i.length&&(r=R):r=a.findRowIndexOf(i,R),-1===(r=d?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...C);e=a.findRowIndexOf(u,R);-1<e?u.splice(e+(d?1:0),0,...C):u.push(...C),n.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+C.length:(d?t+l>=r:t+l>r)&&(e.rowspan=l+C.length)})}f=e=>{var t=(0,_util.getRowid)(a,e);w[t]?(delete w[t],g[t]&&delete g[t]):g[t]=e};return o&&x?_xeUtils.default.eachTree(I,f,{children:p}):C.forEach(f),l.removeRowFlag++,l.insertRowFlag++,a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(o&&x),o&&x||a.updateAfterDataIndex(),a.updateFooter(),a.handleUpdateBodyMerge(),a.checkSelectionStatus(),l.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate(!0))).then(()=>({row:C.length?C[C.length-1]:null,rows:C}))}function handleInsertChildRowAt(e,l,r,o,i){var n=e.treeConfig,a=e.fullAllDataRowIdData;let{transform:t,rowField:d,parentField:s}=e.computeTreeOpts;if(n&&t){_xeUtils.default.isArray(l)||(l=[l]);let t=r;return(_xeUtils.default.isString(r)||_xeUtils.default.isNumber(r))&&(n=a[r])&&(t=n.row),handleInsertRowAt(e,l.map(e=>Object.assign({},e,{[s]:t[d]})),o,i)}return(0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]})}function handleClearEdit(e,t,l){var r=e.editStore,{actived:r,focused:o}=r,{row:i,column:n}=r,a=e.computeValidOpts;if(i||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,i))return e.$nextTick();syncActivedCell(e),e.updateFooter(),r.args=null,r.row=null,r.column=null,e.dispatchEvent("edit-closed",{row:i,rowIndex:e.getRowIndex(i),$rowIndex:e.getVMRowIndex(i),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return o.row=null,o.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,o,i){let n=l.$xeGrid;var{editConfig:e,mouseConfig:a}=l,{editStore:d,tableColumn:s}=l,u=l.computeEditOpts,c=u.mode,{actived:d,focused:t}=d;let{row:h,column:g}=r;var w=g.editRender;let{isFocus:f,isPos:x,isClear:m}=i;var i=r.cell||l.getCellElement(h,g),v=u.beforeEditMethod||u.activeMethod;if((r.cell=i)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(w)&&!l.isPendingByRow(h)&&!l.isAggregateRecord(h)){if(d.row!==h||"cell"===c&&d.column!==g){let t="edit-disabled";if(!v||v(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){a&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),d.column&&handleClearEdit(l,o),t="edit-activated",g.renderHeight=i.offsetHeight,d.args=r,d.row=h,d.column=g,l.handlePushStack(),m&&(0,_util.setCellValue)(h,g,null),"row"===c?s.forEach(e=>getEditColumnModel(h,e)):getEditColumnModel(h,g);let e=u.afterEditMethod;l.$nextTick(()=>{f&&l.handleFocus(r,o),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:n}))})}l.dispatchEvent(t,{row:h,rowIndex:l.getRowIndex(h),$rowIndex:l.getVMRowIndex(h),column:g,columnIndex:l.getColumnIndex(g),$columnIndex:l.getVMColumnIndex(g)},o),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:h,rowIndex:l.getRowIndex(h),$rowIndex:l.getVMRowIndex(h),column:g,columnIndex:l.getColumnIndex(g),$columnIndex:l.getVMColumnIndex(g)},o)}else{e=d.column;a&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),e&&e!==g&&(w=e.model,w.update&&(0,_util.setCellValue)(h,e,w.value),l.clearValidate)&&l.clearValidate(h,g),g.renderHeight=i.offsetHeight,d.args=r,d.column=g,x&&setTimeout(()=>{l.handleFocus(r,o)})}t.column=null,t.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let o=t;var i=t.editConfig,n=r.isPos;let a=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&a&&(0,_utils.isEnableConf)(i)&&(0,_utils.isEnableConf)(a.editRender)&&!t.isAggregateRecord(l)?Promise.resolve(n?t.scrollToRow(l,a):null).then(()=>{var e=t.getCellElement(l,a);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:a,columnIndex:t.getColumnIndex(a),cell:e,$table:t},null,r),o._lastCallTime=Date.now()),t.$nextTick()}):t.$nextTick()}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let o=this;var t=o,l=o,r=o,t=t.treeConfig,{editStore:i,isRowGroupStatus:n}=l;let{tableFullTreeData:a,selectCheckboxMaps:d,afterFullData:s,mergeBodyList:u,tableFullData:c,pendingRowMaps:h,insertRowMaps:g,removeRowMaps:w}=r;var f=o.computeCheckboxOpts,x=o.computeTreeOpts;let{transform:m,mapChildrenField:v}=x,p=x.children||x.childrenField;x=i.actived,i=f.checkField;let _=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=c,e.length?(o.handlePushStack(),e.forEach(e=>{var t;o.isInsertByRow(e)||(t=(0,_util.getRowid)(o,e),w[t]=e)}),i||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);d[e]&&delete d[e]}),l.updateCheckboxFlag++),c===e?(e=_=c.slice(0),r.tableFullData=[],r.afterFullData=[],o.clearMergeCells()):t&&m?e.forEach(e=>{let t=(0,_util.getRowid)(o,e);var l=_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(o,e),{children:v}),l=(l&&(l=l.items.splice(l.index,1),_.push(l[0])),_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(o,e),{children:p})),l=(l&&l.items.splice(l.index,1),o.findRowIndexOf(s,e));-1<l&&s.splice(l,1)}):n?(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=o.findRowIndexOf(c,e);-1<t&&(t=c.splice(t,1),_.push(t[0]));let r=o.findRowIndexOf(s,e);-1<r&&(u.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),s.splice(r,1))}),x.row&&-1<o.findRowIndexOf(e,x.row)&&o.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(o,e);g[e]&&delete g[e],h[e]&&delete h[e]}),l.removeRowFlag++,l.insertRowFlag++,l.pendingRowFlag++,o.cacheRowMap(!1),o.handleTableData(t&&m),o.updateFooter(),o.handleUpdateBodyMerge(),t&&m||o.updateAfterDataIndex(),o.checkSelectionStatus(),l.scrollYLoad&&o.updateScrollYSpace(),o.$nextTick().then(()=>(o.updateCellAreas(),o.recalculate(!0))).then(()=>({row:_.length?_[_.length-1]:null,rows:_}))):Promise.resolve({row:null,rows:[]})},_removeCheckboxRow(){let t=this;return t.remove(t.getCheckboxRecords()).then(e=>(t.clearCheckboxRow(),e))},_removeRadioRow(){let t=this;var e=t.getRadioRecord();return t.remove(e||[]).then(e=>(t.clearRadioRow(),e))},_removeCurrentRow(){let t=this;var e=t.getCurrentRecord();return t.remove(e||[]).then(e=>(t.clearCurrentRow(),e))},_getRecordset(){let l=this;var e=l.getRemoveRecords(),t=l.getPendingRecords();let r=e.concat(t);var o=l.getUpdateRecords().filter(t=>!r.some(e=>l.eqRow(e,t)));return{insertRecords:l.getInsertRecords(),removeRecords:e,updateRecords:o,pendingRecords:t}},_getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=this,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){var e=this.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){let t=this;var{keepSource:e,treeConfig:l}=t,r=t.tableFullData,o=t.computeTreeOpts;return e?(syncActivedCell(t),l?_xeUtils.default.filterTree(r,e=>t.isUpdateByRow(e),o):r.filter(e=>t.isUpdateByRow(e))):[]},handleEdit(e,t,l){return handleEditActive(this,e,t,Object.assign({isFocus:!0,isPos:!0},l))},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){getEditColumnModel(e,t)},_setColumnModel(e,t){setEditColumnModel(e,t)},_syncActivedCell(){syncActivedCell(this)},_clearActived(e){return(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return handleClearEdit(this,null,e)},handleClearEdit(e,t){return handleClearEdit(this,e,t)},_getActiveRecord(){var e=((0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditCell"]),this).editStore,t=this.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(this,l)]?Object.assign({},e,{row:l}):null},_getEditRecord(){var e=((0,_log.warnLog)("vxe.error.delFunc",["getEditRecord","getEditCell"]),this).editStore,t=this.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(this,l)]?Object.assign({},e,{row:l}):null},_getEditCell(){var e=this.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,rowIndex:this.getRowIndex(e),column:t,columnIndex:this.getColumnIndex(t)}:null},_isActiveByRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){var t=this.editStore;return t.actived.row===e},handleFocus(r){var{row:o,column:i,cell:n}=r,a=i.editRender,d=this.computeEditOpts;if((0,_utils.isEnableConf)(a)){var s=renderer.get(a.name);let e=a.autofocus||a.autoFocus,t=a.autoSelect||a.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autoFocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():browseObj.msie&&((a=l.createTextRange()).collapse(!1),a.select()):d.autoPos&&!i.fixed&&this.scrollToRow(o,i)}},_setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t,l){var r=this.visibleColumn;let o=_xeUtils.default.find(r,e=>(0,_utils.isEnableConf)(e.editRender)),i=!1;return t&&(i=!0)!==t&&(o=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,o,Object.assign({isPos:i,isFocus:i},l))},_setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t,l){return handleEditCell(this,e,t,Object.assign({isFocus:!0,isPos:!0},l))},_setSelectCell(e,t){var l=this,r=l.tableData,o=l.computeEditOpts,t=_xeUtils.default.isString(t)?l.getColumnByField(t):t;return e&&t&&"manual"!==o.trigger&&-1<(o=l.findRowIndexOf(r,e))&&(r=l.getCellElement(e,t),e={row:e,rowIndex:o,column:t,columnIndex:l.getColumnIndex(t),cell:r},l.handleSelected(e,{})),l.$nextTick()},handleSelected(e,t){let l=this;var r=l.mouseConfig,o=l.editStore,i=l.computeMouseOpts;let n=l.computeEditOpts,{actived:a,selected:d}=o,{row:s,column:u}=e,c=r&&i.selected;return!c||d.row===s&&d.column===u||(a.row!==s||"cell"===n.mode&&a.column!==u)&&(handleClearEdit(l,t),l.clearSelected(),l.clearCellAreas&&(l.clearCellAreas(),l.clearCopyCellArea()),d.args=e,d.row=s,d.column=u,c&&l.addCellSelectedClass(),l.focus(),t)&&l.dispatchEvent("cell-selected",e,t),l.$nextTick()},_getSelectedCell(){var e=this.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},_clearSelected(){var e=this.editStore,e=e.selected;return e.row=null,e.column=null,removeCellSelectedClass(this),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore,e=e["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,browseObj=_xeUtils.default.browse();function getEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)}function setEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)}function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function syncActivedCell(e){var{editStore:t,tableColumn:l}=e,e=e.computeEditOpts,t=t.actived;let{row:r,column:o}=t;r&&o&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,o))}function insertTreeRow(n,e,t){let{tableFullTreeData:a,afterFullData:d,fullDataRowIdData:s,fullAllDataRowIdData:u}=n;var l=n.computeTreeOpts;let{rowField:c,parentField:h,mapChildrenField:g}=l,w=l.children||l.childrenField,f=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(n,l),o=t?_xeUtils.default.findTree(a,e=>t===e[c],{children:g}):null;if(o){var o=o.item,i=u[(0,_util.getRowid)(n,o)],i=i?i.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[f](l),t[f](l);o={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,u[r]=o}else{t&&(0,_log.warnLog)("vxe.error.unableInsert"),d[f](l),a[f](l);i={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}})}function handleInsertRowAt(a,t,e,d){var l=a;let o=a.treeConfig;var r=l.isRowGroupStatus;let{tableFullTreeData:s,afterFullData:i,mergeBodyList:n,tableFullData:u,fullDataRowIdData:c,fullAllDataRowIdData:h,insertRowMaps:g,removeRowMaps:w}=a;var f=a.computeTreeOpts;let{transform:x,parentField:m,rowField:v,mapChildrenField:p}=f,_=f.children||f.childrenField,R=(_xeUtils.default.isArray(t)||(t=[t]),e);if((_xeUtils.default.isString(e)||_xeUtils.default.isNumber(e))&&(f=h[e])&&(R=f.row),!t.length)return Promise.resolve({row:null,rows:[]});a.handlePushStack();let C=a.defineField(t.map(e=>Object.assign(o&&x?{[p]:[],[_]:[]}:{},e))),I=[];if(o&&x&&(I=_xeUtils.default.toArrayTree(C,{key:v,parentKey:m,children:_})),_xeUtils.default.eqNull(R))if(o&&x)insertTreeRow(a,C,!1);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.errLog)(getI18n("vxe.error.noGroup",["insert"]))}else C.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[t]=l,h[t]=l,i.unshift(e),u.unshift(e)}),n.forEach(e=>{var t=e.row;0<=t&&(e.row=t+C.length)});else if(-1===R)if(o&&x)insertTreeRow(a,C,!0);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.errLog)(getI18n("vxe.error.noGroup",["insert"]))}else C.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[t]=l,h[t]=l,i.push(e),u.push(e)});else if(o&&x){let n=_xeUtils.default.findTree(s,e=>R[v]===e[v],{children:p});if(n){let r=n.parent,o=r?r[p]:s;e=h[(0,_util.getRowid)(a,r)];let i=e?e.level:0;if(I.forEach((e,t)=>{r?e[m]!==r[v]&&((0,_log.errLog)("vxe.error.errProp",[m+"="+e[m],m+"="+r[v]]),e[m]=r[v]):null!==e[m]&&(_xeUtils.default.eqNull(e[m])||(0,_log.errLog)("vxe.error.errProp",[m+"="+e[m],"null"]),e[m]=null);let l=n.index+t;d&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(I,e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:r,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};e[_]&&(e[p]=e[_]),c[t]=l,h[t]=l},{children:_}),r){f=_xeUtils.default.findTree(s,e=>R[v]===e[v],{children:_});if(f){t=f.items;let e=f.index;d&&(e+=1),t.splice(e,0,...I)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,C,!0)}else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.errLog)(getI18n("vxe.error.noGroup",["insert"]))}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(R)?R<i.length&&(r=R):r=a.findRowIndexOf(i,R),-1===(r=d?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...C);e=a.findRowIndexOf(u,R);-1<e?u.splice(e+(d?1:0),0,...C):u.push(...C),n.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+C.length:(d?t+l>=r:t+l>r)&&(e.rowspan=l+C.length)})}f=e=>{var t=(0,_util.getRowid)(a,e);w[t]?(delete w[t],g[t]&&delete g[t]):g[t]=e};return o&&x?_xeUtils.default.eachTree(I,f,{children:p}):C.forEach(f),l.removeRowFlag++,l.insertRowFlag++,a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(o&&x),o&&x||a.updateAfterDataIndex(),a.updateFooter(),a.handleUpdateBodyMerge(),a.checkSelectionStatus(),l.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate(!0))).then(()=>({row:C.length?C[C.length-1]:null,rows:C}))}function handleInsertChildRowAt(e,l,r,o,i){var n=e.treeConfig,a=e.fullAllDataRowIdData;let{transform:t,rowField:d,parentField:s}=e.computeTreeOpts;if(n&&t){_xeUtils.default.isArray(l)||(l=[l]);let t=r;return(_xeUtils.default.isString(r)||_xeUtils.default.isNumber(r))&&(n=a[r])&&(t=n.row),handleInsertRowAt(e,l.map(e=>Object.assign({},e,{[s]:t[d]})),o,i)}return(0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]})}function handleClearEdit(e,t,l){var r=e.editStore,{actived:r,focused:o}=r,{row:i,column:n}=r,a=e.computeValidOpts;if(i||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,i))return e.$nextTick();syncActivedCell(e),e.updateFooter(),r.args=null,r.row=null,r.column=null,e.dispatchEvent("edit-closed",{row:i,rowIndex:e.getRowIndex(i),$rowIndex:e.getVMRowIndex(i),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return o.row=null,o.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,o,i){let n=l.$xeGrid;var{editConfig:e,mouseConfig:a}=l,{editStore:d,tableColumn:s}=l,u=l.computeEditOpts,c=u.mode,{actived:d,focused:t}=d;let{row:h,column:g}=r;var w=g.editRender;let{isFocus:f,isPos:x,isClear:m}=i;var i=r.cell||l.getCellElement(h,g),v=u.beforeEditMethod||u.activeMethod;if((r.cell=i)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(w)&&!l.isPendingByRow(h)&&!l.isAggregateRecord(h)){if(d.row!==h||"cell"===c&&d.column!==g){let t="edit-disabled";if(!v||v(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){a&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),d.column&&handleClearEdit(l,o),t="edit-activated",g.renderHeight=i.offsetHeight,d.args=r,d.row=h,d.column=g,l.handlePushStack(),m&&(0,_util.setCellValue)(h,g,null),"row"===c?s.forEach(e=>getEditColumnModel(h,e)):getEditColumnModel(h,g);let e=u.afterEditMethod;l.$nextTick(()=>{f&&l.handleFocus(r,o),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:n}))})}l.dispatchEvent(t,{row:h,rowIndex:l.getRowIndex(h),$rowIndex:l.getVMRowIndex(h),column:g,columnIndex:l.getColumnIndex(g),$columnIndex:l.getVMColumnIndex(g)},o),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:h,rowIndex:l.getRowIndex(h),$rowIndex:l.getVMRowIndex(h),column:g,columnIndex:l.getColumnIndex(g),$columnIndex:l.getVMColumnIndex(g)},o)}else{e=d.column;a&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),e&&e!==g&&(w=e.model,w.update&&(0,_util.setCellValue)(h,e,w.value),l.clearValidate)&&l.clearValidate(h,g),g.renderHeight=i.offsetHeight,d.args=r,d.column=g,x&&setTimeout(()=>{l.handleFocus(r,o)})}t.column=null,t.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let o=t;var i=t.editConfig,n=r.isPos;let a=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&a&&(0,_utils.isEnableConf)(i)&&(0,_utils.isEnableConf)(a.editRender)&&!t.isAggregateRecord(l)?Promise.resolve(n?t.scrollToRow(l,a):null).then(()=>{var e=t.getCellElement(l,a);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:a,columnIndex:t.getColumnIndex(a),cell:e,$table:t},null,r),o._lastCallTime=Date.now()),t.$nextTick()}):t.$nextTick()}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let o=this;var t=o,l=o,r=o,t=t.treeConfig,{editStore:i,isRowGroupStatus:n}=l;let{tableFullTreeData:a,selectCheckboxMaps:d,afterFullData:s,mergeBodyList:u,tableFullData:c,pendingRowMaps:h,insertRowMaps:g,removeRowMaps:w}=r;var f=o.computeCheckboxOpts,x=o.computeTreeOpts;let{transform:m,mapChildrenField:v}=x,p=x.children||x.childrenField;x=i.actived,i=f.checkField;let _=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=c,e.length?(o.handlePushStack(),e.forEach(e=>{var t;o.isInsertByRow(e)||(t=(0,_util.getRowid)(o,e),w[t]=e)}),i||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);d[e]&&delete d[e]}),l.updateCheckboxFlag++),c===e?(e=_=c.slice(0),r.tableFullData=[],r.afterFullData=[],o.clearMergeCells()):t&&m?e.forEach(e=>{let t=(0,_util.getRowid)(o,e);var l=_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(o,e),{children:v}),l=(l&&(l=l.items.splice(l.index,1),_.push(l[0])),_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(o,e),{children:p})),l=(l&&l.items.splice(l.index,1),o.findRowIndexOf(s,e));-1<l&&s.splice(l,1)}):n?(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=o.findRowIndexOf(c,e);-1<t&&(t=c.splice(t,1),_.push(t[0]));let r=o.findRowIndexOf(s,e);-1<r&&(u.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),s.splice(r,1))}),x.row&&-1<o.findRowIndexOf(e,x.row)&&o.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(o,e);g[e]&&delete g[e],h[e]&&delete h[e]}),l.removeRowFlag++,l.insertRowFlag++,l.pendingRowFlag++,o.cacheRowMap(!1),o.handleTableData(t&&m),o.updateFooter(),o.handleUpdateBodyMerge(),t&&m||o.updateAfterDataIndex(),o.checkSelectionStatus(),l.scrollYLoad&&o.updateScrollYSpace(),o.$nextTick().then(()=>(o.updateCellAreas(),o.recalculate(!0))).then(()=>({row:_.length?_[_.length-1]:null,rows:_}))):Promise.resolve({row:null,rows:[]})},_removeCheckboxRow(){let t=this;return t.remove(t.getCheckboxRecords()).then(e=>(t.clearCheckboxRow(),e))},_removeRadioRow(){let t=this;var e=t.getRadioRecord();return t.remove(e||[]).then(e=>(t.clearRadioRow(),e))},_removeCurrentRow(){let t=this;var e=t.getCurrentRecord();return t.remove(e||[]).then(e=>(t.clearCurrentRow(),e))},_getRecordset(){let l=this;var e=l.getRemoveRecords(),t=l.getPendingRecords();let r=e.concat(t);var o=l.getUpdateRecords().filter(t=>!r.some(e=>l.eqRow(e,t)));return{insertRecords:l.getInsertRecords(),removeRecords:e,updateRecords:o,pendingRecords:t}},_getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=this,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){var e=this.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){let t=this;var{keepSource:e,treeConfig:l}=t,r=t.tableFullData,o=t.computeTreeOpts;return e?(syncActivedCell(t),l?_xeUtils.default.filterTree(r,e=>t.isUpdateByRow(e),o):r.filter(e=>t.isUpdateByRow(e))):[]},handleEdit(e,t,l){return handleEditActive(this,e,t,Object.assign({isFocus:!0,isPos:!0},l))},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){getEditColumnModel(e,t)},_setColumnModel(e,t){setEditColumnModel(e,t)},_syncActivedCell(){syncActivedCell(this)},_clearActived(e){return(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return handleClearEdit(this,null,e)},handleClearEdit(e,t){return handleClearEdit(this,e,t)},_getActiveRecord(){var e=((0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditCell"]),this).editStore,t=this.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(this,l)]?Object.assign({},e,{row:l}):null},_getEditRecord(){var e=((0,_log.warnLog)("vxe.error.delFunc",["getEditRecord","getEditCell"]),this).editStore,t=this.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(this,l)]?Object.assign({},e,{row:l}):null},_getEditCell(){var e=this.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,rowIndex:this.getRowIndex(e),column:t,columnIndex:this.getColumnIndex(t)}:null},_isActiveByRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){var t=this.editStore;return t.actived.row===e},handleFocus(r){var{row:o,column:i,cell:n}=r,a=i.editRender,d=this.computeEditOpts;if((0,_utils.isEnableConf)(a)){var s=renderer.get(a.name);let e=a.autofocus||a.autoFocus,t=a.autoSelect||a.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autoFocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():browseObj.msie&&((a=l.createTextRange()).collapse(!1),a.select()):d.autoPos&&!i.fixed&&this.scrollToRow(o,i)}},_setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t,l){var r=this.visibleColumn;let o=_xeUtils.default.find(r,e=>(0,_utils.isEnableConf)(e.editRender)),i=!1;return t&&(i=!0)!==t&&(o=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,o,Object.assign({isPos:i,isFocus:i},l))},_setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t,l){return handleEditCell(this,e,t,Object.assign({isFocus:!0,isPos:!0},l))},_setSelectCell(e,t){var l=this,r=l.tableData,o=l.computeEditOpts,t=_xeUtils.default.isString(t)?l.getColumnByField(t):t;return e&&t&&"manual"!==o.trigger&&-1<(o=l.findRowIndexOf(r,e))&&(r=l.getCellElement(e,t),e={row:e,rowIndex:o,column:t,columnIndex:l.getColumnIndex(t),cell:r},l.handleSelected(e,{})),l.$nextTick()},handleSelected(e,t){let l=this;var r=l.mouseConfig,o=l.editStore,i=l.computeMouseOpts;let n=l.computeEditOpts,{actived:a,selected:d}=o,{row:s,column:u}=e,c=r&&i.selected;return!c||d.row===s&&d.column===u||(a.row!==s||"cell"===n.mode&&a.column!==u)&&(handleClearEdit(l,t),l.clearSelected(),l.clearCellAreas&&(l.clearCellAreas(),l.clearCopyCellArea()),d.args=e,d.row=s,d.column=u,c&&l.addCellSelectedClass(),l.focus(),t)&&l.dispatchEvent("cell-selected",e,t),l.$nextTick()},_getSelectedCell(){var e=this.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},_clearSelected(){var e=this.editStore,e=e.selected;return e.row=null,e.column=null,removeCellSelectedClass(this),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore,e=e["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
|
|
@@ -998,14 +998,14 @@ function handleSetTreeSelectValue(renderOpts, params) {
|
|
|
998
998
|
*/
|
|
999
999
|
renderer.mixin({
|
|
1000
1000
|
input: {
|
|
1001
|
-
tableAutoFocus:
|
|
1001
|
+
tableAutoFocus: true,
|
|
1002
1002
|
renderTableEdit: nativeEditRender,
|
|
1003
1003
|
renderTableDefault: nativeEditRender,
|
|
1004
1004
|
renderTableFilter: nativeFilterRender,
|
|
1005
1005
|
tableFilterDefaultMethod: handleInputFilterMethod
|
|
1006
1006
|
},
|
|
1007
1007
|
textarea: {
|
|
1008
|
-
tableAutoFocus:
|
|
1008
|
+
tableAutoFocus: true,
|
|
1009
1009
|
renderTableEdit: nativeEditRender
|
|
1010
1010
|
},
|
|
1011
1011
|
select: {
|
|
@@ -1067,7 +1067,7 @@ renderer.mixin({
|
|
|
1067
1067
|
tableExportMethod: handleExportSelectMethod
|
|
1068
1068
|
},
|
|
1069
1069
|
VxeInput: {
|
|
1070
|
-
tableAutoFocus:
|
|
1070
|
+
tableAutoFocus: true,
|
|
1071
1071
|
renderTableEdit: defaultEditRender,
|
|
1072
1072
|
renderTableCell(h, renderOpts, params) {
|
|
1073
1073
|
const {
|
|
@@ -1115,7 +1115,7 @@ renderer.mixin({
|
|
|
1115
1115
|
}
|
|
1116
1116
|
},
|
|
1117
1117
|
VxeNumberInput: {
|
|
1118
|
-
tableAutoFocus:
|
|
1118
|
+
tableAutoFocus: true,
|
|
1119
1119
|
renderTableEdit: defaultEditRender,
|
|
1120
1120
|
renderTableCell: handleNumberCell,
|
|
1121
1121
|
renderTableFooter(h, renderOpts, params) {
|
|
@@ -1179,7 +1179,7 @@ renderer.mixin({
|
|
|
1179
1179
|
}
|
|
1180
1180
|
},
|
|
1181
1181
|
VxeDatePicker: {
|
|
1182
|
-
tableAutoFocus:
|
|
1182
|
+
tableAutoFocus: true,
|
|
1183
1183
|
renderTableEdit: defaultEditRender,
|
|
1184
1184
|
renderTableCell(h, renderOpts, params) {
|
|
1185
1185
|
const props = renderOpts.props || {};
|
|
@@ -1213,7 +1213,7 @@ renderer.mixin({
|
|
|
1213
1213
|
tableFilterDefaultMethod: handleFilterMethod
|
|
1214
1214
|
},
|
|
1215
1215
|
VxeDateRangePicker: {
|
|
1216
|
-
tableAutoFocus:
|
|
1216
|
+
tableAutoFocus: true,
|
|
1217
1217
|
renderTableEdit(h, renderOpts, params) {
|
|
1218
1218
|
const {
|
|
1219
1219
|
startField,
|
|
@@ -1336,7 +1336,7 @@ renderer.mixin({
|
|
|
1336
1336
|
}
|
|
1337
1337
|
},
|
|
1338
1338
|
VxeTextarea: {
|
|
1339
|
-
tableAutoFocus:
|
|
1339
|
+
tableAutoFocus: true,
|
|
1340
1340
|
renderTableDefault: defaultEditRender,
|
|
1341
1341
|
renderTableEdit: defaultEditRender
|
|
1342
1342
|
},
|
|
@@ -1357,7 +1357,7 @@ renderer.mixin({
|
|
|
1357
1357
|
}
|
|
1358
1358
|
},
|
|
1359
1359
|
VxeSelect: {
|
|
1360
|
-
tableAutoFocus:
|
|
1360
|
+
tableAutoFocus: true,
|
|
1361
1361
|
renderTableEdit: defaultSelectEditRender,
|
|
1362
1362
|
renderTableDefault: defaultSelectEditRender,
|
|
1363
1363
|
renderTableCell(h, renderOpts, params) {
|
|
@@ -1543,7 +1543,7 @@ renderer.mixin({
|
|
|
1543
1543
|
tableExportMethod: handleExportSelectMethod
|
|
1544
1544
|
},
|
|
1545
1545
|
VxeTreeSelect: {
|
|
1546
|
-
tableAutoFocus:
|
|
1546
|
+
tableAutoFocus: true,
|
|
1547
1547
|
renderTableEdit: defaultTableOrTreeSelectEditRender,
|
|
1548
1548
|
renderTableCell(h, renderOpts, params) {
|
|
1549
1549
|
const {
|
|
@@ -1637,8 +1637,52 @@ renderer.mixin({
|
|
|
1637
1637
|
tableCellPasteMethod: handleSetTreeSelectValue,
|
|
1638
1638
|
tableExportMethod: handleExportTreeSelectMethod
|
|
1639
1639
|
},
|
|
1640
|
+
VxeCascader: {
|
|
1641
|
+
tableAutoFocus: true,
|
|
1642
|
+
renderTableEdit: defaultTableOrTreeSelectEditRender,
|
|
1643
|
+
renderTableCell(h, renderOpts, params) {
|
|
1644
|
+
const {
|
|
1645
|
+
options,
|
|
1646
|
+
optionGroups
|
|
1647
|
+
} = renderOpts;
|
|
1648
|
+
const {
|
|
1649
|
+
$table,
|
|
1650
|
+
row,
|
|
1651
|
+
column
|
|
1652
|
+
} = params;
|
|
1653
|
+
const opSize = options ? options.length : null;
|
|
1654
|
+
const ogSize = optionGroups ? optionGroups.length : null;
|
|
1655
|
+
const {
|
|
1656
|
+
cellResult
|
|
1657
|
+
} = $table.effectCellData(row, column, {
|
|
1658
|
+
key: 'render_table_cell',
|
|
1659
|
+
isChanged({
|
|
1660
|
+
oldValue,
|
|
1661
|
+
cellValue
|
|
1662
|
+
}) {
|
|
1663
|
+
return oldValue && oldValue[0] === cellValue && oldValue[1] === opSize && oldValue[2] === ogSize;
|
|
1664
|
+
},
|
|
1665
|
+
setValue({
|
|
1666
|
+
cellValue
|
|
1667
|
+
}) {
|
|
1668
|
+
return [cellValue, opSize, ogSize];
|
|
1669
|
+
},
|
|
1670
|
+
getResult({
|
|
1671
|
+
cellValue
|
|
1672
|
+
}) {
|
|
1673
|
+
return handleTreeSelectCellValue(cellValue, renderOpts);
|
|
1674
|
+
}
|
|
1675
|
+
});
|
|
1676
|
+
// const cellResult = getTreeSelectCellValue(renderOpts, params)
|
|
1677
|
+
return getCellLabelVNs(h, renderOpts, params, cellResult);
|
|
1678
|
+
},
|
|
1679
|
+
tableCellFormatter: handleFormatTreeSelect,
|
|
1680
|
+
tableCellCopyMethod: handleFormatTreeSelect,
|
|
1681
|
+
tableCellPasteMethod: handleSetTreeSelectValue,
|
|
1682
|
+
tableExportMethod: handleExportTreeSelectMethod
|
|
1683
|
+
},
|
|
1640
1684
|
VxeTableSelect: {
|
|
1641
|
-
tableAutoFocus:
|
|
1685
|
+
tableAutoFocus: true,
|
|
1642
1686
|
renderTableEdit: defaultTableOrTreeSelectEditRender,
|
|
1643
1687
|
renderTableCell(h, renderOpts, params) {
|
|
1644
1688
|
const {
|
|
@@ -1682,7 +1726,7 @@ renderer.mixin({
|
|
|
1682
1726
|
tableExportMethod: handleExportTreeSelectMethod
|
|
1683
1727
|
},
|
|
1684
1728
|
VxeColorPicker: {
|
|
1685
|
-
tableAutoFocus:
|
|
1729
|
+
tableAutoFocus: true,
|
|
1686
1730
|
renderTableEdit(h, renderOpts, params) {
|
|
1687
1731
|
const {
|
|
1688
1732
|
row,
|
|
@@ -1716,7 +1760,7 @@ renderer.mixin({
|
|
|
1716
1760
|
}
|
|
1717
1761
|
},
|
|
1718
1762
|
VxeIconPicker: {
|
|
1719
|
-
tableAutoFocus:
|
|
1763
|
+
tableAutoFocus: true,
|
|
1720
1764
|
renderTableEdit(h, renderOpts, params) {
|
|
1721
1765
|
const {
|
|
1722
1766
|
row,
|
|
@@ -1825,7 +1869,7 @@ renderer.mixin({
|
|
|
1825
1869
|
},
|
|
1826
1870
|
// 以下已废弃
|
|
1827
1871
|
$input: {
|
|
1828
|
-
tableAutoFocus: '
|
|
1872
|
+
tableAutoFocus: 'input',
|
|
1829
1873
|
renderTableEdit: oldEditRender,
|
|
1830
1874
|
renderTableCell(h, renderOpts, params) {
|
|
1831
1875
|
var _a;
|
|
@@ -1858,7 +1902,7 @@ renderer.mixin({
|
|
|
1858
1902
|
tableFilterDefaultMethod: handleInputFilterMethod
|
|
1859
1903
|
},
|
|
1860
1904
|
$textarea: {
|
|
1861
|
-
tableAutoFocus: '
|
|
1905
|
+
tableAutoFocus: 'textarea'
|
|
1862
1906
|
},
|
|
1863
1907
|
$button: {
|
|
1864
1908
|
renderTableDefault: oldButtonEditRender
|
|
@@ -1867,7 +1911,7 @@ renderer.mixin({
|
|
|
1867
1911
|
renderTableDefault: oldButtonsEditRender
|
|
1868
1912
|
},
|
|
1869
1913
|
$select: {
|
|
1870
|
-
tableAutoFocus: '
|
|
1914
|
+
tableAutoFocus: 'input',
|
|
1871
1915
|
renderTableEdit: oldSelectEditRender,
|
|
1872
1916
|
renderTableDefault: oldSelectEditRender,
|
|
1873
1917
|
renderTableCell(h, renderOpts, params) {
|
|
@@ -1901,13 +1945,13 @@ renderer.mixin({
|
|
|
1901
1945
|
tableExportMethod: handleExportSelectMethod
|
|
1902
1946
|
},
|
|
1903
1947
|
$radio: {
|
|
1904
|
-
tableAutoFocus: '
|
|
1948
|
+
tableAutoFocus: 'input'
|
|
1905
1949
|
},
|
|
1906
1950
|
$checkbox: {
|
|
1907
|
-
tableAutoFocus: '
|
|
1951
|
+
tableAutoFocus: 'input'
|
|
1908
1952
|
},
|
|
1909
1953
|
$switch: {
|
|
1910
|
-
tableAutoFocus: '
|
|
1954
|
+
tableAutoFocus: 'button',
|
|
1911
1955
|
renderTableEdit: oldEditRender,
|
|
1912
1956
|
renderTableDefault: oldEditRender
|
|
1913
1957
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return getComponent(e)||e}function updateFilterChangeOption(e,t,l){e=e.$table;e.updateFilterOptionStatus(l,t)}function saveFilterEvent(e){var{$table:e,column:t}=e;e.saveFilterByEvent(new Event("change"),t)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r,n){t=t.placeholder;return[e("span",{class:["vxe-cell--label",n?n.class:""]},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t){let r=e.events,n=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===n,s={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(n)]=function(e){o(e),d&&u&&u(e),r&&r[n]&&r[n](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),r&&r[a]&&r[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),r&&r[blurEvent]&&r[blurEvent](l,e)}),s}let blurEvent="blur",clearEvent="clear";function getComponentOns(e,l,t,r){let n=e.events,a=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:u,change:i,blur:d,clear:s}=t||{},p={};return _xeUtils.default.objectEach(n,(t,e)=>{p[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),u&&(p[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(p[(0,_vn.getOnName)(o)]=function(...e){i(...e),n&&n[o]&&n[o](l,...e)}),d&&(p[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),s&&(p[(0,_vn.getOnName)(clearEvent)]=function(...e){s(...e),n&&n[clearEvent]&&n[clearEvent](l,...e)}),r?Object.assign(p,r):p}function getEditOns(e,t){let{$table:l,row:r,column:n}=t,a=e.name,o=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(r,n,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},blur(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)}})}function getFloatingFilterOns(e,t,l){let{$table:r,column:n}=t;return(0,_vn.hasInputType)(e)?getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},blur(){r.saveFilterByEvent(new Event("change"),n)}},"VxeNumberInput"===e.name?{[(0,_vn.getOnName)("plus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},[(0,_vn.getOnName)("minus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)}}:{}):getComponentOns(e,t,{model(e){l.data=e},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),r.saveFilterByEvent(new Event("change"),n)},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),r.saveFilterByEvent(new Event("change"),n)}})}function getNativeEditOns(t,l){let{$table:r,row:n,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(n,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)},blur(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t,l){var{row:r,column:n}=l,a=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,n):n.model.value;return[e(""+a,{class:"vxe-default-"+a,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function checkboxEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxGroupEditRender(e,t,l){var r=t.options,{row:n,column:a}=l,n=(0,_util.getCellValue)(n,a);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,n)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){e=e.children;return e?e.map(e=>oldButtonEditRender(t,e,l)[0]):[]}function renderNativeOptgroups(l,r,n,a){var{optionGroups:e,optionGroupProps:t={}}=r;let o=t.options||"options",u=t.label||"label";return e?e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},a(l,e[o],r,n))):[]}function renderNativeOptions(l,e,t,r){var{optionProps:n={}}=t,{row:a,column:o}=r;let u=n.label||"label",i=n.value||"value",d=n.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(a,o):o.model.value;return e?e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u])):[]}function nativeFilterRender(l,r,n){var e=n.column;let a=r.name,o=getNativeAttrs(r);return e.filters.map((e,t)=>l(""+a,{key:t,class:"vxe-default-"+a,attrs:o,domProps:{value:e.data},on:getNativeFilterOns(r,n,e)}))}function defaultFilterRender(r,n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,a,e)})})}function defaultFloatingFilterRender(e,t,l){var r=l.option,n=r.data;return[e(getDefaultComponent(t),{props:getCellEditFilterProps(t,t,n),on:getFloatingFilterOns(t,l,r)})]}function defaultFilterOptions(){return[{data:null}]}function oldFilterRender(r,n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,a,e)})})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function handleSelectCellValue(t,e){let{options:l,optionGroups:r,optionProps:n={},optionGroupProps:a={},props:o={}}=e,u,i=n.label||"label",d=n.value||"value";if(null==t)return"";{let e=[];return e=_xeUtils.default.isArray(t)?t:o.multiple&&-1<(""+t).indexOf(",")?(""+t).split(","):[t],_xeUtils.default.map(e,r?t=>{var l=a.options||"options";for(let e=0;e<r.length&&!(u=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(l,e=>e[d]==t))?u[i]:t).join(", ")}}function getSelectCellValue(e,{row:t,column:l}){return handleSelectCellValue(_xeUtils.default.get(t,l.field),e)}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function handleTreeSelectCellValue(e,l){var{options:l,optionProps:r={}}=l;let n=r.label||"label",a=r.value||"value";if(null==e)return"";{let t={};return _xeUtils.default.eachTree(l,e=>{t[_xeUtils.default.get(e,a)]=e},{children:r.children||"children"}),_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function getTreeSelectCellValue(e,{row:t,column:l}){return handleTreeSelectCellValue(_xeUtils.default.get(t,l.field),e)}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t,l){var r,n,{props:a={},showNegativeStatus:o}=t,{row:u,column:i}=l,d=a.type;let s=_xeUtils.default.get(u,i.field),p=!1;return(0,_utils.isEmptyValue)(s)||(u=getConfig().numberInput||{},"float"===d?(i=handleDefaultValue(a.autoFill,u.autoFill,!0),n=handleDefaultValue(a.digits,u.digits,1),s=_xeUtils.default.toFixed(_xeUtils.default.floor(s,n),n),i||(s=_xeUtils.default.toNumber(s)),o&&s<0&&(p=!0)):"amount"===d?(n=handleDefaultValue(a.autoFill,u.autoFill,!0),i=handleDefaultValue(a.digits,u.digits,2),r=handleDefaultValue(a.showCurrency,u.showCurrency,!1),s=_xeUtils.default.toNumber(s),o&&s<0&&(p=!0),s=_xeUtils.default.commafy(s,{digits:i}),n||([i,n]=s.split("."),n&&(n=n.replace(/0+$/,""),s=n?[i,".",n].join(""):i)),r&&(s=""+(a.currencySymbol||u.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+s)):("integer"===d&&(s=_xeUtils.default.toInteger(s)),o&&_xeUtils.default.toNumber(s)<0&&(p=!0))),getCellLabelVNs(e,t,l,s,p?{class:"is--negative"}:{})}function handleFormatDatePicker(e,t){var{props:e={}}=e,t=t.cellValue;return t&&"time"!==e.type?getLabelFormatDate(t,e):t}function handleFormatSelect(e,t){t=t.cellValue;return handleSelectCellValue(t,e)}function handleSetSelectValue(e,t){var{row:n,column:t,cellValue:a}=t,o=t.field;if(o){var{options:u,optionGroups:i,optionProps:t={},optionGroupProps:e={},props:l}=e;if((0,_utils.isEmptyValue)(a))_xeUtils.default.set(n,o,l&&l.multiple?[]:null);else{var d=-1<_xeUtils.default.indexOf(""+a,","),s=t.label||"label";let l=t.value||"value",r={};if(i&&i.length){var p=e.options||"options";for(let e=0;e<i.length;e++){var c=i[e][p]||{};for(let e=0;e<c.length;e++){var f=c[e];if(d)r[f[s]]=f;else if(f[s]==a)return void _xeUtils.default.set(n,o,f[l])}}}else if(u)for(let e=0;e<u.length;e++){var g=u[e];if(d)r[g[s]]=g;else if(g[s]==a)return void _xeUtils.default.set(n,o,g[l])}d?_xeUtils.default.set(n,o,(d?a.split(","):[a]).map(e=>{var t=r[e];return t?t[l]:e})):_xeUtils.default.set(n,o,a)}}}function handleFormatTreeSelect(e,t){t=t.cellValue;return handleTreeSelectCellValue(t,e)}function handleSetTreeSelectValue(e,l){let{row:r,column:t,cellValue:n}=l;l=t.field;if(l){var{options:e,optionProps:a={}}=e;let t=a.label||"label";var o=a.value||"value",e=_xeUtils.default.findTree(e||[],e=>_xeUtils.default.get(e,t)===n,{children:a.children||"children"});if(e){a=e.item;if(a)return void _xeUtils.default.set(r,l,a[o])}_xeUtils.default.set(r,l,n)}}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t,l){var{options:r,optionGroups:n}=t,{$table:a,row:o,column:u}=l;let i=r?r.length:null,d=n?n.length:null;r=a.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},renderTableFilter(l,r,n){var e=n.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,n,e)},r.optionGroups?renderNativeOptgroups(l,r,n,renderNativeOptions):renderNativeOptions(l,r.options,r,n)))},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:a}=l,o=getConfig().input||{},u=r.digits||o.digits||2;let i=_xeUtils.default.get(n,a.field);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:n}=l,a=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===a){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,o),o);return e=r?e:""+_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:r});return o||([r,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[r,".",o].join(""):r)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){let r=t.props||{};var{$table:n,row:a,column:o}=l,n=n.effectCellData(a,o,{key:"render_table_cell",getResult({cellValue:e}){return e&&"time"!==r.type?getLabelFormatDate(e,r):e}}).cellResult;return getCellLabelVNs(e,t,l,n)},tableCellFormatter:handleFormatDatePicker,renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){let{startField:r,endField:n}=t,{$table:a,row:o,column:u}=l,i=u.model;var d=(0,_util.getCellValue)(o,u),s={},p={};return r&&n&&(s.startValue=_xeUtils.default.get(o,r),s.endValue=_xeUtils.default.get(o,n),p["update:startValue"]=e=>{r&&_xeUtils.default.set(o,r,e)},p["update:endValue"]=e=>{n&&_xeUtils.default.set(o,n,e)}),[e(getDefaultComponent(t),{props:getCellEditProps(t,l,d,s),on:getComponentOns(t,l,{model(e){i.update=!0,i.value=e,(0,_util.setCellValue)(o,u,e)},change(){a.updateStatus(l)},blur(){a.handleCellRuleUpdateStatus("blur",l)}},p)})]},renderTableDefault(e,t,l){let{startField:r,endField:n}=t,{row:a,column:o}=l,u=o.model;var i=(0,_util.getCellValue)(a,o),d={},s={};return r&&n&&(d.startValue=_xeUtils.default.get(a,r),d.endValue=_xeUtils.default.get(a,n),s["update:startValue"]=e=>{r&&_xeUtils.default.set(a,r,e)},s["update:endValue"]=e=>{n&&_xeUtils.default.set(a,n,e)}),[e(getDefaultComponent(t),{props:getCellEditProps(t,l,i,d),on:getComponentOns(t,l,{model(e){u.update=!0,u.value=e,(0,_util.setCellValue)(a,o,e)}},s)})]},renderTableCell(e,t,l){var{startField:r,endField:n}=t,{row:a,column:o}=l;let u="",i="",d=(r&&n?(u=_xeUtils.default.get(a,r),i=_xeUtils.default.get(a,n)):(r=_xeUtils.default.get(a,o.field))&&(i=(_xeUtils.default.isArray(r)?(u=r[0],r):(n=(""+r).split(","),u=n[0],n))[1]),"");return getCellLabelVNs(e,t,l,d=u&&i?u+" ~ "+i:d)}},VxeTextarea:{tableAutoFocus:"textarea",renderTableDefault:defaultEditRender,renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){var{options:r,optionGroups:n}=t,{$table:a,row:o,column:u}=l;let i=r?r.length:null,d=n?n.length:null;r=a.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},createTableFilterOptions:defaultFilterOptions,renderTableFilter(r,n,a){var e=a.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,a,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,a,e)})})},renderTableFloatingFilter(e,t,l){var r=l.option,{options:n,optionProps:a,optionGroups:o,optionGroupProps:u}=t,i=r.data;return e(getDefaultComponent(t),{props:getCellEditFilterProps(t,l,i,{options:n,optionProps:a,optionGroups:o,optionGroupProps:u}),on:getFloatingFilterOns(t,l,r)})},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeText:{renderTableDefault(e,t,l){var{$table:r,row:n,column:a}=l,o=t.props,r=r.getCellLabel(n,a);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o||{}),{content:r}),on:getComponentOns(t,l)})]}},VxeLink:{renderTableDefault(e,t,l){var{$table:r,row:n,column:a}=l,o=t.props,u=(o||{}).href,r=r.getCellLabel(n,a);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o||{}),{content:r,href:_xeUtils.default.toFormatString(u,l)}),on:getComponentOns(t,l)})]}},formatOption:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))}},FormatSelect:{renderTableDefault(e,t,l){var{options:r,optionGroups:n}=t,{$table:a,row:o,column:u}=l;let i=r?r.length:null,d=n?n.length:null;r=a.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){var{options:r,optionGroups:n}=t,{$table:a,row:o,column:u}=l;let i=r?r.length:null,d=n?n.length:null;r=a.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))}},FormatTreeSelect:{renderTableDefault(e,t,l){var{options:r,optionGroups:n}=t,{$table:a,row:o,column:u}=l;let i=r?r.length:null,d=n?n.length:null;r=a.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){var{options:r,optionGroups:n}=t,{$table:a,row:o,column:u}=l;let i=r?r.length:null,d=n?n.length:null;r=a.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,a=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:a}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,a=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:a}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:n}=l,a=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},a),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:a,column:o}=l,u=n.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(a,o.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,a){var e=a.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,a,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,a,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
|
1
|
+
var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return getComponent(e)||e}function updateFilterChangeOption(e,t,l){e=e.$table;e.updateFilterOptionStatus(l,t)}function saveFilterEvent(e){var{$table:e,column:t}=e;e.saveFilterByEvent(new Event("change"),t)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r,a){t=t.placeholder;return[e("span",{class:["vxe-cell--label",a?a.class:""]},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t){let r=e.events,a=(0,_vn.getModelEvent)(e),n=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=n===a,s={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(a)]=function(e){o(e),d&&u&&u(e),r&&r[a]&&r[a](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(n)]=function(e){u(e),r&&r[n]&&r[n](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),r&&r[blurEvent]&&r[blurEvent](l,e)}),s}let blurEvent="blur",clearEvent="clear";function getComponentOns(e,l,t,r){let a=e.events,n=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:u,change:i,blur:d,clear:s}=t||{},p={};return _xeUtils.default.objectEach(a,(t,e)=>{p[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),u&&(p[(0,_vn.getOnName)(n)]=function(e){u(e),a&&a[n]&&a[n](l,e)}),i&&(p[(0,_vn.getOnName)(o)]=function(...e){i(...e),a&&a[o]&&a[o](l,...e)}),d&&(p[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),a&&a[blurEvent]&&a[blurEvent](l,...e)}),s&&(p[(0,_vn.getOnName)(clearEvent)]=function(...e){s(...e),a&&a[clearEvent]&&a[clearEvent](l,...e)}),r?Object.assign(p,r):p}function getEditOns(e,t){let{$table:l,row:r,column:a}=t,n=e.name,o=a.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(r,a,e)},change(e){!u&&n&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(n)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},blur(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)}})}function getFloatingFilterOns(e,t,l){let{$table:r,column:a}=t;return(0,_vn.hasInputType)(e)?getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},blur(){r.saveFilterByEvent(new Event("change"),a)}},"VxeNumberInput"===e.name?{[(0,_vn.getOnName)("plus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},[(0,_vn.getOnName)("minus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)}}:{}):getComponentOns(e,t,{model(e){l.data=e},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),r.saveFilterByEvent(new Event("change"),a)},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),r.saveFilterByEvent(new Event("change"),a)}})}function getNativeEditOns(t,l){let{$table:r,row:a,column:n}=l,o=n.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(a,n,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)},blur(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t,l){var{row:r,column:a}=l,n=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return[e(""+n,{class:"vxe-default-"+n,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:a}=l,r=(0,_util.getCellValue)(r,a);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function checkboxEditRender(e,t,l){var{row:r,column:a}=l,r=(0,_util.getCellValue)(r,a);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxGroupEditRender(e,t,l){var r=t.options,{row:a,column:n}=l,a=(0,_util.getCellValue)(a,n);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,a)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:a}=l,r=(0,_util.getCellValue)(r,a);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){e=e.children;return e?e.map(e=>oldButtonEditRender(t,e,l)[0]):[]}function renderNativeOptgroups(l,r,a,n){var{optionGroups:e,optionGroupProps:t={}}=r;let o=t.options||"options",u=t.label||"label";return e?e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},n(l,e[o],r,a))):[]}function renderNativeOptions(l,e,t,r){var{optionProps:a={}}=t,{row:n,column:o}=r;let u=a.label||"label",i=a.value||"value",d=a.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(n,o):o.model.value;return e?e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u])):[]}function nativeFilterRender(l,r,a){var e=a.column;let n=r.name,o=getNativeAttrs(r);return e.filters.map((e,t)=>l(""+n,{key:t,class:"vxe-default-"+n,attrs:o,domProps:{value:e.data},on:getNativeFilterOns(r,a,e)}))}function defaultFilterRender(r,a,n){var e=n.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(a),{key:t,props:getCellEditFilterProps(a,a,l),on:getFilterOns(a,n,e)})})}function defaultFloatingFilterRender(e,t,l){var r=l.option,a=r.data;return[e(getDefaultComponent(t),{props:getCellEditFilterProps(t,t,a),on:getFloatingFilterOns(t,l,r)})]}function defaultFilterOptions(){return[{data:null}]}function oldFilterRender(r,a,n){var e=n.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(a),{key:t,props:getCellEditFilterProps(a,a,l),on:getFilterOns(a,n,e)})})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:a}=l,{options:n,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,a);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:n,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:a}=l,{options:n,optionProps:o}=t,r=(0,_util.getCellValue)(r,a);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:n,optionProps:o}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:a}=l,{options:n,optionProps:o,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,a);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:n,optionProps:o,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function handleSelectCellValue(t,e){let{options:l,optionGroups:r,optionProps:a={},optionGroupProps:n={},props:o={}}=e,u,i=a.label||"label",d=a.value||"value";if(null==t)return"";{let e=[];return e=_xeUtils.default.isArray(t)?t:o.multiple&&-1<(""+t).indexOf(",")?(""+t).split(","):[t],_xeUtils.default.map(e,r?t=>{var l=n.options||"options";for(let e=0;e<r.length&&!(u=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(l,e=>e[d]==t))?u[i]:t).join(", ")}}function getSelectCellValue(e,{row:t,column:l}){return handleSelectCellValue(_xeUtils.default.get(t,l.field),e)}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function handleTreeSelectCellValue(e,l){var{options:l,optionProps:r={}}=l;let a=r.label||"label",n=r.value||"value";if(null==e)return"";{let t={};return _xeUtils.default.eachTree(l,e=>{t[_xeUtils.default.get(e,n)]=e},{children:r.children||"children"}),_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],e=>{e=t[e];return e&&_xeUtils.default.get(e,a)}).join(", ")}}function getTreeSelectCellValue(e,{row:t,column:l}){return handleTreeSelectCellValue(_xeUtils.default.get(t,l.field),e)}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t,l){var r,a,{props:n={},showNegativeStatus:o}=t,{row:u,column:i}=l,d=n.type;let s=_xeUtils.default.get(u,i.field),p=!1;return(0,_utils.isEmptyValue)(s)||(u=getConfig().numberInput||{},"float"===d?(i=handleDefaultValue(n.autoFill,u.autoFill,!0),a=handleDefaultValue(n.digits,u.digits,1),s=_xeUtils.default.toFixed(_xeUtils.default.floor(s,a),a),i||(s=_xeUtils.default.toNumber(s)),o&&s<0&&(p=!0)):"amount"===d?(a=handleDefaultValue(n.autoFill,u.autoFill,!0),i=handleDefaultValue(n.digits,u.digits,2),r=handleDefaultValue(n.showCurrency,u.showCurrency,!1),s=_xeUtils.default.toNumber(s),o&&s<0&&(p=!0),s=_xeUtils.default.commafy(s,{digits:i}),a||([i,a]=s.split("."),a&&(a=a.replace(/0+$/,""),s=a?[i,".",a].join(""):i)),r&&(s=""+(n.currencySymbol||u.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+s)):("integer"===d&&(s=_xeUtils.default.toInteger(s)),o&&_xeUtils.default.toNumber(s)<0&&(p=!0))),getCellLabelVNs(e,t,l,s,p?{class:"is--negative"}:{})}function handleFormatDatePicker(e,t){var{props:e={}}=e,t=t.cellValue;return t&&"time"!==e.type?getLabelFormatDate(t,e):t}function handleFormatSelect(e,t){t=t.cellValue;return handleSelectCellValue(t,e)}function handleSetSelectValue(e,t){var{row:a,column:t,cellValue:n}=t,o=t.field;if(o){var{options:u,optionGroups:i,optionProps:t={},optionGroupProps:e={},props:l}=e;if((0,_utils.isEmptyValue)(n))_xeUtils.default.set(a,o,l&&l.multiple?[]:null);else{var d=-1<_xeUtils.default.indexOf(""+n,","),s=t.label||"label";let l=t.value||"value",r={};if(i&&i.length){var p=e.options||"options";for(let e=0;e<i.length;e++){var c=i[e][p]||{};for(let e=0;e<c.length;e++){var f=c[e];if(d)r[f[s]]=f;else if(f[s]==n)return void _xeUtils.default.set(a,o,f[l])}}}else if(u)for(let e=0;e<u.length;e++){var g=u[e];if(d)r[g[s]]=g;else if(g[s]==n)return void _xeUtils.default.set(a,o,g[l])}d?_xeUtils.default.set(a,o,(d?n.split(","):[n]).map(e=>{var t=r[e];return t?t[l]:e})):_xeUtils.default.set(a,o,n)}}}function handleFormatTreeSelect(e,t){t=t.cellValue;return handleTreeSelectCellValue(t,e)}function handleSetTreeSelectValue(e,l){let{row:r,column:t,cellValue:a}=l;l=t.field;if(l){var{options:e,optionProps:n={}}=e;let t=n.label||"label";var o=n.value||"value",e=_xeUtils.default.findTree(e||[],e=>_xeUtils.default.get(e,t)===a,{children:n.children||"children"});if(e){n=e.item;if(n)return void _xeUtils.default.set(r,l,n[o])}_xeUtils.default.set(r,l,a)}}renderer.mixin({input:{tableAutoFocus:!0,renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:!0,renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t,l){var{options:r,optionGroups:a}=t,{$table:n,row:o,column:u}=l;let i=r?r.length:null,d=a?a.length:null;r=n.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},renderTableFilter(l,r,a){var e=a.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,a,e)},r.optionGroups?renderNativeOptgroups(l,r,a,renderNativeOptions):renderNativeOptions(l,r.options,r,a)))},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:!0,renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:a,column:n}=l,o=getConfig().input||{},u=r.digits||o.digits||2;let i=_xeUtils.default.get(a,n.field);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:!0,renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:a}=l,n=t.type,a=_xeUtils.default.isArray(l)?l[a]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(a)){l=getConfig().numberInput||{};if("float"===n){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(a,o),o);return e=r?e:""+_xeUtils.default.toNumber(e)}if("amount"===n){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),n=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(a),{digits:r});return o||([r,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[r,".",o].join(""):r)),e=n?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(a,1)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:!0,renderTableEdit:defaultEditRender,renderTableCell(e,t,l){let r=t.props||{};var{$table:a,row:n,column:o}=l,a=a.effectCellData(n,o,{key:"render_table_cell",getResult({cellValue:e}){return e&&"time"!==r.type?getLabelFormatDate(e,r):e}}).cellResult;return getCellLabelVNs(e,t,l,a)},tableCellFormatter:handleFormatDatePicker,renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:!0,renderTableEdit(e,t,l){let{startField:r,endField:a}=t,{$table:n,row:o,column:u}=l,i=u.model;var d=(0,_util.getCellValue)(o,u),s={},p={};return r&&a&&(s.startValue=_xeUtils.default.get(o,r),s.endValue=_xeUtils.default.get(o,a),p["update:startValue"]=e=>{r&&_xeUtils.default.set(o,r,e)},p["update:endValue"]=e=>{a&&_xeUtils.default.set(o,a,e)}),[e(getDefaultComponent(t),{props:getCellEditProps(t,l,d,s),on:getComponentOns(t,l,{model(e){i.update=!0,i.value=e,(0,_util.setCellValue)(o,u,e)},change(){n.updateStatus(l)},blur(){n.handleCellRuleUpdateStatus("blur",l)}},p)})]},renderTableDefault(e,t,l){let{startField:r,endField:a}=t,{row:n,column:o}=l,u=o.model;var i=(0,_util.getCellValue)(n,o),d={},s={};return r&&a&&(d.startValue=_xeUtils.default.get(n,r),d.endValue=_xeUtils.default.get(n,a),s["update:startValue"]=e=>{r&&_xeUtils.default.set(n,r,e)},s["update:endValue"]=e=>{a&&_xeUtils.default.set(n,a,e)}),[e(getDefaultComponent(t),{props:getCellEditProps(t,l,i,d),on:getComponentOns(t,l,{model(e){u.update=!0,u.value=e,(0,_util.setCellValue)(n,o,e)}},s)})]},renderTableCell(e,t,l){var{startField:r,endField:a}=t,{row:n,column:o}=l;let u="",i="",d=(r&&a?(u=_xeUtils.default.get(n,r),i=_xeUtils.default.get(n,a)):(r=_xeUtils.default.get(n,o.field))&&(i=(_xeUtils.default.isArray(r)?(u=r[0],r):(a=(""+r).split(","),u=a[0],a))[1]),"");return getCellLabelVNs(e,t,l,d=u&&i?u+" ~ "+i:d)}},VxeTextarea:{tableAutoFocus:!0,renderTableDefault:defaultEditRender,renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:!0,renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){var{options:r,optionGroups:a}=t,{$table:n,row:o,column:u}=l;let i=r?r.length:null,d=a?a.length:null;r=n.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},createTableFilterOptions:defaultFilterOptions,renderTableFilter(r,a,n){var e=n.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=a;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(a),{key:t,props:getCellEditFilterProps(a,n,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(a,n,e)})})},renderTableFloatingFilter(e,t,l){var r=l.option,{options:a,optionProps:n,optionGroups:o,optionGroupProps:u}=t,i=r.data;return e(getDefaultComponent(t),{props:getCellEditFilterProps(t,l,i,{options:a,optionProps:n,optionGroups:o,optionGroupProps:u}),on:getFloatingFilterOns(t,l,r)})},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeText:{renderTableDefault(e,t,l){var{$table:r,row:a,column:n}=l,o=t.props,r=r.getCellLabel(a,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o||{}),{content:r}),on:getComponentOns(t,l)})]}},VxeLink:{renderTableDefault(e,t,l){var{$table:r,row:a,column:n}=l,o=t.props,u=(o||{}).href,r=r.getCellLabel(a,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o||{}),{content:r,href:_xeUtils.default.toFormatString(u,l)}),on:getComponentOns(t,l)})]}},formatOption:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))}},FormatSelect:{renderTableDefault(e,t,l){var{options:r,optionGroups:a}=t,{$table:n,row:o,column:u}=l;let i=r?r.length:null,d=a?a.length:null;r=n.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:!0,renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){var{options:r,optionGroups:a}=t,{$table:n,row:o,column:u}=l;let i=r?r.length:null,d=a?a.length:null;r=n.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))}},FormatTreeSelect:{renderTableDefault(e,t,l){var{options:r,optionGroups:a}=t,{$table:n,row:o,column:u}=l;let i=r?r.length:null,d=a?a.length:null;r=n.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeCascader:{tableAutoFocus:!0,renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){var{options:r,optionGroups:a}=t,{$table:n,row:o,column:u}=l;let i=r?r.length:null,d=a?a.length:null;r=n.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:!0,renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){var{options:r,optionGroups:a}=t,{$table:n,row:o,column:u}=l;let i=r?r.length:null,d=a?a.length:null;r=n.effectCellData(o,u,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===i&&e[2]===d},setValue({cellValue:e}){return[e,i,d]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(e,t,l,r)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:!0,renderTableEdit(e,t,l){var{row:r,column:a}=l,n=t.options,r=(0,_util.getCellValue)(r,a);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:n}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:!0,renderTableEdit(e,t,l){var{row:r,column:a}=l,n=t.options,r=(0,_util.getCellValue)(r,a);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:n}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:a}=l,n=t.props,r=(0,_util.getCellValue)(r,a);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},n),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:a}=l,n=t.props,r=(0,_util.getCellValue)(r,a);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},n),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:a}=l,n=t.props,r=(0,_util.getCellValue)(r,a);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},n),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:"input",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:a={}}=t,{row:n,column:o}=l,u=a.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(n,o.field);if(i)switch(a.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,a);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:"textarea"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:"input",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,a,n){var e=n.column;let{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}=a;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(a),{key:t,props:getCellEditFilterProps(a,n,l,{options:o,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(a,n,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:"input"},$checkbox:{tableAutoFocus:"input"},$switch:{tableAutoFocus:"button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
package/lib/table/src/methods.js
CHANGED
|
@@ -37,10 +37,10 @@ const matchObj=_xeUtils.default.findTree(tableFullGroupData,item=>(0,_util.getRo
|
|
|
37
37
|
* @returns
|
|
38
38
|
*/function handleRowGroupVirtualExpand($xeTable,rows,expanded){const reactData=$xeTable;return handleRowGroupBaseExpand($xeTable,rows,expanded).then(()=>{handleVirtualTreeToList($xeTable);$xeTable.handleTableData();reactData.rowGroupExpandedFlag++;updateAfterDataIndex($xeTable);return $xeTable.$nextTick();}).then(()=>{return handleLazyRecalculate($xeTable,true,true,true);}).then(()=>{setTimeout(()=>{$xeTable.updateCellAreas();},30);});}/**
|
|
39
39
|
* 处理默认展开分组行
|
|
40
|
-
*/function handleDefaultRowGroupExpand($xeTable){const reactData=$xeTable;const{isRowGroupStatus}=reactData;if(isRowGroupStatus){const aggregateOpts=$xeTable.computeAggregateOpts;const{expandAll,expandGroupFields}=aggregateOpts;if(expandAll){$xeTable.setAllRowGroupExpand(true);}else if(expandGroupFields&&expandGroupFields.length){$xeTable.setRowGroupExpandByField(expandGroupFields,true);}}}function
|
|
40
|
+
*/function handleDefaultRowGroupExpand($xeTable){const reactData=$xeTable;const{isRowGroupStatus}=reactData;if(isRowGroupStatus){const aggregateOpts=$xeTable.computeAggregateOpts;const{expandAll,expandGroupFields}=aggregateOpts;if(expandAll){$xeTable.setAllRowGroupExpand(true);}else if(expandGroupFields&&expandGroupFields.length){$xeTable.setRowGroupExpandByField(expandGroupFields,true);}}}function updateAfterTreeIndex($xeTable){const internalData=$xeTable;const{fullDataRowIdData,fullAllDataRowIdData,afterFullData,afterTreeFullData}=internalData;const treeOpts=$xeTable.computeTreeOpts;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const fullMaps={};let rowNum=0;const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);_xeUtils.default.eachTree(afterTreeFullData,(row,index,items,path)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];const seq=path.map((num,i)=>i%2===0?Number(num)+1:'.').join('');if(rowRest){rowRest.seq=seq;rowRest._seq=rowNum;rowRest.treeIndex=index;rowRest._tIndex=rowNum;}else{const rest={row,rowid,_seq:rowNum,seq,index:-1,$index:-1,_index:-1,treeIndex:-1,_tIndex:rowNum,items:[],parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullAllDataRowIdData[rowid]=rest;fullDataRowIdData[rowid]=rest;}rowNum++;fullMaps[rowid]=row;},{children:transform?mapChildrenField:childrenField});if(transform){afterFullData.forEach((row,index)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest._index=index;}});}internalData.afterFullRowMaps=fullMaps;}function updateAfterListIndex($xeTable){const internalData=$xeTable;const{afterFullData,fullDataRowIdData,fullAllDataRowIdData}=internalData;const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);const fullMaps={};let rowNum=0;afterFullData.forEach((row,index)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];const seq=index+1;if(rowRest){rowRest.seq=seq;rowRest._seq=rowNum;rowRest._index=index;}else{const rest={row,rowid,_seq:rowNum,seq,index:-1,$index:-1,_index:index,treeIndex:-1,_tIndex:-1,items:[],parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullAllDataRowIdData[rowid]=rest;fullDataRowIdData[rowid]=rest;}rowNum++;fullMaps[rowid]=row;});internalData.afterFullRowMaps=fullMaps;}/**
|
|
41
41
|
* 预编译
|
|
42
42
|
* 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
|
|
43
|
-
*/function updateAfterDataIndex($xeTable){const props=$xeTable;const
|
|
43
|
+
*/function updateAfterDataIndex($xeTable){const props=$xeTable;const{treeConfig}=props;if(treeConfig){updateAfterTreeIndex($xeTable);}else{updateAfterListIndex($xeTable);}}/**
|
|
44
44
|
* 如果为虚拟树、行分组、则将树结构拍平
|
|
45
45
|
* @returns
|
|
46
46
|
*/function handleVirtualTreeToList($xeTable){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{fullAllDataRowIdData,treeExpandedMaps,rowGroupExpandedMaps}=internalData;const aggregateOpts=$xeTable.computeAggregateOpts;const treeOpts=$xeTable.computeTreeOpts;const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);const fullData=[];const expandMaps={};if(treeConfig&&treeOpts.transform){const childrenField=treeOpts.children||treeOpts.childrenField;_xeUtils.default.eachTree(internalData.afterTreeFullData,(row,index,items,path,parentRow)=>{const rowid=handleGetRowId(row);const parentRowid=handleGetRowId(parentRow);if(!parentRow||expandMaps[parentRowid]&&treeExpandedMaps[parentRowid]){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest._index=fullData.length;}expandMaps[rowid]=1;fullData.push(row);}},{children:childrenField});internalData.afterFullData=fullData;updateScrollYStatus($xeTable,fullData);return fullData;}else if(isRowGroupStatus){const{childrenField}=aggregateOpts;_xeUtils.default.eachTree(internalData.afterGroupFullData,(row,index,items,path,parentRow)=>{const rowid=handleGetRowId(row);const parentRowid=handleGetRowId(parentRow);if(!parentRow||expandMaps[parentRowid]&&rowGroupExpandedMaps[parentRowid]){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest._index=fullData.length;}expandMaps[rowid]=1;fullData.push(row);}},{children:childrenField});internalData.afterFullData=fullData;updateScrollYStatus($xeTable,fullData);return fullData;}return internalData.afterFullData;}/**
|
|
@@ -158,8 +158,9 @@ function computeScrollLoad($xeTable){const reactData=$xeTable;const internalData
|
|
|
158
158
|
if(scrollXLoad){const{toVisibleIndex:toXVisibleIndex,visibleSize:visibleXSize}=handleVirtualXVisible($xeTable);const offsetXSize=Math.max(0,virtualXOpts.oSize?_xeUtils.default.toNumber(virtualXOpts.oSize):0);scrollXStore.preloadSize=_xeUtils.default.toNumber(virtualXOpts.preSize);scrollXStore.offsetSize=offsetXSize;scrollXStore.visibleSize=visibleXSize;scrollXStore.endIndex=Math.max(scrollXStore.startIndex+scrollXStore.visibleSize+offsetXSize,scrollXStore.endIndex);scrollXStore.visibleStartIndex=Math.max(scrollXStore.startIndex,toXVisibleIndex);scrollXStore.visibleEndIndex=Math.min(scrollXStore.endIndex,toXVisibleIndex+visibleXSize);$xeTable.updateScrollXData().then(()=>{loadScrollXData($xeTable);});}else{$xeTable.updateScrollXSpace();}// 计算 Y 逻辑
|
|
159
159
|
const rowHeight=computeRowHeight($xeTable);scrollYStore.rowHeight=rowHeight;// 已废弃
|
|
160
160
|
reactData.rowHeight=rowHeight;const{toVisibleIndex:toYVisibleIndex,visibleSize:visibleYSize}=handleVirtualYVisible($xeTable);if(scrollYLoad){const offsetYSize=Math.max(0,virtualYOpts.oSize?_xeUtils.default.toNumber(virtualYOpts.oSize):0);scrollYStore.preloadSize=_xeUtils.default.toNumber(virtualYOpts.preSize);scrollYStore.offsetSize=offsetYSize;scrollYStore.visibleSize=visibleYSize;scrollYStore.endIndex=Math.max(scrollYStore.startIndex+visibleYSize+offsetYSize,scrollYStore.endIndex);scrollYStore.visibleStartIndex=Math.max(scrollYStore.startIndex,toYVisibleIndex);scrollYStore.visibleEndIndex=Math.min(scrollYStore.endIndex,toYVisibleIndex+visibleYSize);$xeTable.updateScrollYData().then(()=>{loadScrollYData($xeTable);});}else{$xeTable.updateScrollYSpace();}});}function calcScrollbar($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{scrollXWidth,scrollYHeight}=reactData;const{elemStore}=internalData;const scrollbarOpts=$xeTable.computeScrollbarOpts;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const bodyWrapperElem=(0,_util.getRefElem)(elemStore['main-body-wrapper']);const headerTableElem=(0,_util.getRefElem)(elemStore['main-header-table']);const footerTableElem=(0,_util.getRefElem)(elemStore['main-footer-table']);const xHandleEl=$xeTable.$refs.refScrollXHandleElem;const yHandleEl=$xeTable.$refs.refScrollYHandleElem;let overflowY=false;let overflowX=false;if(bodyWrapperElem){overflowY=scrollYHeight>bodyWrapperElem.clientHeight;if(yHandleEl){reactData.scrollbarWidth=scrollbarOpts.width||yHandleEl.offsetWidth-yHandleEl.clientWidth||14;}reactData.overflowY=overflowY;overflowX=scrollXWidth>bodyWrapperElem.clientWidth;if(xHandleEl){reactData.scrollbarHeight=scrollbarOpts.height||xHandleEl.offsetHeight-xHandleEl.clientHeight||14;}reactData.overflowX=overflowX;const hHeight=headerTableElem?headerTableElem.clientHeight:0;const fHeight=footerTableElem?footerTableElem.clientHeight:0;internalData.tableHeight=bodyWrapperElem.offsetHeight;internalData.tHeaderHeight=hHeight;internalData.tFooterHeight=fHeight;reactData.overflowX=overflowX;reactData.parentHeight=Math.max(hHeight+fHeight+20,$xeTable.getParentHeight());}if(overflowX){$xeTable.checkScrolling();}}function handleRecalculateStyle($xeTable,reFull,reWidth,reHeight){const internalData=$xeTable;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return $xeTable.$nextTick();}const varEl=$xeTable.$refs.refVarElem;if(varEl){const[defEl,mediumEl,smallEl,miniEl]=varEl.children;calcVarRowHeightConfig($xeTable,'default',defEl);calcVarRowHeightConfig($xeTable,'medium',mediumEl);calcVarRowHeightConfig($xeTable,'small',smallEl);calcVarRowHeightConfig($xeTable,'mini',miniEl);}if(reWidth){calcCellWidth($xeTable);}if(reFull){autoCellWidth($xeTable);}calcScrollbar($xeTable);updateStyle($xeTable);updateRowExpandStyle($xeTable);if(reFull){updateTreeLineStyle($xeTable);}internalData.rceRunTime=Date.now();return computeScrollLoad($xeTable).then(()=>{// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
|
|
161
|
-
if(reWidth){calcCellWidth($xeTable);}if(reFull){autoCellWidth($xeTable);}if(reHeight){calcCellHeight($xeTable);}updateStyle($xeTable);calcScrollbar($xeTable);if(reFull){updateRowOffsetTop($xeTable);}updateRowExpandStyle($xeTable);if(reFull){updateTreeLineStyle($xeTable);}internalData.rceRunTime=Date.now();if(reFull){return computeScrollLoad($xeTable);}});}const
|
|
162
|
-
if(rceRunTime&&rceRunTime>Date.now()-500){rceDelay+=50;}else{rceDelay=0;}internalData.rceDelay=rceDelay;const refreshDelay=resizeOpts.refreshDelay||30;const reDelay=rceDelay+refreshDelay;const el=$xeTable.$refs.refElem;if(el&&el.clientWidth){autoCellWidth($xeTable);updateRowExpandStyle($xeTable);}if(customStore.visible&&$xeTable.handleCustomStyle){$xeTable.handleCustomStyle();}if(rceTimeout){clearTimeout(rceTimeout)
|
|
161
|
+
if(reWidth){calcCellWidth($xeTable);}if(reFull){autoCellWidth($xeTable);}if(reHeight){calcCellHeight($xeTable);}updateStyle($xeTable);calcScrollbar($xeTable);if(reFull){updateRowOffsetTop($xeTable);}updateRowExpandStyle($xeTable);if(reFull){updateTreeLineStyle($xeTable);}internalData.rceRunTime=Date.now();if(reFull){return computeScrollLoad($xeTable);}});}const defaultMinRunDelay=50;function handleLazyRecalculate($xeTable,reFull,reWidth,reHeight,options){const reactData=$xeTable;const internalData=$xeTable;const minRunDelay=(options?options.minRunDelay:defaultMinRunDelay)||defaultMinRunDelay;return new Promise(resolve=>{const{customStore}=reactData;const{rceTimeout,rceRunTime}=internalData;const $xeGanttView=internalData.xeGanttView;const resizeOpts=$xeTable.computeResizeOpts;let rceDelay=internalData.rceDelay;// 如果在500毫秒内频繁执行,则执行次数减缓
|
|
162
|
+
if(rceRunTime&&rceRunTime>Date.now()-500){rceDelay+=50;}else{rceDelay=0;}internalData.rceDelay=rceDelay;const refreshDelay=resizeOpts.refreshDelay||30;const reDelay=rceDelay+refreshDelay;const el=$xeTable.$refs.refElem;if(el&&el.clientWidth){autoCellWidth($xeTable);updateRowExpandStyle($xeTable);}if(customStore.visible&&$xeTable.handleCustomStyle){$xeTable.handleCustomStyle();}if(rceTimeout){clearTimeout(rceTimeout);// 多少毫秒内至少执行一次
|
|
163
|
+
if(rceRunTime&&rceRunTime+minRunDelay<Date.now()){resolve(handleRecalculateStyle($xeTable,reFull,reWidth,reHeight));}else{$xeTable.$nextTick(()=>{resolve();});}}else{resolve(handleRecalculateStyle($xeTable,reFull,reWidth,reHeight));}if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}internalData.rceTimeout=setTimeout(()=>{internalData.rceTimeout=undefined;handleRecalculateStyle($xeTable,reFull,reWidth,reHeight);},reDelay);});}function handleResizeEvent($xeTable){const internalData=$xeTable;if(internalData.rsePending){return;}internalData.rsePending=true;handleLazyRecalculate($xeTable,true,true,true,{minRunDelay:200}).then(()=>{internalData.rsePending=false;}).catch(()=>{internalData.rsePending=false;});}function handleUpdateAggValues($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{visibleColumn}=internalData;const aggCols=[];visibleColumn.forEach(column=>{if(column.aggFunc){aggCols.push(column);}});reactData.aggHandleAggColumns=aggCols;}function handleUpdateRowGroup($xeTable,groupFields){const reactData=$xeTable;const aggGroupFields=[];const aggGroupConfs=[];if(groupFields){(_xeUtils.default.isArray(groupFields)?groupFields:[groupFields]).forEach(field=>{aggGroupFields.push(field);aggGroupConfs.push({field});});}reactData.rowGroupList=aggGroupConfs;reactData.aggHandleFields=aggGroupFields;handleUpdateAggValues($xeTable);}function handleeGroupSummary($xeTable,aggList){const internalData=$xeTable;const{fullColumnFieldData}=internalData;const aggregateOpts=$xeTable.computeAggregateOpts;const aggFuncColumns=$xeTable.computeAggFuncColumns;const{mapChildrenField}=aggregateOpts;const aggCalcMethod=aggregateOpts.calcValuesMethod||aggregateOpts.countMethod||aggregateOpts.aggregateMethod;if(mapChildrenField){_xeUtils.default.lastEach(aggList,aggRow=>{let count=0;_xeUtils.default.each(aggRow[mapChildrenField],row=>{if(row.isAggregate){count+=row.childCount||0;}else{count++;}});aggRow.childCount=count;});if($xeTable.handlePivotTableAggData){$xeTable.handlePivotTableAggData(aggList);}else{_xeUtils.default.lastEach(aggList,aggRow=>{const aggDtObj={};const aggData=aggRow.aggData;const groupField=aggRow.groupField;const groupContent=aggRow.groupContent;const childList=mapChildrenField?aggRow[mapChildrenField]||[]:[];const childCount=aggRow.childCount;const colRest=fullColumnFieldData[groupField]||{};aggFuncColumns.forEach(column=>{const{field}=column;const currAggData=aggData?aggData[field]:null;const ctParams={$table:$xeTable,groupField,groupColumn:colRest?colRest.column:null,column,groupValue:groupContent,childList,childCount,aggValue:currAggData?currAggData.value:0,/**
|
|
163
164
|
* 已废弃
|
|
164
165
|
* @deprecated
|
|
165
166
|
*/children:childList,/**
|
|
@@ -297,9 +298,9 @@ if(virtualXOpts.scrollToLeftOnChange){targetScrollLeft=0;}if(virtualYOpts.scroll
|
|
|
297
298
|
*/reloadColumn(columns){return this.clearAll().then(()=>{return this.loadColumn(columns);});},handleInitColumn(collectColumn){const $xeTable=this;return handleInitColumn($xeTable,collectColumn);},/**
|
|
298
299
|
* 更新数据行的 Map
|
|
299
300
|
*/cacheRowMap(isReset){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{currKeyField,fullAllDataRowIdData,tableFullData,tableFullTreeData,tableFullGroupData,treeExpandedMaps,rowExpandedMaps,selectCheckboxMaps}=internalData;const fullAllDataRowIdMaps=isReset?{}:Object.assign({},fullAllDataRowIdData);// 存在已删除数据
|
|
300
|
-
const fullDataRowIdMaps={};const idMaps={};const{handleUpdateRowId}=(0,_util.createHandleUpdateRowId)($xeTable);const handleRowCache=(row,index,items,currIndex,parentRow,rowid,level,seq)=>{let rowRest=fullAllDataRowIdMaps[rowid];if(idMaps[rowid]){(0,_log.errLog)('vxe.error.repeatKey',[currKeyField,rowid]);}if(!rowRest){rowRest={row,rowid,seq,index:-1,_index:-1,$index:-1,treeIndex:index,_tIndex:-1,items,parent:parentRow,level,height:0,resizeHeight:0,oTop:0,expandHeight:0};}rowRest.treeLoaded=false;rowRest.expandLoaded=false;rowRest.row=row;rowRest.items=items;rowRest.parent=parentRow;rowRest.level=level;rowRest.index=currIndex;rowRest.treeIndex=index;// 更新缓存
|
|
301
|
+
const fullDataRowIdMaps={};const idMaps={};const{handleUpdateRowId}=(0,_util.createHandleUpdateRowId)($xeTable);let rowNum=0;const handleRowCache=(row,index,items,currIndex,parentRow,rowid,level,seq)=>{let rowRest=fullAllDataRowIdMaps[rowid];if(idMaps[rowid]){(0,_log.errLog)('vxe.error.repeatKey',[currKeyField,rowid]);}if(!rowRest){rowRest={row,rowid,_seq:-1,seq,index:-1,_index:-1,$index:-1,treeIndex:index,_tIndex:-1,items,parent:parentRow,level,height:0,resizeHeight:0,oTop:0,expandHeight:0};}rowRest.treeLoaded=false;rowRest.expandLoaded=false;rowRest._seq=rowNum++;rowRest.row=row;rowRest.items=items;rowRest.parent=parentRow;rowRest.level=level;rowRest.index=currIndex;rowRest.treeIndex=index;// 更新缓存
|
|
301
302
|
if(selectCheckboxMaps[rowid]){selectCheckboxMaps[rowid]=row;}if(rowExpandedMaps[rowid]){rowExpandedMaps[rowid]=row;}idMaps[rowid]=true;fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;};if(treeConfig){const treeOpts=$xeTable.computeTreeOpts;const{lazy}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;_xeUtils.default.eachTree(tableFullTreeData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);if(lazy){if(row[hasChildField]&&row[childrenField]===undefined){row[childrenField]=null;}if(treeExpandedMaps[rowid]){if(!row[childrenField]||!row[childrenField].length){delete treeExpandedMaps[rowid];}}}handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,(0,_util.toTreePathSeq)(path));},{children:childrenField});}else if(isRowGroupStatus){const aggregateOpts=$xeTable.computeAggregateOpts;const{mapChildrenField}=aggregateOpts;_xeUtils.default.eachTree(tableFullGroupData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,(0,_util.toTreePathSeq)(path));},{children:mapChildrenField});}else{tableFullData.forEach((row,index,items)=>{handleRowCache(row,index,items,index,null,handleUpdateRowId(row),0,index+1);});}internalData.fullDataRowIdData=fullDataRowIdMaps;internalData.fullAllDataRowIdData=fullAllDataRowIdMaps;reactData.treeExpandedFlag++;},cacheSourceMap(fullData){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const treeOpts=$xeTable.computeTreeOpts;const sourceData=_xeUtils.default.clone(fullData,true);const{handleUpdateRowId}=(0,_util.createHandleUpdateRowId)($xeTable);const sourceRowIdData={};const handleSourceRow=row=>{const rowid=handleUpdateRowId(row);sourceRowIdData[rowid]=row;};// 源数据缓存
|
|
302
|
-
if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;_xeUtils.default.eachTree(sourceData,handleSourceRow,{children:treeOpts.transform?treeOpts.mapChildrenField:childrenField});}else{sourceData.forEach(handleSourceRow);}internalData.sourceDataRowIdData=sourceRowIdData;internalData.tableSourceData=sourceData;},getParams(){const $xeTable=this;const props=$xeTable;return props.params;},loadTreeChildren(row,childRecords){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{keepSource}=props;const{tableSourceData,fullDataRowIdData,fullAllDataRowIdData,sourceDataRowIdData}=internalData;const treeOpts=$xeTable.computeTreeOpts;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const parentRest=fullAllDataRowIdData[(0,_util.getRowid)($xeTable,row)];const parentLevel=parentRest?parentRest.level:0;return this.createData(childRecords).then(rows=>{if(keepSource){const rowid=(0,_util.getRowid)(this,row);const matchObj=_xeUtils.default.findTree(tableSourceData,item=>rowid===(0,_util.getRowid)(this,item),{children:childrenField});if(matchObj){matchObj.item[childrenField]=_xeUtils.default.clone(rows,true);}rows.forEach(childRow=>{const rowid=(0,_util.getRowid)(this,childRow);sourceDataRowIdData[rowid]=_xeUtils.default.clone(childRow,true);});}_xeUtils.default.eachTree(rows,(childRow,index,items,path,parentItem,nodes)=>{const rowid=(0,_util.getRowid)($xeTable,childRow);const parentRow=parentItem||parentRest.row;const rest={row:childRow,rowid,seq:-1,index,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items,parent:parentRow,level:parentLevel+nodes.length,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdData[rowid]=rest;fullAllDataRowIdData[rowid]=rest;},{children:childrenField});row[childrenField]=rows;if(transform){row[mapChildrenField]=_xeUtils.default.clone(rows,false);}updateAfterDataIndex($xeTable);return rows;});},/**
|
|
303
|
+
if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;_xeUtils.default.eachTree(sourceData,handleSourceRow,{children:treeOpts.transform?treeOpts.mapChildrenField:childrenField});}else{sourceData.forEach(handleSourceRow);}internalData.sourceDataRowIdData=sourceRowIdData;internalData.tableSourceData=sourceData;},getParams(){const $xeTable=this;const props=$xeTable;return props.params;},loadTreeChildren(row,childRecords){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{keepSource}=props;const{tableSourceData,fullDataRowIdData,fullAllDataRowIdData,sourceDataRowIdData}=internalData;const treeOpts=$xeTable.computeTreeOpts;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const parentRest=fullAllDataRowIdData[(0,_util.getRowid)($xeTable,row)];const parentLevel=parentRest?parentRest.level:0;return this.createData(childRecords).then(rows=>{if(keepSource){const rowid=(0,_util.getRowid)(this,row);const matchObj=_xeUtils.default.findTree(tableSourceData,item=>rowid===(0,_util.getRowid)(this,item),{children:childrenField});if(matchObj){matchObj.item[childrenField]=_xeUtils.default.clone(rows,true);}rows.forEach(childRow=>{const rowid=(0,_util.getRowid)(this,childRow);sourceDataRowIdData[rowid]=_xeUtils.default.clone(childRow,true);});}_xeUtils.default.eachTree(rows,(childRow,index,items,path,parentItem,nodes)=>{const rowid=(0,_util.getRowid)($xeTable,childRow);const parentRow=parentItem||parentRest.row;const rest={row:childRow,rowid,_seq:-1,seq:-1,index,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items,parent:parentRow,level:parentLevel+nodes.length,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdData[rowid]=rest;fullAllDataRowIdData[rowid]=rest;},{children:childrenField});row[childrenField]=rows;if(transform){row[mapChildrenField]=_xeUtils.default.clone(rows,false);}updateAfterDataIndex($xeTable);return rows;});},/**
|
|
303
304
|
* 根据 tr 元素获取对应的 row 信息
|
|
304
305
|
* @param {Element} tr 元素
|
|
305
306
|
*/getRowNode(tr){const $xeTable=this;const internalData=$xeTable;if(tr){const{fullAllDataRowIdData}=internalData;const rowid=tr.getAttribute('rowid');if(rowid){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return{rowid:rowRest.rowid,item:rowRest.row,index:rowRest.index,items:rowRest.items,parent:rowRest.parent};}}}return null;},/**
|
|
@@ -586,7 +587,13 @@ _xeUtils.default.eachTree(rows,row=>{const rowid=handleGetRowId(row);if(isForce|
|
|
|
586
587
|
rows.forEach(row=>{const rowid=handleGetRowId(row);if(isForce||!checkMethod||checkMethod({$table:$xeTable,row})){if(checked){if(!selectCheckboxMaps[rowid]){selectCheckboxMaps[rowid]=row;}}else{if(selectCheckboxMaps[rowid]){delete selectCheckboxMaps[rowid];}}handleCheckboxReserveRow($xeTable,row,checked);reactData.updateCheckboxFlag++;}});},/**
|
|
587
588
|
* 即将移除
|
|
588
589
|
* @deprecated
|
|
589
|
-
*/handleSelectRow({row},checked,isForce){const $xeTable=this;$xeTable.handleBatchSelectRows([row],checked,isForce);},handleToggleCheckRowEvent(evnt,params){const $xeTable=this;const internalData=$xeTable;const{selectCheckboxMaps}=internalData;const checkboxOpts=$xeTable.computeCheckboxOpts;const{checkField,trigger}=checkboxOpts;const{row}=params;if(trigger==='manual'){return;}let checked=false;if(checkField){checked=!_xeUtils.default.get(row,checkField);}else{checked=!selectCheckboxMaps[(0,_util.getRowid)($xeTable,row)];}if(evnt){$xeTable.triggerCheckRowEvent(evnt,params,checked);}else{$xeTable.handleBatchSelectRows([row],checked);$xeTable.checkSelectionStatus();}},triggerCheckRowEvent(evnt,params,checked){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{row}=params;const{isRowGroupStatus}=reactData;const{afterFullData}=internalData;const checkboxOpts=$xeTable.computeCheckboxOpts;const{checkMethod,trigger}=checkboxOpts;if(trigger==='manual'){return;}evnt.stopPropagation();if(checkboxOpts.isShiftKey&&evnt.shiftKey
|
|
590
|
+
*/handleSelectRow({row},checked,isForce){const $xeTable=this;$xeTable.handleBatchSelectRows([row],checked,isForce);},handleToggleCheckRowEvent(evnt,params){const $xeTable=this;const internalData=$xeTable;const{selectCheckboxMaps}=internalData;const checkboxOpts=$xeTable.computeCheckboxOpts;const{checkField,trigger}=checkboxOpts;const{row}=params;if(trigger==='manual'){return;}let checked=false;if(checkField){checked=!_xeUtils.default.get(row,checkField);}else{checked=!selectCheckboxMaps[(0,_util.getRowid)($xeTable,row)];}if(evnt){$xeTable.triggerCheckRowEvent(evnt,params,checked);}else{$xeTable.handleBatchSelectRows([row],checked);$xeTable.checkSelectionStatus();}},triggerCheckRowEvent(evnt,params,checked){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{row}=params;const{isRowGroupStatus}=reactData;const{fullAllDataRowIdData,afterFullData,afterTreeFullData,afterGroupFullData}=internalData;const checkboxOpts=$xeTable.computeCheckboxOpts;const aggregateOpts=$xeTable.computeAggregateOpts;const treeOpts=$xeTable.computeTreeOpts;const{checkMethod,trigger,checkStrictly}=checkboxOpts;if(trigger==='manual'){return;}evnt.stopPropagation();if(checkboxOpts.isShiftKey&&evnt.shiftKey){const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);const checkboxRecords=$xeTable.getCheckboxRecords();let currSeq=-1;let currRow=null;const currRowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[currRowid];if(rowRest){currRow=rowRest.row;currSeq=rowRest._seq;}if(currRow&&checkboxRecords.length){let rangeRows=[];let firstSeq=-1;let firstRow=null;let firstRowid='';let lastSeq=-1;let lastRow=null;let lastRowid='';// 根据序号取出范围最小/最大的行
|
|
591
|
+
const selectMaps={};checkboxRecords.forEach(item=>{const rowid=handleGetRowId(item);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){if(!firstRow||firstSeq>rowRest._seq){firstRowid=rowRest.rowid;firstRow=rowRest.row;firstSeq=rowRest._seq;}if(!lastRow||lastSeq<rowRest._seq){lastRowid=rowRest.rowid;lastRow=rowRest.row;lastSeq=rowRest._seq;}}selectMaps[rowid]=item;});// 如果已选只有一条并选择当前则跳过
|
|
592
|
+
if(firstRow&&lastRow&&(checkboxRecords.length>1||currRowid!==firstRowid)&&(Math.abs(firstSeq-lastSeq)>1||Math.abs(currSeq-firstSeq)>1||Math.abs(currSeq-lastSeq)>1)){// 树与分组
|
|
593
|
+
if(treeConfig||isRowGroupStatus){const{transform}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const iteratorChildField=treeConfig?transform?treeOpts.mapChildrenField:childrenField:aggregateOpts.mapChildrenField;let isMatchFirst=false;let matchStartRowid='';let matchEndRowid='';const handleGetChildRowid=(rowid,isLast)=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const item=rowRest.row;const childList=item[iteratorChildField];if(childList&&childList.length){const targetRow=isLast?_xeUtils.default.last(childList):_xeUtils.default.first(childList);return handleGetChildRowid(handleGetRowId(targetRow),isLast);}}return rowid;};const handleGetSelectParentRowid=rowid=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const parentItem=rowRest.parent;if(parentItem){const parentRowid=handleGetRowId(parentItem);if(selectMaps[parentRowid]){return handleGetSelectParentRowid(parentRowid);}}}return rowid;};const handleGetRootRow=row=>{const rowid=handleGetRowId(row);if(rowid){const rest=fullAllDataRowIdData[rowid];if(rest){return rest.parent?handleGetRootRow(rest.parent):rest;}}return null;};if(currSeq<firstSeq){matchStartRowid=handleGetChildRowid(currRowid,0);matchEndRowid=handleGetChildRowid(firstRowid,1);}else{if(currSeq>lastSeq){matchStartRowid=handleGetSelectParentRowid(lastRowid);}else{matchStartRowid=handleGetChildRowid(firstRowid,0);}matchEndRowid=handleGetChildRowid(currRowid,1);}const handleRangeRow=item=>{const rowid=handleGetRowId(item);const childList=item[iteratorChildField];if(!isMatchFirst&&rowid===matchStartRowid){isMatchFirst=true;}// 如果是父子关联,则排除父节点
|
|
594
|
+
if(isMatchFirst&&(checkStrictly||!childList||!childList.length)){rangeRows.push(item);}// break
|
|
595
|
+
return rowid===matchEndRowid;};if(treeConfig){const matchStartRowRest=fullAllDataRowIdData[matchStartRowid];const firstRootRowRest=matchStartRowRest?handleGetRootRow(matchStartRowRest.row):null;if(firstRootRowRest){// 优化查找复杂度
|
|
596
|
+
_xeUtils.default.findTree(afterTreeFullData.slice(firstRootRowRest.treeIndex),handleRangeRow,{children:iteratorChildField});}else{_xeUtils.default.findTree(afterTreeFullData,handleRangeRow,{children:iteratorChildField});}}else{_xeUtils.default.findTree(afterGroupFullData,handleRangeRow,{children:iteratorChildField});}}else{const _currRowIndex=$xeTable.getVTRowIndex(currRow);const _firstRowIndex=$xeTable.getVTRowIndex(firstRow);const _lastRowIndex=$xeTable.getVTRowIndex(lastRow);if(_currRowIndex<_firstRowIndex){rangeRows=afterFullData.slice(_currRowIndex,_firstRowIndex+1);}else if(_currRowIndex>_lastRowIndex){rangeRows=afterFullData.slice(_lastRowIndex,_currRowIndex+1);}else{rangeRows=afterFullData.slice(_firstRowIndex,_currRowIndex+1);}}$xeTable.setAllCheckboxRow(false);$xeTable.$nextTick(()=>{handleCheckedCheckboxRow($xeTable,rangeRows,true,false);});$xeTable.dispatchEvent('checkbox-range-select',Object.assign({rangeRecords:rangeRows},params),evnt);}}}if(!checkMethod||checkMethod({$table:$xeTable,row})){$xeTable.handleBatchSelectRows([row],checked);$xeTable.checkSelectionStatus();$xeTable.dispatchEvent('checkbox-change',Object.assign({records:()=>$xeTable.getCheckboxRecords(),reserves:()=>$xeTable.getCheckboxReserveRecords(),indeterminates:()=>$xeTable.getCheckboxIndeterminateRecords(),checked},params),evnt);}},/**
|
|
590
597
|
* 多选,切换某一行的选中状态
|
|
591
598
|
*/toggleCheckboxRow(row){const $xeTable=this;const internalData=$xeTable;const{selectCheckboxMaps}=internalData;const checkboxOpts=$xeTable.computeCheckboxOpts;const{checkField}=checkboxOpts;const checked=checkField?!_xeUtils.default.get(row,checkField):!selectCheckboxMaps[(0,_util.getRowid)($xeTable,row)];$xeTable.handleBatchSelectRows([row],checked,true);$xeTable.checkSelectionStatus();return $xeTable.$nextTick();},/**
|
|
592
599
|
* 用于多选行,设置所有行的选中状态
|