Skip to content

Commit 4b6366d

Browse files
committed
BUGFIX: Copy/Paste across dimensions should not lead to error
Resolves: #4614
1 parent 0448005 commit 4b6366d

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

Classes/Domain/Model/Changes/CopyAfter.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@ public function apply(): void
7070
),
7171
$subject->workspaceName,
7272
$subject,
73-
OriginDimensionSpacePoint::fromDimensionSpacePoint($subject->dimensionSpacePoint),
73+
// NOTE: in order to be able to copy/paste across dimensions, we need to use
74+
// the TARGET NODE's DimensionSpacePoint to create the node in the target dimension.
75+
OriginDimensionSpacePoint::fromDimensionSpacePoint($previousSibling->dimensionSpacePoint),
7476
$parentNodeOfPreviousSibling->aggregateId,
7577
$succeedingSibling?->aggregateId
7678
);

Classes/Domain/Model/Changes/CopyBefore.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ public function apply(): void
6565
),
6666
$subject->workspaceName,
6767
$subject,
68-
OriginDimensionSpacePoint::fromDimensionSpacePoint($subject->dimensionSpacePoint),
68+
// NOTE: in order to be able to copy/paste across dimensions, we need to use
69+
// the TARGET NODE's DimensionSpacePoint to create the node in the target dimension.
70+
OriginDimensionSpacePoint::fromDimensionSpacePoint($succeedingSibling->dimensionSpacePoint),
6971
$parentNodeOfSucceedingSibling->aggregateId,
7072
$succeedingSibling->aggregateId
7173
);

Classes/Domain/Model/Changes/CopyInto.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,9 @@ public function apply(): void
7474
),
7575
$subject->workspaceName,
7676
$subject,
77-
OriginDimensionSpacePoint::fromDimensionSpacePoint($subject->dimensionSpacePoint),
77+
// NOTE: in order to be able to copy/paste across dimensions, we need to use
78+
// the TARGET NODE's DimensionSpacePoint to create the node in the target dimension.
79+
OriginDimensionSpacePoint::fromDimensionSpacePoint($parentNode->dimensionSpacePoint),
7880
$parentNode->aggregateId,
7981
null
8082
);

0 commit comments

Comments
 (0)