@lionweb/class-core 0.7.2-beta.4 → 0.7.2-beta.6
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/CHANGELOG.md +1 -1
- package/dist/deltas/appliers.d.ts +1 -1
- package/dist/deltas/appliers.js +1 -1
- package/dist/value-managers/containments.d.ts +2 -1
- package/dist/value-managers/containments.d.ts.map +1 -1
- package/dist/value-managers/containments.js +76 -85
- package/dist/value-managers/containments.js.map +1 -1
- package/package.json +4 -4
- package/src/deltas/appliers.ts +1 -1
- package/src/value-managers/containments.ts +67 -76
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## 0.7.2
|
|
4
4
|
|
|
5
5
|
* Implement a `propertyValueSerializerWith` function that produces a `PropertyValueSerializer` instance to serialize properties’ values with, properly dealing with enumerations as well.
|
|
6
|
-
* Ensure that deltas w.r.t. features of a node are only emitted when that node is
|
|
6
|
+
* Ensure that deltas w.r.t. features of a node are only emitted when that node is *attached*, i.e. it is a partition itself, or (in-/)directly contained by a partition.
|
|
7
7
|
* (Use the modified `MultiRef<T>` type instead of `SingleRef<T>[]` — this is an idempotent change.)
|
|
8
8
|
|
|
9
9
|
|
|
@@ -25,7 +25,7 @@ export declare const applyDeltasWithLookup: (idMapping: IdMapping, deltas: IDelt
|
|
|
25
25
|
/**
|
|
26
26
|
* Applies the given {@link Delta delta} to {@link nodes INodeBase} given as the values of a {@link IdMapping ID mapping id → node}.
|
|
27
27
|
* Note that the delta is *not* applied to the original nodes (object-)referenced by the deltas, but to the nodes present in the ID mapping.
|
|
28
|
-
* These can be distinct from the original nodes, e.g. after a roundtrip to an external model processor.
|
|
28
|
+
* These can be distinct from the original nodes, e.g. after a roundtrip to an external model processor.
|
|
29
29
|
* @usage should look as follows.
|
|
30
30
|
*
|
|
31
31
|
* ```typescript
|
package/dist/deltas/appliers.js
CHANGED
|
@@ -448,7 +448,7 @@ export const applyDeltasWithLookup = (idMapping, deltas, updatablePartitions) =>
|
|
|
448
448
|
/**
|
|
449
449
|
* Applies the given {@link Delta delta} to {@link nodes INodeBase} given as the values of a {@link IdMapping ID mapping id → node}.
|
|
450
450
|
* Note that the delta is *not* applied to the original nodes (object-)referenced by the deltas, but to the nodes present in the ID mapping.
|
|
451
|
-
* These can be distinct from the original nodes, e.g. after a roundtrip to an external model processor.
|
|
451
|
+
* These can be distinct from the original nodes, e.g. after a roundtrip to an external model processor.
|
|
452
452
|
* @usage should look as follows.
|
|
453
453
|
*
|
|
454
454
|
* ```typescript
|
|
@@ -21,6 +21,7 @@ export declare abstract class SingleContainmentValueManager<T extends INodeBase>
|
|
|
21
21
|
isSet(): boolean;
|
|
22
22
|
setDirectly(newChild: T | undefined): void;
|
|
23
23
|
addDirectly(newChild: T): void;
|
|
24
|
+
protected setInternal(newChild: T | undefined): void;
|
|
24
25
|
replaceWith(movedChild: T): void;
|
|
25
26
|
}
|
|
26
27
|
export declare class OptionalSingleContainmentValueManager<T extends INodeBase> extends SingleContainmentValueManager<T> {
|
|
@@ -31,7 +32,7 @@ export declare class OptionalSingleContainmentValueManager<T extends INodeBase>
|
|
|
31
32
|
export declare class RequiredSingleContainmentValueManager<T extends INodeBase> extends SingleContainmentValueManager<T> {
|
|
32
33
|
constructor(containment: Containment, container: INodeBase);
|
|
33
34
|
get(): T;
|
|
34
|
-
set(newChild: T
|
|
35
|
+
set(newChild: T): void;
|
|
35
36
|
}
|
|
36
37
|
export declare abstract class MultiContainmentValueManager<T extends INodeBase> extends ContainmentValueManager<T> {
|
|
37
38
|
protected constructor(containment: Containment, container: INodeBase);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containments.d.ts","sourceRoot":"","sources":["../../src/value-managers/containments.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAY5C,OAAO,EAAc,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAG3D;;GAEG;AACH,8BAAsB,uBAAuB,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,mBAAmB,CAAC,WAAW,CAAC;IAEvG,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,QAAQ,CAAC,WAAW,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;IAEzD;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI;CAE1C;AAGD,8BAAsB,6BAA6B,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAEvG,SAAS,aAAa,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAKpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2D;IAEjF,WAAW,IAAI,CAAC,GAAG,SAAS;IAI5B,KAAK,IAAI,OAAO;IAIR,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS;IAInC,WAAW,CAAC,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"containments.d.ts","sourceRoot":"","sources":["../../src/value-managers/containments.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,6 +88,80 @@ let SingleContainmentValueManager = (() => {
|
|
|
88
88
|
}
|
|
89
89
|
this.child.set(newChild);
|
|
90
90
|
}
|
|
91
|
+
setInternal(newChild) {
|
|
92
|
+
const oldChild = this.getDirectly(); // (oldChild is contained by this.container through this.containment)
|
|
93
|
+
if (oldChild === undefined) {
|
|
94
|
+
if (newChild === undefined) {
|
|
95
|
+
// do nothing: nothing's changed
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
if (newChild.parent === undefined) {
|
|
99
|
+
this.emitDelta(() => new ChildAddedDelta(this.container, this.feature, 0, newChild));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
const oldParent = newChild.parent;
|
|
103
|
+
const oldContainment = newChild.containment;
|
|
104
|
+
const oldIndex = removeFromContainment(newChild);
|
|
105
|
+
if (oldParent === this.container) {
|
|
106
|
+
if (oldContainment === this.containment) {
|
|
107
|
+
this.emitDelta(() => new ChildMovedInSameContainmentDelta(this.container, this.containment, oldIndex, 0, newChild));
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
this.emitDelta(() => new ChildMovedFromOtherContainmentInSameParentDelta(this.container, oldContainment, oldIndex, newChild, this.containment, 0));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, oldContainment, oldIndex, this.container, this.containment, 0, newChild));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
this.setDirectly(newChild);
|
|
118
|
+
newChild.attachTo(this.container, this.feature);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
if (newChild === undefined) {
|
|
123
|
+
if (this.containment.optional) {
|
|
124
|
+
oldChild.detach();
|
|
125
|
+
this.setDirectly(undefined);
|
|
126
|
+
this.emitDelta(() => new ChildDeletedDelta(this.container, this.containment, 0, oldChild));
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
this.throwOnUnset();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
if (oldChild === newChild) {
|
|
134
|
+
// do nothing: nothing's changed
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
oldChild.detach();
|
|
138
|
+
this.setDirectly(newChild);
|
|
139
|
+
if (newChild.parent === undefined) {
|
|
140
|
+
// newChild is unattached:
|
|
141
|
+
newChild.attachTo(this.container, this.feature);
|
|
142
|
+
this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, oldChild, newChild));
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
const oldParent = newChild.parent;
|
|
146
|
+
const oldContainment = newChild.containment;
|
|
147
|
+
const oldIndex = removeFromContainment(newChild);
|
|
148
|
+
if (oldParent === this.container) {
|
|
149
|
+
if (oldContainment === this.containment) {
|
|
150
|
+
this.emitDelta(() => new ChildMovedAndReplacedInSameContainmentDelta(this.container, this.containment, 0, 0, newChild, oldChild));
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentInSameParentDelta(this.container, oldContainment, oldIndex, this.containment, 0, newChild, oldChild));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentDelta(this.container, this.containment, 0, newChild, oldParent, oldContainment, oldIndex, oldChild));
|
|
158
|
+
}
|
|
159
|
+
newChild.attachTo(this.container, this.feature);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
91
165
|
replaceWith(movedChild) {
|
|
92
166
|
const replacedChild = this.getDirectly();
|
|
93
167
|
if (replacedChild === undefined) {
|
|
@@ -157,50 +231,7 @@ let OptionalSingleContainmentValueManager = (() => {
|
|
|
157
231
|
return this.getDirectly();
|
|
158
232
|
}
|
|
159
233
|
set(newChild) {
|
|
160
|
-
|
|
161
|
-
if (oldChild === undefined) {
|
|
162
|
-
if (newChild === undefined) {
|
|
163
|
-
// do nothing: nothing's changed
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
if (newChild.parent && newChild.containment) {
|
|
167
|
-
const oldParent = newChild.parent;
|
|
168
|
-
removeFromContainment(newChild);
|
|
169
|
-
this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment, 0, this.container, this.feature, 0, newChild));
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
this.emitDelta(() => new ChildAddedDelta(this.container, this.feature, 0, newChild));
|
|
173
|
-
}
|
|
174
|
-
this.setDirectly(newChild);
|
|
175
|
-
newChild.attachTo(this.container, this.feature);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
if (newChild === undefined) {
|
|
180
|
-
oldChild.detach();
|
|
181
|
-
this.setDirectly(undefined);
|
|
182
|
-
this.emitDelta(() => new ChildDeletedDelta(this.container, this.feature, 0, oldChild));
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
if (oldChild === newChild) {
|
|
186
|
-
// do nothing: nothing's changed
|
|
187
|
-
}
|
|
188
|
-
else {
|
|
189
|
-
// FIXME this could emit 2 deltas where it should be a single ChildReplaced-delta
|
|
190
|
-
if (oldChild.parent && oldChild.containment && oldChild.parent === this.container && oldChild.containment === this.feature) {
|
|
191
|
-
// FIXME oldChild.parent COULD be this.container
|
|
192
|
-
this.emitDelta(() => new ChildDeletedDelta(this.container, this.feature, 0, oldChild));
|
|
193
|
-
}
|
|
194
|
-
oldChild.detach();
|
|
195
|
-
if (newChild.parent && newChild.containment) {
|
|
196
|
-
removeFromContainment(newChild);
|
|
197
|
-
}
|
|
198
|
-
this.setDirectly(newChild);
|
|
199
|
-
newChild.attachTo(this.container, this.feature);
|
|
200
|
-
this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, oldChild, newChild));
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
234
|
+
this.setInternal(newChild);
|
|
204
235
|
}
|
|
205
236
|
},
|
|
206
237
|
(() => {
|
|
@@ -231,47 +262,7 @@ let RequiredSingleContainmentValueManager = (() => {
|
|
|
231
262
|
return child;
|
|
232
263
|
}
|
|
233
264
|
set(newChild) {
|
|
234
|
-
|
|
235
|
-
if (oldChild === undefined) {
|
|
236
|
-
if (newChild === undefined) {
|
|
237
|
-
// do nothing: nothing's changed
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
if (newChild.parent && newChild.containment) {
|
|
241
|
-
const oldParent = newChild.parent;
|
|
242
|
-
removeFromContainment(newChild);
|
|
243
|
-
this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment, 0, this.container, this.feature, 0, newChild));
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
this.emitDelta(() => new ChildAddedDelta(this.container, this.feature, 0, newChild));
|
|
247
|
-
}
|
|
248
|
-
this.setDirectly(newChild);
|
|
249
|
-
newChild.attachTo(this.container, this.feature);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
if (newChild === undefined) {
|
|
254
|
-
this.throwOnUnset();
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
257
|
-
if (oldChild === newChild) {
|
|
258
|
-
// do nothing: nothing's changed
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
if (oldChild.parent && oldChild.containment && oldChild.parent === this.container && oldChild.containment === this.feature) {
|
|
262
|
-
// FIXME oldChild.parent COULD be this.container
|
|
263
|
-
this.emitDelta(() => new ChildDeletedDelta(this.container, this.feature, 0, oldChild));
|
|
264
|
-
}
|
|
265
|
-
oldChild.detach();
|
|
266
|
-
if (newChild.parent && newChild.containment) {
|
|
267
|
-
removeFromContainment(newChild);
|
|
268
|
-
}
|
|
269
|
-
this.setDirectly(newChild);
|
|
270
|
-
newChild.attachTo(this.container, this.feature);
|
|
271
|
-
this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, oldChild, newChild));
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
}
|
|
265
|
+
this.setInternal(newChild);
|
|
275
266
|
}
|
|
276
267
|
},
|
|
277
268
|
(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containments.js","sourceRoot":"","sources":["../../src/value-managers/containments.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"containments.js","sourceRoot":"","sources":["../../src/value-managers/containments.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/class-core",
|
|
3
|
-
"version": "0.7.2-beta.
|
|
3
|
+
"version": "0.7.2-beta.6",
|
|
4
4
|
"description": "Generic, language-aspecific base types for generated TypeScript APIs",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"release": "npm publish"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@lionweb/core": "0.7.2-beta.
|
|
31
|
-
"@lionweb/json": "0.7.2-beta.
|
|
32
|
-
"@lionweb/ts-utils": "0.7.2-beta.
|
|
30
|
+
"@lionweb/core": "0.7.2-beta.6",
|
|
31
|
+
"@lionweb/json": "0.7.2-beta.6",
|
|
32
|
+
"@lionweb/ts-utils": "0.7.2-beta.6",
|
|
33
33
|
"littoral-templates": "0.5.1",
|
|
34
34
|
"mobx": "6.13.7"
|
|
35
35
|
}
|
package/src/deltas/appliers.ts
CHANGED
|
@@ -482,7 +482,7 @@ export const applyDeltasWithLookup = (idMapping: IdMapping, deltas: IDelta[], up
|
|
|
482
482
|
/**
|
|
483
483
|
* Applies the given {@link Delta delta} to {@link nodes INodeBase} given as the values of a {@link IdMapping ID mapping id → node}.
|
|
484
484
|
* Note that the delta is *not* applied to the original nodes (object-)referenced by the deltas, but to the nodes present in the ID mapping.
|
|
485
|
-
* These can be distinct from the original nodes, e.g. after a roundtrip to an external model processor.
|
|
485
|
+
* These can be distinct from the original nodes, e.g. after a roundtrip to an external model processor.
|
|
486
486
|
* @usage should look as follows.
|
|
487
487
|
*
|
|
488
488
|
* ```typescript
|
|
@@ -83,6 +83,70 @@ export abstract class SingleContainmentValueManager<T extends INodeBase> extends
|
|
|
83
83
|
this.child.set(newChild);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
protected setInternal(newChild: T | undefined) {
|
|
87
|
+
const oldChild = this.getDirectly(); // (oldChild is contained by this.container through this.containment)
|
|
88
|
+
if (oldChild === undefined) {
|
|
89
|
+
if (newChild === undefined) {
|
|
90
|
+
// do nothing: nothing's changed
|
|
91
|
+
} else {
|
|
92
|
+
if (newChild.parent === undefined) {
|
|
93
|
+
this.emitDelta(() => new ChildAddedDelta(this.container, this.feature, 0, newChild));
|
|
94
|
+
} else {
|
|
95
|
+
const oldParent = newChild.parent;
|
|
96
|
+
const oldContainment = newChild.containment!;
|
|
97
|
+
const oldIndex = removeFromContainment(newChild);
|
|
98
|
+
if (oldParent === this.container) {
|
|
99
|
+
if (oldContainment === this.containment) {
|
|
100
|
+
this.emitDelta(() => new ChildMovedInSameContainmentDelta(this.container, this.containment, oldIndex, 0, newChild));
|
|
101
|
+
} else {
|
|
102
|
+
this.emitDelta(() => new ChildMovedFromOtherContainmentInSameParentDelta(this.container, oldContainment, oldIndex, newChild, this.containment, 0));
|
|
103
|
+
}
|
|
104
|
+
} else {
|
|
105
|
+
this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, oldContainment, oldIndex, this.container, this.containment, 0, newChild));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
this.setDirectly(newChild);
|
|
109
|
+
newChild.attachTo(this.container, this.feature);
|
|
110
|
+
}
|
|
111
|
+
} else {
|
|
112
|
+
if (newChild === undefined) {
|
|
113
|
+
if (this.containment.optional) {
|
|
114
|
+
oldChild.detach();
|
|
115
|
+
this.setDirectly(undefined);
|
|
116
|
+
this.emitDelta(() => new ChildDeletedDelta(this.container, this.containment, 0, oldChild));
|
|
117
|
+
} else {
|
|
118
|
+
this.throwOnUnset();
|
|
119
|
+
}
|
|
120
|
+
} else {
|
|
121
|
+
if (oldChild === newChild) {
|
|
122
|
+
// do nothing: nothing's changed
|
|
123
|
+
} else {
|
|
124
|
+
oldChild.detach();
|
|
125
|
+
this.setDirectly(newChild);
|
|
126
|
+
if (newChild.parent === undefined) {
|
|
127
|
+
// newChild is unattached:
|
|
128
|
+
newChild.attachTo(this.container, this.feature);
|
|
129
|
+
this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, oldChild, newChild));
|
|
130
|
+
} else {
|
|
131
|
+
const oldParent = newChild.parent;
|
|
132
|
+
const oldContainment = newChild.containment!;
|
|
133
|
+
const oldIndex = removeFromContainment(newChild);
|
|
134
|
+
if (oldParent === this.container) {
|
|
135
|
+
if (oldContainment === this.containment) {
|
|
136
|
+
this.emitDelta(() => new ChildMovedAndReplacedInSameContainmentDelta(this.container, this.containment, 0, 0, newChild, oldChild));
|
|
137
|
+
} else {
|
|
138
|
+
this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentInSameParentDelta(this.container, oldContainment, oldIndex, this.containment, 0, newChild, oldChild));
|
|
139
|
+
}
|
|
140
|
+
} else {
|
|
141
|
+
this.emitDelta(() => new ChildMovedAndReplacedFromOtherContainmentDelta(this.container, this.containment, 0, newChild, oldParent, oldContainment, oldIndex, oldChild));
|
|
142
|
+
}
|
|
143
|
+
newChild.attachTo(this.container, this.feature);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
86
150
|
@action replaceWith(movedChild: T) {
|
|
87
151
|
const replacedChild = this.getDirectly();
|
|
88
152
|
if (replacedChild === undefined) {
|
|
@@ -134,45 +198,7 @@ export class OptionalSingleContainmentValueManager<T extends INodeBase> extends
|
|
|
134
198
|
}
|
|
135
199
|
|
|
136
200
|
@action set(newChild: T | undefined) {
|
|
137
|
-
|
|
138
|
-
if (oldChild === undefined) {
|
|
139
|
-
if (newChild === undefined) {
|
|
140
|
-
// do nothing: nothing's changed
|
|
141
|
-
} else {
|
|
142
|
-
if (newChild.parent && newChild.containment) {
|
|
143
|
-
const oldParent = newChild.parent;
|
|
144
|
-
removeFromContainment(newChild);
|
|
145
|
-
this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment!, 0, this.container, this.feature, 0, newChild));
|
|
146
|
-
} else {
|
|
147
|
-
this.emitDelta(() => new ChildAddedDelta(this.container, this.feature, 0, newChild));
|
|
148
|
-
}
|
|
149
|
-
this.setDirectly(newChild);
|
|
150
|
-
newChild.attachTo(this.container, this.feature);
|
|
151
|
-
}
|
|
152
|
-
} else {
|
|
153
|
-
if (newChild === undefined) {
|
|
154
|
-
oldChild.detach();
|
|
155
|
-
this.setDirectly(undefined);
|
|
156
|
-
this.emitDelta(() => new ChildDeletedDelta(this.container, this.feature, 0, oldChild));
|
|
157
|
-
} else {
|
|
158
|
-
if (oldChild === newChild) {
|
|
159
|
-
// do nothing: nothing's changed
|
|
160
|
-
} else {
|
|
161
|
-
// FIXME this could emit 2 deltas where it should be a single ChildReplaced-delta
|
|
162
|
-
if (oldChild.parent && oldChild.containment && oldChild.parent === this.container && oldChild.containment === this.feature) {
|
|
163
|
-
// FIXME oldChild.parent COULD be this.container
|
|
164
|
-
this.emitDelta(() => new ChildDeletedDelta(this.container, this.feature, 0, oldChild));
|
|
165
|
-
}
|
|
166
|
-
oldChild.detach();
|
|
167
|
-
if (newChild.parent && newChild.containment) {
|
|
168
|
-
removeFromContainment(newChild);
|
|
169
|
-
}
|
|
170
|
-
this.setDirectly(newChild);
|
|
171
|
-
newChild.attachTo(this.container, this.feature);
|
|
172
|
-
this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, oldChild, newChild));
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
201
|
+
this.setInternal(newChild);
|
|
176
202
|
}
|
|
177
203
|
|
|
178
204
|
}
|
|
@@ -193,43 +219,8 @@ export class RequiredSingleContainmentValueManager<T extends INodeBase> extends
|
|
|
193
219
|
return child;
|
|
194
220
|
}
|
|
195
221
|
|
|
196
|
-
@action set(newChild: T
|
|
197
|
-
|
|
198
|
-
if (oldChild === undefined) {
|
|
199
|
-
if (newChild === undefined) {
|
|
200
|
-
// do nothing: nothing's changed
|
|
201
|
-
} else {
|
|
202
|
-
if (newChild.parent && newChild.containment) {
|
|
203
|
-
const oldParent = newChild.parent;
|
|
204
|
-
removeFromContainment(newChild);
|
|
205
|
-
this.emitDelta(() => new ChildMovedFromOtherContainmentDelta(oldParent, newChild.containment!, 0, this.container, this.feature, 0, newChild));
|
|
206
|
-
} else {
|
|
207
|
-
this.emitDelta(() => new ChildAddedDelta(this.container, this.feature, 0, newChild));
|
|
208
|
-
}
|
|
209
|
-
this.setDirectly(newChild);
|
|
210
|
-
newChild.attachTo(this.container, this.feature);
|
|
211
|
-
}
|
|
212
|
-
} else {
|
|
213
|
-
if (newChild === undefined) {
|
|
214
|
-
this.throwOnUnset();
|
|
215
|
-
} else {
|
|
216
|
-
if (oldChild === newChild) {
|
|
217
|
-
// do nothing: nothing's changed
|
|
218
|
-
} else {
|
|
219
|
-
if (oldChild.parent && oldChild.containment && oldChild.parent === this.container && oldChild.containment === this.feature) {
|
|
220
|
-
// FIXME oldChild.parent COULD be this.container
|
|
221
|
-
this.emitDelta(() => new ChildDeletedDelta(this.container, this.feature, 0, oldChild));
|
|
222
|
-
}
|
|
223
|
-
oldChild.detach();
|
|
224
|
-
if (newChild.parent && newChild.containment) {
|
|
225
|
-
removeFromContainment(newChild);
|
|
226
|
-
}
|
|
227
|
-
this.setDirectly(newChild);
|
|
228
|
-
newChild.attachTo(this.container, this.feature);
|
|
229
|
-
this.emitDelta(() => new ChildReplacedDelta(this.container, this.feature, 0, oldChild, newChild));
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
222
|
+
@action set(newChild: T) {
|
|
223
|
+
this.setInternal(newChild);
|
|
233
224
|
}
|
|
234
225
|
|
|
235
226
|
}
|