vxe-table 3.18.0-beta.8 → 3.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/locale/lang/en-US.js +12 -12
- package/es/style.css +1 -1
- package/es/table/module/edit/mixin.js +58 -20
- package/es/table/module/filter/mixin.js +12 -10
- package/es/table/module/keyboard/mixin.js +175 -172
- package/es/table/module/menu/mixin.js +16 -9
- package/es/table/module/validator/mixin.js +4 -2
- package/es/table/src/methods.js +344 -46
- package/es/table/src/store.js +8 -0
- package/es/table/src/table.js +35 -9
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +713 -289
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +12 -12
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +12 -12
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +55 -16
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/filter/mixin.js +12 -10
- package/lib/table/module/filter/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +184 -185
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/module/menu/mixin.js +20 -13
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +4 -2
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/methods.js +388 -52
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/store.js +15 -0
- package/lib/table/src/store.min.js +1 -0
- package/lib/table/src/table.js +39 -9
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/locale/lang/en-US.ts +12 -12
- package/packages/table/module/edit/mixin.ts +59 -23
- package/packages/table/module/filter/mixin.ts +17 -13
- package/packages/table/module/keyboard/mixin.ts +169 -165
- package/packages/table/module/menu/mixin.ts +16 -9
- package/packages/table/module/validator/mixin.ts +8 -4
- package/packages/table/src/methods.ts +362 -50
- package/packages/table/src/store.ts +15 -0
- package/packages/table/src/table.ts +37 -9
- /package/es/{iconfont.1755775629306.ttf → iconfont.1756272539382.ttf} +0 -0
- /package/es/{iconfont.1755775629306.woff → iconfont.1756272539382.woff} +0 -0
- /package/es/{iconfont.1755775629306.woff2 → iconfont.1756272539382.woff2} +0 -0
- /package/lib/{iconfont.1755775629306.ttf → iconfont.1756272539382.ttf} +0 -0
- /package/lib/{iconfont.1755775629306.woff → iconfont.1756272539382.woff} +0 -0
- /package/lib/{iconfont.1755775629306.woff2 → iconfont.1756272539382.woff2} +0 -0
|
@@ -173,11 +173,13 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
173
173
|
tableFullData,
|
|
174
174
|
fullDataRowIdData,
|
|
175
175
|
fullAllDataRowIdData,
|
|
176
|
-
insertRowMaps
|
|
176
|
+
insertRowMaps,
|
|
177
|
+
removeRowMaps
|
|
177
178
|
} = internalData;
|
|
178
179
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
179
180
|
const {
|
|
180
181
|
transform,
|
|
182
|
+
parentField,
|
|
181
183
|
rowField,
|
|
182
184
|
mapChildrenField
|
|
183
185
|
} = treeOpts;
|
|
@@ -189,6 +191,14 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
189
191
|
[mapChildrenField]: [],
|
|
190
192
|
[childrenField]: []
|
|
191
193
|
} : {}, record)));
|
|
194
|
+
let treeRecords = [];
|
|
195
|
+
if (treeConfig && transform) {
|
|
196
|
+
treeRecords = _xeUtils.default.toArrayTree(newRecords, {
|
|
197
|
+
key: rowField,
|
|
198
|
+
parentKey: parentField,
|
|
199
|
+
children: childrenField
|
|
200
|
+
});
|
|
201
|
+
}
|
|
192
202
|
if (_xeUtils.default.eqNull(targetRow)) {
|
|
193
203
|
// 如果为虚拟树
|
|
194
204
|
if (treeConfig && transform) {
|
|
@@ -286,21 +296,26 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
286
296
|
const parentMapChilds = parentRow ? parentRow[mapChildrenField] : tableFullTreeData;
|
|
287
297
|
const parentRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, parentRow)];
|
|
288
298
|
const parentLevel = parentRest ? parentRest.level : 0;
|
|
289
|
-
|
|
290
|
-
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
291
|
-
if (item[treeOpts.parentField]) {
|
|
292
|
-
if (parentRow && item[treeOpts.parentField] !== parentRow[rowField]) {
|
|
293
|
-
(0, _log.errLog)('vxe.error.errProp', [`${treeOpts.parentField}=${item[treeOpts.parentField]}`, `${treeOpts.parentField}=${parentRow[rowField]}`]);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
299
|
+
treeRecords.forEach((row, i) => {
|
|
296
300
|
if (parentRow) {
|
|
297
|
-
|
|
301
|
+
if (row[parentField] !== parentRow[rowField]) {
|
|
302
|
+
row[parentField] = parentRow[rowField];
|
|
303
|
+
(0, _log.errLog)('vxe.error.errProp', [`${parentField}=${row[parentField]}`, `${parentField}=${parentRow[rowField]}`]);
|
|
304
|
+
}
|
|
305
|
+
} else {
|
|
306
|
+
if (row[parentField] !== null) {
|
|
307
|
+
row[parentField] = null;
|
|
308
|
+
(0, _log.errLog)('vxe.error.errProp', [`${parentField}=${row[parentField]}`, 'null']);
|
|
309
|
+
}
|
|
298
310
|
}
|
|
299
311
|
let targetIndex = matchMapObj.index + i;
|
|
300
312
|
if (isInsertNextRow) {
|
|
301
313
|
targetIndex = targetIndex + 1;
|
|
302
314
|
}
|
|
303
|
-
parentMapChilds.splice(targetIndex, 0,
|
|
315
|
+
parentMapChilds.splice(targetIndex, 0, row);
|
|
316
|
+
});
|
|
317
|
+
_xeUtils.default.eachTree(treeRecords, item => {
|
|
318
|
+
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
304
319
|
const rest = {
|
|
305
320
|
row: item,
|
|
306
321
|
rowid,
|
|
@@ -318,8 +333,13 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
318
333
|
oTop: 0,
|
|
319
334
|
expandHeight: 0
|
|
320
335
|
};
|
|
336
|
+
if (item[childrenField]) {
|
|
337
|
+
item[mapChildrenField] = item[childrenField];
|
|
338
|
+
}
|
|
321
339
|
fullDataRowIdData[rowid] = rest;
|
|
322
340
|
fullAllDataRowIdData[rowid] = rest;
|
|
341
|
+
}, {
|
|
342
|
+
children: childrenField
|
|
323
343
|
});
|
|
324
344
|
// 源
|
|
325
345
|
if (parentRow) {
|
|
@@ -332,7 +352,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
332
352
|
if (isInsertNextRow) {
|
|
333
353
|
targetIndex = targetIndex + 1;
|
|
334
354
|
}
|
|
335
|
-
parentChilds.splice(targetIndex, 0, ...
|
|
355
|
+
parentChilds.splice(targetIndex, 0, ...treeRecords);
|
|
336
356
|
}
|
|
337
357
|
}
|
|
338
358
|
} else {
|
|
@@ -363,7 +383,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
363
383
|
afIndex = Math.min(afterFullData.length, afIndex + 1);
|
|
364
384
|
}
|
|
365
385
|
if (afIndex === -1) {
|
|
366
|
-
throw new Error((
|
|
386
|
+
throw new Error(getI18n('vxe.error.unableInsert'));
|
|
367
387
|
}
|
|
368
388
|
afterFullData.splice(afIndex, 0, ...newRecords);
|
|
369
389
|
const tfIndex = $xeTable.findRowIndexOf(tableFullData, targetRow);
|
|
@@ -387,10 +407,27 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
387
407
|
}
|
|
388
408
|
}
|
|
389
409
|
}
|
|
390
|
-
|
|
410
|
+
const handleStatus = newRow => {
|
|
391
411
|
const rowid = (0, _util.getRowid)($xeTable, newRow);
|
|
392
|
-
|
|
393
|
-
|
|
412
|
+
// 如果是被删除的数据,则还原状态
|
|
413
|
+
if (removeRowMaps[rowid]) {
|
|
414
|
+
delete removeRowMaps[rowid];
|
|
415
|
+
if (insertRowMaps[rowid]) {
|
|
416
|
+
delete insertRowMaps[rowid];
|
|
417
|
+
}
|
|
418
|
+
} else {
|
|
419
|
+
insertRowMaps[rowid] = newRow;
|
|
420
|
+
}
|
|
421
|
+
};
|
|
422
|
+
// 如果为虚拟树
|
|
423
|
+
if (treeConfig && transform) {
|
|
424
|
+
_xeUtils.default.eachTree(treeRecords, handleStatus, {
|
|
425
|
+
children: mapChildrenField
|
|
426
|
+
});
|
|
427
|
+
} else {
|
|
428
|
+
newRecords.forEach(handleStatus);
|
|
429
|
+
}
|
|
430
|
+
reactData.removeRowFlag++;
|
|
394
431
|
reactData.insertRowFlag++;
|
|
395
432
|
$xeTable.cacheRowMap(false);
|
|
396
433
|
$xeTable.updateScrollYStatus();
|
|
@@ -1039,7 +1076,9 @@ var _default = exports.default = {
|
|
|
1039
1076
|
if (column && row) {
|
|
1040
1077
|
return {
|
|
1041
1078
|
row,
|
|
1042
|
-
|
|
1079
|
+
rowIndex: $xeTable.getRowIndex(row),
|
|
1080
|
+
column,
|
|
1081
|
+
columnIndex: $xeTable.getColumnIndex(column)
|
|
1043
1082
|
};
|
|
1044
1083
|
}
|
|
1045
1084
|
return null;
|
|
@@ -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:d,afterFullData:a,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(d,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[w]=[]),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"),a[f](l),d[f](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}})}function handleInsertRowAt(a,t,l,s){var e=a;let o=a.treeConfig;var r=e.isRowGroupStatus;let{tableFullTreeData:u,afterFullData:i,mergeBodyList:n,tableFullData:d,fullDataRowIdData:c,fullAllDataRowIdData:h,insertRowMaps:g}=a,w=a.computeTreeOpts,{transform:f,rowField:m,mapChildrenField:x}=w,v=w.children||w.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(o&&f?{[x]:[],[v]:[]}:{},e))));if(_xeUtils.default.eqNull(l))if(o&&f)insertTreeRow(a,p,!1);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else p.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),d.unshift(e)}),n.forEach(e=>{var t=e.row;0<=t&&(e.row=t+p.length)});else if(-1===l)if(o&&f)insertTreeRow(a,p,!0);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else p.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),d.push(e)});else if(o&&f){let d=_xeUtils.default.findTree(u,e=>l[m]===e[m],{children:x});if(d){let o=d.parent,i=o?o[x]:u;t=h[(0,_util.getRowid)(a,o)];let n=t?t.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);e[w.parentField]&&o&&e[w.parentField]!==o[m]&&(0,_log.errLog)("vxe.error.errProp",[w.parentField+"="+e[w.parentField],w.parentField+"="+o[m]]),o&&(e[w.parentField]=o[m]);let r=d.index+t;s&&(r+=1),i.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:o,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[l]=t,h[l]=t}),o){t=_xeUtils.default.findTree(u,e=>l[m]===e[m],{children:v});if(t){var C=t.items;let e=t.index;s&&(e+=1),C.splice(e,0,...p)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,p,!0)}else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=a.findRowIndexOf(i,l),-1===(r=s?Math.min(i.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));i.splice(r,0,...p);t=a.findRowIndexOf(d,l);-1<t?d.splice(t+(s?1:0),0,...p):d.push(...p),n.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+p.length:(s?t+l>=r:t+l>r)&&(e.rowspan=l+p.length)})}return p.forEach(e=>{var t=(0,_util.getRowid)(a,e);g[t]=e}),e.insertRowFlag++,a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(o&&f),o&&f||a.updateAfterDataIndex(),a.updateFooter(),a.handleUpdateBodyMerge(),a.checkSelectionStatus(),e.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate(!0))).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))}function handleInsertChildRowAt(e,t,l,r,o){var i=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return i&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,o):((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,d=e.computeValidOpts;if(i||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,i))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),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,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,o,i,e){let n=l.$xeGrid;var{editConfig:t,mouseConfig:d}=l,{editStore:a,tableColumn:s}=l,u=l.computeEditOpts,c=u.mode,{actived:a,focused:h}=a;let{row:g,column:w}=r;var f=w.editRender,m=r.cell||l.getCellElement(g,w),x=u.beforeEditMethod||u.activeMethod;if((r.cell=m)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(f)&&!l.isPendingByRow(g)&&!l.isAggregateRecord(g)){if(a.row!==g||"cell"===c&&a.column!==w){let t="edit-disabled";if(!x||x(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),a.column&&handleClearEdit(l,o),t="edit-activated",w.renderHeight=m.offsetHeight,a.args=r,a.row=g,a.column=w,"row"===c?s.forEach(e=>getEditColumnModel(g,e)):getEditColumnModel(g,w);let e=u.afterEditMethod;l.$nextTick(()=>{i&&l.handleFocus(r,o),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:n}))})}l.dispatchEvent(t,{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},o),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},o)}else{t=a.column;d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),t!==w&&(f=t.model,f.update&&(0,_util.setCellValue)(g,t,f.value),l.clearValidate)&&l.clearValidate(g,w),w.renderHeight=m.offsetHeight,a.args=r,a.column=w,e&&setTimeout(()=>{l.handleFocus(r,o)})}h.column=null,h.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let o=t;var i=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(i)&&(0,_utils.isEnableConf)(n.editRender)&&!t.isAggregateRecord(l)?Promise.resolve(r?t.scrollToRow(l,n):null).then(()=>{var e=t.getCellElement(l,n);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:n,columnIndex:t.getColumnIndex(n),cell:e,$table:t},null,r,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 l=this;var t=l,r=l,t=t.treeConfig,{editStore:o,isRowGroupStatus:i}=r;let{tableFullTreeData:n,selectCheckboxMaps:d,afterFullData:a,mergeBodyList:s,tableFullData:u,pendingRowMaps:c,insertRowMaps:h,removeRowMaps:g}=l;var w=l.computeCheckboxOpts,f=l.computeTreeOpts;let{transform:m,mapChildrenField:x}=f,v=f.children||f.childrenField;f=o.actived,o=w.checkField;let p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),g[t]=e)}),o||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);d[e]&&delete d[e]}),r.updateCheckboxFlag++),u===e?(e=p=u.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&m?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(this,e),{children:x}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(this,e),{children:v})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):i?(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=this.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(a,e);-1<r&&(s.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),f.row&&-1<l.findRowIndexOf(e,f.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);h[e]&&delete h[e],c[e]&&delete c[e]}),r.removeRowFlag++,r.insertRowFlag++,r.pendingRowFlag++,l.cacheRowMap(!1),l.handleTableData(t&&m),l.updateFooter(),l.handleUpdateBodyMerge(),t&&m||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate(!0))).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,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){return handleEditActive(this,e,t,!0,!0)},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,column: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,d=i.editRender,a=this.computeEditOpts;if((0,_utils.isEnableConf)(d)){var s=renderer.get(d.name);let e=d.autofocus||d.autoFocus,t=d.autoSelect||d.autoselect,l;a.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&&((d=l.createTextRange()).collapse(!1),d.select()):a.autoPos&&!i.fixed&&this.scrollToRow(o,i)}},_setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender)),r=!1;return t&&(r=!0)!==t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,l,r)},_setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t){return handleEditCell(this,e,t,!0)},_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:d,selected:a}=o,{row:s,column:u}=e,c=r&&i.selected;return!c||a.row===s&&a.column===u||(d.row!==s||"cell"===n.mode&&d.column!==u)&&(handleClearEdit(l,t),l.clearSelected(),l.clearCellAreas&&(l.clearCellAreas(),l.clearCopyCellArea()),a.args=e,a.row=s,a.column=u,c&&this.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["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:d,afterFullData:a,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(d,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[w]=[]),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"),a[f](l),d[f](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}})}function handleInsertRowAt(d,t,l,a){var e=d;let o=d.treeConfig;var r=e.isRowGroupStatus;let{tableFullTreeData:s,afterFullData:i,mergeBodyList:n,tableFullData:u,fullDataRowIdData:c,fullAllDataRowIdData:h,insertRowMaps:g,removeRowMaps:w}=d;var f=d.computeTreeOpts;let{transform:x,parentField:m,rowField:v,mapChildrenField:p}=f,R=f.children||f.childrenField,_=(_xeUtils.default.isArray(t)||(t=[t]),d.defineField(t.map(e=>Object.assign(o&&x?{[p]:[],[R]:[]}:{},e)))),C=[];if(o&&x&&(C=_xeUtils.default.toArrayTree(_,{key:v,parentKey:m,children:R})),_xeUtils.default.eqNull(l))if(o&&x)insertTreeRow(d,_,!1);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else _.forEach(e=>{var t=(0,_util.getRowid)(d,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+_.length)});else if(-1===l)if(o&&x)insertTreeRow(d,_,!0);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else _.forEach(e=>{var t=(0,_util.getRowid)(d,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=>l[v]===e[v],{children:p});if(n){let r=n.parent,o=r?r[p]:s;f=h[(0,_util.getRowid)(d,r)];let i=f?f.level:0;if(C.forEach((e,t)=>{r?e[m]!==r[v]&&(e[m]=r[v],(0,_log.errLog)("vxe.error.errProp",[m+"="+e[m],m+"="+r[v]])):null!==e[m]&&(e[m]=null,_log.errLog)("vxe.error.errProp",[m+"="+e[m],"null"]);let l=n.index+t;a&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(C,e=>{var t=(0,_util.getRowid)(d,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[R]&&(e[p]=e[R]),c[t]=l,h[t]=l},{children:R}),r){t=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:R});if(t){f=t.items;let e=t.index;a&&(e+=1),f.splice(e,0,...C)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(d,_,!0)}else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=d.findRowIndexOf(i,l),-1===(r=a?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,..._);t=d.findRowIndexOf(u,l);-1<t?u.splice(t+(a?1:0),0,..._):u.push(..._),n.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+_.length:(a?t+l>=r:t+l>r)&&(e.rowspan=l+_.length)})}f=e=>{var t=(0,_util.getRowid)(d,e);w[t]?(delete w[t],g[t]&&delete g[t]):g[t]=e};return o&&x?_xeUtils.default.eachTree(C,f,{children:p}):_.forEach(f),e.removeRowFlag++,e.insertRowFlag++,d.cacheRowMap(!1),d.updateScrollYStatus(),d.handleTableData(o&&x),o&&x||d.updateAfterDataIndex(),d.updateFooter(),d.handleUpdateBodyMerge(),d.checkSelectionStatus(),e.scrollYLoad&&d.updateScrollYSpace(),d.$nextTick().then(()=>(d.updateCellAreas(),d.recalculate(!0))).then(()=>({row:_.length?_[_.length-1]:null,rows:_}))}function handleInsertChildRowAt(e,t,l,r,o){var i=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return i&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,o):((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,d=e.computeValidOpts;if(i||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,i))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),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,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,o,i,e){let n=l.$xeGrid;var{editConfig:t,mouseConfig:d}=l,{editStore:a,tableColumn:s}=l,u=l.computeEditOpts,c=u.mode,{actived:a,focused:h}=a;let{row:g,column:w}=r;var f=w.editRender,x=r.cell||l.getCellElement(g,w),m=u.beforeEditMethod||u.activeMethod;if((r.cell=x)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(f)&&!l.isPendingByRow(g)&&!l.isAggregateRecord(g)){if(a.row!==g||"cell"===c&&a.column!==w){let t="edit-disabled";if(!m||m(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),a.column&&handleClearEdit(l,o),t="edit-activated",w.renderHeight=x.offsetHeight,a.args=r,a.row=g,a.column=w,"row"===c?s.forEach(e=>getEditColumnModel(g,e)):getEditColumnModel(g,w);let e=u.afterEditMethod;l.$nextTick(()=>{i&&l.handleFocus(r,o),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:n}))})}l.dispatchEvent(t,{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},o),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},o)}else{t=a.column;d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),t!==w&&(f=t.model,f.update&&(0,_util.setCellValue)(g,t,f.value),l.clearValidate)&&l.clearValidate(g,w),w.renderHeight=x.offsetHeight,a.args=r,a.column=w,e&&setTimeout(()=>{l.handleFocus(r,o)})}h.column=null,h.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let o=t;var i=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(i)&&(0,_utils.isEnableConf)(n.editRender)&&!t.isAggregateRecord(l)?Promise.resolve(r?t.scrollToRow(l,n):null).then(()=>{var e=t.getCellElement(l,n);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:n,columnIndex:t.getColumnIndex(n),cell:e,$table:t},null,r,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 l=this;var t=l,r=l,t=t.treeConfig,{editStore:o,isRowGroupStatus:i}=r;let{tableFullTreeData:n,selectCheckboxMaps:d,afterFullData:a,mergeBodyList:s,tableFullData:u,pendingRowMaps:c,insertRowMaps:h,removeRowMaps:g}=l;var w=l.computeCheckboxOpts,f=l.computeTreeOpts;let{transform:x,mapChildrenField:m}=f,v=f.children||f.childrenField;f=o.actived,o=w.checkField;let p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),g[t]=e)}),o||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);d[e]&&delete d[e]}),r.updateCheckboxFlag++),u===e?(e=p=u.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&x?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(this,e),{children:m}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(this,e),{children:v})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):i?(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=this.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(a,e);-1<r&&(s.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),f.row&&-1<l.findRowIndexOf(e,f.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);h[e]&&delete h[e],c[e]&&delete c[e]}),r.removeRowFlag++,r.insertRowFlag++,r.pendingRowFlag++,l.cacheRowMap(!1),l.handleTableData(t&&x),l.updateFooter(),l.handleUpdateBodyMerge(),t&&x||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate(!0))).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,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){return handleEditActive(this,e,t,!0,!0)},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,d=i.editRender,a=this.computeEditOpts;if((0,_utils.isEnableConf)(d)){var s=renderer.get(d.name);let e=d.autofocus||d.autoFocus,t=d.autoSelect||d.autoselect,l;a.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&&((d=l.createTextRange()).collapse(!1),d.select()):a.autoPos&&!i.fixed&&this.scrollToRow(o,i)}},_setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender)),r=!1;return t&&(r=!0)!==t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,l,r)},_setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t){return handleEditCell(this,e,t,!0)},_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:d,selected:a}=o,{row:s,column:u}=e,c=r&&i.selected;return!c||a.row===s&&a.column===u||(d.row!==s||"cell"===n.mode&&d.column!==u)&&(handleClearEdit(l,t),l.clearSelected(),l.clearCellAreas&&(l.clearCellAreas(),l.clearCopyCellArea()),a.args=e,a.row=s,a.column=u,c&&this.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["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")}}};
|
|
@@ -20,6 +20,7 @@ var _default = exports.default = {
|
|
|
20
20
|
* @param column
|
|
21
21
|
*/
|
|
22
22
|
_openFilter(fieldOrColumn) {
|
|
23
|
+
const $xeTable = this;
|
|
23
24
|
const column = (0, _util.handleFieldOrColumn)(this, fieldOrColumn);
|
|
24
25
|
if (column && column.filters) {
|
|
25
26
|
const {
|
|
@@ -28,7 +29,7 @@ var _default = exports.default = {
|
|
|
28
29
|
const {
|
|
29
30
|
fixed
|
|
30
31
|
} = column;
|
|
31
|
-
return
|
|
32
|
+
return $xeTable.scrollToColumn(column).then(() => {
|
|
32
33
|
const headerWrapperElem = elemStore[`${fixed || 'main'}-header-wrapper`] || elemStore['main-header-wrapper'];
|
|
33
34
|
if (headerWrapperElem) {
|
|
34
35
|
const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-cell--filter`);
|
|
@@ -36,7 +37,7 @@ var _default = exports.default = {
|
|
|
36
37
|
}
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
|
-
return
|
|
40
|
+
return $xeTable.$nextTick();
|
|
40
41
|
},
|
|
41
42
|
/**
|
|
42
43
|
* 修改筛选条件列表
|
|
@@ -257,9 +258,9 @@ var _default = exports.default = {
|
|
|
257
258
|
datas.push(item.data);
|
|
258
259
|
}
|
|
259
260
|
});
|
|
260
|
-
const filterList =
|
|
261
|
+
const filterList = $xeTable.getCheckedFilters();
|
|
261
262
|
const params = {
|
|
262
|
-
$table:
|
|
263
|
+
$table: $xeTable,
|
|
263
264
|
$event: evnt,
|
|
264
265
|
column,
|
|
265
266
|
field,
|
|
@@ -271,21 +272,21 @@ var _default = exports.default = {
|
|
|
271
272
|
};
|
|
272
273
|
// 如果是服务端筛选,则跳过本地筛选处理
|
|
273
274
|
if (!filterOpts.remote) {
|
|
274
|
-
|
|
275
|
-
|
|
275
|
+
$xeTable.handleTableData(true);
|
|
276
|
+
$xeTable.checkSelectionStatus();
|
|
276
277
|
}
|
|
277
|
-
if (mouseConfig && mouseOpts.area &&
|
|
278
|
+
if (mouseConfig && mouseOpts.area && $xeTable.handleFilterEvent) {
|
|
278
279
|
$xeTable.handleFilterEvent(evnt, params);
|
|
279
280
|
}
|
|
280
281
|
if (evnt) {
|
|
281
|
-
$xeTable.
|
|
282
|
+
$xeTable.dispatchEvent('filter-change', params, evnt);
|
|
282
283
|
}
|
|
283
284
|
$xeTable.closeFilter();
|
|
284
285
|
return $xeTable.updateFooter().then(() => {
|
|
285
286
|
const {
|
|
286
287
|
scrollXLoad,
|
|
287
288
|
scrollYLoad
|
|
288
|
-
} =
|
|
289
|
+
} = reactData;
|
|
289
290
|
if (oldScrollXLoad || scrollXLoad || oldScrollYLoad || scrollYLoad) {
|
|
290
291
|
if (oldScrollXLoad || scrollXLoad) {
|
|
291
292
|
$xeTable.updateScrollXSpace();
|
|
@@ -320,6 +321,7 @@ var _default = exports.default = {
|
|
|
320
321
|
$xeTable.handleColumnConfirmFilter(column, evnt);
|
|
321
322
|
},
|
|
322
323
|
handleClearFilter(column) {
|
|
324
|
+
const $xeTable = this;
|
|
323
325
|
if (column) {
|
|
324
326
|
const {
|
|
325
327
|
filters,
|
|
@@ -339,7 +341,7 @@ var _default = exports.default = {
|
|
|
339
341
|
filterResetMethod({
|
|
340
342
|
options: filters,
|
|
341
343
|
column,
|
|
342
|
-
$table:
|
|
344
|
+
$table: $xeTable
|
|
343
345
|
});
|
|
344
346
|
}
|
|
345
347
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderer=_ui.VxeUI.renderer;var _default=exports.default={methods:{_openFilter(e){let i=(0,_util.handleFieldOrColumn)(this,e);if(i&&i.filters){let t=this.elemStore,l=i.fixed;return this.scrollToColumn(i).then(()=>{var e=t[`${l||"main"}-header-wrapper`]||t["main-header-wrapper"];e&&(e=e.querySelector(`.vxe-header--column.${i.id} .vxe-cell--filter`),(0,_dom.triggerEvent)(e,"click"))})}return this.$nextTick()},_setFilter(e,t,l){var i=this,r=i.filterStore,e=(0,_util.handleFieldOrColumn)(i,e);if(e&&e.filters){if(e.filters=(0,_util.toFilters)(t||[]),l)return i.handleColumnConfirmFilter(e,null);r.visible&&i.handleFilterOptions(e)}return i.$nextTick()},checkFilterOptions(){var e=this.filterStore;e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(l,i,r){let F=this;var n=F,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderer=_ui.VxeUI.renderer;var _default=exports.default={methods:{_openFilter(e){let i=(0,_util.handleFieldOrColumn)(this,e);if(i&&i.filters){let t=this.elemStore,l=i.fixed;return this.scrollToColumn(i).then(()=>{var e=t[`${l||"main"}-header-wrapper`]||t["main-header-wrapper"];e&&(e=e.querySelector(`.vxe-header--column.${i.id} .vxe-cell--filter`),(0,_dom.triggerEvent)(e,"click"))})}return this.$nextTick()},_setFilter(e,t,l){var i=this,r=i.filterStore,e=(0,_util.handleFieldOrColumn)(i,e);if(e&&e.filters){if(e.filters=(0,_util.toFilters)(t||[]),l)return i.handleColumnConfirmFilter(e,null);r.visible&&i.handleFilterOptions(e)}return i.$nextTick()},checkFilterOptions(){var e=this.filterStore;e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(l,i,r){let F=this;var n=F,a=F;let e=this.filterStore;if(e.column===i&&e.visible)e.visible=!1;else{let{initStore:e,filterStore:p}=n,t=a.elemStore;if(p.column===i&&p.visible)p.visible=!1;else{let o=F.$refs.refElem,{scrollTop:h,scrollLeft:u,visibleHeight:c,visibleWidth:d}=(0,_dom.getDomNode)();let f=F.computeFilterOpts.transfer,m=o.getBoundingClientRect(),v=l.currentTarget;F.handleFilterOptions(i),a._currFilterParams=r,p.style=null,p.visible=!0,e.filter=!0,F.$nextTick(()=>{if((0,_util.getRefElem)(t["main-header-scroll"])){var i=F.$refs.refTableFilter,i=i?i.$el:null;if(i){var r=v.getBoundingClientRect(),n=i.querySelector(".vxe-table--filter-header"),a=i.querySelector(".vxe-table--filter-footer"),i=i.offsetWidth,s=i/2;let e=0,t=0,l=0;f?(e=r.left-s+u,t=r.top+v.clientHeight+h,l=Math.min(Math.max(m.height,Math.floor(c/2)),Math.max(80,c-t-(n?n.clientHeight:0)-(a?a.clientHeight:0)-28)),e<16?e=16:e>d-i-16&&(e=d-i-16)):(e=r.left-m.left-s,t=r.top-m.top+v.clientHeight,l=Math.max(40,o.clientHeight-t-(n?n.clientHeight:0)-(a?a.clientHeight:0)-14),e<1?e=1:e>o.clientWidth-i-1&&(e=o.clientWidth-i-1)),p.style={top:(0,_dom.toCssUnit)(t),left:(0,_dom.toCssUnit)(e)},p.maxHeight=l}}})}F.dispatchEvent("filter-visible",{column:i,field:i.field,property:i.field,filterList:F.getCheckedFilters(),visible:p.visible},l)}},handleFilterConfirmFilter(e){var t=this.filterStore;t.options.forEach(e=>{e.checked=e._checked}),this.confirmFilterEvent(e)},_saveFilterPanel(){return this.handleFilterConfirmFilter(null),this.$nextTick()},_saveFilterPanelByEvent(e){return this.handleFilterConfirmFilter(e),this.$nextTick()},_resetFilterPanel(){return this.handleFilterResetFilter(null),this.$nextTick()},_resetFilterPanelByEvent(e){return this.handleFilterResetFilter(e),this.$nextTick()},_getCheckedFilters(){var e=this.tableFullColumn;let n=[];return e.forEach(e=>{var{field:t,filters:l}=e;let i=[],r=[];l&&l.length&&(l.forEach(e=>{e.checked&&(i.push(e.value),r.push(e.data))}),i.length)&&n.push({column:e,field:t,property:t,values:i,datas:r})}),n},handleColumnConfirmFilter(e,t){let l=this;var i=l;let r=l;i=i.mouseConfig;let{scrollXLoad:n,scrollYLoad:a}=r;var s=l.computeFilterOpts,o=l.computeMouseOpts,h=e.field;let u=[],c=[];e.filters.forEach(e=>{e.checked&&(u.push(e.value),c.push(e.data))});var d=l.getCheckedFilters(),e={$table:l,$event:t,column:e,field:h,property:h,values:u,datas:c,filters:d,filterList:d};return s.remote||(l.handleTableData(!0),l.checkSelectionStatus()),i&&o.area&&l.handleFilterEvent&&l.handleFilterEvent(t,e),t&&l.dispatchEvent("filter-change",e,t),l.closeFilter(),l.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=r;if(n||e||a||t)return(n||e)&&l.updateScrollXSpace(),(a||t)&&l.updateScrollYSpace(),l.refreshScroll()}).then(()=>(l.updateCellAreas(),l.recalculate(!0))).then(()=>{setTimeout(()=>l.recalculate(),50)})},confirmFilterEvent(e){var t=this.filterStore,t=t.column;this.handleColumnConfirmFilter(t,e)},handleClearFilter(e){if(e){var{filters:l,filterRender:i}=e;if(l){i=(0,_utils.isEnableConf)(i)?renderer.get(i.name):null;let t=e.filterResetMethod||(i?i.tableFilterResetMethod||i.filterResetMethod:null);l.forEach(e=>{e._checked=!1,e.checked=!1,t||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),t&&t({options:l,column:e,$table:this})}}},handleFilterResetFilter(e){var t=this.filterStore;this.handleClearFilter(t.column),this.confirmFilterEvent(e),e&&this.dispatchEvent("clear-filter",{filterList:[]},e)},_clearFilter(e){var t=this,l=t.filterStore,i=t.tableFullColumn;let r;return e?(r=(0,_util.handleFieldOrColumn)(t,e))&&t.handleClearFilter(r):i.forEach(t.handleClearFilter),e&&r===l.column||Object.assign(l,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),t.updateData()},_updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,this.$nextTick()}}};
|