@visactor/vtable 0.19.2-alpha.3 → 0.20.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/cjs/ListTable.d.ts +12 -2
- package/cjs/ListTable.js +80 -23
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.d.ts +2 -1
- package/cjs/PivotChart.js +5 -1
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.d.ts +5 -2
- package/cjs/PivotTable.js +13 -5
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +2 -2
- package/cjs/core/BaseTable.js +7 -8
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/tableHelper.d.ts +2 -2
- package/cjs/core/tableHelper.js +4 -6
- package/cjs/core/tableHelper.js.map +1 -1
- package/cjs/data/CachedDataSource.d.ts +4 -3
- package/cjs/data/CachedDataSource.js +5 -4
- package/cjs/data/CachedDataSource.js.map +1 -1
- package/cjs/data/DataSource.d.ts +22 -3
- package/cjs/data/DataSource.js +93 -7
- package/cjs/data/DataSource.js.map +1 -1
- package/cjs/dataset/dataset-pivot-table.d.ts +3 -3
- package/cjs/dataset/dataset-pivot-table.js +1 -0
- package/cjs/dataset/dataset-pivot-table.js.map +1 -1
- package/cjs/dataset/dataset.d.ts +3 -3
- package/cjs/dataset/dataset.js +3 -0
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/dataset/statistics-helper.d.ts +24 -3
- package/cjs/dataset/statistics-helper.js +75 -9
- package/cjs/dataset/statistics-helper.js.map +1 -1
- package/cjs/edit/edit-manager.js +5 -4
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/media-click.js +2 -1
- package/cjs/event/scroll.js +0 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/chart-helper/get-chart-spec.d.ts +1 -0
- package/cjs/layout/chart-helper/get-chart-spec.js +34 -9
- package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/cjs/layout/layout-helper.d.ts +4 -63
- package/cjs/layout/layout-helper.js +25 -247
- package/cjs/layout/layout-helper.js.map +1 -1
- package/cjs/layout/pivot-header-layout.d.ts +6 -3
- package/cjs/layout/pivot-header-layout.js +26 -15
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/row-height-map.js +2 -1
- package/cjs/layout/row-height-map.js.map +1 -1
- package/cjs/layout/simple-header-layout.d.ts +25 -2
- package/cjs/layout/simple-header-layout.js +130 -18
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/layout/tree-helper.d.ts +63 -0
- package/cjs/layout/tree-helper.js +259 -0
- package/cjs/layout/tree-helper.js.map +1 -0
- package/cjs/scenegraph/graphic/chart.d.ts +2 -1
- package/cjs/scenegraph/graphic/chart.js +21 -18
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +4 -1
- package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render.js +2 -2
- package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +19 -8
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +2 -2
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js +9 -5
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -1
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js +5 -5
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js +5 -2
- package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +4 -6
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/state/sort/index.js +2 -5
- package/cjs/state/sort/index.js.map +1 -1
- package/cjs/state/state.d.ts +0 -1
- package/cjs/state/state.js +1 -2
- package/cjs/state/state.js.map +1 -1
- package/cjs/tools/get-data-path/create-dataset.js.map +1 -1
- package/cjs/tools/isx.d.ts +1 -1
- package/cjs/tools/util.d.ts +1 -1
- package/cjs/ts-types/base-table.d.ts +6 -5
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/list-table/define/basic-define.d.ts +2 -0
- package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
- package/cjs/ts-types/list-table/layout-map/api.d.ts +4 -3
- package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
- package/cjs/ts-types/new-data-set.d.ts +27 -6
- package/cjs/ts-types/new-data-set.js +1 -1
- package/cjs/ts-types/new-data-set.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +17 -5
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +1175 -498
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.d.ts +12 -2
- package/es/ListTable.js +80 -23
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.d.ts +2 -1
- package/es/PivotChart.js +5 -1
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.d.ts +5 -2
- package/es/PivotTable.js +13 -5
- package/es/PivotTable.js.map +1 -1
- package/es/core/BaseTable.d.ts +2 -2
- package/es/core/BaseTable.js +7 -8
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/tableHelper.d.ts +2 -2
- package/es/core/tableHelper.js +4 -6
- package/es/core/tableHelper.js.map +1 -1
- package/es/data/CachedDataSource.d.ts +4 -3
- package/es/data/CachedDataSource.js +5 -4
- package/es/data/CachedDataSource.js.map +1 -1
- package/es/data/DataSource.d.ts +22 -3
- package/es/data/DataSource.js +91 -7
- package/es/data/DataSource.js.map +1 -1
- package/es/dataset/dataset-pivot-table.d.ts +3 -3
- package/es/dataset/dataset-pivot-table.js +1 -0
- package/es/dataset/dataset-pivot-table.js.map +1 -1
- package/es/dataset/dataset.d.ts +3 -3
- package/es/dataset/dataset.js +3 -0
- package/es/dataset/dataset.js.map +1 -1
- package/es/dataset/statistics-helper.d.ts +24 -3
- package/es/dataset/statistics-helper.js +72 -8
- package/es/dataset/statistics-helper.js.map +1 -1
- package/es/edit/edit-manager.js +5 -4
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/media-click.js +2 -1
- package/es/event/scroll.js +1 -2
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/chart-helper/get-chart-spec.d.ts +1 -0
- package/es/layout/chart-helper/get-chart-spec.js +29 -4
- package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/es/layout/layout-helper.d.ts +4 -63
- package/es/layout/layout-helper.js +19 -246
- package/es/layout/layout-helper.js.map +1 -1
- package/es/layout/pivot-header-layout.d.ts +6 -3
- package/es/layout/pivot-header-layout.js +17 -6
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/row-height-map.js +2 -1
- package/es/layout/row-height-map.js.map +1 -1
- package/es/layout/simple-header-layout.d.ts +25 -2
- package/es/layout/simple-header-layout.js +130 -17
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/layout/tree-helper.d.ts +63 -0
- package/es/layout/tree-helper.js +256 -0
- package/es/layout/tree-helper.js.map +1 -0
- package/es/scenegraph/graphic/chart.d.ts +2 -1
- package/es/scenegraph/graphic/chart.js +21 -17
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/graphic/contributions/chart-render-helper.js +4 -1
- package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
- package/es/scenegraph/graphic/contributions/chart-render.js +2 -2
- package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +20 -7
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
- package/es/scenegraph/group-creater/cell-type/chart-cell.js +2 -2
- package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
- package/es/scenegraph/group-creater/cell-type/image-cell.js +9 -5
- package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/video-cell.js +1 -1
- package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
- package/es/scenegraph/group-creater/column-helper.js +5 -5
- package/es/scenegraph/group-creater/column-helper.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js +6 -3
- package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
- package/es/scenegraph/scenegraph.js +4 -6
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/state/sort/index.js +2 -5
- package/es/state/sort/index.js.map +1 -1
- package/es/state/state.d.ts +0 -1
- package/es/state/state.js +1 -2
- package/es/state/state.js.map +1 -1
- package/es/tools/get-data-path/create-dataset.js.map +1 -1
- package/es/tools/isx.d.ts +1 -1
- package/es/tools/util.d.ts +1 -1
- package/es/ts-types/base-table.d.ts +6 -5
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/list-table/define/basic-define.d.ts +2 -0
- package/es/ts-types/list-table/define/basic-define.js.map +1 -1
- package/es/ts-types/list-table/layout-map/api.d.ts +4 -3
- package/es/ts-types/list-table/layout-map/api.js.map +1 -1
- package/es/ts-types/new-data-set.d.ts +27 -6
- package/es/ts-types/new-data-set.js +1 -1
- package/es/ts-types/new-data-set.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +17 -5
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +3 -3
- package/cjs/data/FilterDataSource.d.ts +0 -1
- package/cjs/data/FilterDataSource.js +0 -1
- package/cjs/data/FilterDataSource.js.map +0 -1
- package/es/data/FilterDataSource.d.ts +0 -1
- package/es/data/FilterDataSource.js +0 -1
- package/es/data/FilterDataSource.js.map +0 -1
package/es/ListTable.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CellAddress, CellRange, ColumnsDefine, DropDownMenuEventInfo, FieldData, FieldDef, FieldFormat, FieldKeyDef, IPagination, ListTableAPI, ListTableConstructorOptions, MaybePromiseOrUndefined, SortOrder, SortState } from './ts-types';
|
|
1
|
+
import type { AggregationType, CellAddress, CellRange, ColumnsDefine, DropDownMenuEventInfo, FieldData, FieldDef, FieldFormat, FieldKeyDef, FilterRules, IPagination, ListTableAPI, ListTableConstructorOptions, MaybePromiseOrUndefined, SortOrder, SortState } from './ts-types';
|
|
2
2
|
import { HierarchyState } from './ts-types';
|
|
3
3
|
import { BaseTable } from './core';
|
|
4
4
|
import type { ListTableProtected } from './ts-types/base-table';
|
|
@@ -15,6 +15,8 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
|
|
|
15
15
|
isPivotTable(): false;
|
|
16
16
|
isPivotChart(): false;
|
|
17
17
|
get sortState(): SortState | SortState[];
|
|
18
|
+
get records(): any;
|
|
19
|
+
get recordsCount(): any;
|
|
18
20
|
updateColumns(columns: ColumnsDefine): void;
|
|
19
21
|
get columns(): ColumnsDefine;
|
|
20
22
|
get header(): ColumnsDefine;
|
|
@@ -47,6 +49,7 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
|
|
|
47
49
|
getMenuInfo(col: number, row: number, type: string): DropDownMenuEventInfo;
|
|
48
50
|
_getSortFuncFromHeaderOption(columns: ColumnsDefine | undefined, field: FieldDef, fieldKey?: FieldKeyDef): ((v1: any, v2: any, order: SortOrder) => 0 | 1 | -1) | undefined;
|
|
49
51
|
updateSortState(sortState: SortState[] | SortState | null, executeSort?: boolean): void;
|
|
52
|
+
updateFilterRules(filterRules: FilterRules): void;
|
|
50
53
|
getCheckboxState(field?: string | number): boolean[] | Record<string | number, boolean>[];
|
|
51
54
|
getCellCheckboxState(col: number, row: number): boolean;
|
|
52
55
|
setRecords(records: Array<any>, sort?: SortState | SortState[]): void;
|
|
@@ -60,5 +63,12 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
|
|
|
60
63
|
addRecords(records: any[], recordIndex?: number): void;
|
|
61
64
|
deleteRecords(recordIndexs: number[]): void;
|
|
62
65
|
updateRecords(records: any[], recordIndexs: number[]): void;
|
|
63
|
-
|
|
66
|
+
_hasCustomRenderOrLayout(): boolean;
|
|
67
|
+
getAggregateValuesByField(field: string | number): {
|
|
68
|
+
col: number;
|
|
69
|
+
aggregateValue: {
|
|
70
|
+
aggregationType: AggregationType;
|
|
71
|
+
value: number | string;
|
|
72
|
+
}[];
|
|
73
|
+
}[];
|
|
64
74
|
}
|
package/es/ListTable.js
CHANGED
|
@@ -34,7 +34,7 @@ export class ListTable extends BaseTable {
|
|
|
34
34
|
this.showHeader = !0;
|
|
35
35
|
const internalProps = this.internalProps;
|
|
36
36
|
internalProps.frozenColDragHeaderMode = options.frozenColDragHeaderMode, this.pagination = options.pagination,
|
|
37
|
-
internalProps.sortState = options.sortState, internalProps.columns = options.columns ? cloneDeep(options.columns) : options.header ? cloneDeep(options.header) : [],
|
|
37
|
+
internalProps.sortState = options.sortState, internalProps.dataConfig = {}, internalProps.columns = options.columns ? cloneDeep(options.columns) : options.header ? cloneDeep(options.header) : [],
|
|
38
38
|
null === (_a = options.columns) || void 0 === _a || _a.forEach(((colDefine, index) => {
|
|
39
39
|
colDefine.editor && (internalProps.columns[index].editor = colDefine.editor);
|
|
40
40
|
})), this.showHeader = null === (_b = options.showHeader) || void 0 === _b || _b,
|
|
@@ -57,6 +57,12 @@ export class ListTable extends BaseTable {
|
|
|
57
57
|
get sortState() {
|
|
58
58
|
return this.internalProps.sortState;
|
|
59
59
|
}
|
|
60
|
+
get records() {
|
|
61
|
+
return this.dataSource.source;
|
|
62
|
+
}
|
|
63
|
+
get recordsCount() {
|
|
64
|
+
return this.dataSource.source.length;
|
|
65
|
+
}
|
|
60
66
|
updateColumns(columns) {
|
|
61
67
|
const oldHoverState = {
|
|
62
68
|
col: this.stateManager.hover.cellPos.col,
|
|
@@ -97,6 +103,16 @@ export class ListTable extends BaseTable {
|
|
|
97
103
|
const {title: title} = table.internalProps.layoutMap.getHeader(col, row);
|
|
98
104
|
return "function" == typeof title ? title() : title;
|
|
99
105
|
}
|
|
106
|
+
if (table.internalProps.layoutMap.isAggregation(col, row)) {
|
|
107
|
+
if (table.internalProps.layoutMap.isTopAggregation(col, row)) {
|
|
108
|
+
const aggregator = table.internalProps.layoutMap.getAggregatorOnTop(col, row);
|
|
109
|
+
return (null == aggregator ? void 0 : aggregator.formatValue) ? aggregator.formatValue(col, row, this) : "";
|
|
110
|
+
}
|
|
111
|
+
if (table.internalProps.layoutMap.isBottomAggregation(col, row)) {
|
|
112
|
+
const aggregator = table.internalProps.layoutMap.getAggregatorOnBottom(col, row);
|
|
113
|
+
return (null == aggregator ? void 0 : aggregator.formatValue) ? aggregator.formatValue(col, row, this) : "";
|
|
114
|
+
}
|
|
115
|
+
}
|
|
100
116
|
const {field: field, fieldFormat: fieldFormat} = table.internalProps.layoutMap.getBody(col, row);
|
|
101
117
|
return table.getFieldData(fieldFormat || field, col, row);
|
|
102
118
|
}
|
|
@@ -107,6 +123,16 @@ export class ListTable extends BaseTable {
|
|
|
107
123
|
const {title: title} = table.internalProps.layoutMap.getHeader(col, row);
|
|
108
124
|
return "function" == typeof title ? title() : title;
|
|
109
125
|
}
|
|
126
|
+
if (table.internalProps.layoutMap.isAggregation(col, row)) {
|
|
127
|
+
if (table.internalProps.layoutMap.isTopAggregation(col, row)) {
|
|
128
|
+
const aggregator = table.internalProps.layoutMap.getAggregatorOnTop(col, row);
|
|
129
|
+
return null == aggregator ? void 0 : aggregator.value();
|
|
130
|
+
}
|
|
131
|
+
if (table.internalProps.layoutMap.isBottomAggregation(col, row)) {
|
|
132
|
+
const aggregator = table.internalProps.layoutMap.getAggregatorOnBottom(col, row);
|
|
133
|
+
return null == aggregator ? void 0 : aggregator.value();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
110
136
|
const {field: field} = table.internalProps.layoutMap.getBody(col, row);
|
|
111
137
|
return table.getFieldData(field, col, row);
|
|
112
138
|
}
|
|
@@ -160,7 +186,7 @@ export class ListTable extends BaseTable {
|
|
|
160
186
|
var _a, _b;
|
|
161
187
|
const internalProps = this.internalProps;
|
|
162
188
|
return super.updateOption(options), internalProps.frozenColDragHeaderMode = options.frozenColDragHeaderMode,
|
|
163
|
-
this.pagination = options.pagination, this.showHeader = null === (_a = options.showHeader) || void 0 === _a || _a,
|
|
189
|
+
this.pagination = options.pagination, internalProps.dataConfig = {}, this.showHeader = null === (_a = options.showHeader) || void 0 === _a || _a,
|
|
164
190
|
internalProps.columns = options.columns ? cloneDeep(options.columns) : options.header ? cloneDeep(options.header) : [],
|
|
165
191
|
options.columns.forEach(((colDefine, index) => {
|
|
166
192
|
colDefine.editor && (internalProps.columns[index].editor = colDefine.editor);
|
|
@@ -192,18 +218,18 @@ export class ListTable extends BaseTable {
|
|
|
192
218
|
this.refreshRowColCount();
|
|
193
219
|
}
|
|
194
220
|
refreshRowColCount() {
|
|
195
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p
|
|
221
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
196
222
|
const table = this, {layoutMap: layoutMap} = table.internalProps;
|
|
197
|
-
layoutMap && (layoutMap.recordsCount = null !== (_b = null === (_a = table.internalProps.dataSource) || void 0 === _a ? void 0 : _a.length) && void 0 !== _b ? _b : 0,
|
|
223
|
+
layoutMap && (layoutMap.recordsCount = (null !== (_b = null === (_a = table.internalProps.dataSource) || void 0 === _a ? void 0 : _a.length) && void 0 !== _b ? _b : 0) + layoutMap.hasAggregationOnTopCount + layoutMap.hasAggregationOnBottomCount,
|
|
198
224
|
table.transpose ? (table.rowCount = null !== (_c = layoutMap.rowCount) && void 0 !== _c ? _c : 0,
|
|
199
|
-
table.colCount =
|
|
200
|
-
table.frozenRowCount = 0, this.internalProps.frozenColCount = null !== (
|
|
201
|
-
table.bottomFrozenRowCount !== (null !== (
|
|
202
|
-
table.rightFrozenColCount !== (null !== (
|
|
203
|
-
table.rowCount =
|
|
204
|
-
this.internalProps.frozenColCount = null !== (
|
|
205
|
-
table.frozenRowCount = layoutMap.headerLevelCount, table.bottomFrozenRowCount !== (null !== (
|
|
206
|
-
table.rightFrozenColCount !== (null !== (
|
|
225
|
+
table.colCount = layoutMap.recordsCount * layoutMap.bodyRowSpanCount + layoutMap.headerLevelCount,
|
|
226
|
+
table.frozenRowCount = 0, this.internalProps.frozenColCount = null !== (_d = layoutMap.headerLevelCount) && void 0 !== _d ? _d : 0,
|
|
227
|
+
table.bottomFrozenRowCount !== (null !== (_e = this.options.bottomFrozenRowCount) && void 0 !== _e ? _e : 0) && (table.bottomFrozenRowCount = null !== (_f = this.options.bottomFrozenRowCount) && void 0 !== _f ? _f : 0),
|
|
228
|
+
table.rightFrozenColCount !== (null !== (_g = this.options.rightFrozenColCount) && void 0 !== _g ? _g : 0) && (table.rightFrozenColCount = null !== (_h = this.options.rightFrozenColCount) && void 0 !== _h ? _h : 0)) : (table.colCount = null !== (_j = layoutMap.colCount) && void 0 !== _j ? _j : 0,
|
|
229
|
+
table.rowCount = layoutMap.recordsCount * layoutMap.bodyRowSpanCount + layoutMap.headerLevelCount,
|
|
230
|
+
this.internalProps.frozenColCount = null !== (_k = this.options.frozenColCount) && void 0 !== _k ? _k : 0,
|
|
231
|
+
table.frozenRowCount = layoutMap.headerLevelCount, table.bottomFrozenRowCount !== (null !== (_l = this.options.bottomFrozenRowCount) && void 0 !== _l ? _l : 0) && (table.bottomFrozenRowCount = null !== (_m = this.options.bottomFrozenRowCount) && void 0 !== _m ? _m : 0),
|
|
232
|
+
table.rightFrozenColCount !== (null !== (_o = this.options.rightFrozenColCount) && void 0 !== _o ? _o : 0) && (table.rightFrozenColCount = null !== (_p = this.options.rightFrozenColCount) && void 0 !== _p ? _p : 0)),
|
|
207
233
|
this.stateManager.setFrozenCol(this.internalProps.frozenColCount));
|
|
208
234
|
}
|
|
209
235
|
getFieldData(field, col, row) {
|
|
@@ -350,17 +376,20 @@ export class ListTable extends BaseTable {
|
|
|
350
376
|
if (sortState) this.internalProps.sortState = sortState; else if (this.internalProps.sortState) if (Array.isArray(this.internalProps.sortState)) for (let i = 0; i < this.internalProps.sortState.length; i++) {
|
|
351
377
|
this.internalProps.sortState[i].order = "normal";
|
|
352
378
|
} else this.internalProps.sortState.order = "normal";
|
|
353
|
-
let order, field
|
|
354
|
-
if (Array.isArray(this.internalProps.sortState) ? ({order: order, field: field
|
|
379
|
+
let order, field;
|
|
380
|
+
if (Array.isArray(this.internalProps.sortState) ? ({order: order, field: field} = null === (_a = this.internalProps.sortState) || void 0 === _a ? void 0 : _a[0]) : ({order: order, field: field} = this.internalProps.sortState),
|
|
355
381
|
field && executeSort) {
|
|
356
|
-
const sortFunc = this._getSortFuncFromHeaderOption(this.internalProps.columns, field,
|
|
357
|
-
let hd;
|
|
358
|
-
hd = fieldKey ? this.internalProps.layoutMap.headerObjects.find((col => col && col.fieldKey === fieldKey)) : this.internalProps.layoutMap.headerObjects.find((col => col && col.field === field)),
|
|
382
|
+
const sortFunc = this._getSortFuncFromHeaderOption(this.internalProps.columns, field), hd = this.internalProps.layoutMap.headerObjects.find((col => col && col.field === field));
|
|
359
383
|
!1 !== hd.define.sort && (this.dataSource.sort(hd.field, order, sortFunc), this.internalProps.layoutMap.clearCellRangeMap(),
|
|
360
384
|
this.scenegraph.sortCell());
|
|
361
385
|
}
|
|
362
386
|
this.stateManager.updateSortState(sortState);
|
|
363
387
|
}
|
|
388
|
+
updateFilterRules(filterRules) {
|
|
389
|
+
this.scenegraph.clearCells(), this.internalProps.dataConfig.filterRules = filterRules,
|
|
390
|
+
this.sortState ? (this.dataSource.updateFilterRulesForSorted(filterRules), sortRecords(this)) : this.dataSource.updateFilterRules(filterRules),
|
|
391
|
+
this.refreshRowColCount(), this.scenegraph.createSceneGraph();
|
|
392
|
+
}
|
|
364
393
|
getCheckboxState(field) {
|
|
365
394
|
return this.stateManager.checkedState.length < this.rowCount - this.columnHeaderLevelCount && this.stateManager.initLeftRecordsCheckState(this.records),
|
|
366
395
|
isValid(field) ? this.stateManager.checkedState.map((state => state[field])) : this.stateManager.checkedState;
|
|
@@ -382,12 +411,10 @@ export class ListTable extends BaseTable {
|
|
|
382
411
|
if (this.scenegraph.clearCells(), void 0 !== sort && (this.internalProps.sortState = sort,
|
|
383
412
|
this.stateManager.setSortState(this.sortState)), records) {
|
|
384
413
|
if (_setRecords(this, records), this.sortState) {
|
|
385
|
-
let order, field
|
|
386
|
-
if (Array.isArray(this.sortState) ? 0 !== this.sortState.length && ({order: order, field: field
|
|
414
|
+
let order, field;
|
|
415
|
+
if (Array.isArray(this.sortState) ? 0 !== this.sortState.length && ({order: order, field: field} = null === (_a = this.sortState) || void 0 === _a ? void 0 : _a[0]) : ({order: order, field: field} = this.sortState),
|
|
387
416
|
order && field && "normal" !== order) {
|
|
388
|
-
const sortFunc = this._getSortFuncFromHeaderOption(void 0, field,
|
|
389
|
-
let hd;
|
|
390
|
-
hd = fieldKey ? this.internalProps.layoutMap.headerObjects.find((col => col && col.fieldKey === fieldKey)) : this.internalProps.layoutMap.headerObjects.find((col => col && col.field === field)),
|
|
417
|
+
const sortFunc = this._getSortFuncFromHeaderOption(void 0, field), hd = this.internalProps.layoutMap.headerObjects.find((col => col && col.field === field));
|
|
391
418
|
!1 !== hd.define.sort && this.dataSource.sort(hd.field, order, null != sortFunc ? sortFunc : defaultOrderFn);
|
|
392
419
|
}
|
|
393
420
|
}
|
|
@@ -431,6 +458,15 @@ export class ListTable extends BaseTable {
|
|
|
431
458
|
changeCellValue(col, row, value) {
|
|
432
459
|
const recordIndex = this.getRecordShowIndexByCell(col, row), {field: field} = this.internalProps.layoutMap.getBody(col, row), beforeChangeValue = this.getCellRawValue(col, row);
|
|
433
460
|
this.isHeader(col, row) ? this.internalProps.layoutMap.updateColumnTitle(col, row, value) : this.dataSource.changeFieldValue(value, recordIndex, field, col, row, this);
|
|
461
|
+
const aggregators = this.internalProps.layoutMap.getAggregators(col, row);
|
|
462
|
+
if (aggregators) {
|
|
463
|
+
if (Array.isArray(aggregators)) for (let i = 0; i < (null == aggregators ? void 0 : aggregators.length); i++) aggregators[i].recalculate(); else aggregators.recalculate();
|
|
464
|
+
const aggregatorCells = this.internalProps.layoutMap.getCellAddressHasAggregator(col, row);
|
|
465
|
+
for (let i = 0; i < aggregatorCells.length; i++) {
|
|
466
|
+
const range = this.getCellRange(aggregatorCells[i].col, aggregatorCells[i].row);
|
|
467
|
+
for (let sCol = range.start.col; sCol <= range.end.col; sCol++) for (let sRow = range.start.row; sRow <= range.end.row; sRow++) this.scenegraph.updateCellContent(sCol, sRow);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
434
470
|
const range = this.getCellRange(col, row);
|
|
435
471
|
for (let sCol = range.start.col; sCol <= range.end.col; sCol++) for (let sRow = range.start.row; sRow <= range.end.row; sRow++) this.scenegraph.updateCellContent(sCol, sRow);
|
|
436
472
|
if ("adaptive" === this.widthMode || this.autoFillWidth && this.getAllColsWidth() <= this.tableNoFrameWidth) 0 === this.internalProps._widthResizedColMap.size && this.scenegraph.recalculateColWidths(); else if (!this.internalProps._widthResizedColMap.has(col)) {
|
|
@@ -673,7 +709,7 @@ export class ListTable extends BaseTable {
|
|
|
673
709
|
}
|
|
674
710
|
}
|
|
675
711
|
}
|
|
676
|
-
|
|
712
|
+
_hasCustomRenderOrLayout() {
|
|
677
713
|
var _a, _b, _c, _d;
|
|
678
714
|
const {headerObjects: headerObjects} = this.internalProps.layoutMap;
|
|
679
715
|
if (this.options.customRender) return !0;
|
|
@@ -683,4 +719,25 @@ export class ListTable extends BaseTable {
|
|
|
683
719
|
}
|
|
684
720
|
return !1;
|
|
685
721
|
}
|
|
722
|
+
getAggregateValuesByField(field) {
|
|
723
|
+
const columns = this.internalProps.layoutMap.getColumnByField(field), results = [];
|
|
724
|
+
for (let i = 0; i < columns.length; i++) {
|
|
725
|
+
const aggregator = columns[i].columnDefine.aggregator;
|
|
726
|
+
if (delete columns[i].columnDefine, aggregator) {
|
|
727
|
+
const columnAggregateValue = {
|
|
728
|
+
col: columns[i].col,
|
|
729
|
+
aggregateValue: null
|
|
730
|
+
};
|
|
731
|
+
if (columnAggregateValue.aggregateValue = [], Array.isArray(aggregator)) for (let j = 0; j < aggregator.length; j++) columnAggregateValue.aggregateValue.push({
|
|
732
|
+
aggregationType: aggregator[j].type,
|
|
733
|
+
value: aggregator[j].value()
|
|
734
|
+
}); else columnAggregateValue.aggregateValue.push({
|
|
735
|
+
aggregationType: aggregator.type,
|
|
736
|
+
value: aggregator.value()
|
|
737
|
+
});
|
|
738
|
+
results.push(columnAggregateValue);
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
return results;
|
|
742
|
+
}
|
|
686
743
|
}
|