vxe-table 4.15.0-beta.9 → 4.15.0
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 +57 -9
- package/es/style.css +1 -1
- package/es/table/module/custom/hook.js +22 -14
- package/es/table/module/edit/hook.js +5 -5
- package/es/table/src/body.js +7 -6
- package/es/table/src/columnInfo.js +2 -0
- package/es/table/src/table.js +204 -80
- package/es/table/src/util.js +9 -0
- package/es/ui/index.js +2 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +67 -9
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +143 -54
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/hook.js +25 -13
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/edit/hook.js +5 -0
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/src/body.js +7 -6
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/columnInfo.js +2 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/table.js +24 -24
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +10 -0
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +2 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +62 -9
- package/packages/table/module/custom/hook.ts +21 -13
- package/packages/table/module/edit/hook.ts +5 -5
- package/packages/table/src/body.ts +7 -6
- package/packages/table/src/columnInfo.ts +3 -0
- package/packages/table/src/table.ts +217 -80
- package/packages/table/src/util.ts +10 -0
- package/packages/ui/index.ts +1 -0
- /package/es/{iconfont.1753497319436.ttf → iconfont.1753928735749.ttf} +0 -0
- /package/es/{iconfont.1753497319436.woff → iconfont.1753928735749.woff} +0 -0
- /package/es/{iconfont.1753497319436.woff2 → iconfont.1753928735749.woff2} +0 -0
- /package/lib/{iconfont.1753497319436.ttf → iconfont.1753928735749.ttf} +0 -0
- /package/lib/{iconfont.1753497319436.woff → iconfont.1753928735749.woff} +0 -0
- /package/lib/{iconfont.1753497319436.woff2 → iconfont.1753928735749.woff2} +0 -0
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var _vue = require("vue");
|
|
4
4
|
var _ui = require("../../../ui");
|
|
5
5
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
6
|
+
var _util = require("../../src/util");
|
|
6
7
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
8
|
const tableCustomMethodKeys = ['openCustom', 'closeCustom', 'toggleCustom', 'saveCustom', 'cancelCustom', 'resetCustom', 'toggleCustomAllCheckbox', 'setCustomAllCheckbox'];
|
|
8
9
|
_ui.VxeUI.hooks.add('tableCustomModule', {
|
|
@@ -135,21 +136,20 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
135
136
|
}
|
|
136
137
|
});
|
|
137
138
|
reactData.isCustomStatus = true;
|
|
138
|
-
|
|
139
|
-
if (
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
$xeTable.setRowGroups(aggHandleFields);
|
|
144
|
-
} else {
|
|
145
|
-
$xeTable.clearRowGroups();
|
|
146
|
-
}
|
|
139
|
+
if (allowGroup && !!$xeTable.handlePivotTableAggregateData) {
|
|
140
|
+
if (rowGroupList.length !== aggHandleFields.length || rowGroupList.some((conf, i) => conf.field !== aggHandleFields[i])) {
|
|
141
|
+
// 更新数据分组
|
|
142
|
+
if (aggHandleFields.length) {
|
|
143
|
+
$xeTable.setRowGroups(aggHandleFields);
|
|
147
144
|
} else {
|
|
148
|
-
|
|
149
|
-
$xeTable.handleUpdateAggData();
|
|
145
|
+
$xeTable.clearRowGroups();
|
|
150
146
|
}
|
|
147
|
+
} else if (allowValues) {
|
|
148
|
+
// 更新聚合函数
|
|
149
|
+
$xeTable.handleUpdateAggData();
|
|
151
150
|
}
|
|
152
|
-
}
|
|
151
|
+
}
|
|
152
|
+
return $xeTable.saveCustomStore('confirm');
|
|
153
153
|
};
|
|
154
154
|
const cancelCustom = () => {
|
|
155
155
|
const {
|
|
@@ -272,6 +272,7 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
272
272
|
sort: options === true,
|
|
273
273
|
aggFunc: options === true
|
|
274
274
|
}, options);
|
|
275
|
+
const allCols = [];
|
|
275
276
|
_xeUtils.default.eachTree(collectColumn, column => {
|
|
276
277
|
if (opts.resizable) {
|
|
277
278
|
column.resizeWidth = 0;
|
|
@@ -281,6 +282,7 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
281
282
|
}
|
|
282
283
|
if (opts.sort) {
|
|
283
284
|
column.renderSortNumber = column.sortNumber;
|
|
285
|
+
column.parentId = column.defaultParentId;
|
|
284
286
|
}
|
|
285
287
|
if (!checkMethod || checkMethod({
|
|
286
288
|
$table: $xeTable,
|
|
@@ -293,9 +295,18 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
293
295
|
column.renderAggFn = column.defaultAggFunc;
|
|
294
296
|
}
|
|
295
297
|
column.renderResizeWidth = column.renderWidth;
|
|
298
|
+
allCols.push(column);
|
|
296
299
|
});
|
|
300
|
+
if (opts.sort) {
|
|
301
|
+
const newCollectCols = _xeUtils.default.toArrayTree(_xeUtils.default.orderBy(allCols, 'renderSortNumber'), {
|
|
302
|
+
key: 'id',
|
|
303
|
+
parentKey: 'parentId',
|
|
304
|
+
children: 'children'
|
|
305
|
+
});
|
|
306
|
+
internalData.collectColumn = newCollectCols;
|
|
307
|
+
internalData.tableFullColumn = (0, _util.getColumnList)(newCollectCols);
|
|
308
|
+
}
|
|
297
309
|
reactData.isCustomStatus = false;
|
|
298
|
-
$xeTable.saveCustomStore('reset');
|
|
299
310
|
return $xeTable.handleCustom().then(() => {
|
|
300
311
|
if (opts.aggFunc && $xeTable.handlePivotTableAggregateData) {
|
|
301
312
|
const rowGroupFields = computeRowGroupFields.value;
|
|
@@ -309,6 +320,7 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
309
320
|
$xeTable.handleUpdateAggData();
|
|
310
321
|
}
|
|
311
322
|
}
|
|
323
|
+
$xeTable.saveCustomStore('reset');
|
|
312
324
|
});
|
|
313
325
|
},
|
|
314
326
|
toggleCustomAllCheckbox() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let tableCustomMethodKeys=["openCustom","closeCustom","toggleCustom","saveCustom","cancelCustom","resetCustom","toggleCustomAllCheckbox","setCustomAllCheckbox"];_ui.VxeUI.hooks.add("tableCustomModule",{setupTable(c){let{reactData:m,internalData:
|
|
1
|
+
var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let tableCustomMethodKeys=["openCustom","closeCustom","toggleCustom","saveCustom","cancelCustom","resetCustom","toggleCustomAllCheckbox","setCustomAllCheckbox"];_ui.VxeUI.hooks.add("tableCustomModule",{setupTable(c){let{reactData:m,internalData:o}=c,{computeCustomOpts:b,computeRowGroupFields:a}=c.getComputeMaps(),r=c.getRefMaps().refElem,l=c.xeGrid,i=()=>{var e=m.customStore,t=r.value;let l=0;t&&(l=t.clientHeight-28),e.maxHeight=Math.max(88,l)},s=()=>{var{initStore:e,customStore:t}=m;return t.visible=!0,e.custom=!0,u(),d(),i(),(0,_vue.nextTick)().then(()=>i())},u=()=>{var e=m.customStore,t=o.collectColumn;if(e.visible){let l={},r={},i={};_xeUtils.default.eachTree(t,e=>{var t=e.getKey();e.renderFixed=e.fixed,e.renderVisible=e.visible,e.renderResizeWidth=e.renderWidth,l[t]=e.renderSortNumber,r[t]=e.fixed,i[t]=e.visible}),e.oldSortMaps=l,e.oldFixedMaps=r,e.oldVisibleMaps=i,m.customColumnList=t.slice(0)}},n=()=>{var e=m.customStore,t=b.value;return e.visible&&(e.visible=!1,t.immediate||c.handleCustom()),(0,_vue.nextTick)()};let t=e=>{var t=m.customStore,l=m.customColumnList,r=b.value;let{checkMethod:i,visibleMethod:s}=r,o=!!e;return r.immediate?(_xeUtils.default.eachTree(l,e=>{s&&!s({$table:c,column:e})||i&&!i({$table:c,column:e})||(e.visible=o,e.renderVisible=o,e.halfVisible=!1)}),t.isAll=o,m.isCustomStatus=!0,c.handleCustom(),c.saveCustomStore("update:visible")):(_xeUtils.default.eachTree(l,e=>{s&&!s({$table:c,column:e})||i&&!i({$table:c,column:e})||(e.renderVisible=o,e.halfVisible=!1)}),t.isAll=o),c.checkCustomStatus(),(0,_vue.nextTick)()};var e={openCustom:s,closeCustom:n,toggleCustom:()=>{var e=m.customStore;return(e.visible?n:s)()},saveCustom:()=>{let{customColumnList:e,aggHandleFields:l,rowGroupList:t}=m;let{allowVisible:s,allowSort:o,allowFixed:a,allowResizable:u,allowGroup:n,allowValues:d}=b.value;return _xeUtils.default.eachTree(e,(e,t,l,r,i)=>{i?e.fixed=i.fixed:(o&&(e.renderSortNumber=t+1),a&&(e.fixed=e.renderFixed)),u&&e.renderVisible&&(!e.children||e.children.length)&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth),s&&(e.visible=e.renderVisible),n&&d&&(e.aggFunc=e.renderAggFn)}),m.isCustomStatus=!0,n&&c.handlePivotTableAggregateData&&(t.length!==l.length||t.some((e,t)=>e.field!==l[t])?l.length?c.setRowGroups(l):c.clearRowGroups():d&&c.handleUpdateAggData()),c.saveCustomStore("confirm")},cancelCustom:()=>{var{customColumnList:e,customStore:t}=m;let{oldSortMaps:i,oldFixedMaps:s,oldVisibleMaps:o}=t,{allowVisible:a,allowSort:u,allowFixed:n,allowResizable:d}=b.value;return _xeUtils.default.eachTree(e,e=>{var t=e.getKey(),l=!!o[t],r=s[t]||"";a&&(e.renderVisible=l,e.visible=l),n&&(e.renderFixed=r,e.fixed=r),u&&(e.renderSortNumber=i[t]||0),d&&(e.renderResizeWidth=e.renderWidth)},{children:"children"}),(0,_vue.nextTick)()},resetCustom(e){let t=m.rowGroupList;var l=o.collectColumn;let r=b.value.checkMethod,i=Object.assign({visible:!0,resizable:!0===e,fixed:!0===e,sort:!0===e,aggFunc:!0===e},e),s=[];return _xeUtils.default.eachTree(l,e=>{i.resizable&&(e.resizeWidth=0),i.fixed&&(e.fixed=e.defaultFixed),i.sort&&(e.renderSortNumber=e.sortNumber,e.parentId=e.defaultParentId),r&&!r({$table:c,column:e})||(e.visible=e.defaultVisible),i.aggFunc&&(e.aggFunc=e.defaultAggFunc,e.renderAggFn=e.defaultAggFunc),e.renderResizeWidth=e.renderWidth,s.push(e)}),i.sort&&(e=_xeUtils.default.toArrayTree(_xeUtils.default.orderBy(s,"renderSortNumber"),{key:"id",parentKey:"parentId",children:"children"}),o.collectColumn=e,o.tableFullColumn=(0,_util.getColumnList)(e)),m.isCustomStatus=!1,c.handleCustom().then(()=>{var e;i.aggFunc&&c.handlePivotTableAggregateData&&(((e=a.value)||t).length?e&&e.length?c.setRowGroups(e):c.clearRowGroups():c.handleUpdateAggData()),c.saveCustomStore("reset")})},toggleCustomAllCheckbox(){var e=m.customStore,e=!e.isAll;return t(e)},setCustomAllCheckbox:t};let d=()=>{var e=m.customStore,t=o.collectColumn;let l=b.value.checkMethod;e.isAll=t.every(e=>!!l&&!l({$table:c,column:e})||e.renderVisible),e.isIndeterminate=!e.isAll&&t.some(e=>(!l||l({$table:c,column:e}))&&(e.renderVisible||e.halfVisible))},v=(e,t)=>{(l||c).dispatchEvent("custom",{type:e},t)};var h={checkCustomStatus:d,emitCustomEvent:v,triggerCustomEvent(e){var t=c.reactData.customStore;t.visible?(n(),v("close",e)):(t.btnEl=e.target,s(),v("open",e))},customOpenEvent(e){var t=c.reactData.customStore;t.visible||(t.activeBtn=!0,t.btnEl=e.target,c.openCustom(),c.emitCustomEvent("open",e))},customCloseEvent(e){var t=c.reactData.customStore;t.visible&&(t.activeBtn=!1,c.closeCustom(),c.emitCustomEvent("close",e))},handleUpdateCustomColumn:u};return Object.assign(Object.assign({},e),h)},setupGrid(e){return e.extendTableMethods(tableCustomMethodKeys)}});
|
|
@@ -131,6 +131,7 @@ hooks.add('tableEditModule', {
|
|
|
131
131
|
_index: -1,
|
|
132
132
|
$index: -1,
|
|
133
133
|
treeIndex: -1,
|
|
134
|
+
_tIndex: -1,
|
|
134
135
|
items: parentChilds,
|
|
135
136
|
parent: parentRow,
|
|
136
137
|
level: parentLevel + 1,
|
|
@@ -155,6 +156,7 @@ hooks.add('tableEditModule', {
|
|
|
155
156
|
_index: -1,
|
|
156
157
|
$index: -1,
|
|
157
158
|
treeIndex: -1,
|
|
159
|
+
_tIndex: -1,
|
|
158
160
|
items: tableFullTreeData,
|
|
159
161
|
parent: null,
|
|
160
162
|
level: 0,
|
|
@@ -222,6 +224,7 @@ hooks.add('tableEditModule', {
|
|
|
222
224
|
_index: -1,
|
|
223
225
|
$index: -1,
|
|
224
226
|
treeIndex: -1,
|
|
227
|
+
_tIndex: -1,
|
|
225
228
|
items: afterFullData,
|
|
226
229
|
parent: null,
|
|
227
230
|
level: 0,
|
|
@@ -267,6 +270,7 @@ hooks.add('tableEditModule', {
|
|
|
267
270
|
index: -1,
|
|
268
271
|
_index: -1,
|
|
269
272
|
treeIndex: -1,
|
|
273
|
+
_tIndex: -1,
|
|
270
274
|
$index: -1,
|
|
271
275
|
items: afterFullData,
|
|
272
276
|
parent: null,
|
|
@@ -318,6 +322,7 @@ hooks.add('tableEditModule', {
|
|
|
318
322
|
_index: -1,
|
|
319
323
|
$index: -1,
|
|
320
324
|
treeIndex: -1,
|
|
325
|
+
_tIndex: -1,
|
|
321
326
|
items: parentMapChilds,
|
|
322
327
|
parent: parentRow,
|
|
323
328
|
level: parentLevel + 1,
|
|
@@ -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:h,computeCheckboxOpts:m,computeTreeOpts:I,computeValidOpts:n}=p.getComputeMaps(),s=_xeUtils.default.browse(),E={},g={},b=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},i=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=t.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=C,l=h.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))},F=(e,t)=>{let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=_;var l=I.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(a,e=>t===e[s],{children:g}):null;if(o){var o=o.item,i=u[(0,_util.getRowid)(p,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[v](l),t[v](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:i+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),a[v](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=i,u[r]=i}})},u=(t,l,d)=>{let o=R.treeConfig;var e=C.isRowGroupStatus;let{tableFullTreeData:r,afterFullData:i,mergeBodyList:a,tableFullData:n,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:c}=_,g=I.value,{transform:w,rowField:v,mapChildrenField:f}=g,x=g.children||g.childrenField,h=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(p.defineField(t.map(e=>Object.assign(o&&w?{[f]:[],[x]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))if(o&&w)F(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,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,i.unshift(e),n.unshift(e)}),a.forEach(e=>{var t=e.row;0<=t&&(e.row=t+h.length)});else if(-1===l)if(o&&w)F(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,$index:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,i.push(e),n.push(e)});else if(o&&w){let n=_xeUtils.default.findTree(r,e=>l[v]===e[v],{children:f});if(n){let o=n.parent,i=o?o[f]:r;t=s[(0,_util.getRowid)(p,o)];let a=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),i.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,s[l]=t}),o){t=_xeUtils.default.findTree(r,e=>l[v]===e[v],{children:x});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"),F(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<i.length&&(r=l):r=p.findRowIndexOf(i,l),-1===(r=d?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...h);t=p.findRowIndexOf(n,l);-1<t?n.splice(t+(d?1:0),0,...h):n.push(...h),a.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:i,rowField:a,parentField:n}=I.value;return o&&i?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[a]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=C.editStore,{actived:l,focused:r}=l,{row:o,column:i}=l,a=n.value;if(o||i){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:i,columnIndex:p.getColumnIndex(i),$columnIndex:p.getVMColumnIndex(i)},e||null)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&p.clearValidate?p.clearValidate():(0,_vue.nextTick)().then(()=>p.updateCellAreas())},a=(l,r,o,e)=>{let i=p.xeGrid;var{editConfig:t,mouseConfig:a}=R,{editStore:n,tableColumn:d}=C,u=h.value,s=u.mode,{actived:n,focused:c}=n;let{row:g,column:w}=l;var v=w.editRender,f=l.cell||p.getCellElement(g,w),x=u.beforeEditMethod||u.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(v)&&!p.isPendingByRow(g)&&!p.isAggregateRecord(g)){if(n.row!==g||"cell"===s&&n.column!==w){let t="edit-disabled";if(!x||x(Object.assign(Object.assign({},l),{$table:p,$grid:i}))){a&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),p.closeTooltip(),n.column&&A(r),t="edit-activated",w.renderHeight=f.offsetHeight,n.args=l,n.row=g,n.column=w,"row"===s?d.forEach(e=>b(g,e)):b(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{o&&p.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:p,$grid:i}))})}p.dispatchEvent(t,{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r),"edit-activated"===t&&p.dispatchEvent("edit-actived",{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r)}else{t=n.column;a&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),t!==w&&(v=t.model,v.update&&(0,_util.setCellValue)(g,t,v.value),p.clearValidate)&&p.clearValidate(g,w),w.renderHeight=f.offsetHeight,n.args=l,n.column=w,e&&setTimeout(()=>{p.handleFocus(l,r)})}c.column=null,c.row=null,p.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?p.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)&&!p.isAggregateRecord(t)?Promise.resolve(l?p.scrollToRow(t,o):null).then(()=>{var e=p.getCellElement(t,o);return e&&(a({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 E={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:i,afterFullData:a,mergeBodyList:n,tableFullData:d,pendingRowMaps:u,insertRowMaps:s,removeRowMaps:c}=_;var g=m.value,w=I.value;let{transform:v,mapChildrenField:f}=w,x=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);i[e]&&delete i[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:f}),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:x})),l=(l&&l.items.splice(l.index,1),p.findRowIndexOf(a,e));-1<l&&a.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(a,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)}),a.splice(r,1))}),w.row&&-1<p.findRowIndexOf(e,w.row)&&E.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 E.remove(p.getCheckboxRecords()).then(e=>(p.clearCheckboxRow(),e))},removeRadioRow(){var e=p.getRadioRecord();return E.remove(e||[]).then(e=>(p.clearRadioRow(),e))},removeCurrentRow(){var e=p.getCurrentRecord();return E.remove(e||[]).then(e=>(p.clearCurrentRow(),e))},getRecordset(){var e=E.getRemoveRecords(),t=p.getPendingRecords();let l=e.concat(t);var r=E.getUpdateRecords().filter(t=>!l.some(e=>p.eqRow(e,t)));return{insertRecords:E.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=I.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 A(null,e)},clearSelected(){var e=C.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return(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"]),E.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"]),E.setEditCell(e,t)},setEditCell(e,t){return w(e,t,!0)},setSelectCell(e,t){var l=C.tableData,r=h.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 a(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=h.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?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():s.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&p.scrollToRow(o,i)}},handleSelected(e,t){var l=R.mouseConfig,r=C.editStore,o=c.value;let i=h.value,{actived:a,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(a.row!==d||"cell"===i.mode&&a.column!==u)&&(A(t),p.clearSelected(),p.clearCellAreas&&(p.clearCellAreas(),p.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),p.focus(),t)&&p.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=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({},E),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","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:h,computeCheckboxOpts:m,computeTreeOpts:I,computeValidOpts:n}=p.getComputeMaps(),s=_xeUtils.default.browse(),E={},g={},b=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},i=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=t.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=C,l=h.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))},F=(e,t)=>{let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=_;var l=I.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(a,e=>t===e[s],{children:g}):null;if(o){var o=o.item,i=u[(0,_util.getRowid)(p,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[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:i+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),a[v](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=i,u[r]=i}})},u=(t,l,d)=>{let o=R.treeConfig;var e=C.isRowGroupStatus;let{tableFullTreeData:r,afterFullData:i,mergeBodyList:a,tableFullData:n,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:c}=_,g=I.value,{transform:w,rowField:v,mapChildrenField:f}=g,x=g.children||g.childrenField,h=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(p.defineField(t.map(e=>Object.assign(o&&w?{[f]:[],[x]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))if(o&&w)F(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:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,i.unshift(e),n.unshift(e)}),a.forEach(e=>{var t=e.row;0<=t&&(e.row=t+h.length)});else if(-1===l)if(o&&w)F(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:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,i.push(e),n.push(e)});else if(o&&w){let n=_xeUtils.default.findTree(r,e=>l[v]===e[v],{children:f});if(n){let o=n.parent,i=o?o[f]:r;t=s[(0,_util.getRowid)(p,o)];let a=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),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:a+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:x});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"),F(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<i.length&&(r=l):r=p.findRowIndexOf(i,l),-1===(r=d?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...h);t=p.findRowIndexOf(n,l);-1<t?n.splice(t+(d?1:0),0,...h):n.push(...h),a.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:i,rowField:a,parentField:n}=I.value;return o&&i?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[a]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=C.editStore,{actived:l,focused:r}=l,{row:o,column:i}=l,a=n.value;if(o||i){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:i,columnIndex:p.getColumnIndex(i),$columnIndex:p.getVMColumnIndex(i)},e||null)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&p.clearValidate?p.clearValidate():(0,_vue.nextTick)().then(()=>p.updateCellAreas())},a=(l,r,o,e)=>{let i=p.xeGrid;var{editConfig:t,mouseConfig:a}=R,{editStore:n,tableColumn:d}=C,u=h.value,s=u.mode,{actived:n,focused:c}=n;let{row:g,column:w}=l;var v=w.editRender,f=l.cell||p.getCellElement(g,w),x=u.beforeEditMethod||u.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(v)&&!p.isPendingByRow(g)&&!p.isAggregateRecord(g)){if(n.row!==g||"cell"===s&&n.column!==w){let t="edit-disabled";if(!x||x(Object.assign(Object.assign({},l),{$table:p,$grid:i}))){a&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),p.closeTooltip(),n.column&&A(r),t="edit-activated",w.renderHeight=f.offsetHeight,n.args=l,n.row=g,n.column=w,"row"===s?d.forEach(e=>b(g,e)):b(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{o&&p.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:p,$grid:i}))})}p.dispatchEvent(t,{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r),"edit-activated"===t&&p.dispatchEvent("edit-actived",{row:g,rowIndex:p.getRowIndex(g),$rowIndex:p.getVMRowIndex(g),column:w,columnIndex:p.getColumnIndex(w),$columnIndex:p.getVMColumnIndex(w)},r)}else{t=n.column;a&&(p.clearSelected(),p.clearCellAreas)&&(p.clearCellAreas(),p.clearCopyCellArea()),t!==w&&(v=t.model,v.update&&(0,_util.setCellValue)(g,t,v.value),p.clearValidate)&&p.clearValidate(g,w),w.renderHeight=f.offsetHeight,n.args=l,n.column=w,e&&setTimeout(()=>{p.handleFocus(l,r)})}c.column=null,c.row=null,p.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?p.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)&&!p.isAggregateRecord(t)?Promise.resolve(l?p.scrollToRow(t,o):null).then(()=>{var e=p.getCellElement(t,o);return e&&(a({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 E={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:i,afterFullData:a,mergeBodyList:n,tableFullData:d,pendingRowMaps:u,insertRowMaps:s,removeRowMaps:c}=_;var g=m.value,w=I.value;let{transform:v,mapChildrenField:f}=w,x=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);i[e]&&delete i[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:f}),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:x})),l=(l&&l.items.splice(l.index,1),p.findRowIndexOf(a,e));-1<l&&a.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(a,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)}),a.splice(r,1))}),w.row&&-1<p.findRowIndexOf(e,w.row)&&E.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 E.remove(p.getCheckboxRecords()).then(e=>(p.clearCheckboxRow(),e))},removeRadioRow(){var e=p.getRadioRecord();return E.remove(e||[]).then(e=>(p.clearRadioRow(),e))},removeCurrentRow(){var e=p.getCurrentRecord();return E.remove(e||[]).then(e=>(p.clearCurrentRow(),e))},getRecordset(){var e=E.getRemoveRecords(),t=p.getPendingRecords();let l=e.concat(t);var r=E.getUpdateRecords().filter(t=>!l.some(e=>p.eqRow(e,t)));return{insertRecords:E.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=I.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 A(null,e)},clearSelected(){var e=C.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return(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"]),E.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"]),E.setEditCell(e,t)},setEditCell(e,t){return w(e,t,!0)},setSelectCell(e,t){var l=C.tableData,r=h.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 a(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=h.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?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():s.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&p.scrollToRow(o,i)}},handleSelected(e,t){var l=R.mouseConfig,r=C.editStore,o=c.value;let i=h.value,{actived:a,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(a.row!==d||"cell"===i.mode&&a.column!==u)&&(A(t),p.clearSelected(),p.clearCellAreas&&(p.clearCellAreas(),p.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),p.focus(),t)&&p.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=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({},E),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -381,7 +381,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
381
381
|
if (!fixedHiddenColumn && editConfig && (editRender || cellRender) && (editOpts.showStatus || editOpts.showUpdateStatus)) {
|
|
382
382
|
isDirty = $xeTable.isUpdateByRow(row, column.field);
|
|
383
383
|
}
|
|
384
|
-
const isVNAutoHeight =
|
|
384
|
+
const isVNAutoHeight = !hasEllipsis && (scrollYLoad || scrollXLoad);
|
|
385
385
|
let cellHeight = (0, _util.getCellRestHeight)(rowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
386
386
|
const isLastColumn = $columnIndex === columns.length - 1;
|
|
387
387
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
@@ -417,7 +417,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
417
417
|
}
|
|
418
418
|
tcStyle.width = `${column.renderWidth + mergeColWidth - cellOffsetWidth}px`;
|
|
419
419
|
}
|
|
420
|
-
if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
|
|
420
|
+
if (scrollYLoad || scrollXLoad || hasEllipsis || isCsHeight || isRsHeight) {
|
|
421
421
|
tcStyle.height = `${cellHeight}px`;
|
|
422
422
|
} else {
|
|
423
423
|
tcStyle.minHeight = `${cellHeight}px`;
|
|
@@ -595,14 +595,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
595
595
|
};
|
|
596
596
|
}
|
|
597
597
|
if (rowRest) {
|
|
598
|
+
rowIndex = rowRest.index;
|
|
599
|
+
_rowIndex = rowRest._index;
|
|
598
600
|
rowLevel = rowRest.level;
|
|
601
|
+
seq = rowRest.seq;
|
|
599
602
|
if (hasRowGroupAggregate || treeConfig && transform && seqMode === 'increasing') {
|
|
600
603
|
seq = rowRest._index + 1;
|
|
601
|
-
} else {
|
|
602
|
-
seq = rowRest.
|
|
604
|
+
} else if (treeConfig && seqMode === 'fixed') {
|
|
605
|
+
seq = rowRest._tIndex + 1;
|
|
603
606
|
}
|
|
604
|
-
rowIndex = rowRest.index;
|
|
605
|
-
_rowIndex = rowRest._index;
|
|
606
607
|
}
|
|
607
608
|
const params = {
|
|
608
609
|
$table: $xeTable,
|
|
@@ -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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(I){let Xe=(0,_vue.inject)("$xeTable",{}),{xID:S,props:Ke,context:M,reactData:Ye,internalData:Je}=Xe,{computeEditOpts:Qe,computeMouseOpts:Ze,computeCellOffsetWidth:el,computeAreaOpts:ll,computeDefaultRowHeight:tl,computeEmptyOpts:T,computeTooltipOpts:al,computeRadioOpts:e,computeExpandOpts:te,computeTreeOpts:c,computeCheckboxOpts:rl,computeCellOpts:ol,computeValidOpts:il,computeRowOpts:sl,computeColumnOpts:nl,computeRowDragOpts:dl,computeResizableOpts:ul,computeVirtualXOpts:cl,computeVirtualYOpts:pl}=Xe.getComputeMaps(),k=(0,_vue.ref)(),z=(0,_vue.ref)(),$=(0,_vue.ref)(),q=(0,_vue.ref)(),A=(0,_vue.ref)(),H=(0,_vue.ref)(),F=(0,_vue.ref)(),j=(0,_vue.ref)(),vl=()=>{var e=Ke.delayHover,{lastScrollTime:l,isDragResize:t}=Ye;return!!(t||l&&Date.now()<l+e)},gl=(e,l,t)=>{var a=l.column,r=Je.afterFullData,o=Ke.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=Je.fullAllDataRowIdData;if(a&&a.line)return Xe.callSlot(a.line,l);a=n[e];let d=0,u=null;return a&&(d=a.level,u=a.items[a.treeIndex-1]),o&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${(0,_util.getRowid)(Xe,r[0])===e?1:(0,_util.calcTreeLine)(l,u)}px`,bottom:`-${Math.floor(t/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(Xe):0)+16+"px"}})])]:[]},re=(e,l,t,A,H,a,F,j,r,o,L,N,U)=>{var i=Xe.xeGrid,{columnKey:B,resizable:s,showOverflow:n,border:W,height:d,treeConfig:V,cellClassName:G,cellStyle:P,align:u,spanMethod:X,mouseConfig:K,editConfig:Y,editRules:c,tooltipConfig:p,padding:v}=Ke,{tableData:g,dragRow:J,overflowX:Q,currentColumn:Z,scrollXLoad:ee,scrollYLoad:le,mergeBodyFlag:te,calcCellHeightFlag:x,resizeHeightFlag:h,resizeWidthFlag:ae,editStore:re,isAllOverflow:oe,validErrorMaps:ie}=Ye,{fullAllDataRowIdData:se,fullColumnIdData:m,mergeBodyCellMaps:ne,visibleColumn:de,afterFullData:ue,mergeBodyList:ce,scrollXStore:pe,scrollYStore:ve}=Je,w=ol.value,_=il.value,f=rl.value,ge=Qe.value,b=al.value,xe=ul.value,he=cl.value,me=pl.value,{isAllColumnDrag:xe,isAllRowDrag:we}=xe,y=sl.value,C=dl.value,_e=tl.value,x=x?w.height||y.height:0,{disabledMethod:E,isCrossDrag:fe,isPeerDrag:be}=C,ye=nl.value,Ce=Ze.value,Ee=ll.value,Re=el.value,Ee=Ee.selectCellToRow,{type:De,cellRender:Oe,editRender:Ie,align:Se,showOverflow:R,className:Me,treeNode:Te,rowResize:ke,padding:D,verticalAlign:O,slots:ze}=o,$e=w.verticalAlign,re=re.actived,qe=se[l]||{},I=o.id,m=m[I]||{},S=Ie||Oe,S=S?renderer.get(S.name):null,Ae=S?S.tableCellClassName||S.cellClassName:null,He=S?S.tableCellStyle||S.cellStyle:"";let Fe=b.showAll;var je=m.index,b=m._index,m=(0,_utils.isEnableConf)(Ie),h=h?qe.resizeHeight:0;let M=Q&&(t?o.fixed!==t:!!o.fixed);v=_xeUtils.default.eqNull(D)?null===v?w.padding:v:D,D=_xeUtils.default.eqNull(R)?n:R,n="ellipsis"===D;let T="title"===D,k=!0===D||"tooltip"===D;R=oe||T||k||n,D=_xeUtils.default.isBoolean(o.resizable)?o.resizable:ye.resizable||s,s=!!x,x=0<h;let Le;h={},Se=Se||(S?S.tableCellAlign:"")||u,S=_xeUtils.default.eqNull(O)?$e:O,u=ie[l+":"+I],$e=c&&_.showMessage&&("default"===_.message?d||1<g.length:"inline"===_.message),O={colid:I};let z={$table:Xe,$grid:i,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:F,$rowIndex:j,_rowIndex:r,column:o,columnIndex:je,$columnIndex:L,_columnIndex:b,fixed:t,type:renderType,isHidden:!!M,level:H,visibleData:ue,data:g,items:U},$=!1,Ne=!1,q=(($=y.drag?"row"===C.trigger||o.dragSort&&"cell"===C.trigger:$)&&(Ne=!(!E||!E(z))),(T||k||Fe||p)&&(h.onMouseenter=e=>{vl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(k||Fe)&&Xe.triggerBodyTooltipEvent(e,z),Xe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},z),e))}),(k||Fe||p)&&(h.onMouseleave=e=>{vl()||((k||Fe)&&Xe.handleTargetLeaveEvent(e),Xe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},z),e))}),($||f.range||K)&&(h.onMousedown=e=>{Xe.triggerCellMousedownEvent(e,z)}),$&&(h.onMouseup=Xe.triggerCellMouseupEvent),h.onClick=e=>{Xe.triggerCellClickEvent(e,z)},!(h.onDblclick=e=>{Xe.triggerCellDblclickEvent(e,z)})),Ue=1,Be=1;if(te&&ce.length){ie=ne[r+":"+b];if(ie){var{rowspan:c,colspan:d}=ie;if(!c||!d)return renderEmptyElement(Xe);1<c&&(q=!0,Be=c,O.rowspan=c),1<d&&(q=!0,Ue=d,O.colspan=d)}}else if(X){var{rowspan:i=1,colspan:e=1}=X(z)||{};if(!i||!e)return renderEmptyElement(Xe);1<i&&(q=!0,Be=i,O.rowspan=i),1<e&&(q=!0,Ue=e,O.colspan=e)}!(M=M&&q&&(1<O.colspan||1<O.rowspan)?!1:M)&&Y&&(Ie||Oe)&&(ge.showStatus||ge.showUpdateStatus)&&(Le=Xe.isUpdateByRow(a,o.field));F=le&&!R;let We=(0,_util.getCellRestHeight)(qe,w,y,_e);j=L===N.length-1,g=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let Ve=!1;!Q||q||J&&(0,_util.getRowid)(Xe,J)===l||(le&&!V&&!me.immediate&&(r<ve.visibleStartIndex-ve.preloadSize||r>ve.visibleEndIndex+ve.preloadSize)||ee&&!he.immediate&&!o.fixed&&(b<pe.visibleStartIndex-pe.preloadSize||b>pe.visibleEndIndex+pe.preloadSize))&&(Ve=!0),1<Be&&(U=ue[r+Be-1])&&(C=se[(0,_util.getRowid)(Xe,U)])&&(We+=C.oTop+(0,_util.getCellRestHeight)(C,w,y,_e)-qe.oTop-(0,_util.getCellRestHeight)(qe,w,y,_e));E={};if(R&&ae){let l=0;if(1<Ue)for(let e=1;e<Ue;e++){var Ge=de[je+e];Ge&&(l+=Ge.renderWidth)}E.width=o.renderWidth+l-Re+"px"}le||R||s||x?E.height=We+"px":E.minHeight=We+"px";p=[];M&&oe?p.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":n}],style:E})):(V&&p.push(...gl(l,z,We)),p.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":n}],style:E,title:T?Xe.getCellLabel(a,o):null},Ve?[]:[(0,_vue.h)("div",{colid:I,rowid:l,class:"vxe-cell--wrapper vxe-body-cell--wrapper"},o.renderCell(z))])),$e&&u&&(f=u.rule,te=ze?ze.valid:null,ce=Object.assign(Object.assign(Object.assign({},z),u),{rule:u}),p.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(_.className,ce)],style:f&&f.maxWidth?{width:f.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(_.theme||"normal")},[te?Xe.callSlot(te,ce):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},u.content)]])]))));let Pe=!1;return K&&Ce.area&&!b&&Ee&&(Pe=!0),!M&&D&&xe&&p.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],onMousedown:e=>Xe.handleColResizeMousedownEvent(e,t,z),onDblclick:e=>Xe.handleColResizeDblclickEvent(e,z)})),(ke||we)&&y.resizable&&p.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Xe.handleRowResizeMousedownEvent(e,z),onDblclick:e=>Xe.handleRowResizeDblclickEvent(e,z)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-body--column",I,S?"col--vertical-"+S:"",Se?"col--"+Se:"",De?"col--"+De:"",{"col--last":j,"col--tree-node":Te,"col--edit":m,"col--ellipsis":R,"col--cs-height":s,"col--rs-height":x,"col--to-row":Pe,"col--auto-height":F,"fixed--width":!g,"fixed--hidden":M,"is--padding":v,"is--progress":M&&oe||Ve,"is--drag-cell":$&&(fe||be||!H),"is--drag-disabled":Ne,"col--dirty":Le,"col--active":Y&&m&&re.row===a&&(re.column===o||"row"===ge.mode),"col--valid-error":!!u,"col--current":Z===o},(0,_dom.getPropClass)(Ae,z),(0,_dom.getPropClass)(Me,z),(0,_dom.getPropClass)(G,z)],key:B||ee||le||ye.useKey||y.useKey||ye.drag?I:L},O),{style:Object.assign({},_xeUtils.default.isFunction(He)?He(z):He,_xeUtils.default.isFunction(P)?P(z):P)}),h),A&&M?[]:p)},ae=(h,m,w,_)=>{let f=Xe.xeGrid,{stripe:b,rowKey:y,highlightHoverRow:C,rowClassName:E,rowStyle:R,editConfig:D,treeConfig:O}=Ke,{hasFixedColumn:I,treeExpandedFlag:S,scrollXLoad:M,scrollYLoad:T,isAllOverflow:k,rowExpandedFlag:z,expandColumn:$,selectRadioRow:q,pendingRowFlag:A,rowExpandHeightFlag:H,isRowGroupStatus:F}=Ye,{fullAllDataRowIdData:j,fullColumnIdData:L,treeExpandedMaps:N,pendingRowMaps:U,rowExpandedMaps:B}=Je,W=rl.value,V=e.value,G=c.value,P=Qe.value,X=sl.value,K=nl.value,{transform:Y,seqMode:Q}=G,Z=G.children||G.childrenField,J=[],ee=(0,_util.createHandleGetRowId)(Xe).handleGetRowId,le=O||F;return w.forEach((a,r)=>{let o=ee(a);var i=j[o]||{};let s=r,n=0,d=-1,u=-1;var c=F&&a.isAggregate,p={},v=((X.isHover||C)&&(p.onMouseenter=e=>{vl()||Xe.triggerHoverEvent(e,{row:a,rowIndex:s})},p.onMouseleave=()=>{vl()||Xe.clearHoverRow()}),i&&(n=i.level,d=c||O&&Y&&"increasing"===Q?i._index+1:i.seq,s=i.index,u=i._index),{$table:Xe,seq:d,rowid:o,fixed:h,type:renderType,level:n,row:a,rowIndex:s,$rowIndex:r,_rowIndex:u}),g=$&&!!z&&!!B[o];let e=!1,l=[],t=!1;D&&(t=Xe.isInsertByRow(a)),!O||T||Y||(l=a[Z],e=!!S&&l&&0<l.length&&!!N[o]),!X.drag||F||O&&!Y||(p.onDragstart=Xe.handleRowDragDragstartEvent,p.onDragend=Xe.handleRowDragDragendEvent,p.onDragover=Xe.handleRowDragDragoverEvent);var c=["vxe-body--row",le?"row--level-"+n:"",{"row--stripe":b&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(P.showStatus||P.showInsertStatus),"row--radio":V.highlight&&Xe.eqRow(q,a),"row--checked":W.highlight&&Xe.isCheckedByCheckboxRow(a),"row--pending":!!A&&!!U[o],"row--group":c},(0,_dom.getPropClass)(E,v)],x=_.map((e,l)=>re(d,o,h,m,n,a,s,r,u,e,l,_,w));if(J.push((0,_vue.h)("tr",Object.assign({class:c,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(v):R:null,key:y||M||T||X.useKey||X.drag||K.drag||F||O?o:r},p),x)),g){var{height:c,padding:v,mode:p}=te.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+o,rowid:o},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${H?i.expandHeight||c:0}px`}})]));else{x={},g=(c&&(x.height=c+"px"),O&&(x.paddingLeft=n*G.indent+30+"px"),$||{}).showOverflow,p=$.id,i=L[p]||{},p=_xeUtils.default.eqNull(g)?k:g;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);g={$grid:f,$table:Xe,seq:d,column:$,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:n,row:a,rowid:o,rowIndex:s,$rowIndex:r,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+o},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!I,"col--ellipsis":p}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:x},[$.renderData(g)])])]))}}e&&J.push(...ae(h,m,l,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=I.fixedType,l=Je.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=k,l[e+"scroll"]=z,l[e+"table"]=$,l[e+"colgroup"]=q,l[e+"list"]=A,l[e+"xSpace"]=H,l[e+"ySpace"]=F,l[e+"emptyBlock"]=j})}),(0,_vue.onUnmounted)(()=>{var e=I.fixedType,l=Je.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=M.slots,l=Xe.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:r}=I;var{spanMethod:o,footerSpanMethod:i,mouseConfig:s}=Ke,{isGroup:n,tableData:d,isColLoading:u,overflowX:c,scrollXLoad:p,scrollYLoad:v,isAllOverflow:g,expandColumn:x,dragRow:h,dragCol:m}=Ye,{visibleColumn:w,fullAllDataRowIdData:_,fullColumnIdData:f}=Je,b=T.value,y=Ze.value,C=te.value;let E=d,R=r,D=!1;!(p||v||g)||x&&"fixed"!==C.mode||o||i||(D=!0),u||!a&&c||(R=w),a&&D&&(R=t||[]),v&&h&&2<E.length&&(d=_[(0,_util.getRowid)(Xe,h)])&&(g=d._index,x=E[0],C=E[E.length-1],o=_[(0,_util.getRowid)(Xe,x)],i=_[(0,_util.getRowid)(Xe,C)],o)&&i&&(u=o._index,c=i._index,g<u?E=[h].concat(E):c<g&&(E=E.concat([h]))),a||n||p&&m&&2<R.length&&(w=f[m.id])&&(v=w._index,d=R[0],x=R[R.length-1],_=f[d.id],C=f[x.id],_)&&C&&(o=_._index,i=C._index,v<o?R=[m].concat(R):i<v&&(R=R.concat([m])));let O;u=e?e.empty:null,c={$table:Xe,$grid:l},O=u?Xe.callSlot(u,c):(h=(g=b.name?renderer.get(b.name):null)?g.renderTableEmpty||g.renderTableEmptyView||g.renderEmpty:null)?(0,_vn.getSlotVNs)(h(b,c)):Ke.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){Xe.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:k,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:S},[(0,_vue.h)("div",Object.assign({ref:z,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(Xe):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:F,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:$,class:"vxe-table--body",xid:S,cellspacing:0,cellpadding:0,border:0,xvm:D?"1":null},[(0,_vue.h)("colgroup",{ref:q},R.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("tbody",{ref:A},ae(a,D,E,R))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&y.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},y.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Xe.triggerCellAreaExtendMousedownEvent&&Xe.triggerCellAreaExtendMousedownEvent(e,{$table:Xe,fixed:a,type:renderType})}})]:[]),(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-row-status-area"})]):renderEmptyElement(Xe),a?renderEmptyElement(Xe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:j},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},O)])])])}}});
|
|
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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(O){let Xe=(0,_vue.inject)("$xeTable",{}),{xID:S,props:Ke,context:M,reactData:Ye,internalData:Je}=Xe,{computeEditOpts:Qe,computeMouseOpts:Ze,computeCellOffsetWidth:el,computeAreaOpts:ll,computeDefaultRowHeight:tl,computeEmptyOpts:T,computeTooltipOpts:al,computeRadioOpts:e,computeExpandOpts:te,computeTreeOpts:c,computeCheckboxOpts:rl,computeCellOpts:ol,computeValidOpts:il,computeRowOpts:sl,computeColumnOpts:nl,computeRowDragOpts:dl,computeResizableOpts:ul,computeVirtualXOpts:cl,computeVirtualYOpts:pl}=Xe.getComputeMaps(),k=(0,_vue.ref)(),z=(0,_vue.ref)(),$=(0,_vue.ref)(),q=(0,_vue.ref)(),A=(0,_vue.ref)(),H=(0,_vue.ref)(),F=(0,_vue.ref)(),j=(0,_vue.ref)(),vl=()=>{var e=Ke.delayHover,{lastScrollTime:l,isDragResize:t}=Ye;return!!(t||l&&Date.now()<l+e)},gl=(e,l,t)=>{var a=l.column,r=Je.afterFullData,o=Ke.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=Je.fullAllDataRowIdData;if(a&&a.line)return Xe.callSlot(a.line,l);a=n[e];let d=0,u=null;return a&&(d=a.level,u=a.items[a.treeIndex-1]),o&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${(0,_util.getRowid)(Xe,r[0])===e?1:(0,_util.calcTreeLine)(l,u)}px`,bottom:`-${Math.floor(t/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(Xe):0)+16+"px"}})])]:[]},re=(e,l,t,A,H,a,F,j,r,o,L,N,U)=>{var i=Xe.xeGrid,{columnKey:B,resizable:s,showOverflow:n,border:W,height:d,treeConfig:V,cellClassName:G,cellStyle:P,align:u,spanMethod:X,mouseConfig:K,editConfig:Y,editRules:c,tooltipConfig:p,padding:v}=Ke,{tableData:g,dragRow:J,overflowX:Q,currentColumn:Z,scrollXLoad:ee,scrollYLoad:le,mergeBodyFlag:te,calcCellHeightFlag:x,resizeHeightFlag:h,resizeWidthFlag:ae,editStore:re,isAllOverflow:oe,validErrorMaps:ie}=Ye,{fullAllDataRowIdData:se,fullColumnIdData:m,mergeBodyCellMaps:ne,visibleColumn:de,afterFullData:ue,mergeBodyList:ce,scrollXStore:pe,scrollYStore:ve}=Je,w=ol.value,_=il.value,f=rl.value,ge=Qe.value,b=al.value,xe=ul.value,he=cl.value,me=pl.value,{isAllColumnDrag:xe,isAllRowDrag:we}=xe,y=sl.value,C=dl.value,_e=tl.value,x=x?w.height||y.height:0,{disabledMethod:E,isCrossDrag:fe,isPeerDrag:be}=C,ye=nl.value,Ce=Ze.value,Ee=ll.value,Re=el.value,Ee=Ee.selectCellToRow,{type:De,cellRender:Ie,editRender:Oe,align:Se,showOverflow:R,className:Me,treeNode:Te,rowResize:ke,padding:D,verticalAlign:I,slots:ze}=o,$e=w.verticalAlign,re=re.actived,qe=se[l]||{},O=o.id,m=m[O]||{},S=Oe||Ie,S=S?renderer.get(S.name):null,Ae=S?S.tableCellClassName||S.cellClassName:null,He=S?S.tableCellStyle||S.cellStyle:"";let Fe=b.showAll;var je=m.index,b=m._index,m=(0,_utils.isEnableConf)(Oe),h=h?qe.resizeHeight:0;let M=Q&&(t?o.fixed!==t:!!o.fixed);v=_xeUtils.default.eqNull(D)?null===v?w.padding:v:D,D=_xeUtils.default.eqNull(R)?n:R,n="ellipsis"===D;let T="title"===D,k=!0===D||"tooltip"===D;R=oe||T||k||n,D=_xeUtils.default.isBoolean(o.resizable)?o.resizable:ye.resizable||s,s=!!x,x=0<h;let Le;h={},Se=Se||(S?S.tableCellAlign:"")||u,S=_xeUtils.default.eqNull(I)?$e:I,u=ie[l+":"+O],$e=c&&_.showMessage&&("default"===_.message?d||1<g.length:"inline"===_.message),I={colid:O};let z={$table:Xe,$grid:i,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:F,$rowIndex:j,_rowIndex:r,column:o,columnIndex:je,$columnIndex:L,_columnIndex:b,fixed:t,type:renderType,isHidden:!!M,level:H,visibleData:ue,data:g,items:U},$=!1,Ne=!1,q=(($=y.drag?"row"===C.trigger||o.dragSort&&"cell"===C.trigger:$)&&(Ne=!(!E||!E(z))),(T||k||Fe||p)&&(h.onMouseenter=e=>{vl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(k||Fe)&&Xe.triggerBodyTooltipEvent(e,z),Xe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},z),e))}),(k||Fe||p)&&(h.onMouseleave=e=>{vl()||((k||Fe)&&Xe.handleTargetLeaveEvent(e),Xe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},z),e))}),($||f.range||K)&&(h.onMousedown=e=>{Xe.triggerCellMousedownEvent(e,z)}),$&&(h.onMouseup=Xe.triggerCellMouseupEvent),h.onClick=e=>{Xe.triggerCellClickEvent(e,z)},!(h.onDblclick=e=>{Xe.triggerCellDblclickEvent(e,z)})),Ue=1,Be=1;if(te&&ce.length){ie=ne[r+":"+b];if(ie){var{rowspan:c,colspan:d}=ie;if(!c||!d)return renderEmptyElement(Xe);1<c&&(q=!0,Be=c,I.rowspan=c),1<d&&(q=!0,Ue=d,I.colspan=d)}}else if(X){var{rowspan:i=1,colspan:e=1}=X(z)||{};if(!i||!e)return renderEmptyElement(Xe);1<i&&(q=!0,Be=i,I.rowspan=i),1<e&&(q=!0,Ue=e,I.colspan=e)}!(M=M&&q&&(1<I.colspan||1<I.rowspan)?!1:M)&&Y&&(Oe||Ie)&&(ge.showStatus||ge.showUpdateStatus)&&(Le=Xe.isUpdateByRow(a,o.field));F=!R&&(le||ee);let We=(0,_util.getCellRestHeight)(qe,w,y,_e);j=L===N.length-1,g=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let Ve=!1;!Q||q||J&&(0,_util.getRowid)(Xe,J)===l||(le&&!V&&!me.immediate&&(r<ve.visibleStartIndex-ve.preloadSize||r>ve.visibleEndIndex+ve.preloadSize)||ee&&!he.immediate&&!o.fixed&&(b<pe.visibleStartIndex-pe.preloadSize||b>pe.visibleEndIndex+pe.preloadSize))&&(Ve=!0),1<Be&&(U=ue[r+Be-1])&&(C=se[(0,_util.getRowid)(Xe,U)])&&(We+=C.oTop+(0,_util.getCellRestHeight)(C,w,y,_e)-qe.oTop-(0,_util.getCellRestHeight)(qe,w,y,_e));E={};if(R&&ae){let l=0;if(1<Ue)for(let e=1;e<Ue;e++){var Ge=de[je+e];Ge&&(l+=Ge.renderWidth)}E.width=o.renderWidth+l-Re+"px"}le||ee||R||s||x?E.height=We+"px":E.minHeight=We+"px";p=[];M&&oe?p.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":n}],style:E})):(V&&p.push(...gl(l,z,We)),p.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":n}],style:E,title:T?Xe.getCellLabel(a,o):null},Ve?[]:[(0,_vue.h)("div",{colid:O,rowid:l,class:"vxe-cell--wrapper vxe-body-cell--wrapper"},o.renderCell(z))])),$e&&u&&(f=u.rule,te=ze?ze.valid:null,ce=Object.assign(Object.assign(Object.assign({},z),u),{rule:u}),p.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(_.className,ce)],style:f&&f.maxWidth?{width:f.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(_.theme||"normal")},[te?Xe.callSlot(te,ce):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},u.content)]])]))));let Pe=!1;return K&&Ce.area&&!b&&Ee&&(Pe=!0),!M&&D&&xe&&p.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],onMousedown:e=>Xe.handleColResizeMousedownEvent(e,t,z),onDblclick:e=>Xe.handleColResizeDblclickEvent(e,z)})),(ke||we)&&y.resizable&&p.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Xe.handleRowResizeMousedownEvent(e,z),onDblclick:e=>Xe.handleRowResizeDblclickEvent(e,z)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-body--column",O,S?"col--vertical-"+S:"",Se?"col--"+Se:"",De?"col--"+De:"",{"col--last":j,"col--tree-node":Te,"col--edit":m,"col--ellipsis":R,"col--cs-height":s,"col--rs-height":x,"col--to-row":Pe,"col--auto-height":F,"fixed--width":!g,"fixed--hidden":M,"is--padding":v,"is--progress":M&&oe||Ve,"is--drag-cell":$&&(fe||be||!H),"is--drag-disabled":Ne,"col--dirty":Le,"col--active":Y&&m&&re.row===a&&(re.column===o||"row"===ge.mode),"col--valid-error":!!u,"col--current":Z===o},(0,_dom.getPropClass)(Ae,z),(0,_dom.getPropClass)(Me,z),(0,_dom.getPropClass)(G,z)],key:B||ee||le||ye.useKey||y.useKey||ye.drag?O:L},I),{style:Object.assign({},_xeUtils.default.isFunction(He)?He(z):He,_xeUtils.default.isFunction(P)?P(z):P)}),h),A&&M?[]:p)},ae=(h,m,w,_)=>{let f=Xe.xeGrid,{stripe:b,rowKey:y,highlightHoverRow:C,rowClassName:E,rowStyle:R,editConfig:D,treeConfig:I}=Ke,{hasFixedColumn:O,treeExpandedFlag:S,scrollXLoad:M,scrollYLoad:T,isAllOverflow:k,rowExpandedFlag:z,expandColumn:$,selectRadioRow:q,pendingRowFlag:A,rowExpandHeightFlag:H,isRowGroupStatus:F}=Ye,{fullAllDataRowIdData:j,fullColumnIdData:L,treeExpandedMaps:N,pendingRowMaps:U,rowExpandedMaps:B}=Je,W=rl.value,V=e.value,G=c.value,P=Qe.value,X=sl.value,Q=nl.value,{transform:K,seqMode:Y}=G,Z=G.children||G.childrenField,J=[],ee=(0,_util.createHandleGetRowId)(Xe).handleGetRowId,le=I||F;return w.forEach((a,r)=>{let o=ee(a);var i=j[o]||{};let s=r,n=0,d=-1,u=-1;var c=F&&a.isAggregate,p={},v=((X.isHover||C)&&(p.onMouseenter=e=>{vl()||Xe.triggerHoverEvent(e,{row:a,rowIndex:s})},p.onMouseleave=()=>{vl()||Xe.clearHoverRow()}),i&&(s=i.index,u=i._index,n=i.level,d=i.seq,c||I&&K&&"increasing"===Y?d=i._index+1:I&&"fixed"===Y&&(d=i._tIndex+1)),{$table:Xe,seq:d,rowid:o,fixed:h,type:renderType,level:n,row:a,rowIndex:s,$rowIndex:r,_rowIndex:u}),g=$&&!!z&&!!B[o];let e=!1,l=[],t=!1;D&&(t=Xe.isInsertByRow(a)),!I||T||K||(l=a[Z],e=!!S&&l&&0<l.length&&!!N[o]),!X.drag||F||I&&!K||(p.onDragstart=Xe.handleRowDragDragstartEvent,p.onDragend=Xe.handleRowDragDragendEvent,p.onDragover=Xe.handleRowDragDragoverEvent);var c=["vxe-body--row",le?"row--level-"+n:"",{"row--stripe":b&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(P.showStatus||P.showInsertStatus),"row--radio":V.highlight&&Xe.eqRow(q,a),"row--checked":W.highlight&&Xe.isCheckedByCheckboxRow(a),"row--pending":!!A&&!!U[o],"row--group":c},(0,_dom.getPropClass)(E,v)],x=_.map((e,l)=>re(d,o,h,m,n,a,s,r,u,e,l,_,w));if(J.push((0,_vue.h)("tr",Object.assign({class:c,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(v):R:null,key:y||M||T||X.useKey||X.drag||Q.drag||F||I?o:r},p),x)),g){var{height:c,padding:v,mode:p}=te.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+o,rowid:o},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${H?i.expandHeight||c:0}px`}})]));else{x={},g=(c&&(x.height=c+"px"),I&&(x.paddingLeft=n*G.indent+30+"px"),$||{}).showOverflow,p=$.id,i=L[p]||{},p=_xeUtils.default.eqNull(g)?k:g;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);g={$grid:f,$table:Xe,seq:d,column:$,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:n,row:a,rowid:o,rowIndex:s,$rowIndex:r,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+o},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!O,"col--ellipsis":p}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:x},[$.renderData(g)])])]))}}e&&J.push(...ae(h,m,l,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=O.fixedType,l=Je.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=k,l[e+"scroll"]=z,l[e+"table"]=$,l[e+"colgroup"]=q,l[e+"list"]=A,l[e+"xSpace"]=H,l[e+"ySpace"]=F,l[e+"emptyBlock"]=j})}),(0,_vue.onUnmounted)(()=>{var e=O.fixedType,l=Je.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=M.slots,l=Xe.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:r}=O;var{spanMethod:o,footerSpanMethod:i,mouseConfig:s}=Ke,{isGroup:n,tableData:d,isColLoading:u,overflowX:c,scrollXLoad:p,scrollYLoad:v,isAllOverflow:g,expandColumn:x,dragRow:h,dragCol:m}=Ye,{visibleColumn:w,fullAllDataRowIdData:_,fullColumnIdData:f}=Je,b=T.value,y=Ze.value,C=te.value;let E=d,R=r,D=!1;!(p||v||g)||x&&"fixed"!==C.mode||o||i||(D=!0),u||!a&&c||(R=w),a&&D&&(R=t||[]),v&&h&&2<E.length&&(d=_[(0,_util.getRowid)(Xe,h)])&&(g=d._index,x=E[0],C=E[E.length-1],o=_[(0,_util.getRowid)(Xe,x)],i=_[(0,_util.getRowid)(Xe,C)],o)&&i&&(u=o._index,c=i._index,g<u?E=[h].concat(E):c<g&&(E=E.concat([h]))),a||n||p&&m&&2<R.length&&(w=f[m.id])&&(v=w._index,d=R[0],x=R[R.length-1],_=f[d.id],C=f[x.id],_)&&C&&(o=_._index,i=C._index,v<o?R=[m].concat(R):i<v&&(R=R.concat([m])));let I;u=e?e.empty:null,c={$table:Xe,$grid:l},I=u?Xe.callSlot(u,c):(h=(g=b.name?renderer.get(b.name):null)?g.renderTableEmpty||g.renderTableEmptyView||g.renderEmpty:null)?(0,_vn.getSlotVNs)(h(b,c)):Ke.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){Xe.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:k,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:S},[(0,_vue.h)("div",Object.assign({ref:z,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(Xe):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:F,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:$,class:"vxe-table--body",xid:S,cellspacing:0,cellpadding:0,border:0,xvm:D?"1":null},[(0,_vue.h)("colgroup",{ref:q},R.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("tbody",{ref:A},ae(a,D,E,R))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&y.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},y.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Xe.triggerCellAreaExtendMousedownEvent&&Xe.triggerCellAreaExtendMousedownEvent(e,{$table:Xe,fixed:a,type:renderType})}})]:[]),(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-row-status-area"})]):renderEmptyElement(Xe),a?renderEmptyElement(Xe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:j},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});
|
|
@@ -133,9 +133,11 @@ class ColumnInfo {
|
|
|
133
133
|
parentId: null,
|
|
134
134
|
visible,
|
|
135
135
|
// 内部属性(一旦被使用,将导致不可升级版本)
|
|
136
|
+
defaultParentId: null,
|
|
136
137
|
halfVisible: false,
|
|
137
138
|
defaultVisible: visible,
|
|
138
139
|
defaultFixed: _vm.fixed,
|
|
140
|
+
defaultAggGroup: _vm.aggGroup,
|
|
139
141
|
defaultAggFunc: _vm.aggFunc,
|
|
140
142
|
checked: false,
|
|
141
143
|
halfChecked: false,
|
|
@@ -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,{field:a,editRender:s}=r,u=r.formatter,f=!_xeUtils.default.isBoolean(r.visible)||r.visible,g=["seq","checkbox","radio","expand","html"];r.type&&-1===g.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,g.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&&(g=d.treeConfig,d=e.getComputeMaps().computeTreeOpts,d=d.value,g)&&(d.showLine||d.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),u&&(_xeUtils.default.isString(u)?(g=formats.get(u)||_xeUtils.default[u])&&_xeUtils.default.isFunction(g.tableCellFormatMethod||g.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[u]):!_xeUtils.default.isArray(u)||(d=formats.get(u[0])||_xeUtils.default[u[0]])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[u[0]])),r.aggFunc&&!e.handlePivotTableAggregateData&&!0!==r.aggFunc&&(0,_log.errLog)("vxe.error.errProp",["column.agg-func="+r.aggFunc,"column.agg-func=true"]),a&&s&&(s.startField&&0<=(""+s.startField).indexOf(a)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+a,"edit-render.startField="+s.startField]),s.endField)&&0<=(""+s.endField).indexOf(a)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+a,"edit-render.endField="+s.endField]),Object.assign(this,{type:r.type,property:r.field,field:a,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:u,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:s,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:f,halfVisible:!1,defaultVisible:f,defaultFixed:r.fixed,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}),n&&(g=n.getComputeMaps().computeProxyOpts,(d=g.value).beforeColumn)&&d.beforeColumn({$grid:n,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,{field:a,editRender:s}=r,u=r.formatter,f=!_xeUtils.default.isBoolean(r.visible)||r.visible,g=["seq","checkbox","radio","expand","html"];r.type&&-1===g.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,g.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&&(g=d.treeConfig,d=e.getComputeMaps().computeTreeOpts,d=d.value,g)&&(d.showLine||d.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.showLine","column.type=expand"]),u&&(_xeUtils.default.isString(u)?(g=formats.get(u)||_xeUtils.default[u])&&_xeUtils.default.isFunction(g.tableCellFormatMethod||g.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[u]):!_xeUtils.default.isArray(u)||(d=formats.get(u[0])||_xeUtils.default[u[0]])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[u[0]])),r.aggFunc&&!e.handlePivotTableAggregateData&&!0!==r.aggFunc&&(0,_log.errLog)("vxe.error.errProp",["column.agg-func="+r.aggFunc,"column.agg-func=true"]),a&&s&&(s.startField&&0<=(""+s.startField).indexOf(a)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+a,"edit-render.startField="+s.startField]),s.endField)&&0<=(""+s.endField).indexOf(a)&&(0,_log.errLog)("vxe.error.modelConflicts",["field="+a,"edit-render.endField="+s.endField]),Object.assign(this,{type:r.type,property:r.field,field:a,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:u,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:s,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:f,defaultParentId:null,halfVisible:!1,defaultVisible:f,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}),n&&(g=n.getComputeMaps().computeProxyOpts,(d=g.value).beforeColumn)&&d.beforeColumn({$grid:n,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;
|