vxe-table 3.15.34 → 3.15.36
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 +50 -17
- package/es/style.css +1 -1
- package/es/table/module/edit/mixin.js +2 -2
- package/es/table/module/validator/mixin.js +11 -2
- package/es/table/src/body.js +20 -3
- package/es/table/src/cell.js +52 -36
- package/es/table/src/column.js +2 -0
- package/es/table/src/columnInfo.js +2 -0
- package/es/table/src/methods.js +135 -76
- package/es/table/src/props.js +3 -1
- package/es/table/src/table.js +19 -6
- package/es/table/src/util.js +5 -2
- package/es/ui/index.js +4 -4
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +57 -24
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +323 -149
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +2 -2
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +14 -2
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/body.js +19 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +43 -28
- package/lib/table/src/cell.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 +2 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/methods.js +151 -74
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +3 -1
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +19 -6
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +7 -4
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +4 -4
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +56 -17
- package/packages/table/module/edit/mixin.ts +2 -2
- package/packages/table/module/validator/mixin.ts +11 -3
- package/packages/table/src/body.ts +20 -3
- package/packages/table/src/cell.ts +52 -36
- package/packages/table/src/column.ts +2 -0
- package/packages/table/src/columnInfo.ts +3 -0
- package/packages/table/src/methods.ts +143 -77
- package/packages/table/src/props.ts +3 -1
- package/packages/table/src/table.ts +20 -6
- package/packages/table/src/util.ts +6 -2
- package/packages/ui/index.ts +3 -3
- /package/es/{iconfont.1749092456241.ttf → iconfont.1749440099787.ttf} +0 -0
- /package/es/{iconfont.1749092456241.woff → iconfont.1749440099787.woff} +0 -0
- /package/es/{iconfont.1749092456241.woff2 → iconfont.1749440099787.woff2} +0 -0
- /package/lib/{iconfont.1749092456241.ttf → iconfont.1749440099787.ttf} +0 -0
- /package/lib/{iconfont.1749092456241.woff → iconfont.1749440099787.woff} +0 -0
- /package/lib/{iconfont.1749092456241.woff2 → iconfont.1749440099787.woff2} +0 -0
|
@@ -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:o,renderFooter:l,renderData:i}={}){var d=e,n=e.$xeGrid,s=n?n.proxyOpts:null,a=r.formatter,f=!_xeUtils.default.isBoolean(r.visible)||r.visible,u=["seq","checkbox","radio","expand","html"];r.type&&-1===u.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,u.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&&(u=d.treeConfig,u)&&(e.treeOpts.showLine||e.treeOpts.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.line","column.type=expand"]),r.remoteSort&&(0,_log.warnLog)("vxe.error.delProp",["column.remote-sort","sort-config.remote"]),r.sortMethod&&(0,_log.warnLog)("vxe.error.delProp",["column.sort-method","sort-config.sortMethod"]),a&&(_xeUtils.default.isString(a)?(d=formats.get(a)||_xeUtils.default[a])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[a]):!_xeUtils.default.isArray(a)||(u=formats.get(a[0])||_xeUtils.default[a[0]])&&_xeUtils.default.isFunction(u.tableCellFormatMethod||u.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[a[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,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:a,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,sortMethod:r.sortMethod,remoteSort:r.remoteSort,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:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:f,halfVisible:!1,defaultVisible:f,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:o||r.renderCell,renderFooter:l||r.renderFooter,renderData:i,slots:r.slots}),s&&s.beforeColumn&&s.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:o,renderFooter:l,renderData:i}={}){var d=e,n=e.$xeGrid,s=n?n.proxyOpts:null,a=r.formatter,f=!_xeUtils.default.isBoolean(r.visible)||r.visible,u=["seq","checkbox","radio","expand","html"];r.type&&-1===u.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,u.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&&(u=d.treeConfig,u)&&(e.treeOpts.showLine||e.treeOpts.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.line","column.type=expand"]),r.remoteSort&&(0,_log.warnLog)("vxe.error.delProp",["column.remote-sort","sort-config.remote"]),r.sortMethod&&(0,_log.warnLog)("vxe.error.delProp",["column.sort-method","sort-config.sortMethod"]),a&&(_xeUtils.default.isString(a)?(d=formats.get(a)||_xeUtils.default[a])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[a]):!_xeUtils.default.isArray(a)||(u=formats.get(a[0])||_xeUtils.default[a[0]])&&_xeUtils.default.isFunction(u.tableCellFormatMethod||u.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[a[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,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:a,footerFormatter:r.footerFormatter,padding:r.padding,verticalAlign:r.verticalAlign,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,sortMethod:r.sortMethod,remoteSort:r.remoteSort,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:r.editRender,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,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:o||r.renderCell,renderFooter:l||r.renderFooter,renderData:i,slots:r.slots}),s&&s.beforeColumn&&s.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;
|
package/lib/table/src/methods.js
CHANGED
|
@@ -520,11 +520,11 @@ function handleRowGroupBaseExpand($xeTable, rows, expanded) {
|
|
|
520
520
|
tableFullGroupData,
|
|
521
521
|
rowGroupExpandedMaps
|
|
522
522
|
} = internalData;
|
|
523
|
-
const
|
|
523
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
524
524
|
const {
|
|
525
525
|
mapChildrenField,
|
|
526
526
|
accordion
|
|
527
|
-
} =
|
|
527
|
+
} = aggregateOpts;
|
|
528
528
|
const {
|
|
529
529
|
handleGetRowId
|
|
530
530
|
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
@@ -733,7 +733,7 @@ function handleVirtualTreeToList($xeTable) {
|
|
|
733
733
|
treeExpandedMaps,
|
|
734
734
|
rowGroupExpandedMaps
|
|
735
735
|
} = internalData;
|
|
736
|
-
const
|
|
736
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
737
737
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
738
738
|
const {
|
|
739
739
|
handleGetRowId
|
|
@@ -762,7 +762,7 @@ function handleVirtualTreeToList($xeTable) {
|
|
|
762
762
|
} else if (isRowGroupStatus) {
|
|
763
763
|
const {
|
|
764
764
|
childrenField
|
|
765
|
-
} =
|
|
765
|
+
} = aggregateOpts;
|
|
766
766
|
_xeUtils.default.eachTree(internalData.afterGroupFullData, (row, index, items, path, parentRow) => {
|
|
767
767
|
const rowid = handleGetRowId(row);
|
|
768
768
|
const parentRowid = handleGetRowId(parentRow);
|
|
@@ -805,7 +805,7 @@ function updateAfterFullData($xeTable) {
|
|
|
805
805
|
} = internalData;
|
|
806
806
|
const filterOpts = $xeTable.computeFilterOpts;
|
|
807
807
|
const sortOpts = $xeTable.computeSortOpts;
|
|
808
|
-
const
|
|
808
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
809
809
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
810
810
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
811
811
|
const {
|
|
@@ -930,8 +930,8 @@ function updateAfterFullData($xeTable) {
|
|
|
930
930
|
tableTree = _xeUtils.default.searchTree(tableFullGroupData, handleFilter, {
|
|
931
931
|
original: true,
|
|
932
932
|
isEvery: true,
|
|
933
|
-
children:
|
|
934
|
-
mapChildren:
|
|
933
|
+
children: aggregateOpts.mapChildrenField,
|
|
934
|
+
mapChildren: aggregateOpts.childrenField
|
|
935
935
|
});
|
|
936
936
|
tableData = tableTree;
|
|
937
937
|
} else if (treeConfig && transform) {
|
|
@@ -953,8 +953,8 @@ function updateAfterFullData($xeTable) {
|
|
|
953
953
|
tableTree = _xeUtils.default.searchTree(tableFullGroupData, () => true, {
|
|
954
954
|
original: true,
|
|
955
955
|
isEvery: true,
|
|
956
|
-
children:
|
|
957
|
-
mapChildren:
|
|
956
|
+
children: aggregateOpts.mapChildrenField,
|
|
957
|
+
mapChildren: aggregateOpts.childrenField
|
|
958
958
|
});
|
|
959
959
|
tableData = tableTree;
|
|
960
960
|
} else if (treeConfig && transform) {
|
|
@@ -985,18 +985,18 @@ function updateAfterFullData($xeTable) {
|
|
|
985
985
|
tableTree = _xeUtils.default.isArray(sortRests) ? sortRests : tableTree;
|
|
986
986
|
} else {
|
|
987
987
|
const treeList = _xeUtils.default.toTreeArray(tableTree, {
|
|
988
|
-
key:
|
|
989
|
-
parentKey:
|
|
990
|
-
children:
|
|
988
|
+
key: aggregateOpts.rowField,
|
|
989
|
+
parentKey: aggregateOpts.parentField,
|
|
990
|
+
children: aggregateOpts.mapChildrenField
|
|
991
991
|
});
|
|
992
992
|
tableTree = _xeUtils.default.toArrayTree(_xeUtils.default.orderBy(treeList, orderColumns.map(({
|
|
993
993
|
column,
|
|
994
994
|
order
|
|
995
995
|
}) => [getOrderField($xeTable, column), order])), {
|
|
996
|
-
key:
|
|
997
|
-
parentKey:
|
|
998
|
-
children:
|
|
999
|
-
mapChildren:
|
|
996
|
+
key: aggregateOpts.rowField,
|
|
997
|
+
parentKey: aggregateOpts.parentField,
|
|
998
|
+
children: aggregateOpts.childrenField,
|
|
999
|
+
mapChildren: aggregateOpts.mapChildrenField
|
|
1000
1000
|
});
|
|
1001
1001
|
}
|
|
1002
1002
|
tableData = tableTree;
|
|
@@ -1066,8 +1066,8 @@ function updateAfterFullData($xeTable) {
|
|
|
1066
1066
|
tableTree = _xeUtils.default.searchTree(tableFullGroupData, () => true, {
|
|
1067
1067
|
original: true,
|
|
1068
1068
|
isEvery: true,
|
|
1069
|
-
children:
|
|
1070
|
-
mapChildren:
|
|
1069
|
+
children: aggregateOpts.mapChildrenField,
|
|
1070
|
+
mapChildren: aggregateOpts.childrenField
|
|
1071
1071
|
});
|
|
1072
1072
|
tableData = tableTree;
|
|
1073
1073
|
} else if (treeConfig && transform) {
|
|
@@ -1586,7 +1586,7 @@ function handleCheckedAllCheckboxRow($xeTable, checked, isForce) {
|
|
|
1586
1586
|
selectCheckboxMaps
|
|
1587
1587
|
} = internalData;
|
|
1588
1588
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
1589
|
-
const
|
|
1589
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
1590
1590
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
1591
1591
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
1592
1592
|
const {
|
|
@@ -1648,7 +1648,7 @@ function handleCheckedAllCheckboxRow($xeTable, checked, isForce) {
|
|
|
1648
1648
|
selectRowMaps[rowid] = row;
|
|
1649
1649
|
}
|
|
1650
1650
|
}, {
|
|
1651
|
-
children:
|
|
1651
|
+
children: aggregateOpts.mapChildrenField
|
|
1652
1652
|
});
|
|
1653
1653
|
} else {
|
|
1654
1654
|
/**
|
|
@@ -1665,7 +1665,7 @@ function handleCheckedAllCheckboxRow($xeTable, checked, isForce) {
|
|
|
1665
1665
|
selectRowMaps[rowid] = row;
|
|
1666
1666
|
}
|
|
1667
1667
|
}, {
|
|
1668
|
-
children:
|
|
1668
|
+
children: aggregateOpts.mapChildrenField
|
|
1669
1669
|
});
|
|
1670
1670
|
}
|
|
1671
1671
|
}
|
|
@@ -3132,17 +3132,69 @@ const handleUpdateRowGroup = ($xeTable, groupFields) => {
|
|
|
3132
3132
|
};
|
|
3133
3133
|
}) : [];
|
|
3134
3134
|
};
|
|
3135
|
+
function handleeGroupSummary($xeTable, aggList) {
|
|
3136
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
3137
|
+
const {
|
|
3138
|
+
mapChildrenField
|
|
3139
|
+
} = aggregateOpts;
|
|
3140
|
+
if (mapChildrenField) {
|
|
3141
|
+
_xeUtils.default.lastEach(aggList, aggRow => {
|
|
3142
|
+
let count = 0;
|
|
3143
|
+
_xeUtils.default.each(aggRow[mapChildrenField], row => {
|
|
3144
|
+
if (row.isAggregate) {
|
|
3145
|
+
count += row.childCount || 0;
|
|
3146
|
+
} else {
|
|
3147
|
+
count++;
|
|
3148
|
+
}
|
|
3149
|
+
});
|
|
3150
|
+
aggRow.childCount = count;
|
|
3151
|
+
});
|
|
3152
|
+
if ($xeTable.handlePivotTableAggregateData) {
|
|
3153
|
+
$xeTable.handlePivotTableAggregateData(aggList);
|
|
3154
|
+
}
|
|
3155
|
+
}
|
|
3156
|
+
}
|
|
3157
|
+
function updateGroupData($xeTable) {
|
|
3158
|
+
const props = $xeTable;
|
|
3159
|
+
const reactData = $xeTable;
|
|
3160
|
+
const internalData = $xeTable;
|
|
3161
|
+
const {
|
|
3162
|
+
aggregateConfig,
|
|
3163
|
+
rowGroupConfig
|
|
3164
|
+
} = props;
|
|
3165
|
+
const {
|
|
3166
|
+
isRowGroupStatus
|
|
3167
|
+
} = reactData;
|
|
3168
|
+
const {
|
|
3169
|
+
tableFullGroupData
|
|
3170
|
+
} = internalData;
|
|
3171
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
3172
|
+
const {
|
|
3173
|
+
mapChildrenField
|
|
3174
|
+
} = aggregateOpts;
|
|
3175
|
+
if ((aggregateConfig || rowGroupConfig) && isRowGroupStatus) {
|
|
3176
|
+
const aggList = [];
|
|
3177
|
+
_xeUtils.default.eachTree(tableFullGroupData, row => {
|
|
3178
|
+
if (row.isAggregate) {
|
|
3179
|
+
aggList.push(row);
|
|
3180
|
+
}
|
|
3181
|
+
}, {
|
|
3182
|
+
children: mapChildrenField
|
|
3183
|
+
});
|
|
3184
|
+
handleeGroupSummary($xeTable, aggList);
|
|
3185
|
+
}
|
|
3186
|
+
}
|
|
3135
3187
|
function handleGroupData($xeTable, list, rowGroups) {
|
|
3136
3188
|
let fullData = list;
|
|
3137
3189
|
let treeData = list;
|
|
3138
3190
|
if (rowGroups) {
|
|
3139
|
-
const
|
|
3191
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
3140
3192
|
const {
|
|
3141
3193
|
rowField,
|
|
3142
3194
|
parentField,
|
|
3143
3195
|
childrenField,
|
|
3144
3196
|
mapChildrenField
|
|
3145
|
-
} =
|
|
3197
|
+
} = aggregateOpts;
|
|
3146
3198
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
3147
3199
|
const {
|
|
3148
3200
|
checkField
|
|
@@ -3155,7 +3207,7 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
3155
3207
|
const groupField = rgItem.field;
|
|
3156
3208
|
const groupColumn = $xeTable.getColumnByField(groupField);
|
|
3157
3209
|
const groupMaps = {};
|
|
3158
|
-
const
|
|
3210
|
+
const aggList = [];
|
|
3159
3211
|
const rowkey = (0, _util.getRowkey)($xeTable);
|
|
3160
3212
|
list.forEach(row => {
|
|
3161
3213
|
const cellValue = groupColumn ? $xeTable.getCellLabel(row, groupColumn) : _xeUtils.default.get(row, groupField);
|
|
@@ -3175,12 +3227,12 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
3175
3227
|
fullData: childFullData,
|
|
3176
3228
|
treeData: childTreeData
|
|
3177
3229
|
} = handleGroupData($xeTable, childList, rowGroups.slice(1));
|
|
3178
|
-
const
|
|
3179
|
-
const groupRow = {
|
|
3230
|
+
const aggRow = {
|
|
3180
3231
|
isAggregate: true,
|
|
3181
|
-
|
|
3232
|
+
aggData: {},
|
|
3182
3233
|
groupContent: groupValue,
|
|
3183
3234
|
groupField,
|
|
3235
|
+
childCount: 0,
|
|
3184
3236
|
[rowField]: (0, _util.getRowUniqueId)(),
|
|
3185
3237
|
[parentField]: null,
|
|
3186
3238
|
[rowkey]: (0, _util.getRowUniqueId)(),
|
|
@@ -3188,29 +3240,19 @@ function handleGroupData($xeTable, list, rowGroups) {
|
|
|
3188
3240
|
[mapChildrenField]: childTreeData
|
|
3189
3241
|
};
|
|
3190
3242
|
if (checkField) {
|
|
3191
|
-
|
|
3243
|
+
aggRow[checkField] = false;
|
|
3192
3244
|
}
|
|
3193
3245
|
if (indeterminateField) {
|
|
3194
|
-
|
|
3246
|
+
aggRow[indeterminateField] = false;
|
|
3195
3247
|
}
|
|
3196
|
-
|
|
3197
|
-
treeData.push(
|
|
3198
|
-
fullData.push(
|
|
3248
|
+
aggList.push(aggRow);
|
|
3249
|
+
treeData.push(aggRow);
|
|
3250
|
+
fullData.push(aggRow);
|
|
3199
3251
|
if (childFullData.length) {
|
|
3200
3252
|
fullData.push(...childFullData);
|
|
3201
3253
|
}
|
|
3202
3254
|
});
|
|
3203
|
-
|
|
3204
|
-
let count = 0;
|
|
3205
|
-
_xeUtils.default.each(groupItem[childrenField], row => {
|
|
3206
|
-
if (row.isAggregate) {
|
|
3207
|
-
count += row[childrenField] ? row[childrenField].length : 0;
|
|
3208
|
-
} else {
|
|
3209
|
-
count++;
|
|
3210
|
-
}
|
|
3211
|
-
});
|
|
3212
|
-
groupItem.childCount = count;
|
|
3213
|
-
});
|
|
3255
|
+
handleeGroupSummary($xeTable, aggList);
|
|
3214
3256
|
}
|
|
3215
3257
|
}
|
|
3216
3258
|
return {
|
|
@@ -3229,6 +3271,7 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3229
3271
|
const {
|
|
3230
3272
|
keepSource,
|
|
3231
3273
|
treeConfig,
|
|
3274
|
+
aggregateConfig,
|
|
3232
3275
|
rowGroupConfig
|
|
3233
3276
|
} = props;
|
|
3234
3277
|
const {
|
|
@@ -3254,11 +3297,11 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3254
3297
|
(0, _log.errLog)('vxe.error.errMaxRow', [supportMaxRow]);
|
|
3255
3298
|
}
|
|
3256
3299
|
if (treeConfig && rowGroupList.length) {
|
|
3257
|
-
(0, _log.errLog)('vxe.error.noTree', ['
|
|
3300
|
+
(0, _log.errLog)('vxe.error.noTree', ['aggregate-config']);
|
|
3258
3301
|
return $xeTable.$nextTick();
|
|
3259
3302
|
}
|
|
3260
3303
|
if (rowOpts.drag && rowGroupList.length) {
|
|
3261
|
-
(0, _log.errLog)('vxe.error.errConflicts', ['row-config.drag', '
|
|
3304
|
+
(0, _log.errLog)('vxe.error.errConflicts', ['row-config.drag', 'aggregate-config']);
|
|
3262
3305
|
return $xeTable.$nextTick();
|
|
3263
3306
|
}
|
|
3264
3307
|
let isRGroup = false;
|
|
@@ -3295,7 +3338,7 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3295
3338
|
} else {
|
|
3296
3339
|
treeData = fullData.slice(0);
|
|
3297
3340
|
}
|
|
3298
|
-
} else if (rowGroupConfig && rowGroupList.length) {
|
|
3341
|
+
} else if ((aggregateConfig || rowGroupConfig) && rowGroupList.length) {
|
|
3299
3342
|
const groupRest = handleGroupData($xeTable, fullData, rowGroupList);
|
|
3300
3343
|
treeData = groupRest.treeData;
|
|
3301
3344
|
fullData = groupRest.fullData;
|
|
@@ -3400,11 +3443,15 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3400
3443
|
// 是否变更虚拟滚动
|
|
3401
3444
|
if (oldScrollYLoad === sYLoad) {
|
|
3402
3445
|
(0, _util.restoreScrollLocation)($xeTable, targetScrollLeft, targetScrollTop).then(() => {
|
|
3446
|
+
calcCellHeight($xeTable);
|
|
3447
|
+
updateRowOffsetTop($xeTable);
|
|
3403
3448
|
resolve();
|
|
3404
3449
|
});
|
|
3405
3450
|
} else {
|
|
3406
3451
|
setTimeout(() => {
|
|
3407
3452
|
(0, _util.restoreScrollLocation)($xeTable, targetScrollLeft, targetScrollTop).then(() => {
|
|
3453
|
+
calcCellHeight($xeTable);
|
|
3454
|
+
updateRowOffsetTop($xeTable);
|
|
3408
3455
|
resolve();
|
|
3409
3456
|
});
|
|
3410
3457
|
});
|
|
@@ -3687,6 +3734,7 @@ function handleColumn($xeTable, collectColumn) {
|
|
|
3687
3734
|
$xeTable.clearMergeCells();
|
|
3688
3735
|
$xeTable.clearMergeFooterItems();
|
|
3689
3736
|
$xeTable.handleTableData(true);
|
|
3737
|
+
$xeTable.handleAggregateSummaryData();
|
|
3690
3738
|
if ((scrollXLoad || scrollYLoad) && expandColumn && expandOpts.mode !== 'fixed') {
|
|
3691
3739
|
(0, _log.warnLog)('vxe.error.scrollErrProp', ['column.type=expand']);
|
|
3692
3740
|
}
|
|
@@ -4326,29 +4374,42 @@ const Methods = {
|
|
|
4326
4374
|
* @param {String} field 字段名
|
|
4327
4375
|
*/
|
|
4328
4376
|
reloadRow(row, record, field) {
|
|
4377
|
+
const $xeTable = this;
|
|
4378
|
+
const props = $xeTable;
|
|
4379
|
+
const reactData = $xeTable;
|
|
4380
|
+
const internalData = $xeTable;
|
|
4381
|
+
const {
|
|
4382
|
+
keepSource
|
|
4383
|
+
} = props;
|
|
4329
4384
|
const {
|
|
4330
|
-
keepSource,
|
|
4331
|
-
tableSourceData,
|
|
4332
4385
|
tableData
|
|
4333
|
-
} =
|
|
4386
|
+
} = reactData;
|
|
4387
|
+
const {
|
|
4388
|
+
sourceDataRowIdData
|
|
4389
|
+
} = internalData;
|
|
4334
4390
|
if (keepSource) {
|
|
4335
|
-
|
|
4336
|
-
|
|
4391
|
+
if ($xeTable.isAggregateRecord(row)) {
|
|
4392
|
+
return $xeTable.$nextTick();
|
|
4393
|
+
}
|
|
4394
|
+
const oRow = sourceDataRowIdData[(0, _util.getRowid)($xeTable, row)];
|
|
4337
4395
|
if (oRow && row) {
|
|
4338
4396
|
if (field) {
|
|
4339
|
-
const newValue = _xeUtils.default.get(record || row, field);
|
|
4397
|
+
const newValue = _xeUtils.default.clone(_xeUtils.default.get(record || row, field), true);
|
|
4340
4398
|
_xeUtils.default.set(row, field, newValue);
|
|
4341
4399
|
_xeUtils.default.set(oRow, field, newValue);
|
|
4342
4400
|
} else {
|
|
4401
|
+
const rowkey = (0, _util.getRowkey)($xeTable);
|
|
4402
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
4343
4403
|
const newRecord = _xeUtils.default.clone(Object.assign({}, record), true);
|
|
4404
|
+
_xeUtils.default.set(newRecord, rowkey, rowid);
|
|
4344
4405
|
_xeUtils.default.destructuring(oRow, Object.assign(row, newRecord));
|
|
4345
4406
|
}
|
|
4346
4407
|
}
|
|
4347
|
-
|
|
4408
|
+
reactData.tableData = tableData.slice(0);
|
|
4348
4409
|
} else {
|
|
4349
4410
|
(0, _log.errLog)('vxe.error.reqProp', ['keep-source']);
|
|
4350
4411
|
}
|
|
4351
|
-
return
|
|
4412
|
+
return $xeTable.$nextTick();
|
|
4352
4413
|
},
|
|
4353
4414
|
/**
|
|
4354
4415
|
* 加载列配置
|
|
@@ -4357,7 +4418,7 @@ const Methods = {
|
|
|
4357
4418
|
*/
|
|
4358
4419
|
loadColumn(columns) {
|
|
4359
4420
|
const $xeTable = this;
|
|
4360
|
-
const collectColumn = _xeUtils.default.mapTree(columns, column => _cell.default.createColumn(
|
|
4421
|
+
const collectColumn = _xeUtils.default.mapTree(columns, column => _cell.default.createColumn($xeTable, column), {
|
|
4361
4422
|
children: 'children'
|
|
4362
4423
|
});
|
|
4363
4424
|
return handleColumn($xeTable, collectColumn);
|
|
@@ -4457,10 +4518,10 @@ const Methods = {
|
|
|
4457
4518
|
children: childrenField
|
|
4458
4519
|
});
|
|
4459
4520
|
} else if (isRowGroupStatus) {
|
|
4460
|
-
const
|
|
4521
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
4461
4522
|
const {
|
|
4462
4523
|
mapChildrenField
|
|
4463
|
-
} =
|
|
4524
|
+
} = aggregateOpts;
|
|
4464
4525
|
_xeUtils.default.eachTree(tableFullGroupData, (row, index, items, path, parentRow, nodes) => {
|
|
4465
4526
|
const rowid = handleUpdateRowId(row);
|
|
4466
4527
|
handleRowCache(row, index, items, parentRow ? -1 : index, parentRow, rowid, nodes.length - 1, (0, _util.toTreePathSeq)(path));
|
|
@@ -7191,6 +7252,10 @@ const Methods = {
|
|
|
7191
7252
|
internalData.mergeFooterCellMaps = buildMergeData(mergeFooterList);
|
|
7192
7253
|
reactData.mergeFootFlag++;
|
|
7193
7254
|
},
|
|
7255
|
+
handleAggregateSummaryData() {
|
|
7256
|
+
const $xeTable = this;
|
|
7257
|
+
return updateGroupData($xeTable);
|
|
7258
|
+
},
|
|
7194
7259
|
handleTargetLeaveEvent() {
|
|
7195
7260
|
const $xeTable = this;
|
|
7196
7261
|
const internalData = $xeTable;
|
|
@@ -7543,7 +7608,7 @@ const Methods = {
|
|
|
7543
7608
|
const {
|
|
7544
7609
|
selectCheckboxMaps
|
|
7545
7610
|
} = internalData;
|
|
7546
|
-
const
|
|
7611
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
7547
7612
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
7548
7613
|
const {
|
|
7549
7614
|
transform,
|
|
@@ -7615,7 +7680,7 @@ const Methods = {
|
|
|
7615
7680
|
handleCheckboxReserveRow($xeTable, row, checked);
|
|
7616
7681
|
}
|
|
7617
7682
|
}, {
|
|
7618
|
-
children:
|
|
7683
|
+
children: aggregateOpts.mapChildrenField
|
|
7619
7684
|
});
|
|
7620
7685
|
reactData.updateCheckboxFlag++;
|
|
7621
7686
|
return;
|
|
@@ -7806,7 +7871,7 @@ const Methods = {
|
|
|
7806
7871
|
selectCheckboxMaps,
|
|
7807
7872
|
treeIndeterminateRowMaps
|
|
7808
7873
|
} = internalData;
|
|
7809
|
-
const
|
|
7874
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
7810
7875
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
7811
7876
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
7812
7877
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
@@ -7826,7 +7891,7 @@ const Methods = {
|
|
|
7826
7891
|
const childRowList = [];
|
|
7827
7892
|
if (isRowGroupStatus) {
|
|
7828
7893
|
// 行分组
|
|
7829
|
-
const mapChildrenField =
|
|
7894
|
+
const mapChildrenField = aggregateOpts.mapChildrenField;
|
|
7830
7895
|
if (mapChildrenField) {
|
|
7831
7896
|
_xeUtils.default.eachTree(afterGroupFullData, row => {
|
|
7832
7897
|
const rowid = handleGetRowId(row);
|
|
@@ -8554,7 +8619,7 @@ const Methods = {
|
|
|
8554
8619
|
const radioOpts = $xeTable.computeRadioOpts;
|
|
8555
8620
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
8556
8621
|
const keyboardOpts = $xeTable.computeKeyboardOpts;
|
|
8557
|
-
const
|
|
8622
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
8558
8623
|
const rowOpts = $xeTable.computeRowOpts;
|
|
8559
8624
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
8560
8625
|
const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
|
|
@@ -8597,7 +8662,7 @@ const Methods = {
|
|
|
8597
8662
|
$xeTable.triggerTreeExpandEvent(evnt, params);
|
|
8598
8663
|
}
|
|
8599
8664
|
// 如果是行分组
|
|
8600
|
-
if (
|
|
8665
|
+
if (aggregateOpts.trigger === 'row' || rowGroupNode && aggregateOpts.trigger === 'cell') {
|
|
8601
8666
|
$xeTable.triggerRowGroupExpandEvent(evnt, params);
|
|
8602
8667
|
}
|
|
8603
8668
|
}
|
|
@@ -10265,10 +10330,11 @@ const Methods = {
|
|
|
10265
10330
|
const props = $xeTable;
|
|
10266
10331
|
const internalData = $xeTable;
|
|
10267
10332
|
const {
|
|
10333
|
+
aggregateConfig,
|
|
10268
10334
|
rowGroupConfig
|
|
10269
10335
|
} = props;
|
|
10270
|
-
if (!rowGroupConfig) {
|
|
10271
|
-
(0, _log.errLog)('vxe.error.reqProp', ['
|
|
10336
|
+
if (!(aggregateConfig || rowGroupConfig)) {
|
|
10337
|
+
(0, _log.errLog)('vxe.error.reqProp', ['aggregate-config']);
|
|
10272
10338
|
return $xeTable.$nextTick();
|
|
10273
10339
|
}
|
|
10274
10340
|
if (fieldOrColumns) {
|
|
@@ -10284,16 +10350,27 @@ const Methods = {
|
|
|
10284
10350
|
const props = $xeTable;
|
|
10285
10351
|
const internalData = $xeTable;
|
|
10286
10352
|
const {
|
|
10353
|
+
aggregateConfig,
|
|
10287
10354
|
rowGroupConfig
|
|
10288
10355
|
} = props;
|
|
10289
|
-
if (!rowGroupConfig) {
|
|
10290
|
-
(0, _log.errLog)('vxe.error.reqProp', ['
|
|
10356
|
+
if (!(aggregateConfig || rowGroupConfig)) {
|
|
10357
|
+
(0, _log.errLog)('vxe.error.reqProp', ['aggregate-config']);
|
|
10291
10358
|
return $xeTable.$nextTick();
|
|
10292
10359
|
}
|
|
10293
10360
|
handleUpdateRowGroup($xeTable, []);
|
|
10294
10361
|
return loadTableData($xeTable, internalData.tableSynchData, true);
|
|
10295
10362
|
},
|
|
10296
10363
|
isRowGroupRecord(row) {
|
|
10364
|
+
const $xeTable = this;
|
|
10365
|
+
(0, _log.warnLog)('vxe.error.delFunc', ['isRowGroupRecord', 'isAggregateRecord']);
|
|
10366
|
+
return $xeTable.isAggregateRecord(row);
|
|
10367
|
+
},
|
|
10368
|
+
isRowGroupExpandByRow(row) {
|
|
10369
|
+
const $xeTable = this;
|
|
10370
|
+
(0, _log.warnLog)('vxe.error.delFunc', ['isRowGroupExpandByRow', 'isAggregateExpandByRow']);
|
|
10371
|
+
return $xeTable.isAggregateExpandByRow(row);
|
|
10372
|
+
},
|
|
10373
|
+
isAggregateRecord(row) {
|
|
10297
10374
|
const $xeTable = this;
|
|
10298
10375
|
const reactData = $xeTable;
|
|
10299
10376
|
const {
|
|
@@ -10301,7 +10378,7 @@ const Methods = {
|
|
|
10301
10378
|
} = reactData;
|
|
10302
10379
|
return isRowGroupStatus && row.isAggregate;
|
|
10303
10380
|
},
|
|
10304
|
-
|
|
10381
|
+
isAggregateExpandByRow(row) {
|
|
10305
10382
|
const $xeTable = this;
|
|
10306
10383
|
const reactData = $xeTable;
|
|
10307
10384
|
const internalData = $xeTable;
|
|
@@ -10330,10 +10407,10 @@ const Methods = {
|
|
|
10330
10407
|
const {
|
|
10331
10408
|
tableFullGroupData
|
|
10332
10409
|
} = internalData;
|
|
10333
|
-
const
|
|
10410
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
10334
10411
|
const {
|
|
10335
10412
|
mapChildrenField
|
|
10336
|
-
} =
|
|
10413
|
+
} = aggregateOpts;
|
|
10337
10414
|
const rgExpandedMaps = {};
|
|
10338
10415
|
if (expanded && mapChildrenField) {
|
|
10339
10416
|
_xeUtils.default.eachTree(tableFullGroupData, row => {
|
|
@@ -10482,14 +10559,14 @@ const Methods = {
|
|
|
10482
10559
|
const {
|
|
10483
10560
|
rowGroupExpandedMaps
|
|
10484
10561
|
} = internalData;
|
|
10485
|
-
const
|
|
10562
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
10486
10563
|
const {
|
|
10487
10564
|
row,
|
|
10488
10565
|
column
|
|
10489
10566
|
} = params;
|
|
10490
10567
|
const {
|
|
10491
10568
|
trigger
|
|
10492
|
-
} =
|
|
10569
|
+
} = aggregateOpts;
|
|
10493
10570
|
if (trigger === 'manual') {
|
|
10494
10571
|
return;
|
|
10495
10572
|
}
|
|
@@ -11605,11 +11682,11 @@ const Methods = {
|
|
|
11605
11682
|
} = internalData;
|
|
11606
11683
|
const rests = [];
|
|
11607
11684
|
if (treeConfig || isRowGroupStatus) {
|
|
11608
|
-
const
|
|
11685
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
11609
11686
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
11610
11687
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
11611
11688
|
const matchObj = _xeUtils.default.findTree(tableFullData, item => $xeTable.eqRow(item, row), {
|
|
11612
|
-
children: isRowGroupStatus ?
|
|
11689
|
+
children: isRowGroupStatus ? aggregateOpts.mapChildrenField : childrenField
|
|
11613
11690
|
});
|
|
11614
11691
|
if (matchObj) {
|
|
11615
11692
|
const nodes = matchObj.nodes;
|