@ai-table/state 0.0.68 → 0.0.70
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/action/field.d.ts +1 -1
- package/action/field.d.ts.map +1 -1
- package/action/general.d.ts.map +1 -1
- package/action/record.d.ts.map +1 -1
- package/action/view.d.ts.map +1 -1
- package/constants/context-menu-item.d.ts.map +1 -1
- package/esm2022/action/field.mjs +3 -3
- package/esm2022/action/general.mjs +3 -3
- package/esm2022/action/record.mjs +1 -1
- package/esm2022/action/view.mjs +1 -1
- package/esm2022/constants/context-menu-item.mjs +1 -1
- package/esm2022/shared/to-table/index.mjs +1 -1
- package/esm2022/shared/to-yjs/add-node.mjs +2 -3
- package/esm2022/shared/to-yjs/remove-node.mjs +2 -3
- package/esm2022/shared/to-yjs/set-node.mjs +2 -3
- package/esm2022/shared/to-yjs/update-field-value.mjs +1 -1
- package/esm2022/shared/utils/initialize.mjs +2 -3
- package/esm2022/utils/field/add-fields.mjs +4 -4
- package/esm2022/utils/record/add-records.mjs +3 -12
- package/esm2022/utils/record/sort.mjs +1 -2
- package/fesm2022/ai-table-state.mjs +9 -17
- package/fesm2022/ai-table-state.mjs.map +1 -1
- package/package.json +1 -1
- package/shared/to-table/index.d.ts.map +1 -1
- package/shared/to-yjs/add-node.d.ts +1 -2
- package/shared/to-yjs/add-node.d.ts.map +1 -1
- package/shared/to-yjs/remove-node.d.ts +1 -2
- package/shared/to-yjs/remove-node.d.ts.map +1 -1
- package/shared/to-yjs/set-node.d.ts +1 -2
- package/shared/to-yjs/set-node.d.ts.map +1 -1
- package/shared/to-yjs/update-field-value.d.ts +1 -2
- package/shared/to-yjs/update-field-value.d.ts.map +1 -1
- package/shared/utils/initialize.d.ts.map +1 -1
- package/utils/field/add-fields.d.ts.map +1 -1
- package/utils/record/add-records.d.ts +1 -1
- package/utils/record/add-records.d.ts.map +1 -1
- package/utils/record/sort.d.ts.map +1 -1
@@ -1,22 +1,13 @@
|
|
1
1
|
import { getDefaultFieldValue, idsCreator, shortIdsCreator } from '@ai-table/grid';
|
2
|
-
import { getSortRecords } from './sort';
|
3
2
|
import { getSortFields } from '../field/sort-fields';
|
4
3
|
import { Actions } from '../../action';
|
5
4
|
import { getDefaultRecordDataByFilter } from './filter';
|
6
|
-
|
7
|
-
|
8
|
-
const { originId, direction = Direction.after, isDuplicate, count = 1 } = options;
|
5
|
+
export function addRecords(aiTable, trackableEntity, options) {
|
6
|
+
const { originId, isDuplicate, count = 1 } = options || {};
|
9
7
|
const activeView = aiTable.viewsMap()[aiTable.activeViewId()];
|
10
|
-
const records = getSortRecords(aiTable, aiTable.gridData().records, activeView);
|
11
|
-
let addIndex = records.findIndex((item) => item._id === originId);
|
12
|
-
if (direction === Direction.after) {
|
13
|
-
addIndex++;
|
14
|
-
}
|
15
8
|
const newRecordIds = idsCreator(count);
|
16
9
|
const newRecordShortIds = shortIdsCreator(count);
|
17
10
|
const newRecordValues = getDefaultRecordValues(aiTable, isDuplicate, originId);
|
18
|
-
// TODO: 判断如果存在筛选条件,且 newRecordValues 中没有一项满足筛选条件
|
19
|
-
// 把 id 添加到 RECORDS_WILL_HIDDEN 中
|
20
11
|
if (activeView.settings?.conditions?.length) {
|
21
12
|
aiTable.recordsWillHidden?.update((value) => {
|
22
13
|
value.push(...newRecordIds);
|
@@ -46,4 +37,4 @@ export function getDefaultRecordValues(aiTable, isDuplicate = false, recordId) {
|
|
46
37
|
}
|
47
38
|
return newRecordValues;
|
48
39
|
}
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlY29yZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvcmVjb3JkL2FkZC1yZWNvcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR3hELE1BQU0sVUFBVSxVQUFVLENBQUMsT0FBb0IsRUFBRSxlQUFnQyxFQUFFLE9BQTBCO0lBQ3pHLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQzNELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUU5RCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsTUFBTSxlQUFlLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUUvRSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUMvQixNQUFNLFNBQVMsR0FBa0IsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFDOUgsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE9BQW9CLEVBQUUsV0FBVyxHQUFHLEtBQUssRUFBRSxRQUFpQjtJQUMvRixJQUFJLGVBQWUsR0FBK0IsRUFBRSxDQUFDO0lBQ3JELElBQUksV0FBVyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFCLGVBQWUsR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVELENBQUM7U0FBTSxDQUFDO1FBQ0osTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzlELE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBdUIsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6RixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNwRSxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEMsZUFBZSxHQUFHLDRCQUE0QixDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDM0csQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RGVmYXVsdEZpZWxkVmFsdWUsIGlkc0NyZWF0b3IsIHNob3J0SWRzQ3JlYXRvciB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0U29ydEZpZWxkcyB9IGZyb20gJy4uL2ZpZWxkL3NvcnQtZmllbGRzJztcbmltcG9ydCB7IEFjdGlvbnMgfSBmcm9tICcuLi8uLi9hY3Rpb24nO1xuaW1wb3J0IHsgZ2V0RGVmYXVsdFJlY29yZERhdGFCeUZpbHRlciB9IGZyb20gJy4vZmlsdGVyJztcbmltcG9ydCB7IEFkZFJlY29yZE9wdGlvbnMsIEFJVGFibGVSZWNvcmQsIEFJVGFibGVWaWV3RmllbGRzLCBGaWVsZFZhbHVlLCBUcmFja2FibGVFbnRpdHkgfSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkUmVjb3JkcyhhaVRhYmxlOiBBSVZpZXdUYWJsZSwgdHJhY2thYmxlRW50aXR5OiBUcmFja2FibGVFbnRpdHksIG9wdGlvbnM/OiBBZGRSZWNvcmRPcHRpb25zKSB7XG4gICAgY29uc3QgeyBvcmlnaW5JZCwgaXNEdXBsaWNhdGUsIGNvdW50ID0gMSB9ID0gb3B0aW9ucyB8fCB7fTtcbiAgICBjb25zdCBhY3RpdmVWaWV3ID0gYWlUYWJsZS52aWV3c01hcCgpW2FpVGFibGUuYWN0aXZlVmlld0lkKCldO1xuXG4gICAgY29uc3QgbmV3UmVjb3JkSWRzID0gaWRzQ3JlYXRvcihjb3VudCk7XG4gICAgY29uc3QgbmV3UmVjb3JkU2hvcnRJZHMgPSBzaG9ydElkc0NyZWF0b3IoY291bnQpO1xuICAgIGNvbnN0IG5ld1JlY29yZFZhbHVlcyA9IGdldERlZmF1bHRSZWNvcmRWYWx1ZXMoYWlUYWJsZSwgaXNEdXBsaWNhdGUsIG9yaWdpbklkKTtcblxuICAgIGlmIChhY3RpdmVWaWV3LnNldHRpbmdzPy5jb25kaXRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgYWlUYWJsZS5yZWNvcmRzV2lsbEhpZGRlbj8udXBkYXRlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdmFsdWUucHVzaCguLi5uZXdSZWNvcmRJZHMpO1xuICAgICAgICAgICAgcmV0dXJuIFsuLi52YWx1ZV07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZXdSZWNvcmRJZHMuZm9yRWFjaCgoaWQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1JlY29yZDogQUlUYWJsZVJlY29yZCA9IHsgX2lkOiBpZCwgc2hvcnRfaWQ6IG5ld1JlY29yZFNob3J0SWRzW2luZGV4XSwgdmFsdWVzOiBuZXdSZWNvcmRWYWx1ZXMsIC4uLnRyYWNrYWJsZUVudGl0eSB9O1xuICAgICAgICBBY3Rpb25zLmFkZFJlY29yZChhaVRhYmxlLCBuZXdSZWNvcmQpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdFJlY29yZFZhbHVlcyhhaVRhYmxlOiBBSVZpZXdUYWJsZSwgaXNEdXBsaWNhdGUgPSBmYWxzZSwgcmVjb3JkSWQ/OiBzdHJpbmcpIHtcbiAgICBsZXQgbmV3UmVjb3JkVmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGaWVsZFZhbHVlPiA9IHt9O1xuICAgIGlmIChpc0R1cGxpY2F0ZSAmJiByZWNvcmRJZCkge1xuICAgICAgICBuZXdSZWNvcmRWYWx1ZXMgPSBhaVRhYmxlLnJlY29yZHNNYXAoKVtyZWNvcmRJZF0udmFsdWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVZpZXcgPSBhaVRhYmxlLnZpZXdzTWFwKClbYWlUYWJsZS5hY3RpdmVWaWV3SWQoKV07XG4gICAgICAgIGNvbnN0IGZpZWxkcyA9IGdldFNvcnRGaWVsZHMoYWlUYWJsZSwgYWlUYWJsZS5maWVsZHMoKSBhcyBBSVRhYmxlVmlld0ZpZWxkcywgYWN0aXZlVmlldyk7XG4gICAgICAgIGZpZWxkcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIG5ld1JlY29yZFZhbHVlc1tpdGVtLl9pZF0gPSBnZXREZWZhdWx0RmllbGRWYWx1ZShpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHsgY29uZGl0aW9ucywgY29uZGl0aW9uX2xvZ2ljYWwgfSA9IGFjdGl2ZVZpZXcuc2V0dGluZ3MgfHwge307XG4gICAgICAgIGlmIChjb25kaXRpb25zICYmIGNvbmRpdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBuZXdSZWNvcmRWYWx1ZXMgPSBnZXREZWZhdWx0UmVjb3JkRGF0YUJ5RmlsdGVyKG5ld1JlY29yZFZhbHVlcywgY29uZGl0aW9ucywgZmllbGRzLCBjb25kaXRpb25fbG9naWNhbCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ld1JlY29yZFZhbHVlcztcbn1cbiJdfQ==
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import { AITableQueries, FieldModelMap } from '@ai-table/grid';
|
2
2
|
import { sortByViewPosition } from '../common';
|
3
|
-
// import { FieldModelMap } from '../../../../grid/src/utils/field/field';
|
4
3
|
export function getSortRecords(aiTable, records, activeView, sortKeysMap) {
|
5
4
|
if (!activeView?.settings || !activeView.settings.sorts?.length) {
|
6
5
|
return sortByViewPosition(records, activeView);
|
@@ -36,4 +35,4 @@ export function sortRecordsBySortInfo(aiTable, records, activeView, sortKeysMap)
|
|
36
35
|
}
|
37
36
|
return shallowRows;
|
38
37
|
}
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy91dGlscy9yZWNvcmQvc29ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVcsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUvQyxNQUFNLFVBQVUsY0FBYyxDQUMxQixPQUFnQixFQUNoQixPQUEyQixFQUMzQixVQUF1QixFQUN2QixXQUF1RDtJQUV2RCxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzlELE9BQU8sa0JBQWtCLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDcEQsSUFBSSxZQUFZLElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLE9BQU8scUJBQXFCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELE9BQU8sa0JBQWtCLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ2pDLE9BQWdCLEVBQ2hCLE9BQTJCLEVBQzNCLFVBQXVCLEVBQ3ZCLFdBQXVEO0lBRXZELE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUNqQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDL0IsT0FBTyxVQUFVLENBQUMsUUFBUyxDQUFDLEtBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ3BELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxLQUFLLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN0QixPQUFPLEdBQUcsQ0FBQztnQkFDZixDQUFDO2dCQUNELE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlDLE1BQU0sT0FBTyxHQUFHLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFMUMsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNoRixNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25GLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2pELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFO29CQUN6RSxPQUFPO29CQUNQLEtBQUs7aUJBQ1IsQ0FBQyxDQUFDO2dCQUNILE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDaEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ1YsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVGaWVsZFR5cGUsIEFJVGFibGVWaWV3LCBBSVRhYmxlVmlld1JlY29yZHMgfSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZVF1ZXJpZXMsIEZpZWxkTW9kZWxNYXAgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBzb3J0QnlWaWV3UG9zaXRpb24gfSBmcm9tICcuLi9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U29ydFJlY29yZHMoXG4gICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICByZWNvcmRzOiBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgYWN0aXZlVmlldzogQUlUYWJsZVZpZXcsXG4gICAgc29ydEtleXNNYXA/OiBQYXJ0aWFsPFJlY29yZDxBSVRhYmxlRmllbGRUeXBlLCBzdHJpbmc+PlxuKSB7XG4gICAgaWYgKCFhY3RpdmVWaWV3Py5zZXR0aW5ncyB8fCAhYWN0aXZlVmlldy5zZXR0aW5ncy5zb3J0cz8ubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBzb3J0QnlWaWV3UG9zaXRpb24ocmVjb3JkcywgYWN0aXZlVmlldyk7XG4gICAgfVxuICAgIGNvbnN0IHsgaXNfa2VlcF9zb3J0LCBzb3J0cyB9ID0gYWN0aXZlVmlldy5zZXR0aW5ncztcbiAgICBpZiAoaXNfa2VlcF9zb3J0ICYmIHNvcnRzPy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHNvcnRSZWNvcmRzQnlTb3J0SW5mbyhhaVRhYmxlLCByZWNvcmRzLCBhY3RpdmVWaWV3LCBzb3J0S2V5c01hcCk7XG4gICAgfVxuICAgIHJldHVybiBzb3J0QnlWaWV3UG9zaXRpb24ocmVjb3JkcywgYWN0aXZlVmlldyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0UmVjb3Jkc0J5U29ydEluZm8oXG4gICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICByZWNvcmRzOiBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgYWN0aXZlVmlldzogQUlUYWJsZVZpZXcsXG4gICAgc29ydEtleXNNYXA/OiBQYXJ0aWFsPFJlY29yZDxBSVRhYmxlRmllbGRUeXBlLCBzdHJpbmc+PlxuKSB7XG4gICAgY29uc3Qgc2hhbGxvd1Jvd3MgPSBbLi4ucmVjb3Jkc107XG4gICAgaWYgKGFjdGl2ZVZpZXcuc2V0dGluZ3M/LnNvcnRzPy5sZW5ndGgpIHtcbiAgICAgICAgc2hhbGxvd1Jvd3Muc29ydCgocHJldiwgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGFjdGl2ZVZpZXcuc2V0dGluZ3MhLnNvcnRzIS5yZWR1Y2UoKGFjYywgcnVsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gYWlUYWJsZS5maWVsZHNNYXAoKVtydWxlLnNvcnRfYnldO1xuICAgICAgICAgICAgICAgIGlmICghZmllbGQgfHwgYWNjICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkTWV0aG9kID0gRmllbGRNb2RlbE1hcFtmaWVsZC50eXBlXTtcbiAgICAgICAgICAgICAgICBjb25zdCBzb3J0S2V5ID0gc29ydEtleXNNYXA/LltmaWVsZC50eXBlXTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxWYWx1ZTEgPSBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZFZhbHVlKGFpVGFibGUsIFtwcmV2Ll9pZCwgZmllbGQuX2lkXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2VsbFZhbHVlMiA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgW2N1cnJlbnQuX2lkLCBmaWVsZC5faWRdKTtcbiAgICAgICAgICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gYWlUYWJsZS5jb250ZXh0IS5yZWZlcmVuY2VzKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gZmllbGRNZXRob2QuY29tcGFyZShjZWxsVmFsdWUxLCBjZWxsVmFsdWUyLCByZWZlcmVuY2VzLCBzb3J0S2V5LCB7XG4gICAgICAgICAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcyAqIHJ1bGUuZGlyZWN0aW9uO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc2hhbGxvd1Jvd3M7XG4gICAgfVxuICAgIHJldHVybiBzaGFsbG93Um93cztcbn1cbiJdfQ==
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import * as Y from 'yjs';
|
2
2
|
import { UndoManager } from 'yjs';
|
3
|
-
import { getShareTypeNumberPath, ActionName, translateArrayEvent, getSharedRecordIndex, getSharedMapValueIndex, toMapSyncElement, getIdBySystemFieldValuesType, setRecordUpdatedInfo, getPositionsByRecordSyncElement, setRecordPositions as setRecordPositions$1, toRecordSyncElement, AI_TABLE_CONTENT_FIELD_NAME, getIdBySystemFieldValues, getShortIdBySystemFieldValues, getTrackableEntityBySystemFieldValues, getPositionsBySystemFieldValues, getValuesByCustomFieldValues, AITableFilterLogical, AITableFilterOperation, AITableFieldType
|
3
|
+
import { getShareTypeNumberPath, ActionName, translateArrayEvent, getSharedRecordIndex, getSharedMapValueIndex, toMapSyncElement, getIdBySystemFieldValuesType, setRecordUpdatedInfo, getPositionsByRecordSyncElement, setRecordPositions as setRecordPositions$1, toRecordSyncElement, AI_TABLE_CONTENT_FIELD_NAME, getIdBySystemFieldValues, getShortIdBySystemFieldValues, getTrackableEntityBySystemFieldValues, getPositionsBySystemFieldValues, getValuesByCustomFieldValues, AITableFilterLogical, AITableFilterOperation, AITableFieldType } from '@ai-table/utils';
|
4
4
|
import * as i0 from '@angular/core';
|
5
5
|
import { signal, Injectable } from '@angular/core';
|
6
6
|
import { FieldModelMap, AITableQueries, isSystemField, getDefaultFieldValue, idCreator, shortIdCreator, generateNewName, idsCreator, shortIdsCreator, AI_TABLE_GRID_FIELD_SERVICE_MAP, AITable, isMac, buildClipboardData, writeToClipboard, getI18nTextByKey, AITableGridI18nKey, writeToAITable } from '@ai-table/grid';
|
@@ -459,7 +459,6 @@ function generateCopyName(aiTable, existNames, name) {
|
|
459
459
|
return newName;
|
460
460
|
}
|
461
461
|
|
462
|
-
// import { FieldModelMap } from '../../../../grid/src/utils/field/field';
|
463
462
|
function getSortRecords(aiTable, records, activeView, sortKeysMap) {
|
464
463
|
if (!activeView?.settings || !activeView.settings.sorts?.length) {
|
465
464
|
return sortByViewPosition(records, activeView);
|
@@ -665,12 +664,12 @@ function getFieldsSizeMap(fields, activeView) {
|
|
665
664
|
return fieldsSizeMap;
|
666
665
|
}
|
667
666
|
|
668
|
-
function addField(aiTable, field, originId,
|
667
|
+
function addField(aiTable, field, originId, isDuplicate) {
|
669
668
|
const operation = {
|
670
669
|
type: ActionName.AddField,
|
671
670
|
field,
|
672
671
|
originId,
|
673
|
-
|
672
|
+
isDuplicate
|
674
673
|
};
|
675
674
|
const existField = aiTable.fields().some((item) => {
|
676
675
|
return item._id === field._id;
|
@@ -771,7 +770,7 @@ const apply = (aiTable, records, fields, views, action) => {
|
|
771
770
|
fields.push(newField);
|
772
771
|
records.forEach((item) => {
|
773
772
|
item.values[newField._id] =
|
774
|
-
action.
|
773
|
+
action.isDuplicate && action.originId ? item.values[action.originId] : getDefaultFieldValue(action.field);
|
775
774
|
});
|
776
775
|
break;
|
777
776
|
}
|
@@ -1126,7 +1125,7 @@ function sortViews(data) {
|
|
1126
1125
|
}
|
1127
1126
|
|
1128
1127
|
function addFields(aiTable, options, updatedInfo) {
|
1129
|
-
const { defaultValue, isDuplicate,
|
1128
|
+
const { defaultValue, isDuplicate, originId } = options;
|
1130
1129
|
const fields = aiTable.gridData().fields;
|
1131
1130
|
const fieldsMap = aiTable.fieldsMap();
|
1132
1131
|
const activeViewId = aiTable.activeViewId();
|
@@ -1135,7 +1134,7 @@ function addFields(aiTable, options, updatedInfo) {
|
|
1135
1134
|
newField._id = idCreator();
|
1136
1135
|
}
|
1137
1136
|
if (isDuplicate) {
|
1138
|
-
const currentFieldIndex = fields.findIndex((item) => item._id ===
|
1137
|
+
const currentFieldIndex = fields.findIndex((item) => item._id === originId);
|
1139
1138
|
newField.positions = {
|
1140
1139
|
...newField.positions,
|
1141
1140
|
[activeViewId]: getPosition(fields, activeViewId, currentFieldIndex + 1)
|
@@ -1144,7 +1143,7 @@ function addFields(aiTable, options, updatedInfo) {
|
|
1144
1143
|
else {
|
1145
1144
|
newField.positions = createDefaultPositions(aiTable.views(), aiTable.activeViewId(), aiTable.gridData().fields, fields.length);
|
1146
1145
|
}
|
1147
|
-
Actions.addField(aiTable, newField,
|
1146
|
+
Actions.addField(aiTable, newField, originId, isDuplicate);
|
1148
1147
|
updateRecordsUpdatedInfo(aiTable, updatedInfo);
|
1149
1148
|
}
|
1150
1149
|
|
@@ -1160,19 +1159,12 @@ const buildRemoveFieldItem = (aiTable, getUpdatedInfo) => {
|
|
1160
1159
|
};
|
1161
1160
|
};
|
1162
1161
|
|
1163
|
-
function addRecords(aiTable,
|
1164
|
-
const { originId,
|
1162
|
+
function addRecords(aiTable, trackableEntity, options) {
|
1163
|
+
const { originId, isDuplicate, count = 1 } = options || {};
|
1165
1164
|
const activeView = aiTable.viewsMap()[aiTable.activeViewId()];
|
1166
|
-
const records = getSortRecords(aiTable, aiTable.gridData().records, activeView);
|
1167
|
-
let addIndex = records.findIndex((item) => item._id === originId);
|
1168
|
-
if (direction === Direction.after) {
|
1169
|
-
addIndex++;
|
1170
|
-
}
|
1171
1165
|
const newRecordIds = idsCreator(count);
|
1172
1166
|
const newRecordShortIds = shortIdsCreator(count);
|
1173
1167
|
const newRecordValues = getDefaultRecordValues(aiTable, isDuplicate, originId);
|
1174
|
-
// TODO: 判断如果存在筛选条件,且 newRecordValues 中没有一项满足筛选条件
|
1175
|
-
// 把 id 添加到 RECORDS_WILL_HIDDEN 中
|
1176
1168
|
if (activeView.settings?.conditions?.length) {
|
1177
1169
|
aiTable.recordsWillHidden?.update((value) => {
|
1178
1170
|
value.push(...newRecordIds);
|