diff --git a/src/components/DiagramFrame/SeqDiagram/LifeLineLayer/LifeLine.vue b/src/components/DiagramFrame/SeqDiagram/LifeLineLayer/LifeLine.vue
index 9fdc7164a..ccb1c2826 100644
--- a/src/components/DiagramFrame/SeqDiagram/LifeLineLayer/LifeLine.vue
+++ b/src/components/DiagramFrame/SeqDiagram/LifeLineLayer/LifeLine.vue
@@ -4,22 +4,22 @@
class="lifeline absolute flex flex-col mx-2 transform -translate-x-1/2 h-full"
:style="{ paddingTop: top + 'px', left: left + 'px' }"
>
-
{{centerOf(entity.name)}}
+ {{ centerOf(entity.name) }}
-
+
\ No newline at end of file
+ store.getters.onMessageClick(context, messageRef.value);
+};
+
diff --git a/src/components/DiagramFrame/SeqDiagram/MessageLayer/Block/Statement/Statement.vue b/src/components/DiagramFrame/SeqDiagram/MessageLayer/Block/Statement/Statement.vue
index 71a36065a..78f9f5ae0 100644
--- a/src/components/DiagramFrame/SeqDiagram/MessageLayer/Block/Statement/Statement.vue
+++ b/src/components/DiagramFrame/SeqDiagram/MessageLayer/Block/Statement/Statement.vue
@@ -10,7 +10,7 @@
:commentObj="commentObj"
:selfCallIndent="selfCallIndent"
:number="number"
- :inheritFromOccurrence="inheritFromOccurrence"
+ :fromOccurrence="fromOccurrence"
>
@@ -29,13 +29,7 @@ import Comment from "../../../../../Comment/Comment";
export default {
name: "statement",
- props: [
- "context",
- "selfCallIndent",
- "number",
- "collapsed",
- "inheritFromOccurrence",
- ],
+ props: ["context", "selfCallIndent", "number", "collapsed", "fromOccurrence"],
computed: {
comment: function () {
return this.context.getComment() ? this.context.getComment() : "";
diff --git a/src/components/DiagramFrame/SeqDiagram/MessageLayer/MessageLayer.vue b/src/components/DiagramFrame/SeqDiagram/MessageLayer/MessageLayer.vue
index 728c427a1..eaea76ab5 100644
--- a/src/components/DiagramFrame/SeqDiagram/MessageLayer/MessageLayer.vue
+++ b/src/components/DiagramFrame/SeqDiagram/MessageLayer/MessageLayer.vue
@@ -66,14 +66,6 @@ onUpdated(() => {
border-right-width: 7px;
}
- .alt,
- .fragment {
- .interaction.sync {
- border-left-width: 7px;
- //border-right-width: 0;
- }
- }
-
.occurrence {
.occurrence {
.interaction.sync,
@@ -86,17 +78,26 @@ onUpdated(() => {
.occurrence {
.interaction.sync,
.interaction.async {
- border-left-width: 7px;
+ border-left-width: 8px;
+ }
+
+ .interaction.sync.from-no-occurrence {
+ border-left-width: 0;
}
.interaction.sync.right-to-left {
border-right-width: 7px;
}
.interaction.async.right-to-left {
border-right-width: 7px;
+ border-left-width: 7px;
+ }
+ .interaction.async.right-to-left.from-occurrence {
border-left-width: 0;
}
+ .interaction.async.right-to-left.to-occurrence {
+ border-left-width: 7px;
+ }
}
-
.interaction.sync.right-to-left {
/* This border width configuration make sure the content width is
the same as from the source occurrence's right border to target
diff --git a/src/parser/Owner.js b/src/parser/Owner.js
index 277c6b573..fac729eae 100644
--- a/src/parser/Owner.js
+++ b/src/parser/Owner.js
@@ -1,4 +1,4 @@
-import { default as sequenceParser } from '../generated-parser/sequenceParser';
+import { default as sequenceParser } from "../generated-parser/sequenceParser";
const seqParser = sequenceParser;
const CreationContext = seqParser.CreationContext;
@@ -19,7 +19,7 @@ CreationContext.prototype.Constructor = function () {
// Owner of m1 m2 m3
CreationContext.prototype.Owner = function () {
if (!this.Constructor()) {
- return 'Missing Constructor';
+ return "Missing Constructor";
}
const assignee = this.Assignee();
const type = this.Constructor();
@@ -51,3 +51,16 @@ AsyncMessageContext.prototype.To = function () {
AsyncMessageContext.prototype.Owner = function () {
return this.To() || getOwnerFromAncestor(this.parentCtx);
};
+
+AsyncMessageContext.prototype.isToOccurrence = function (current) {
+ const target = current.Owner();
+ while (current != null) {
+ if (current?.message) {
+ if (current?.message()?.From() === target) {
+ return true;
+ }
+ }
+ current = current.parentCtx;
+ }
+ return false;
+};