From 87f0cc0cfef8be00e9645500e9c66e364f233980 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Sun, 1 Jan 2023 01:34:03 -0800 Subject: [PATCH 1/3] fix --- d2graph/d2graph.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/d2graph/d2graph.go b/d2graph/d2graph.go index 3b8491e75..10e43dcdf 100644 --- a/d2graph/d2graph.go +++ b/d2graph/d2graph.go @@ -1014,10 +1014,6 @@ func getMarkdownDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler, t return d2target.NewTextDimensions(width, height), nil } - if strings.TrimSpace(t.Text) == "" { - return d2target.NewTextDimensions(100, 100), nil - } - return nil, fmt.Errorf("text not pre-measured and no ruler provided") } @@ -1071,6 +1067,19 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler if obj.Attributes.Height != nil { desiredHeight, _ = strconv.Atoi(obj.Attributes.Height.Value) } + + if obj.Attributes.Label.Value == "" && obj.Attributes.Shape.Value != d2target.ShapeImage { + obj.Width = DEFAULT_SHAPE_PADDING + obj.Height = DEFAULT_SHAPE_PADDING + if desiredWidth != 0 { + obj.Width = float64(desiredWidth) + } + if desiredHeight != 0 { + obj.Height = float64(desiredHeight) + } + continue + } + shapeType := strings.ToLower(obj.Attributes.Shape.Value) labelDims, err := obj.GetLabelSize(mtexts, ruler, fontFamily) From e4bbd3200a1dfd967598e61504b1ab09d07fffdf Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Sun, 1 Jan 2023 01:39:58 -0800 Subject: [PATCH 2/3] test --- .../dagre/board.exp.json | 94 +++++++++---------- .../dagre/sketch.exp.svg | 52 +++++----- .../elk/board.exp.json | 78 +++++++-------- .../elk/sketch.exp.svg | 52 +++++----- .../unnamed_only_height/dagre/board.exp.json | 90 +++++++++--------- .../unnamed_only_height/dagre/sketch.exp.svg | 52 +++++----- .../unnamed_only_height/elk/board.exp.json | 74 +++++++-------- .../unnamed_only_height/elk/sketch.exp.svg | 52 +++++----- .../unnamed_only_width/dagre/board.exp.json | 88 ++++++++--------- .../unnamed_only_width/dagre/sketch.exp.svg | 52 +++++----- .../unnamed_only_width/elk/board.exp.json | 72 +++++++------- .../unnamed_only_width/elk/sketch.exp.svg | 52 +++++----- 12 files changed, 404 insertions(+), 404 deletions(-) diff --git a/e2etests/testdata/regression/unnamed_class_table_code/dagre/board.exp.json b/e2etests/testdata/regression/unnamed_class_table_code/dagre/board.exp.json index 2d10adc2e..c01b08b63 100644 --- a/e2etests/testdata/regression/unnamed_class_table_code/dagre/board.exp.json +++ b/e2etests/testdata/regression/unnamed_class_table_code/dagre/board.exp.json @@ -6,11 +6,11 @@ "id": "class", "type": "class", "pos": { - "x": 0, + "x": 48, "y": 0 }, - "width": 422, - "height": 368, + "width": 100, + "height": 100, "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -80,11 +80,11 @@ "id": "users", "type": "sql_table", "pos": { - "x": 107, - "y": 468 + "x": 48, + "y": 200 }, - "width": 208, - "height": 186, + "width": 100, + "height": 100, "opacity": 1, "strokeDash": 0, "strokeWidth": 2, @@ -112,8 +112,8 @@ "italic": false, "bold": false, "underline": false, - "labelWidth": 15, - "labelHeight": 26 + "labelWidth": 0, + "labelHeight": 0 }, "type": { "label": "int", @@ -124,8 +124,8 @@ "italic": false, "bold": false, "underline": false, - "labelWidth": 23, - "labelHeight": 26 + "labelWidth": 0, + "labelHeight": 0 }, "constraint": "", "reference": "" @@ -140,8 +140,8 @@ "italic": false, "bold": false, "underline": false, - "labelWidth": 47, - "labelHeight": 26 + "labelWidth": 0, + "labelHeight": 0 }, "type": { "label": "string", @@ -152,8 +152,8 @@ "italic": false, "bold": false, "underline": false, - "labelWidth": 48, - "labelHeight": 26 + "labelWidth": 0, + "labelHeight": 0 }, "constraint": "", "reference": "" @@ -168,8 +168,8 @@ "italic": false, "bold": false, "underline": false, - "labelWidth": 47, - "labelHeight": 26 + "labelWidth": 0, + "labelHeight": 0 }, "type": { "label": "string", @@ -180,8 +180,8 @@ "italic": false, "bold": false, "underline": false, - "labelWidth": 48, - "labelHeight": 26 + "labelWidth": 0, + "labelHeight": 0 }, "constraint": "", "reference": "" @@ -196,8 +196,8 @@ "italic": false, "bold": false, "underline": false, - "labelWidth": 80, - "labelHeight": 26 + "labelWidth": 0, + "labelHeight": 0 }, "type": { "label": "string", @@ -208,8 +208,8 @@ "italic": false, "bold": false, "underline": false, - "labelWidth": 48, - "labelHeight": 26 + "labelWidth": 0, + "labelHeight": 0 }, "constraint": "", "reference": "" @@ -224,8 +224,8 @@ "italic": false, "bold": false, "underline": false, - "labelWidth": 81, - "labelHeight": 26 + "labelWidth": 0, + "labelHeight": 0 }, "type": { "label": "datetime", @@ -236,8 +236,8 @@ "italic": false, "bold": false, "underline": false, - "labelWidth": 77, - "labelHeight": 26 + "labelWidth": 0, + "labelHeight": 0 }, "constraint": "", "reference": "" @@ -251,8 +251,8 @@ "italic": false, "bold": true, "underline": false, - "labelWidth": 59, - "labelHeight": 31, + "labelWidth": 0, + "labelHeight": 0, "zIndex": 0, "level": 1, "primaryAccentColor": "#0D32B2", @@ -263,8 +263,8 @@ "id": "code", "type": "code", "pos": { - "x": 113, - "y": 754 + "x": 0, + "y": 400 }, "width": 196, "height": 70, @@ -326,20 +326,20 @@ "labelPercentage": 0, "route": [ { - "x": 211, - "y": 368 + "x": 98, + "y": 100 }, { - "x": 211, - "y": 408 + "x": 98, + "y": 140 }, { - "x": 211, - "y": 428 + "x": 98, + "y": 160 }, { - "x": 211, - "y": 468 + "x": 98, + "y": 200 } ], "isCurve": true, @@ -374,20 +374,20 @@ "labelPercentage": 0, "route": [ { - "x": 211, - "y": 654 + "x": 98, + "y": 300 }, { - "x": 211, - "y": 694 + "x": 98, + "y": 340 }, { - "x": 211, - "y": 714 + "x": 98, + "y": 360 }, { - "x": 211, - "y": 754 + "x": 98, + "y": 400 } ], "isCurve": true, diff --git a/e2etests/testdata/regression/unnamed_class_table_code/dagre/sketch.exp.svg b/e2etests/testdata/regression/unnamed_class_table_code/dagre/sketch.exp.svg index 0c32095a8..426680010 100644 --- a/e2etests/testdata/regression/unnamed_class_table_code/dagre/sketch.exp.svg +++ b/e2etests/testdata/regression/unnamed_class_table_code/dagre/sketch.exp.svg @@ -2,7 +2,7 @@ - +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) + - -num -int- -timeout -int- -pid -+ -getStatus() -Enum+ -getJobs() -Job[]+ -setTimeout(seconds int) -voidid -int -name -string -email -string -password -string -last_login -datetime -:= 5 +- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) + - -num -int- -timeout -int- -pid -+ -getStatus() -Enum+ -getJobs() -Job[]+ -setTimeout(seconds int) -voidid -int -name -string -email -string -password -string -last_login -datetime -:= 5 +- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) + - -num -int- -timeout -int- -pid -+ -getStatus() -Enum+ -getJobs() -Job[]+ -setTimeout(seconds int) -voidid -int -name -string -email -string -password -string -last_login -datetime -:= 5 +- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) + - -num -int- -timeout -int- -pid -+ -getStatus() -Enum+ -getJobs() -Job[]+ -setTimeout(seconds int) -voidid -int -name -string -email -string -password -string -last_login -datetime -:= 5 +- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) + - -num -int- -timeout -int- -pid -+ -getStatus() -Enum+ -getJobs() -Job[]+ -setTimeout(seconds int) -voidid -int -name -string -email -string -password -string -last_login -datetime -:= 5 +- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) + - -num -int- -timeout -int- -pid -+ -getStatus() -Enum+ -getJobs() -Job[]+ -setTimeout(seconds int) -voidid -int -name -string -email -string -password -string -last_login -datetime -:= 5 +- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) + - -num -int- -timeout -int- -pid -+ -getStatus() -Enum+ -getJobs() -Job[]+ -setTimeout(seconds int) -voidid -int -name -string -email -string -password -string -last_login -datetime -:= 5 +- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) + - -num -int- -timeout -int- -pid -+ -getStatus() -Enum+ -getJobs() -Job[]+ -setTimeout(seconds int) -voidid -int -name -string -email -string -password -string -last_login -datetime -:= 5 +- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) + - -num -int- -timeout -int- -pid -+ -getStatus() -Enum+ -getJobs() -Job[]+ -setTimeout(seconds int) -voidid -int -name -string -email -string -password -string -last_login -datetime -:= 5 +- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) + - -num -int- -timeout -int- -pid -+ -getStatus() -Enum+ -getJobs() -Job[]+ -setTimeout(seconds int) -voidid -int -name -string -email -string -password -string -last_login -datetime -:= 5 +- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) + - -num -int- -timeout -int- -pid -+ -getStatus() -Enum+ -getJobs() -Job[]+ -setTimeout(seconds int) -voidid -int -name -string -email -string -password -string -last_login -datetime -:= 5 +- +num +int- +timeout +int- +pid ++ +getStatus() +Enum+ +getJobs() +Job[]+ +setTimeout(seconds int) +voidid +int +name +string +email +string +password +string +last_login +datetime +:= 5 := a + 7 -fmt.Printf("%d", b) - +fmt.Printf("%d", b) +