@visactor/vtable 1.26.7 → 1.26.8
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 +1 -1
- package/cjs/ListTable.js +21 -13
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.js +16 -16
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.d.ts +1 -1
- package/cjs/PivotTable.js +65 -63
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/body-helper/body-helper.js +2 -1
- package/cjs/components/index.js +1 -2
- package/cjs/core/BaseTable.js +2 -2
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/record-helper.d.ts +1 -1
- package/cjs/core/record-helper.js +60 -12
- package/cjs/core/record-helper.js.map +1 -1
- package/cjs/core/tableHelper.js +2 -1
- package/cjs/data/DataSource.d.ts +3 -1
- package/cjs/data/DataSource.js +71 -23
- package/cjs/data/DataSource.js.map +1 -1
- package/cjs/dataset/dataset.d.ts +9 -1
- package/cjs/dataset/dataset.js +344 -187
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/event/event.d.ts +94 -8
- package/cjs/event/event.js +698 -191
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/helper.js +1 -1
- package/cjs/event/media-click.js +4 -1
- package/cjs/event/media-click.js.map +1 -1
- package/cjs/event/scroll.js +1 -1
- package/cjs/event/sparkline-event.js +1 -2
- package/cjs/event/util.js +2 -2
- package/cjs/event/util.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/pivot-header-layout.js +33 -17
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/plugins/custom-cell-style.js +1 -1
- package/cjs/plugins/index.js +2 -1
- package/cjs/plugins/interface.js +1 -1
- package/cjs/plugins/invert-highlight.js +1 -1
- package/cjs/plugins/list-tree-stick-cell.js +1 -1
- package/cjs/plugins/plugin-manager.js +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +27 -10
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js +14 -10
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +17 -4
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
- package/cjs/scenegraph/layout/compute-col-width.js +6 -1
- package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js +11 -3
- package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.d.ts +4 -3
- package/cjs/scenegraph/layout/update-height.js +43 -29
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.d.ts +2 -1
- package/cjs/scenegraph/layout/update-width.js +49 -37
- package/cjs/scenegraph/layout/update-width.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +2 -2
- package/cjs/scenegraph/scenegraph.js +6 -5
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/utils/corner-custom-merge.d.ts +10 -0
- package/cjs/scenegraph/utils/corner-custom-merge.js +68 -0
- package/cjs/scenegraph/utils/corner-custom-merge.js.map +1 -0
- package/cjs/state/resize/update-resize-column.js +25 -13
- package/cjs/state/resize/update-resize-column.js.map +1 -1
- package/cjs/state/resize/update-resize-row.js +24 -12
- package/cjs/state/resize/update-resize-row.js.map +1 -1
- package/cjs/themes.d.ts +4 -2
- package/cjs/themes.js +12 -4
- package/cjs/themes.js.map +1 -1
- package/cjs/tools/get-data-path/create-dataset.js +4 -4
- package/cjs/tools/get-data-path/create-dataset.js.map +1 -1
- package/cjs/tools/get-data-path/index.js +4 -4
- package/cjs/tools/get-data-path/index.js.map +1 -1
- package/cjs/tools/style.d.ts +3 -1
- package/cjs/tools/style.js +2 -2
- package/cjs/tools/style.js.map +1 -1
- package/cjs/ts-types/common.d.ts +1 -0
- package/cjs/ts-types/common.js.map +1 -1
- package/cjs/ts-types/dataset/aggregation.d.ts +1 -0
- package/cjs/ts-types/dataset/aggregation.js +21 -3
- package/cjs/ts-types/dataset/aggregation.js.map +1 -1
- package/cjs/ts-types/new-data-set.d.ts +1 -0
- package/cjs/ts-types/new-data-set.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +3 -2
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +2224 -779
- package/dist/vtable.min.js +1 -1
- package/es/ListTable.d.ts +1 -1
- package/es/ListTable.js +21 -15
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.js +16 -16
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.d.ts +1 -1
- package/es/PivotTable.js +65 -63
- package/es/PivotTable.js.map +1 -1
- package/es/body-helper/body-helper.js +2 -1
- package/es/components/index.js +1 -2
- package/es/core/BaseTable.js +2 -2
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/record-helper.d.ts +1 -1
- package/es/core/record-helper.js +60 -12
- package/es/core/record-helper.js.map +1 -1
- package/es/core/tableHelper.js +2 -1
- package/es/data/DataSource.d.ts +3 -1
- package/es/data/DataSource.js +70 -23
- package/es/data/DataSource.js.map +1 -1
- package/es/dataset/dataset.d.ts +9 -1
- package/es/dataset/dataset.js +341 -187
- package/es/dataset/dataset.js.map +1 -1
- package/es/event/event.d.ts +94 -8
- package/es/event/event.js +696 -191
- package/es/event/event.js.map +1 -1
- package/es/event/helper.js +1 -1
- package/es/event/media-click.js +4 -1
- package/es/event/media-click.js.map +1 -1
- package/es/event/scroll.js +1 -1
- package/es/event/sparkline-event.js +1 -2
- package/es/event/util.js +2 -2
- package/es/event/util.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/pivot-header-layout.js +29 -17
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/plugins/custom-cell-style.js +1 -1
- package/es/plugins/index.js +2 -1
- package/es/plugins/interface.js +1 -1
- package/es/plugins/invert-highlight.js +1 -1
- package/es/plugins/list-tree-stick-cell.js +1 -1
- package/es/plugins/plugin-manager.js +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +23 -9
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.js +13 -8
- package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +17 -5
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
- package/es/scenegraph/layout/compute-col-width.js +6 -1
- package/es/scenegraph/layout/compute-col-width.js.map +1 -1
- package/es/scenegraph/layout/compute-row-height.js +11 -3
- package/es/scenegraph/layout/compute-row-height.js.map +1 -1
- package/es/scenegraph/layout/update-height.d.ts +4 -3
- package/es/scenegraph/layout/update-height.js +40 -26
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-width.d.ts +2 -1
- package/es/scenegraph/layout/update-width.js +46 -34
- package/es/scenegraph/layout/update-width.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +2 -2
- package/es/scenegraph/scenegraph.js +7 -5
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/utils/corner-custom-merge.d.ts +10 -0
- package/es/scenegraph/utils/corner-custom-merge.js +59 -0
- package/es/scenegraph/utils/corner-custom-merge.js.map +1 -0
- package/es/state/resize/update-resize-column.js +19 -10
- package/es/state/resize/update-resize-column.js.map +1 -1
- package/es/state/resize/update-resize-row.js +19 -9
- package/es/state/resize/update-resize-row.js.map +1 -1
- package/es/themes.d.ts +4 -2
- package/es/themes.js +11 -3
- package/es/themes.js.map +1 -1
- package/es/tools/get-data-path/create-dataset.js +4 -4
- package/es/tools/get-data-path/create-dataset.js.map +1 -1
- package/es/tools/get-data-path/index.js +4 -4
- package/es/tools/get-data-path/index.js.map +1 -1
- package/es/tools/style.d.ts +3 -1
- package/es/tools/style.js +2 -2
- package/es/tools/style.js.map +1 -1
- package/es/ts-types/common.d.ts +1 -0
- package/es/ts-types/common.js.map +1 -1
- package/es/ts-types/dataset/aggregation.d.ts +1 -0
- package/es/ts-types/dataset/aggregation.js +21 -3
- package/es/ts-types/dataset/aggregation.js.map +1 -1
- package/es/ts-types/new-data-set.d.ts +1 -0
- package/es/ts-types/new-data-set.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +3 -2
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +9 -9
package/es/data/DataSource.js
CHANGED
|
@@ -6,9 +6,9 @@ import { applyChainSafe, getOrApply, obj, isPromise, emptyFn } from "../tools/he
|
|
|
6
6
|
|
|
7
7
|
import { EventTarget } from "../event/EventTarget";
|
|
8
8
|
|
|
9
|
-
import { computeChildrenNodeLength,
|
|
9
|
+
import { computeChildrenNodeLength, isAllDigits } from "../tools/util";
|
|
10
10
|
|
|
11
|
-
import { arrayEqual, cloneDeep, isNumber,
|
|
11
|
+
import { arrayEqual, cloneDeep, isNumber, isValid } from "@visactor/vutils";
|
|
12
12
|
|
|
13
13
|
import { RecordAggregator, SumAggregator, CountAggregator, MaxAggregator, MinAggregator, AvgAggregator, NoneAggregator, CustomAggregator } from "../ts-types/dataset/aggregation";
|
|
14
14
|
|
|
@@ -41,15 +41,15 @@ export function getField(record, field, col, row, table, promiseCallBack) {
|
|
|
41
41
|
if ((void 0 === fieldGet || "" === fieldGet) && Array.isArray(record)) {
|
|
42
42
|
return record[col - table.leftRowSeriesNumberCount];
|
|
43
43
|
}
|
|
44
|
-
if (
|
|
44
|
+
if (Array.isArray(fieldGet)) {
|
|
45
|
+
return getValue(getRecordFieldValue(record, fieldGet), promiseCallBack);
|
|
46
|
+
}
|
|
47
|
+
if (isRecordContainer(record) && fieldGet in record) {
|
|
45
48
|
return getValue(record[fieldGet], promiseCallBack);
|
|
46
49
|
}
|
|
47
50
|
if ("function" == typeof fieldGet) {
|
|
48
51
|
return getValue(fieldGet(record, col, row, table), promiseCallBack);
|
|
49
52
|
}
|
|
50
|
-
if (Array.isArray(fieldGet)) {
|
|
51
|
-
return getValue(getValueByPath(record, [ ...fieldGet ]), promiseCallBack);
|
|
52
|
-
}
|
|
53
53
|
const fieldArray = `${fieldGet}`.split(".");
|
|
54
54
|
if (fieldArray.length <= 1) {
|
|
55
55
|
return getValue(record[fieldGet], promiseCallBack);
|
|
@@ -57,6 +57,56 @@ export function getField(record, field, col, row, table, promiseCallBack) {
|
|
|
57
57
|
return getValue(applyChainSafe(record, ((val, name) => getField(val, name, col, row, table, emptyFn)), ...fieldArray), promiseCallBack);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
function isRecordContainer(value) {
|
|
61
|
+
return null !== value && "object" == typeof value;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function getRecordFieldPath(field) {
|
|
65
|
+
return Array.isArray(field) ? field : "string" == typeof field && field.includes(".") ? field.split(".") : void 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function hasRecordField(record, field) {
|
|
69
|
+
if (!isRecordContainer(record)) return !1;
|
|
70
|
+
const path = getRecordFieldPath(field);
|
|
71
|
+
if (!Array.isArray(field) && field in record) return !0;
|
|
72
|
+
if (!path) return !1;
|
|
73
|
+
let target = record;
|
|
74
|
+
for (const key of path) {
|
|
75
|
+
if (!isRecordContainer(target) || !(key in target)) return !1;
|
|
76
|
+
target = target[key];
|
|
77
|
+
}
|
|
78
|
+
return !0;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function getRecordFieldValue(record, field) {
|
|
82
|
+
if (null == record) return;
|
|
83
|
+
const path = getRecordFieldPath(field);
|
|
84
|
+
return !Array.isArray(field) && isRecordContainer(record) && field in record ? record[field] : path ? path.reduce(((current, key) => null == current ? void 0 : current[key]), record) : record[field];
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function setRecordProperty(record, key, value) {
|
|
88
|
+
"__proto__" !== key && "constructor" !== key && "prototype" !== key ? record[key] = value : Object.defineProperty(record, key, {
|
|
89
|
+
configurable: !0,
|
|
90
|
+
enumerable: !0,
|
|
91
|
+
value: value,
|
|
92
|
+
writable: !0
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export function setRecordFieldValue(record, field, value) {
|
|
97
|
+
if (null == record) return;
|
|
98
|
+
const path = getRecordFieldPath(field);
|
|
99
|
+
if (!path || !Array.isArray(field) && isRecordContainer(record) && field in record) return void setRecordProperty(record, field, value);
|
|
100
|
+
if (0 === path.length) return;
|
|
101
|
+
let target = record;
|
|
102
|
+
for (let i = 0; i < path.length - 1; i++) {
|
|
103
|
+
const key = path[i];
|
|
104
|
+
Object.prototype.hasOwnProperty.call(target, key) && null !== target[key] && "object" == typeof target[key] || setRecordProperty(target, key, {}),
|
|
105
|
+
target = target[key];
|
|
106
|
+
}
|
|
107
|
+
setRecordProperty(target, path[path.length - 1], value);
|
|
108
|
+
}
|
|
109
|
+
|
|
60
110
|
function _getIndex(sortedIndexMap, index) {
|
|
61
111
|
if (!sortedIndexMap) return index;
|
|
62
112
|
const mapIndex = sortedIndexMap[index];
|
|
@@ -308,23 +358,22 @@ export class DataSource extends EventTarget {
|
|
|
308
358
|
return childrenLength;
|
|
309
359
|
}
|
|
310
360
|
changeFieldValue(value, index, field, col, row, table) {
|
|
311
|
-
var _a;
|
|
312
361
|
if (null !== field && index >= 0) {
|
|
313
362
|
const dataIndex = this.getIndexKey(index);
|
|
314
363
|
if (this.cacheBeforeChangedRecord(dataIndex, table), void 0 !== field && "" !== field || (field = col - table.leftRowSeriesNumberCount),
|
|
315
|
-
"string" == typeof field || "number" == typeof field) {
|
|
316
|
-
const beforeChangedValue =
|
|
364
|
+
"string" == typeof field || "number" == typeof field || Array.isArray(field)) {
|
|
365
|
+
const beforeChangedValue = getRecordFieldValue(this.beforeChangedRecordsMap.get(dataIndex.toString()), field), record = this.getOriginalRecord(dataIndex);
|
|
317
366
|
let formatValue = value;
|
|
318
|
-
"number" == typeof beforeChangedValue && isAllDigits(value) && (formatValue = parseFloat(value)),
|
|
319
|
-
isPromise(record)
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
this.records[dataIndex]
|
|
367
|
+
if ("number" == typeof beforeChangedValue && isAllDigits(value) && (formatValue = parseFloat(value)),
|
|
368
|
+
isPromise(record)) return record.then((record => (setRecordFieldValue(record, field, formatValue),
|
|
369
|
+
formatValue))).catch((err => {}));
|
|
370
|
+
record ? setRecordFieldValue(record, field, formatValue) : (this.records[dataIndex] = "Array" === this.addRecordRule ? [] : {},
|
|
371
|
+
setRecordFieldValue(this.records[dataIndex], field, formatValue));
|
|
323
372
|
}
|
|
324
373
|
}
|
|
325
374
|
}
|
|
326
375
|
changeFieldValueByRecordIndex(value, recordIndex, field, table) {
|
|
327
|
-
var _a, _b, _c
|
|
376
|
+
var _a, _b, _c;
|
|
328
377
|
if (null === field) return;
|
|
329
378
|
if (null == recordIndex) return;
|
|
330
379
|
const rawKey = recordIndex.toString();
|
|
@@ -332,12 +381,12 @@ export class DataSource extends EventTarget {
|
|
|
332
381
|
const rawRecords = Array.isArray(null === (_a = this.dataSourceObj) || void 0 === _a ? void 0 : _a.records) ? this.dataSourceObj.records : null, originRecord = rawRecords ? Array.isArray(recordIndex) ? getValueFromDeepArray(rawRecords, recordIndex) : rawRecords[recordIndex] : void 0;
|
|
333
382
|
this.beforeChangedRecordsMap.set(rawKey, null !== (_b = cloneDeep(originRecord, void 0, [ "vtable_gantt_linkedFrom", "vtable_gantt_linkedTo" ])) && void 0 !== _b ? _b : {});
|
|
334
383
|
}
|
|
335
|
-
if ("string" == typeof field || "number" == typeof field) {
|
|
336
|
-
const beforeChangedValue =
|
|
384
|
+
if ("string" == typeof field || "number" == typeof field || Array.isArray(field)) {
|
|
385
|
+
const beforeChangedValue = getRecordFieldValue(this.beforeChangedRecordsMap.get(rawKey), field), rawRecords = Array.isArray(null === (_c = this.dataSourceObj) || void 0 === _c ? void 0 : _c.records) ? this.dataSourceObj.records : null, record = rawRecords ? Array.isArray(recordIndex) ? getValueFromDeepArray(rawRecords, recordIndex) : rawRecords[recordIndex] : void 0;
|
|
337
386
|
let formatValue = value;
|
|
338
387
|
"number" == typeof beforeChangedValue && isAllDigits(value) && (formatValue = parseFloat(value)),
|
|
339
|
-
record ? record
|
|
340
|
-
rawRecords[recordIndex]
|
|
388
|
+
record ? setRecordFieldValue(record, field, formatValue) : rawRecords && "number" == typeof recordIndex && (rawRecords[recordIndex] = "Array" === this.addRecordRule ? [] : {},
|
|
389
|
+
setRecordFieldValue(rawRecords[recordIndex], field, formatValue));
|
|
341
390
|
}
|
|
342
391
|
}
|
|
343
392
|
cacheBeforeChangedRecord(dataIndex, table) {
|
|
@@ -730,8 +779,7 @@ export class DataSource extends EventTarget {
|
|
|
730
779
|
hasOriginalField(index, field) {
|
|
731
780
|
if (null === field) return !1;
|
|
732
781
|
if ("function" == typeof field) return !0;
|
|
733
|
-
|
|
734
|
-
return Boolean(record && field in record);
|
|
782
|
+
return hasRecordField(this.getOriginalRecord(index), field);
|
|
735
783
|
}
|
|
736
784
|
fieldPromiseCallBack(_index, _field, _value) {}
|
|
737
785
|
recordPromiseCallBack(_index, _record) {}
|
|
@@ -874,5 +922,4 @@ export function sortRecordIndexs(recordIndexs, sort) {
|
|
|
874
922
|
}
|
|
875
923
|
return 0;
|
|
876
924
|
}));
|
|
877
|
-
}
|
|
878
|
-
//# sourceMappingURL=DataSource.js.map
|
|
925
|
+
}
|