@contrail/documents 1.1.11 → 1.1.13
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.
|
@@ -12,6 +12,12 @@ export declare class DocumentElementSortOrderService {
|
|
|
12
12
|
static updateSortOrder(sortOrder: string[], { sortIds, targetSortIndex, addAfterElementId }: SortOrderChange): string[];
|
|
13
13
|
static updateSortOrderByArray(sortOrder: string[], sorts: SortOrderChange[]): string[];
|
|
14
14
|
static sortDocumentElements(elements: DocumentElement[], sorts?: SortOrderChange[], sort?: SortOrderChange): DocumentElement[];
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
static addFrameMembersToSortArray(elements: DocumentElement[], frames: Map<string, {
|
|
16
|
+
id: string;
|
|
17
|
+
elements: DocumentElement[];
|
|
18
|
+
}>, sorts: SortOrderChange[]): SortOrderChange[];
|
|
19
|
+
static addFrameMembersToSort(elements: DocumentElement[], frames: Map<string, {
|
|
20
|
+
id: string;
|
|
21
|
+
elements: DocumentElement[];
|
|
22
|
+
}>, sort: SortOrderChange): string[];
|
|
17
23
|
}
|
|
@@ -3,44 +3,40 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DocumentElementSortOrderService = void 0;
|
|
4
4
|
class DocumentElementSortOrderService {
|
|
5
5
|
static removeSortIdsFromSortOrder(sortOrder, sortIds) {
|
|
6
|
-
sortIds
|
|
7
|
-
|
|
8
|
-
if (sourceSortIndex > -1) {
|
|
9
|
-
sortOrder.splice(sourceSortIndex, 1);
|
|
10
|
-
}
|
|
11
|
-
});
|
|
6
|
+
const sortIdsSet = new Set(sortIds);
|
|
7
|
+
return sortOrder.filter(id => !sortIdsSet.has(id));
|
|
12
8
|
}
|
|
13
9
|
static updateSortOrder(sortOrder, { sortIds, targetSortIndex, addAfterElementId }) {
|
|
10
|
+
let newSortOrder = [...sortOrder];
|
|
14
11
|
if (addAfterElementId) {
|
|
15
12
|
sortIds = sortIds;
|
|
16
|
-
this.removeSortIdsFromSortOrder(
|
|
17
|
-
const lastIndex =
|
|
13
|
+
newSortOrder = this.removeSortIdsFromSortOrder(newSortOrder, sortIds);
|
|
14
|
+
const lastIndex = newSortOrder.lastIndexOf(addAfterElementId);
|
|
18
15
|
if (lastIndex > -1) {
|
|
19
|
-
|
|
16
|
+
newSortOrder.splice(lastIndex + 1, 0, ...sortIds);
|
|
20
17
|
}
|
|
21
18
|
else {
|
|
22
|
-
|
|
19
|
+
newSortOrder.push(...sortIds);
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
22
|
else if (targetSortIndex != null && targetSortIndex >= 0) {
|
|
26
23
|
sortIds = sortIds;
|
|
27
|
-
this.removeSortIdsFromSortOrder(
|
|
28
|
-
|
|
24
|
+
newSortOrder = this.removeSortIdsFromSortOrder(newSortOrder, sortIds);
|
|
25
|
+
newSortOrder.splice(targetSortIndex, 0, ...sortIds);
|
|
29
26
|
}
|
|
30
27
|
else if (targetSortIndex === -1) {
|
|
31
|
-
this.removeSortIdsFromSortOrder(
|
|
28
|
+
newSortOrder = this.removeSortIdsFromSortOrder(newSortOrder, sortIds);
|
|
32
29
|
}
|
|
33
30
|
else {
|
|
34
31
|
sortIds = sortIds;
|
|
35
32
|
const sortedMoves = [...sortIds].sort((a, b) => a.index - b.index);
|
|
36
|
-
|
|
37
|
-
sortedMoves.forEach((sortId) => {
|
|
33
|
+
sortedMoves.forEach(sortId => {
|
|
38
34
|
const currentIndex = newSortOrder.indexOf(sortId.id);
|
|
39
35
|
if (currentIndex > -1) {
|
|
40
36
|
newSortOrder.splice(currentIndex, 1);
|
|
41
37
|
}
|
|
42
38
|
});
|
|
43
|
-
sortedMoves.forEach(
|
|
39
|
+
sortedMoves.forEach(sortId => {
|
|
44
40
|
if (sortId.index <= newSortOrder.length) {
|
|
45
41
|
newSortOrder.splice(sortId.index, 0, sortId.id);
|
|
46
42
|
}
|
|
@@ -48,9 +44,8 @@ class DocumentElementSortOrderService {
|
|
|
48
44
|
newSortOrder.push(sortId.id);
|
|
49
45
|
}
|
|
50
46
|
});
|
|
51
|
-
sortOrder = newSortOrder;
|
|
52
47
|
}
|
|
53
|
-
return
|
|
48
|
+
return newSortOrder;
|
|
54
49
|
}
|
|
55
50
|
static updateSortOrderByArray(sortOrder, sorts) {
|
|
56
51
|
for (const sort of sorts) {
|
|
@@ -63,10 +58,10 @@ class DocumentElementSortOrderService {
|
|
|
63
58
|
return elements;
|
|
64
59
|
let newSortOrder = [];
|
|
65
60
|
if ((sorts === null || sorts === void 0 ? void 0 : sorts.length) > 0) {
|
|
66
|
-
newSortOrder = this.updateSortOrderByArray(elements.map(
|
|
61
|
+
newSortOrder = this.updateSortOrderByArray(elements.map(element => element.id), sorts);
|
|
67
62
|
}
|
|
68
63
|
else if (sort) {
|
|
69
|
-
newSortOrder = this.updateSortOrder(elements.map(
|
|
64
|
+
newSortOrder = this.updateSortOrder(elements.map(element => element.id), sort);
|
|
70
65
|
}
|
|
71
66
|
const newSortOrderIndexMap = new Map(newSortOrder.map((id, index) => [id, index]));
|
|
72
67
|
const lastIndex = elements.length;
|
|
@@ -85,17 +80,17 @@ class DocumentElementSortOrderService {
|
|
|
85
80
|
}
|
|
86
81
|
static addFrameMembersToSort(elements, frames, sort) {
|
|
87
82
|
var _a;
|
|
88
|
-
|
|
83
|
+
let sortIds = sort.sortIds;
|
|
89
84
|
if ((elements === null || elements === void 0 ? void 0 : elements.length) > 0 && (frames === null || frames === void 0 ? void 0 : frames.size) > 0) {
|
|
90
|
-
const elementsMap = new Map(elements.map(
|
|
85
|
+
const elementsMap = new Map(elements.map(element => [element.id, element]));
|
|
91
86
|
if (sort.targetSortIndex != null || sort.addAfterElementId != null) {
|
|
92
|
-
const frameIds = sortIds.filter(
|
|
87
|
+
const frameIds = sortIds.filter(id => { var _a; return ((_a = elementsMap.get(id)) === null || _a === void 0 ? void 0 : _a.type) === 'frame'; });
|
|
93
88
|
if ((frameIds === null || frameIds === void 0 ? void 0 : frameIds.length) > 0) {
|
|
94
89
|
for (const frameId of frameIds) {
|
|
95
90
|
const frame = frames.get(frameId);
|
|
96
|
-
const frameMemberIds = (_a = frame === null || frame === void 0 ? void 0 : frame.elements) === null || _a === void 0 ? void 0 : _a.map(
|
|
91
|
+
const frameMemberIds = (_a = frame === null || frame === void 0 ? void 0 : frame.elements) === null || _a === void 0 ? void 0 : _a.map(e => e.id);
|
|
97
92
|
if (frame && (frameMemberIds === null || frameMemberIds === void 0 ? void 0 : frameMemberIds.length) > 0) {
|
|
98
|
-
this.removeSortIdsFromSortOrder(sortIds, frameMemberIds);
|
|
93
|
+
sortIds = this.removeSortIdsFromSortOrder(sortIds, frameMemberIds);
|
|
99
94
|
sortIds.splice(sortIds.indexOf(frameId) + 1, 0, ...frameMemberIds);
|
|
100
95
|
}
|
|
101
96
|
}
|