From 593bea69824e78eefebba2cc1437ff25084d6bc0 Mon Sep 17 00:00:00 2001 From: Gavin Nishizawa Date: Thu, 21 Sep 2023 17:45:52 -0700 Subject: [PATCH] fix root grid shift --- d2layouts/d2grid/layout.go | 26 ++++++++++++++------------ d2layouts/d2layouts.go | 5 ++++- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/d2layouts/d2grid/layout.go b/d2layouts/d2grid/layout.go index e85811f10..565f3b15c 100644 --- a/d2layouts/d2grid/layout.go +++ b/d2layouts/d2grid/layout.go @@ -188,19 +188,21 @@ func Layout2(ctx context.Context, g *d2graph.Graph) error { obj.LabelPosition = go2.Pointer(string(label.InsideTopCenter)) - horizontalPadding, verticalPadding := CONTAINER_PADDING, CONTAINER_PADDING - if obj.GridGap != nil || obj.HorizontalGap != nil { - horizontalPadding = gd.horizontalGap - } - if obj.GridGap != nil || obj.VerticalGap != nil { - verticalPadding = gd.verticalGap - } + if g.RootLevel > 0 { + horizontalPadding, verticalPadding := CONTAINER_PADDING, CONTAINER_PADDING + if obj.GridGap != nil || obj.HorizontalGap != nil { + horizontalPadding = gd.horizontalGap + } + if obj.GridGap != nil || obj.VerticalGap != nil { + verticalPadding = gd.verticalGap + } - // shift the grid from (0, 0) - gd.shift( - obj.TopLeft.X+float64(horizontalPadding), - obj.TopLeft.Y+float64(verticalPadding), - ) + // shift the grid from (0, 0) + gd.shift( + obj.TopLeft.X+float64(horizontalPadding), + obj.TopLeft.Y+float64(verticalPadding), + ) + } return nil } diff --git a/d2layouts/d2layouts.go b/d2layouts/d2layouts.go index 3ad59b8db..fba3187b1 100644 --- a/d2layouts/d2layouts.go +++ b/d2layouts/d2layouts.go @@ -108,7 +108,10 @@ func LayoutNested(ctx context.Context, g *d2graph.Graph, graphInfo GraphInfo, co for _, e := range nestedGraph.Edges { e.Move(dx, dy) } - } else if !gi.isDefault() { + continue + } + + if !gi.isDefault() { // empty grid can have 0 objects.. if gi.DiagramType == GridDiagram && !gi.IsConstantNear && len(curr.Children) == 0 { continue