vxe-table 4.16.0 → 4.16.2
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/grid/src/grid.js +1 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/hook.js +55 -17
- package/es/table/src/column.js +2 -0
- package/es/table/src/columnInfo.js +1 -0
- package/es/table/src/emits.js +5 -0
- package/es/table/src/header.js +47 -16
- package/es/table/src/props.js +11 -3
- package/es/table/src/store.js +8 -0
- package/es/table/src/table.js +579 -87
- package/es/table/src/util.js +70 -2
- package/es/table/style.css +11 -17
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +11 -17
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +1 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +265 -65
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/hook.js +54 -15
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/src/column.js +2 -0
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +1 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/header.js +62 -13
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/props.js +11 -3
- package/lib/table/src/props.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 +45 -25
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +74 -2
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +11 -17
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +2 -2
- 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 +11 -17
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +1 -1
- package/packages/table/module/edit/hook.ts +55 -19
- package/packages/table/src/column.ts +2 -0
- package/packages/table/src/columnInfo.ts +1 -0
- package/packages/table/src/emits.ts +6 -0
- package/packages/table/src/header.ts +49 -17
- package/packages/table/src/props.ts +11 -3
- package/packages/table/src/store.ts +14 -0
- package/packages/table/src/table.ts +583 -83
- package/packages/table/src/util.ts +76 -2
- package/packages/ui/index.ts +1 -1
- package/styles/components/table.scss +33 -55
- /package/es/{iconfont.1756083655214.ttf → iconfont.1756452373591.ttf} +0 -0
- /package/es/{iconfont.1756083655214.woff → iconfont.1756452373591.woff} +0 -0
- /package/es/{iconfont.1756083655214.woff2 → iconfont.1756452373591.woff2} +0 -0
- /package/lib/{iconfont.1756083655214.ttf → iconfont.1756452373591.ttf} +0 -0
- /package/lib/{iconfont.1756083655214.woff → iconfont.1756452373591.woff} +0 -0
- /package/lib/{iconfont.1756083655214.woff2 → iconfont.1756452373591.woff2} +0 -0
|
@@ -186,11 +186,13 @@ hooks.add('tableEditModule', {
|
|
|
186
186
|
tableFullData,
|
|
187
187
|
fullDataRowIdData,
|
|
188
188
|
fullAllDataRowIdData,
|
|
189
|
-
insertRowMaps
|
|
189
|
+
insertRowMaps,
|
|
190
|
+
removeRowMaps
|
|
190
191
|
} = internalData;
|
|
191
192
|
const treeOpts = computeTreeOpts.value;
|
|
192
193
|
const {
|
|
193
194
|
transform,
|
|
195
|
+
parentField,
|
|
194
196
|
rowField,
|
|
195
197
|
mapChildrenField
|
|
196
198
|
} = treeOpts;
|
|
@@ -202,6 +204,14 @@ hooks.add('tableEditModule', {
|
|
|
202
204
|
[mapChildrenField]: [],
|
|
203
205
|
[childrenField]: []
|
|
204
206
|
} : {}, record))));
|
|
207
|
+
let treeRecords = [];
|
|
208
|
+
if (treeConfig && transform) {
|
|
209
|
+
treeRecords = _xeUtils.default.toArrayTree(newRecords, {
|
|
210
|
+
key: rowField,
|
|
211
|
+
parentKey: parentField,
|
|
212
|
+
children: childrenField
|
|
213
|
+
});
|
|
214
|
+
}
|
|
205
215
|
if (_xeUtils.default.eqNull(targetRow)) {
|
|
206
216
|
// 如果为虚拟树
|
|
207
217
|
if (treeConfig && transform) {
|
|
@@ -299,21 +309,26 @@ hooks.add('tableEditModule', {
|
|
|
299
309
|
const parentMapChilds = parentRow ? parentRow[mapChildrenField] : tableFullTreeData;
|
|
300
310
|
const parentRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, parentRow)];
|
|
301
311
|
const parentLevel = parentRest ? parentRest.level : 0;
|
|
302
|
-
|
|
303
|
-
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
304
|
-
if (item[treeOpts.parentField]) {
|
|
305
|
-
if (parentRow && item[treeOpts.parentField] !== parentRow[rowField]) {
|
|
306
|
-
(0, _log.errLog)('vxe.error.errProp', [`${treeOpts.parentField}=${item[treeOpts.parentField]}`, `${treeOpts.parentField}=${parentRow[rowField]}`]);
|
|
307
|
-
}
|
|
308
|
-
}
|
|
312
|
+
treeRecords.forEach((row, i) => {
|
|
309
313
|
if (parentRow) {
|
|
310
|
-
|
|
314
|
+
if (row[parentField] !== parentRow[rowField]) {
|
|
315
|
+
row[parentField] = parentRow[rowField];
|
|
316
|
+
(0, _log.errLog)('vxe.error.errProp', [`${parentField}=${row[parentField]}`, `${parentField}=${parentRow[rowField]}`]);
|
|
317
|
+
}
|
|
318
|
+
} else {
|
|
319
|
+
if (row[parentField] !== null) {
|
|
320
|
+
row[parentField] = null;
|
|
321
|
+
(0, _log.errLog)('vxe.error.errProp', [`${parentField}=${row[parentField]}`, 'null']);
|
|
322
|
+
}
|
|
311
323
|
}
|
|
312
324
|
let targetIndex = matchMapObj.index + i;
|
|
313
325
|
if (isInsertNextRow) {
|
|
314
326
|
targetIndex = targetIndex + 1;
|
|
315
327
|
}
|
|
316
|
-
parentMapChilds.splice(targetIndex, 0,
|
|
328
|
+
parentMapChilds.splice(targetIndex, 0, row);
|
|
329
|
+
});
|
|
330
|
+
_xeUtils.default.eachTree(treeRecords, item => {
|
|
331
|
+
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
317
332
|
const rest = {
|
|
318
333
|
row: item,
|
|
319
334
|
rowid,
|
|
@@ -331,8 +346,13 @@ hooks.add('tableEditModule', {
|
|
|
331
346
|
oTop: 0,
|
|
332
347
|
expandHeight: 0
|
|
333
348
|
};
|
|
349
|
+
if (item[childrenField]) {
|
|
350
|
+
item[mapChildrenField] = item[childrenField];
|
|
351
|
+
}
|
|
334
352
|
fullDataRowIdData[rowid] = rest;
|
|
335
353
|
fullAllDataRowIdData[rowid] = rest;
|
|
354
|
+
}, {
|
|
355
|
+
children: childrenField
|
|
336
356
|
});
|
|
337
357
|
// 源
|
|
338
358
|
if (parentRow) {
|
|
@@ -345,7 +365,7 @@ hooks.add('tableEditModule', {
|
|
|
345
365
|
if (isInsertNextRow) {
|
|
346
366
|
targetIndex = targetIndex + 1;
|
|
347
367
|
}
|
|
348
|
-
parentChilds.splice(targetIndex, 0, ...
|
|
368
|
+
parentChilds.splice(targetIndex, 0, ...treeRecords);
|
|
349
369
|
}
|
|
350
370
|
}
|
|
351
371
|
} else {
|
|
@@ -400,10 +420,27 @@ hooks.add('tableEditModule', {
|
|
|
400
420
|
}
|
|
401
421
|
}
|
|
402
422
|
}
|
|
403
|
-
|
|
423
|
+
const handleStatus = newRow => {
|
|
404
424
|
const rowid = (0, _util.getRowid)($xeTable, newRow);
|
|
405
|
-
|
|
406
|
-
|
|
425
|
+
// 如果是被删除的数据,则还原状态
|
|
426
|
+
if (removeRowMaps[rowid]) {
|
|
427
|
+
delete removeRowMaps[rowid];
|
|
428
|
+
if (insertRowMaps[rowid]) {
|
|
429
|
+
delete insertRowMaps[rowid];
|
|
430
|
+
}
|
|
431
|
+
} else {
|
|
432
|
+
insertRowMaps[rowid] = newRow;
|
|
433
|
+
}
|
|
434
|
+
};
|
|
435
|
+
// 如果为虚拟树
|
|
436
|
+
if (treeConfig && transform) {
|
|
437
|
+
_xeUtils.default.eachTree(treeRecords, handleStatus, {
|
|
438
|
+
children: mapChildrenField
|
|
439
|
+
});
|
|
440
|
+
} else {
|
|
441
|
+
newRecords.forEach(handleStatus);
|
|
442
|
+
}
|
|
443
|
+
reactData.removeRowFlag++;
|
|
407
444
|
reactData.insertRowFlag++;
|
|
408
445
|
$xeTable.cacheRowMap(false);
|
|
409
446
|
$xeTable.updateScrollYStatus();
|
|
@@ -986,7 +1023,9 @@ hooks.add('tableEditModule', {
|
|
|
986
1023
|
if (column && row) {
|
|
987
1024
|
return {
|
|
988
1025
|
row,
|
|
989
|
-
|
|
1026
|
+
rowIndex: $xeTable.getRowIndex(row),
|
|
1027
|
+
column,
|
|
1028
|
+
columnIndex: $xeTable.getColumnIndex(column)
|
|
990
1029
|
};
|
|
991
1030
|
}
|
|
992
1031
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getEditCell","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(p){let{props:R,reactData:C,internalData:_}=p,t=p.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:m,computeCheckboxOpts:I,computeTreeOpts:E,computeValidOpts:n}=p.getComputeMaps(),s=_xeUtils.default.browse(),b={},g={},F=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=t.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=C,l=m.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},A=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=_;var l=E.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,v=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(p,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,a=u[(0,_util.getRowid)(p,o)],a=a?a.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[w]=[]),e[v](l),t[v](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[v](l),i[v](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=a,u[r]=a}})},u=(t,l,d)=>{let o=R.treeConfig;var e=C.isRowGroupStatus;let{tableFullTreeData:r,afterFullData:a,mergeBodyList:i,tableFullData:n,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:c}=_,g=E.value,{transform:w,rowField:v,mapChildrenField:x}=g,f=g.children||g.childrenField,h=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(p.defineField(t.map(e=>Object.assign(o&&w?{[x]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))if(o&&w)A(h,!1);else if(e){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else h.forEach(e=>{var t=(0,_util.getRowid)(p,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.unshift(e),n.unshift(e)}),i.forEach(e=>{var t=e.row;0<=t&&(e.row=t+h.length)});else if(-1===l)if(o&&w)A(h,!0);else if(e){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else h.forEach(e=>{var t=(0,_util.getRowid)(p,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,_tIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.push(e),n.push(e)});else if(o&&w){let n=_xeUtils.default.findTree(r,e=>l[v]===e[v],{children:x});if(n){let o=n.parent,a=o?o[x]:r;t=s[(0,_util.getRowid)(p,o)];let i=t?t.level:0;if(h.forEach((e,t)=>{var l=(0,_util.getRowid)(p,e);e[g.parentField]&&o&&e[g.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+o[v]]),o&&(e[g.parentField]=o[v]);let r=n.index+t;d&&(r+=1),a.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:a,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,s[l]=t}),o){t=_xeUtils.default.findTree(r,e=>l[v]===e[v],{children:f});if(t){var m=t.items;let e=t.index;d&&(e+=1),m.splice(e,0,...h)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),A(h,!0)}else if(e){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<a.length&&(r=l):r=p.findRowIndexOf(a,l),-1===(r=d?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...h);t=p.findRowIndexOf(n,l);-1<t?n.splice(t+(d?1:0),0,...h):n.push(...h),i.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+h.length:(d?t+l>=r:t+l>r)&&(e.rowspan=l+h.length)})}return h.forEach(e=>{var t=(0,_util.getRowid)(p,e);c[t]=e}),C.insertRowFlag++,p.cacheRowMap(!1),p.updateScrollYStatus(),p.handleTableData(o&&w),o&&w||p.updateAfterDataIndex(),p.updateFooter(),p.handleUpdateBodyMerge(),p.checkSelectionStatus(),C.scrollYLoad&&p.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(p.updateCellAreas(),p.recalculate(!0))).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:a,rowField:i,parentField:n}=E.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},S=(e,t)=>{var l=C.editStore,{actived:l,focused:r}=l,{row:o,column:a}=l,i=n.value;if(o||a){if(t&&(0,_util.getRowid)(p,t)!==(0,_util.getRowid)(p,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,p.updateFooter(),p.dispatchEvent("edit-closed",{row:o,rowIndex:p.getRowIndex(o),$rowIndex:p.getVMRowIndex(o),column:a,columnIndex:p.getColumnIndex(a),$columnIndex:p.getVMColumnIndex(a)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&p.clearValidate?p.clearValidate():(0,_vue.nextTick)().then(()=>p.updateCellAreas())},i=(l,r,o,e)=>{let a=p.xeGrid,i=p.xeGantt;var{editConfig:t,mouseConfig:n}=R,{editStore:d,tableColumn:u}=C,s=m.value,c=s.mode,{actived:d,focused:g}=d;let{row:w,column:v}=l;var x=v.editRender,f=l.cell||p.getCellElement(w,v),h=s.beforeEditMethod||s.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(x)&&!p.isPendingByRow(w)&&!p.isAggregateRecord(w)){if(d.row!==w||"cell"===c&&d.column!==v){let t="edit-disabled";if(!h||h(Object.assign(Object.assign({},l),{$table:p,$grid:a,$gantt:i}))){n&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),p.closeTooltip(),d.column&&S(r),t="edit-activated",v.renderHeight=f.offsetHeight,d.args=l,d.row=w,d.column=v,"row"===c?u.forEach(e=>F(w,e)):F(w,v);let e=s.afterEditMethod;(0,_vue.nextTick)(()=>{o&&p.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:p,$grid:a,$gantt:i}))})}p.dispatchEvent(t,{row:w,rowIndex:p.getRowIndex(w),$rowIndex:p.getVMRowIndex(w),column:v,columnIndex:p.getColumnIndex(v),$columnIndex:p.getVMColumnIndex(v)},r),"edit-activated"===t&&p.dispatchEvent("edit-actived",{row:w,rowIndex:p.getRowIndex(w),$rowIndex:p.getVMRowIndex(w),column:v,columnIndex:p.getColumnIndex(v),$columnIndex:p.getVMColumnIndex(v)},r)}else{t=d.column;n&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),t!==v&&(x=t.model,x.update&&(0,_util.setCellValue)(w,t,x.value),p.clearValidate)&&p.clearValidate(w,v),v.renderHeight=f.offsetHeight,d.args=l,d.column=v,e&&setTimeout(()=>{p.handleFocus(l,r)})}g.column=null,g.row=null,p.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?p.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)&&!p.isAggregateRecord(t)?Promise.resolve(l?p.scrollToRow(t,o):null).then(()=>{var e=p.getCellElement(t,o);return e&&(i({row:t,rowIndex:p.getRowIndex(t),column:o,columnIndex:p.getColumnIndex(o),cell:e,$table:p},null,l,l),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return b={insert(e){return u(e,null)},insertAt(e,t){return u(e,t)},insertNextAt(e,t){return u(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=R.treeConfig,{editStore:l,isRowGroupStatus:r}=C;let{tableFullTreeData:o,selectCheckboxMaps:a,afterFullData:i,mergeBodyList:n,tableFullData:d,pendingRowMaps:u,insertRowMaps:s,removeRowMaps:c}=_;var g=I.value,w=E.value;let{transform:v,mapChildrenField:x}=w,f=w.children||w.childrenField;w=l.actived,l=g.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=d,e.forEach(e=>{var t;p.isInsertByRow(e)||(t=(0,_util.getRowid)(p,e),c[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(p,e);a[e]&&delete a[e]}),C.updateCheckboxFlag++),d===e?(e=h=d.slice(0),_.tableFullData=[],_.afterFullData=[],p.clearMergeCells()):t&&v?e.forEach(e=>{let t=(0,_util.getRowid)(p,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(p,e),{children:x}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(p,e),{children:f})),l=(l&&l.items.splice(l.index,1),p.findRowIndexOf(i,e));-1<l&&i.splice(l,1)}):r?(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=p.findRowIndexOf(d,e);-1<t&&(t=d.splice(t,1),h.push(t[0]));let r=p.findRowIndexOf(i,e);-1<r&&(n.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),i.splice(r,1))}),w.row&&-1<p.findRowIndexOf(e,w.row)&&b.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(p,e);s[e]&&delete s[e],u[e]&&delete u[e]}),C.removeRowFlag++,C.insertRowFlag++,C.pendingRowFlag++,p.cacheRowMap(!1),p.handleTableData(t&&v),p.updateFooter(),p.handleUpdateBodyMerge(),t&&v||p.updateAfterDataIndex(),p.checkSelectionStatus(),C.scrollYLoad&&p.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(p.updateCellAreas(),p.recalculate(!0))).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return b.remove(p.getCheckboxRecords()).then(e=>(p.clearCheckboxRow(),e))},removeRadioRow(){var e=p.getRadioRecord();return b.remove(e||[]).then(e=>(p.clearRadioRow(),e))},removeCurrentRow(){var e=p.getCurrentRecord();return b.remove(e||[]).then(e=>(p.clearCurrentRow(),e))},getRecordset(){var e=b.getRemoveRecords(),t=p.getPendingRecords();let l=e.concat(t);var r=b.getUpdateRecords().filter(t=>!l.some(e=>p.eqRow(e,t)));return{insertRecords:b.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=_,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=_.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=_.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>p.isUpdateByRow(e),r):l.filter(e=>p.isUpdateByRow(e))):[]},getActiveRecord(){(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditCell"]);var e=C.editStore,t=_.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(p,l)]?Object.assign({},e,{row:l}):null},getEditRecord(){(0,_log.warnLog)("vxe.error.delFunc",["getEditRecord","getEditCell"]);var e=C.editStore,t=_.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(p,l)]?Object.assign({},e,{row:l}):null},getEditCell(){var e=C.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,column:t}:null},getSelectedCell(){var e=C.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},clearActived(e){return(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),p.clearEdit(e)},clearEdit(e){return S(null,e)},clearSelected(){var e=C.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),p.isEditByRow(e)},isEditByRow(e){var t=C.editStore;return t.actived.row===e},setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),b.setEditRow(e)},setEditRow(e,t){var l=_.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?p.getColumnByField(t):t),w(e,r,o)},setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),b.setEditCell(e,t)},setEditCell(e,t){return w(e,t,!0)},setSelectCell(e,t){var l=C.tableData,r=m.value,t=_xeUtils.default.isString(t)?p.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=p.findRowIndexOf(l,e))&&t&&(l=p.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:p.getColumnIndex(t),cell:l},p.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:S,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=m.value;if((0,_utils.isEnableConf)(n)){var u=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&u&&(e=u.tableAutoFocus||u.tableAutofocus||u.autofocus),!t&&u&&(t=u.tableAutoSelect||u.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():s.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&p.scrollToRow(o,a)}},handleSelected(e,t){var l=R.mouseConfig,r=C.editStore,o=c.value;let a=m.value,{actived:i,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(i.row!==d||"cell"===a.mode&&i.column!==u)&&(S(t),p.clearSelected(),p.clearCellAreas&&(p.clearCellAreas(),p.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),p.focus(),t)&&p.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=C.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=p.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},b),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)},setupGantt(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getEditCell","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(_){let{props:C,reactData:I,internalData:E}=_,t=_.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:m,computeCheckboxOpts:R,computeTreeOpts:b,computeValidOpts:n}=_.getComputeMaps(),s=_xeUtils.default.browse(),p={},g={},A=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=t.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=I,l=m.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},F=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=E;var l=b.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,v=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(_,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,a=u[(0,_util.getRowid)(_,o)],a=a?a.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[w]=[]),e[v](l),t[v](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[v](l),i[v](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=a,u[r]=a}})},u=(t,l,n)=>{let o=C.treeConfig;var e=I.isRowGroupStatus;let{tableFullTreeData:d,afterFullData:a,mergeBodyList:i,tableFullData:u,fullDataRowIdData:s,fullAllDataRowIdData:c,insertRowMaps:r,removeRowMaps:g}=E;var w=b.value;let{transform:v,parentField:x,rowField:f,mapChildrenField:h}=w,m=w.children||w.childrenField,R=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(_.defineField(t.map(e=>Object.assign(o&&v?{[h]:[],[m]:[]}:{},e))))),p=[];if(o&&v&&(p=_xeUtils.default.toArrayTree(R,{key:f,parentKey:x,children:m})),_xeUtils.default.eqNull(l))if(o&&v)F(R,!1);else if(e){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else R.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,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[t]=l,c[t]=l,a.unshift(e),u.unshift(e)}),i.forEach(e=>{var t=e.row;0<=t&&(e.row=t+R.length)});else if(-1===l)if(o&&v)F(R,!0);else if(e){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else R.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,_tIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[t]=l,c[t]=l,a.push(e),u.push(e)});else if(o&&v){let i=_xeUtils.default.findTree(d,e=>l[f]===e[f],{children:h});if(i){let r=i.parent,o=r?r[h]:d;w=c[(0,_util.getRowid)(_,r)];let a=w?w.level:0;if(p.forEach((e,t)=>{r?e[x]!==r[f]&&(e[x]=r[f],(0,_log.errLog)("vxe.error.errProp",[x+"="+e[x],x+"="+r[f]])):null!==e[x]&&(e[x]=null,_log.errLog)("vxe.error.errProp",[x+"="+e[x],"null"]);let l=i.index+t;n&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(p,e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:r,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};e[m]&&(e[h]=e[m]),s[t]=l,c[t]=l},{children:m}),r){t=_xeUtils.default.findTree(d,e=>l[f]===e[f],{children:m});if(t){w=t.items;let e=t.index;n&&(e+=1),w.splice(e,0,...p)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),F(R,!0)}else if(e){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<a.length&&(r=l):r=_.findRowIndexOf(a,l),-1===(r=n?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...R);t=_.findRowIndexOf(u,l);-1<t?u.splice(t+(n?1:0),0,...R):u.push(...R),i.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+R.length:(n?t+l>=r:t+l>r)&&(e.rowspan=l+R.length)})}w=e=>{var t=(0,_util.getRowid)(_,e);g[t]?(delete g[t],r[t]&&delete r[t]):r[t]=e};return o&&v?_xeUtils.default.eachTree(p,w,{children:h}):R.forEach(w),I.removeRowFlag++,I.insertRowFlag++,_.cacheRowMap(!1),_.updateScrollYStatus(),_.handleTableData(o&&v),o&&v||_.updateAfterDataIndex(),_.updateFooter(),_.handleUpdateBodyMerge(),_.checkSelectionStatus(),I.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:R.length?R[R.length-1]:null,rows:R}))},r=(e,t,l,r)=>{var o=C.treeConfig;let{transform:a,rowField:i,parentField:n}=b.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},S=(e,t)=>{var l=I.editStore,{actived:l,focused:r}=l,{row:o,column:a}=l,i=n.value;if(o||a){if(t&&(0,_util.getRowid)(_,t)!==(0,_util.getRowid)(_,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,_.updateFooter(),_.dispatchEvent("edit-closed",{row:o,rowIndex:_.getRowIndex(o),$rowIndex:_.getVMRowIndex(o),column:a,columnIndex:_.getColumnIndex(a),$columnIndex:_.getVMColumnIndex(a)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&_.clearValidate?_.clearValidate():(0,_vue.nextTick)().then(()=>_.updateCellAreas())},i=(l,r,o,e)=>{let a=_.xeGrid,i=_.xeGantt;var{editConfig:t,mouseConfig:n}=C,{editStore:d,tableColumn:u}=I,s=m.value,c=s.mode,{actived:d,focused:g}=d;let{row:w,column:v}=l;var x=v.editRender,f=l.cell||_.getCellElement(w,v),h=s.beforeEditMethod||s.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(x)&&!_.isPendingByRow(w)&&!_.isAggregateRecord(w)){if(d.row!==w||"cell"===c&&d.column!==v){let t="edit-disabled";if(!h||h(Object.assign(Object.assign({},l),{$table:_,$grid:a,$gantt:i}))){n&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),_.closeTooltip(),d.column&&S(r),t="edit-activated",v.renderHeight=f.offsetHeight,d.args=l,d.row=w,d.column=v,"row"===c?u.forEach(e=>A(w,e)):A(w,v);let e=s.afterEditMethod;(0,_vue.nextTick)(()=>{o&&_.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:_,$grid:a,$gantt:i}))})}_.dispatchEvent(t,{row:w,rowIndex:_.getRowIndex(w),$rowIndex:_.getVMRowIndex(w),column:v,columnIndex:_.getColumnIndex(v),$columnIndex:_.getVMColumnIndex(v)},r),"edit-activated"===t&&_.dispatchEvent("edit-actived",{row:w,rowIndex:_.getRowIndex(w),$rowIndex:_.getVMRowIndex(w),column:v,columnIndex:_.getColumnIndex(v),$columnIndex:_.getVMColumnIndex(v)},r)}else{t=d.column;n&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),t!==v&&(x=t.model,x.update&&(0,_util.setCellValue)(w,t,x.value),_.clearValidate)&&_.clearValidate(w,v),v.renderHeight=f.offsetHeight,d.args=l,d.column=v,e&&setTimeout(()=>{_.handleFocus(l,r)})}g.column=null,g.row=null,_.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=C.editConfig;let o=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)&&!_.isAggregateRecord(t)?Promise.resolve(l?_.scrollToRow(t,o):null).then(()=>{var e=_.getCellElement(t,o);return e&&(i({row:t,rowIndex:_.getRowIndex(t),column:o,columnIndex:_.getColumnIndex(o),cell:e,$table:_},null,l,l),E._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return p={insert(e){return u(e,null)},insertAt(e,t){return u(e,t)},insertNextAt(e,t){return u(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=C.treeConfig,{editStore:l,isRowGroupStatus:r}=I;let{tableFullTreeData:o,selectCheckboxMaps:a,afterFullData:i,mergeBodyList:n,tableFullData:d,pendingRowMaps:u,insertRowMaps:s,removeRowMaps:c}=E;var g=R.value,w=b.value;let{transform:v,mapChildrenField:x}=w,f=w.children||w.childrenField;w=l.actived,l=g.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=d,e.forEach(e=>{var t;_.isInsertByRow(e)||(t=(0,_util.getRowid)(_,e),c[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(_,e);a[e]&&delete a[e]}),I.updateCheckboxFlag++),d===e?(e=h=d.slice(0),E.tableFullData=[],E.afterFullData=[],_.clearMergeCells()):t&&v?e.forEach(e=>{let t=(0,_util.getRowid)(_,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:x}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:f})),l=(l&&l.items.splice(l.index,1),_.findRowIndexOf(i,e));-1<l&&i.splice(l,1)}):r?(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=_.findRowIndexOf(d,e);-1<t&&(t=d.splice(t,1),h.push(t[0]));let r=_.findRowIndexOf(i,e);-1<r&&(n.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),i.splice(r,1))}),w.row&&-1<_.findRowIndexOf(e,w.row)&&p.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(_,e);s[e]&&delete s[e],u[e]&&delete u[e]}),I.removeRowFlag++,I.insertRowFlag++,I.pendingRowFlag++,_.cacheRowMap(!1),_.handleTableData(t&&v),_.updateFooter(),_.handleUpdateBodyMerge(),t&&v||_.updateAfterDataIndex(),_.checkSelectionStatus(),I.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return p.remove(_.getCheckboxRecords()).then(e=>(_.clearCheckboxRow(),e))},removeRadioRow(){var e=_.getRadioRecord();return p.remove(e||[]).then(e=>(_.clearRadioRow(),e))},removeCurrentRow(){var e=_.getCurrentRecord();return p.remove(e||[]).then(e=>(_.clearCurrentRow(),e))},getRecordset(){var e=p.getRemoveRecords(),t=_.getPendingRecords();let l=e.concat(t);var r=p.getUpdateRecords().filter(t=>!l.some(e=>_.eqRow(e,t)));return{insertRecords:p.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=E,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=E.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=C,l=E.tableFullData,r=b.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>_.isUpdateByRow(e),r):l.filter(e=>_.isUpdateByRow(e))):[]},getActiveRecord(){(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditCell"]);var e=I.editStore,t=E.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditRecord(){(0,_log.warnLog)("vxe.error.delFunc",["getEditRecord","getEditCell"]);var e=I.editStore,t=E.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditCell(){var e=I.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,rowIndex:_.getRowIndex(e),column:t,columnIndex:_.getColumnIndex(t)}:null},getSelectedCell(){var e=I.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},clearActived(e){return(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),_.clearEdit(e)},clearEdit(e){return S(null,e)},clearSelected(){var e=I.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),_.isEditByRow(e)},isEditByRow(e){var t=I.editStore;return t.actived.row===e},setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),p.setEditRow(e)},setEditRow(e,t){var l=E.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?_.getColumnByField(t):t),w(e,r,o)},setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),p.setEditCell(e,t)},setEditCell(e,t){return w(e,t,!0)},setSelectCell(e,t){var l=I.tableData,r=m.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=_.findRowIndexOf(l,e))&&t&&(l=_.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:_.getColumnIndex(t),cell:l},_.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:S,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=m.value;if((0,_utils.isEnableConf)(n)){var u=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&u&&(e=u.tableAutoFocus||u.tableAutofocus||u.autofocus),!t&&u&&(t=u.tableAutoSelect||u.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():s.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&_.scrollToRow(o,a)}},handleSelected(e,t){var l=C.mouseConfig,r=I.editStore,o=c.value;let a=m.value,{actived:i,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(i.row!==d||"cell"===a.mode&&i.column!==u)&&(S(t),_.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),_.focus(),t)&&_.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=I.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=_.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},p),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)},setupGantt(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
package/lib/table/src/column.js
CHANGED
|
@@ -60,6 +60,8 @@ const columnProps = exports.columnProps = {
|
|
|
60
60
|
footerClassName: [String, Function],
|
|
61
61
|
// 格式化显示内容
|
|
62
62
|
formatter: [Function, Array, String],
|
|
63
|
+
// 格式化表头显示内容
|
|
64
|
+
headerFormatter: [Function, Array, String],
|
|
63
65
|
// 格式化表尾显示内容
|
|
64
66
|
footerFormatter: [Function, Array, String],
|
|
65
67
|
// 是否显示间距
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_util=require("./util"),_cell=_interopRequireDefault(require("./cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],padding:{type:Boolean,default:null},verticalAlign:{type:String,default:null},sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,rowGroupNode:Boolean,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,aggFunc:[String,Boolean],params:Object};var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){let
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.columnProps=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_util=require("./util"),_cell=_interopRequireDefault(require("./cell"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let columnProps=exports.columnProps={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],headerFormatter:[Function,Array,String],footerFormatter:[Function,Array,String],padding:{type:Boolean,default:null},verticalAlign:{type:String,default:null},sortable:Boolean,sortBy:[String,Function],sortType:String,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,rowGroupNode:Boolean,treeNode:Boolean,dragSort:Boolean,rowResize:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,aggFunc:[String,Boolean],params:Object};var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColumn",props:columnProps,setup(e,{slots:t}){let r=(0,_vue.ref)(),o=(0,_vue.inject)("$xeTable",null),n=(0,_vue.inject)("$xeColgroup",null);if(!o)return()=>(0,_vue.createCommentVNode)();let l=_cell.default.createColumn(o,e);l.slots=t;var t=()=>(0,_vue.h)("div",{ref:r}),u={columnConfig:l,renderVN:t};return(0,_util.watchColumn)(o,e,l),(0,_vue.onMounted)(()=>{var e=r.value;e&&(0,_util.assembleColumn)(o,e,l,n)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyColumn)(o,l)}),(0,_vue.provide)("$xeColumn",u),(0,_vue.provide)("$xeGrid",null),(0,_vue.provide)("$xeGantt",null),t}});
|
|
@@ -101,6 +101,7 @@ class ColumnInfo {
|
|
|
101
101
|
headerClassName: _vm.headerClassName,
|
|
102
102
|
footerClassName: _vm.footerClassName,
|
|
103
103
|
formatter: formatter,
|
|
104
|
+
headerFormatter: _vm.headerFormatter,
|
|
104
105
|
footerFormatter: _vm.footerFormatter,
|
|
105
106
|
padding: _vm.padding,
|
|
106
107
|
verticalAlign: _vm.verticalAlign,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d=e.props,n=e.xeGrid,a=e.xeGantt,s=n||a,{field:u,editRender:f}=r,g=r.formatter,p=!_xeUtils.default.isBoolean(r.visible)||r.visible,c=["seq","checkbox","radio","expand","html"];r.type&&-1===c.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,c.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),"expand"===r.type&&(c=d.treeConfig,d=e.getComputeMaps().computeTreeOpts,d=d.value,c)&&(d.showLine||d.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),g&&(_xeUtils.default.isString(g)?(c=formats.get(g)||_xeUtils.default[g])&&_xeUtils.default.isFunction(c.tableCellFormatMethod||c.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[g]):!_xeUtils.default.isArray(g)||(d=formats.get(g[0])||_xeUtils.default[g[0]])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[g[0]])),r.aggFunc&&!e.handlePivotTableAggregateData&&!0!==r.aggFunc&&(0,_log.errLog)("vxe.error.errProp",["column.agg-func="+r.aggFunc,"column.agg-func=true"]),u&&f&&(f.startField&&0<=(""+f.startField).indexOf(u)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+u,"edit-render.startField="+f.startField]),f.endField)&&0<=(""+f.endField).indexOf(u)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+u,"edit-render.endField="+f.endField]),Object.assign(this,{type:r.type,property:r.field,field:u,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:g,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,rowGroupNode:r.rowGroupNode,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:f,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,aggFunc:r.aggFunc,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:p,defaultParentId:null,halfVisible:!1,defaultVisible:p,defaultFixed:r.fixed,defaultAggGroup:r.aggGroup,defaultAggFunc:r.aggFunc,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderAggFn:"",renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),s&&(c=s.getComputeMaps().computeProxyOpts,(d=c.value).beforeColumn)&&d.beforeColumn({$table:e,$grid:n,$gantt:a,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:l,renderFooter:o,renderData:i}={}){var d=e.props,n=e.xeGrid,a=e.xeGantt,s=n||a,{field:u,editRender:f}=r,g=r.formatter,p=!_xeUtils.default.isBoolean(r.visible)||r.visible,c=["seq","checkbox","radio","expand","html"];r.type&&-1===c.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,c.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),"expand"===r.type&&(c=d.treeConfig,d=e.getComputeMaps().computeTreeOpts,d=d.value,c)&&(d.showLine||d.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),g&&(_xeUtils.default.isString(g)?(c=formats.get(g)||_xeUtils.default[g])&&_xeUtils.default.isFunction(c.tableCellFormatMethod||c.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[g]):!_xeUtils.default.isArray(g)||(d=formats.get(g[0])||_xeUtils.default[g[0]])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[g[0]])),r.aggFunc&&!e.handlePivotTableAggregateData&&!0!==r.aggFunc&&(0,_log.errLog)("vxe.error.errProp",["column.agg-func="+r.aggFunc,"column.agg-func=true"]),u&&f&&(f.startField&&0<=(""+f.startField).indexOf(u)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+u,"edit-render.startField="+f.startField]),f.endField)&&0<=(""+f.endField).indexOf(u)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+u,"edit-render.endField="+f.endField]),Object.assign(this,{type:r.type,property:r.field,field:u,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:g,headerFormatter:r.headerFormatter,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,rowGroupNode:r.rowGroupNode,treeNode:r.treeNode,dragSort:r.dragSort,rowResize:r.rowResize,cellType:r.cellType,cellRender:r.cellRender,editRender:f,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,aggFunc:r.aggFunc,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:p,defaultParentId:null,halfVisible:!1,defaultVisible:p,defaultFixed:r.fixed,defaultAggGroup:r.aggGroup,defaultAggFunc:r.aggFunc,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderAggFn:"",renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:l||r.renderCell,renderFooter:o||r.renderFooter,renderData:i,slots:r.slots}),s&&(c=s.getComputeMaps().computeProxyOpts,(d=c.value).beforeColumn)&&d.beforeColumn({$table:e,$grid:n,$gantt:a,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
|
package/lib/table/src/emits.js
CHANGED
|
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.tableEmits = void 0;
|
|
7
|
-
const tableEmits = exports.tableEmits = ['update:data', 'keydown-start', 'keydown', 'keydown-end', 'paste', 'copy', 'cut', 'current-change', 'current-row-change', 'current-row-disabled', 'current-column-change', 'current-column-disabled', 'radio-change', 'checkbox-change', 'checkbox-all', 'checkbox-range-start', 'checkbox-range-change', 'checkbox-range-end', 'checkbox-range-select', 'cell-click', 'cell-dblclick', 'cell-menu', 'cell-mouseenter', 'cell-mouseleave', 'cell-selected', 'cell-delete-value', 'cell-backspace-value', 'header-cell-click', 'header-cell-dblclick', 'header-cell-menu', 'footer-cell-click', 'footer-cell-dblclick', 'footer-cell-menu', 'clear-merge', 'sort-change', 'clear-sort', 'clear-all-sort', 'filter-change', 'filter-visible', 'clear-filter', 'clear-all-filter', 'resizable-change', 'column-resizable-change', 'row-resizable-change', 'toggle-row-group-expand', 'toggle-row-expand', 'toggle-tree-expand', 'menu-click', 'edit-closed', 'row-dragstart', 'row-dragover', 'row-dragend', 'column-dragstart', 'column-dragover', 'column-dragend', 'enter-append-row', 'edit-actived', 'edit-activated', 'edit-disabled', 'valid-error', 'scroll', 'scroll-boundary', 'custom', 'custom-visible-change', 'custom-visible-all', 'custom-fixed-change', 'change-fnr', 'open-fnr', 'show-fnr', 'hide-fnr', 'fnr-change', 'fnr-find', 'fnr-find-all', 'fnr-replace', 'fnr-replace-all', 'cell-area-copy', 'cell-area-cut', 'cell-area-paste', 'cell-area-merge', 'clear-cell-area-selection', 'clear-cell-area-merge', 'header-cell-area-selection', 'cell-area-selection-invalid', 'cell-area-selection-start', 'cell-area-selection-drag', 'cell-area-selection-end', 'cell-area-extension-start', 'cell-area-extension-drag', 'cell-area-extension-end', 'cell-area-selection-all-start', 'cell-area-selection-all-end', 'cell-area-arrows-start', 'cell-area-arrows-end', 'active-cell-change-start', 'active-cell-change-end'];
|
|
7
|
+
const tableEmits = exports.tableEmits = ['update:data', 'keydown-start', 'keydown', 'keydown-end', 'paste', 'copy', 'cut', 'columns-change', 'data-change', 'footer-data-change', 'current-change', 'current-row-change', 'current-row-disabled', 'current-column-change', 'current-column-disabled', 'radio-change', 'checkbox-change', 'checkbox-all', 'checkbox-range-start', 'checkbox-range-change', 'checkbox-range-end', 'checkbox-range-select', 'cell-click', 'cell-dblclick', 'cell-menu', 'cell-mouseenter', 'cell-mouseleave', 'cell-selected', 'cell-delete-value', 'cell-backspace-value', 'header-cell-click', 'header-cell-dblclick', 'header-cell-menu', 'footer-cell-click', 'footer-cell-dblclick', 'footer-cell-menu', 'clear-merge', 'sort-change', 'clear-sort', 'clear-all-sort', 'filter-change', 'filter-visible', 'clear-filter', 'clear-all-filter', 'resizable-change', 'column-resizable-change', 'row-resizable-change', 'toggle-row-group-expand', 'toggle-row-expand', 'toggle-tree-expand', 'menu-click', 'edit-closed', 'row-dragstart', 'row-dragover', 'row-dragend', 'row-remove-dragend', 'row-insert-dragend', 'column-dragstart', 'column-dragover', 'column-dragend', 'enter-append-row', 'edit-actived', 'edit-activated', 'edit-disabled', 'valid-error', 'scroll', 'scroll-boundary', 'custom', 'custom-visible-change', 'custom-visible-all', 'custom-fixed-change', 'change-fnr', 'open-fnr', 'show-fnr', 'hide-fnr', 'fnr-change', 'fnr-find', 'fnr-find-all', 'fnr-replace', 'fnr-replace-all', 'cell-area-copy', 'cell-area-cut', 'cell-area-paste', 'cell-area-merge', 'clear-cell-area-selection', 'clear-cell-area-merge', 'header-cell-area-selection', 'cell-area-selection-invalid', 'cell-area-selection-start', 'cell-area-selection-drag', 'cell-area-selection-end', 'cell-area-extension-start', 'cell-area-extension-drag', 'cell-area-extension-end', 'cell-area-selection-all-start', 'cell-area-selection-all-end', 'cell-area-arrows-start', 'cell-area-arrows-end', 'active-cell-change-start', 'active-cell-change-end'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableEmits=void 0;let tableEmits=exports.tableEmits=["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-visible-change","custom-visible-all","custom-fixed-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end"];
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableEmits=void 0;let tableEmits=exports.tableEmits=["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","columns-change","data-change","footer-data-change","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","row-remove-dragend","row-insert-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-visible-change","custom-visible-all","custom-fixed-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end"];
|
package/lib/table/src/header.js
CHANGED
|
@@ -53,12 +53,33 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
53
53
|
const refHeaderXSpace = (0, _vue.ref)();
|
|
54
54
|
const refHeaderBorderRepair = (0, _vue.ref)();
|
|
55
55
|
const uploadColumn = () => {
|
|
56
|
+
const {
|
|
57
|
+
showCustomHeader
|
|
58
|
+
} = tableProps;
|
|
59
|
+
const {
|
|
60
|
+
collectColumn,
|
|
61
|
+
visibleColumn
|
|
62
|
+
} = tableInternalData;
|
|
63
|
+
const {
|
|
64
|
+
tableGroupColumn
|
|
65
|
+
} = props;
|
|
56
66
|
const {
|
|
57
67
|
isGroup
|
|
58
68
|
} = tableReactData;
|
|
59
|
-
|
|
69
|
+
let spanColumns = isGroup ? (0, _util.convertHeaderColumnToRows)(tableGroupColumn) : [];
|
|
70
|
+
let visibleColgroups = [];
|
|
71
|
+
if (showCustomHeader && spanColumns.length > 1) {
|
|
72
|
+
visibleColgroups = (0, _util.convertHeaderToGridRows)(spanColumns);
|
|
73
|
+
spanColumns = visibleColgroups;
|
|
74
|
+
}
|
|
75
|
+
headerColumn.value = spanColumns;
|
|
76
|
+
$xeTable.dispatchEvent('columns-change', {
|
|
77
|
+
visibleColgroups,
|
|
78
|
+
collectColumn,
|
|
79
|
+
visibleColumn
|
|
80
|
+
}, null);
|
|
60
81
|
};
|
|
61
|
-
const renderRows = (isGroup, isOptimizeMode,
|
|
82
|
+
const renderRows = (isGroup, isOptimizeMode, headerGroups, $rowIndex, cols) => {
|
|
62
83
|
const $xeGrid = $xeTable.xeGrid;
|
|
63
84
|
const $xeGantt = $xeTable.xeGantt;
|
|
64
85
|
const {
|
|
@@ -67,6 +88,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
67
88
|
const {
|
|
68
89
|
resizable: allResizable,
|
|
69
90
|
columnKey,
|
|
91
|
+
showCustomHeader,
|
|
70
92
|
headerCellClassName,
|
|
71
93
|
headerCellStyle,
|
|
72
94
|
showHeaderOverflow: allColumnHeaderOverflow,
|
|
@@ -80,11 +102,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
80
102
|
scrollXLoad,
|
|
81
103
|
scrollYLoad,
|
|
82
104
|
overflowX,
|
|
105
|
+
mergeHeadFlag,
|
|
83
106
|
tableColumn
|
|
84
107
|
} = tableReactData;
|
|
85
108
|
const {
|
|
86
109
|
fullColumnIdData,
|
|
87
|
-
scrollXStore
|
|
110
|
+
scrollXStore,
|
|
111
|
+
mergeHeaderList,
|
|
112
|
+
mergeHeaderCellMaps
|
|
88
113
|
} = tableInternalData;
|
|
89
114
|
const virtualXOpts = computeVirtualXOpts.value;
|
|
90
115
|
const columnOpts = computeColumnOpts.value;
|
|
@@ -98,6 +123,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
98
123
|
isCrossDrag,
|
|
99
124
|
isPeerDrag
|
|
100
125
|
} = columnDragOpts;
|
|
126
|
+
const isLastRow = $rowIndex === headerGroups.length - 1;
|
|
101
127
|
return cols.map((column, $columnIndex) => {
|
|
102
128
|
const {
|
|
103
129
|
type,
|
|
@@ -146,10 +172,34 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
146
172
|
hasFilter
|
|
147
173
|
};
|
|
148
174
|
const thAttrs = {
|
|
149
|
-
colid
|
|
150
|
-
colspan: column.colSpan > 1 ? column.colSpan : null,
|
|
151
|
-
rowspan: column.rowSpan > 1 ? column.rowSpan : null
|
|
175
|
+
colid
|
|
152
176
|
};
|
|
177
|
+
let isMergeCell = false;
|
|
178
|
+
// 合并行或列
|
|
179
|
+
if (!showCustomHeader) {
|
|
180
|
+
thAttrs.colspan = column.colSpan > 1 ? column.colSpan : null;
|
|
181
|
+
thAttrs.rowspan = column.rowSpan > 1 ? column.rowSpan : null;
|
|
182
|
+
}
|
|
183
|
+
if (mergeHeadFlag && mergeHeaderList.length && (showCustomHeader || isLastRow)) {
|
|
184
|
+
const spanRest = mergeHeaderCellMaps[`${$rowIndex}:${showCustomHeader ? $columnIndex : _columnIndex}`];
|
|
185
|
+
if (spanRest) {
|
|
186
|
+
const {
|
|
187
|
+
rowspan,
|
|
188
|
+
colspan
|
|
189
|
+
} = spanRest;
|
|
190
|
+
if (!rowspan || !colspan) {
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
if (rowspan > 1) {
|
|
194
|
+
isMergeCell = true;
|
|
195
|
+
thAttrs.rowspan = rowspan;
|
|
196
|
+
}
|
|
197
|
+
if (colspan > 1) {
|
|
198
|
+
isMergeCell = true;
|
|
199
|
+
thAttrs.colspan = colspan;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
153
203
|
const thOns = {
|
|
154
204
|
onClick: evnt => $xeTable.triggerHeaderCellClickEvent(evnt, cellParams),
|
|
155
205
|
onDblclick: evnt => $xeTable.triggerHeaderCellDblclickEvent(evnt, cellParams)
|
|
@@ -176,7 +226,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
176
226
|
const showResizable = _xeUtils.default.isBoolean(column.resizable) ? column.resizable : columnOpts.resizable || allResizable;
|
|
177
227
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
178
228
|
let isVNPreEmptyStatus = false;
|
|
179
|
-
if (isOptimizeMode && overflowX && !isGroup) {
|
|
229
|
+
if (isOptimizeMode && overflowX && !isGroup && !isMergeCell) {
|
|
180
230
|
if (!dragCol || dragCol.id !== colid) {
|
|
181
231
|
if (scrollXLoad && tableColumn.length > 10 && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
182
232
|
isVNPreEmptyStatus = true;
|
|
@@ -190,7 +240,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
190
240
|
tcStyle.minHeight = `${currCellHeight}px`;
|
|
191
241
|
}
|
|
192
242
|
return (0, _vue.h)('th', Object.assign(Object.assign(Object.assign({
|
|
193
|
-
class: ['vxe-table--column vxe-header--column', colid, {
|
|
243
|
+
class: ['vxe-table--column vxe-header--column', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
|
|
194
244
|
[`col--${headAlign}`]: headAlign,
|
|
195
245
|
[`col--${type}`]: type,
|
|
196
246
|
'col--last': isLastColumn,
|
|
@@ -198,7 +248,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
198
248
|
'col--group': isColGroup,
|
|
199
249
|
'col--ellipsis': hasEllipsis,
|
|
200
250
|
'fixed--width': !isAutoCellWidth,
|
|
201
|
-
'fixed--hidden': fixedHiddenColumn,
|
|
202
251
|
'is--padding': isPadding,
|
|
203
252
|
'is--sortable': column.sortable,
|
|
204
253
|
'col--filter': !!filters,
|
|
@@ -209,7 +258,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
209
258
|
}, headerClassName ? _xeUtils.default.isFunction(headerClassName) ? headerClassName(cellParams) : headerClassName : '', headerCellClassName ? _xeUtils.default.isFunction(headerCellClassName) ? headerCellClassName(cellParams) : headerCellClassName : ''],
|
|
210
259
|
style: headerCellStyle ? _xeUtils.default.isFunction(headerCellStyle) ? headerCellStyle(cellParams) : headerCellStyle : null
|
|
211
260
|
}, thAttrs), thOns), {
|
|
212
|
-
key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag || isColGroup ? colid : $columnIndex
|
|
261
|
+
key: showCustomHeader ? `${colid}${$columnIndex}` : columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag || isColGroup ? colid : $columnIndex
|
|
213
262
|
}), [(0, _vue.h)('div', {
|
|
214
263
|
class: ['vxe-cell', {
|
|
215
264
|
'c--title': showTitle,
|
|
@@ -224,7 +273,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
224
273
|
/**
|
|
225
274
|
* 列宽拖动
|
|
226
275
|
*/
|
|
227
|
-
!fixedHiddenColumn && showResizable ? (0, _vue.h)('div', {
|
|
276
|
+
!fixedHiddenColumn && showResizable && (!showCustomHeader || isLastRow) ? (0, _vue.h)('div', {
|
|
228
277
|
class: 'vxe-cell--col-resizable',
|
|
229
278
|
onMousedown: evnt => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
|
|
230
279
|
onDblclick: evnt => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
|
|
@@ -250,7 +299,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
250
299
|
key: $rowIndex,
|
|
251
300
|
class: ['vxe-header--row', headerRowClassName ? _xeUtils.default.isFunction(headerRowClassName) ? headerRowClassName(params) : headerRowClassName : ''],
|
|
252
301
|
style: headerRowStyle ? _xeUtils.default.isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle : null
|
|
253
|
-
}, renderRows(isGroup, isOptimizeMode,
|
|
302
|
+
}, renderRows(isGroup, isOptimizeMode, headerGroups, $rowIndex, cols));
|
|
254
303
|
});
|
|
255
304
|
};
|
|
256
305
|
const renderVN = () => {
|
|
@@ -277,7 +326,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
277
326
|
fullColumnIdData
|
|
278
327
|
} = tableInternalData;
|
|
279
328
|
const mouseOpts = computeMouseOpts.value;
|
|
280
|
-
let renderHeaderList = headerColumn.value;
|
|
329
|
+
let renderHeaderList = headerColumn.value || [];
|
|
281
330
|
let renderColumnList = tableColumn;
|
|
282
331
|
let isOptimizeMode = false;
|
|
283
332
|
if (isGroup) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="header";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,renderType="header";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(f){let ue=(0,_vue.inject)("$xeTable",{}),{xID:_,props:b,reactData:C,internalData:w}=ue,{computeColumnOpts:a,computeColumnDragOpts:r,computeCellOpts:t,computeMouseOpts:y,computeHeaderCellOpts:n,computeDefaultRowHeight:i,computeVirtualXOpts:o}=ue.getComputeMaps(),D=(0,_vue.ref)([]),H=(0,_vue.ref)(),E=(0,_vue.ref)(),S=(0,_vue.ref)(),M=(0,_vue.ref)(),O=(0,_vue.ref)(),T=(0,_vue.ref)(),d=(0,_vue.ref)(),u=()=>{var e=b.showCustomHeader,{collectColumn:l,visibleColumn:a}=w,r=f.tableGroupColumn,t=C.isGroup;let n=t?(0,_util.convertHeaderColumnToRows)(r):[],i=[];e&&1<n.length&&(i=(0,_util.convertHeaderToGridRows)(n),n=i),D.value=n,ue.dispatchEvent("columns-change",{visibleColgroups:i,collectColumn:l,visibleColumn:a},null)},I=(E,S,e,M,O)=>{let T=ue.xeGrid,I=ue.xeGantt,k=f.fixedType,{resizable:R,columnKey:U,showCustomHeader:$,headerCellClassName:z,headerCellStyle:q,showHeaderOverflow:A,headerAlign:F,align:G,mouseConfig:X}=b,{currentColumn:j,dragCol:L,scrollXLoad:N,scrollYLoad:V,overflowX:W,mergeHeadFlag:B,tableColumn:K}=C,{fullColumnIdData:P,scrollXStore:Y,mergeHeaderList:J,mergeHeaderCellMaps:Q}=w,Z=o.value,ee=a.value,le=r.value,ae=t.value;var l=i.value;let re=n.value,te=(0,_util.getCalcHeight)(re.height)||l,{disabledMethod:ne,isCrossDrag:oe,isPeerDrag:de}=le,ie=M===e.length-1;return O.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:n,filters:i,headerClassName:o,editRender:d,cellRender:u}=e,s=e.id,c=P[s]||{},d=d||u,u=d?renderer.get(d.name):null,d=e.children&&e.children.length,p=W&&!d&&(k?e.fixed!==k:!!e.fixed),v=(_xeUtils.default.isBoolean(re.padding)?re:ae).padding,r=_xeUtils.default.eqNull(r)?A:r,t=t||(u?u.tableHeaderCellAlign:"")||F||n||(u?u.tableCellAlign:"")||G,n="ellipsis"===r,u="title"===r,r=!0===r||"tooltip"===r,x=u||r||n;let h=!1,g=null;i&&(g=i[0],h=i.some(e=>e.checked));var m=c.index,c=c._index;let f={$table:ue,$grid:T,$gantt:I,$rowIndex:M,column:e,columnIndex:m,$columnIndex:l,_columnIndex:c,firstFilterOption:g,fixed:k,type:renderType,isHidden:p,hasFilter:h};m={colid:s};let _=!1;if($||(m.colspan=1<e.colSpan?e.colSpan:null,m.rowspan=1<e.rowSpan?e.rowSpan:null),B&&J.length&&($||ie)){var b=Q[M+":"+($?l:c)];if(b){var{rowspan:b,colspan:C}=b;if(!b||!C)return null;1<b&&(_=!0,m.rowspan=b),1<C&&(_=!0,m.colspan=C)}}b={onClick:e=>ue.triggerHeaderCellClickEvent(e,f),onDblclick:e=>ue.triggerHeaderCellDblclickEvent(e,f)},C=ee.drag&&"cell"===le.trigger;let w=!1;C&&(w=!(!ne||!ne(f))),(X||C)&&(b.onMousedown=e=>ue.triggerHeaderCellMousedownEvent(e,f)),ee.drag&&(b.onDragstart=ue.handleHeaderCellDragDragstartEvent,b.onDragend=ue.handleHeaderCellDragDragendEvent,b.onDragover=ue.handleHeaderCellDragDragoverEvent,C)&&(b.onMouseup=ue.handleHeaderCellDragMouseupEvent);var C=l===O.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:ee.resizable||R,D=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let H=!1;!S||!W||E||_||L&&L.id===s||N&&10<K.length&&!e.fixed&&!Z.immediate&&(c<Y.visibleStartIndex-Y.preloadSize||c>Y.visibleEndIndex+Y.preloadSize)&&(H=!0);c={};return x?c.height=te+"px":c.minHeight=te+"px",(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-header--column",s,p?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+a]:a,"col--last":C,"col--fixed":e.fixed,"col--group":d,"col--ellipsis":x,"fixed--width":!D,"is--padding":v,"is--sortable":e.sortable,"col--filter":!!i,"is--filter-active":h,"is--drag-active":ee.drag&&!e.fixed&&!w&&(oe||de||!e.parentId),"is--drag-disabled":ee.drag&&w,"col--current":j===e},o?_xeUtils.default.isFunction(o)?o(f):o:"",z?_xeUtils.default.isFunction(z)?z(f):z:""],style:q?_xeUtils.default.isFunction(q)?q(f):q:null},m),b),{key:$?""+s+l:U||N||V||ee.useKey||ee.drag||d?s:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":u,"c--tooltip":r,"c--ellipsis":n}],style:c},H||S&&p?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper vxe-header-cell--wrapper"},e.renderHeader(f))]),p||!y||$&&!ie?renderEmptyElement(ue):(0,_vue.h)("div",{class:"vxe-cell--col-resizable",onMousedown:e=>ue.handleColResizeMousedownEvent(e,k,f),onDblclick:e=>ue.handleColResizeDblclickEvent(e,f)})])})};return(0,_vue.watch)(()=>f.tableColumn,u),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=f.fixedType,l=ue.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=H,l[e+"scroll"]=E,l[e+"table"]=S,l[e+"colgroup"]=M,l[e+"list"]=O,l[e+"xSpace"]=T,l[e+"repair"]=d,u()})}),(0,_vue.onUnmounted)(()=>{var e=f.fixedType,l=ue.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:a}=f;var{mouseConfig:r,showHeaderOverflow:t,spanMethod:n,footerSpanMethod:i}=b,{isGroup:o,isColLoading:d,overflowX:u,scrollXLoad:s,dragCol:c}=C,{visibleColumn:p,fullColumnIdData:v}=w,x=y.value;let h=D.value||[],g=a,m=!1;return o?g=p:(s&&t&&(n||i||(m=!0)),m&&(d||!l&&u)||(g=p),l&&m&&(g=e||[]),h=[g]),l||o||s&&c&&2<g.length&&(t=v[c.id])&&(n=t._index,i=g[0],d=g[g.length-1],u=v[i.id],p=v[d.id],u)&&p&&(s=u._index,t=p._index,n<s?(g=[c].concat(g),h=[[c].concat(h[0])].concat(h.slice(1))):t<n&&(g=g.concat([c]),h=[h[0].concat([c])].concat(h.slice(1)))),(0,_vue.h)("div",{ref:H,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:_},[(0,_vue.h)("div",{ref:E,class:"vxe-table--header-inner-wrapper",onScroll(e){ue.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(ue):(0,_vue.h)("div",{ref:T,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:S,class:"vxe-table--header",xid:_,cellspacing:0,cellpadding:0,border:0,xvm:m?"1":null},[(0,_vue.h)("colgroup",{ref:M},g.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("thead",{ref:O},((r,t,n)=>{let i=f.fixedType,{headerRowClassName:o,headerRowStyle:d}=b;return n.map((e,l)=>{var a={$table:ue,$rowIndex:l,fixed:i,type:renderType};return(0,_vue.h)("tr",{key:l,class:["vxe-header--row",o?_xeUtils.default.isFunction(o)?o(a):o:""],style:d?_xeUtils.default.isFunction(d)?d(a):d:null},I(r,t,n,l,e))})})(o,m,h))]),r&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-clip-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(ue)])])}}});
|
package/lib/table/src/props.js
CHANGED
|
@@ -18,7 +18,7 @@ const tableProps = exports.tableProps = {
|
|
|
18
18
|
// 表格的最小高度
|
|
19
19
|
minHeight: {
|
|
20
20
|
type: [Number, String],
|
|
21
|
-
default: () =>
|
|
21
|
+
default: () => null
|
|
22
22
|
},
|
|
23
23
|
// 表格的最大高度
|
|
24
24
|
maxHeight: [Number, String],
|
|
@@ -137,9 +137,17 @@ const tableProps = exports.tableProps = {
|
|
|
137
137
|
headerRowStyle: [Object, Function],
|
|
138
138
|
// 给表尾行附加样式
|
|
139
139
|
footerRowStyle: [Object, Function],
|
|
140
|
-
//
|
|
140
|
+
// 用于分组表头,显示为自定义列头,配合 mergeHeaderCells 灵活实现自定义合并
|
|
141
|
+
showCustomHeader: {
|
|
142
|
+
type: Boolean,
|
|
143
|
+
default: () => getConfig().table.showCustomHeader
|
|
144
|
+
},
|
|
145
|
+
// 临时合并指定的表头单元格
|
|
146
|
+
mergeHeaderCells: Array,
|
|
147
|
+
// 临时合并指定的单元格
|
|
141
148
|
mergeCells: Array,
|
|
142
|
-
//
|
|
149
|
+
// 临时合并指定的表尾单元格
|
|
150
|
+
mergeFooterCells: Array,
|
|
143
151
|
mergeFooterItems: Array,
|
|
144
152
|
// 自定义合并行或列的方法
|
|
145
153
|
spanMethod: Function,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableProps=void 0;var _ui=require("../../ui");let getConfig=_ui.VxeUI.getConfig,tableProps=exports.tableProps={id:[String,Function],data:Array,height:[Number,String],minHeight:{type:[Number,String],default:()=>
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableProps=void 0;var _ui=require("../../ui");let getConfig=_ui.VxeUI.getConfig,tableProps=exports.tableProps={id:[String,Function],data:Array,height:[Number,String],minHeight:{type:[Number,String],default:()=>null},maxHeight:[Number,String],resizable:{type:Boolean,default:()=>getConfig().table.resizable},stripe:{type:Boolean,default:()=>getConfig().table.stripe},border:{type:[Boolean,String],default:()=>getConfig().table.border},padding:{type:Boolean,default:null},round:{type:Boolean,default:()=>getConfig().table.round},size:{type:String,default:()=>getConfig().table.size||getConfig().size},fit:{type:Boolean,default:()=>getConfig().table.fit},loading:Boolean,align:{type:String,default:()=>getConfig().table.align},headerAlign:{type:String,default:()=>getConfig().table.headerAlign},footerAlign:{type:String,default:()=>getConfig().table.footerAlign},showHeader:{type:Boolean,default:()=>getConfig().table.showHeader},highlightCurrentRow:{type:Boolean,default:()=>getConfig().table.highlightCurrentRow},highlightHoverRow:{type:Boolean,default:()=>getConfig().table.highlightHoverRow},highlightCurrentColumn:{type:Boolean,default:()=>getConfig().table.highlightCurrentColumn},highlightHoverColumn:{type:Boolean,default:()=>getConfig().table.highlightHoverColumn},highlightCell:Boolean,showFooter:Boolean,footerData:Array,footerMethod:Function,rowClassName:[String,Function],cellClassName:[String,Function],headerRowClassName:[String,Function],headerCellClassName:[String,Function],footerRowClassName:[String,Function],footerCellClassName:[String,Function],cellStyle:[Object,Function],headerCellStyle:[Object,Function],footerCellStyle:[Object,Function],rowStyle:[Object,Function],headerRowStyle:[Object,Function],footerRowStyle:[Object,Function],showCustomHeader:{type:Boolean,default:()=>getConfig().table.showCustomHeader},mergeHeaderCells:Array,mergeCells:Array,mergeFooterCells:Array,mergeFooterItems:Array,spanMethod:Function,footerSpanMethod:Function,showOverflow:{type:[Boolean,String],default:()=>getConfig().table.showOverflow},showHeaderOverflow:{type:[Boolean,String],default:()=>getConfig().table.showHeaderOverflow},showFooterOverflow:{type:[Boolean,String],default:()=>getConfig().table.showFooterOverflow},columnKey:Boolean,rowKey:Boolean,rowId:{type:String,default:()=>getConfig().table.rowId},zIndex:Number,emptyText:{type:String,default:()=>getConfig().table.emptyText},keepSource:{type:Boolean,default:()=>getConfig().table.keepSource},autoResize:{type:Boolean,default:()=>getConfig().table.autoResize},syncResize:[Boolean,String,Number],resizeConfig:Object,columnConfig:Object,currentColumnConfig:Object,cellConfig:Object,headerCellConfig:Object,footerCellConfig:Object,rowConfig:Object,aggregateConfig:Object,rowGroupConfig:Object,currentRowConfig:Object,dragConfig:Object,rowDragConfig:Object,columnDragConfig:Object,resizableConfig:Object,seqConfig:Object,sortConfig:Object,filterConfig:Object,radioConfig:Object,checkboxConfig:Object,tooltipConfig:Object,exportConfig:Object,importConfig:Object,printConfig:Object,expandConfig:Object,treeConfig:Object,menuConfig:Object,mouseConfig:Object,areaConfig:Object,keyboardConfig:Object,clipConfig:Object,fnrConfig:Object,editConfig:Object,validConfig:Object,editRules:Object,loadingConfig:Object,emptyRender:Object,customConfig:Object,scrollX:Object,scrollY:Object,virtualXConfig:Object,virtualYConfig:Object,scrollbarConfig:Object,animat:{type:Boolean,default:()=>getConfig().table.animat},delayHover:{type:Number,default:()=>getConfig().table.delayHover},params:Object};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.crossTableDragRowInfo = void 0;
|
|
7
|
+
exports.getCrossTableDragRowInfo = getCrossTableDragRowInfo;
|
|
8
|
+
var _vue = require("vue");
|
|
9
|
+
// 跨表拖拽
|
|
10
|
+
const crossTableDragRowInfo = exports.crossTableDragRowInfo = (0, _vue.reactive)({
|
|
11
|
+
row: null
|
|
12
|
+
});
|
|
13
|
+
function getCrossTableDragRowInfo() {
|
|
14
|
+
return crossTableDragRowInfo;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.crossTableDragRowInfo=void 0,exports.getCrossTableDragRowInfo=getCrossTableDragRowInfo;var _vue=require("vue");let crossTableDragRowInfo=exports.crossTableDragRowInfo=(0,_vue.reactive)({row:null});function getCrossTableDragRowInfo(){return crossTableDragRowInfo}
|