From 7fcf62ca67dd611dcebaf49e8803a4e1c5a70049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20C=C3=A9sar=20Batista?= Date: Fri, 2 Dec 2022 10:26:07 -0800 Subject: [PATCH] Change isActor --- d2layouts/d2sequence/sequence_diagram.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/d2layouts/d2sequence/sequence_diagram.go b/d2layouts/d2sequence/sequence_diagram.go index 357a3c5f8..f42c68eed 100644 --- a/d2layouts/d2sequence/sequence_diagram.go +++ b/d2layouts/d2sequence/sequence_diagram.go @@ -14,6 +14,7 @@ import ( ) type sequenceDiagram struct { + root *d2graph.Object messages []*d2graph.Edge lifelines []*d2graph.Edge actors []*d2graph.Object @@ -48,6 +49,7 @@ func newSequenceDiagram(actors []*d2graph.Object, messages []*d2graph.Edge) *seq } for rank, actor := range actors { + sd.root = actor.Parent sd.objectRank[actor] = rank sd.maxActorHeight = math.Max(sd.maxActorHeight, actor.Height) @@ -273,13 +275,7 @@ func (sd *sequenceDiagram) getMessageY(rank int) float64 { } func (sd *sequenceDiagram) isActor(obj *d2graph.Object) bool { - // TODO: map to avoid looping around every time? - for _, actor := range sd.actors { - if actor == obj { - return true - } - } - return false + return obj.Parent == sd.root } func (sd *sequenceDiagram) getWidth() float64 {