ok
This commit is contained in:
parent
e37fc89bb1
commit
f14326c334
7 changed files with 30 additions and 26 deletions
|
|
@ -118,7 +118,8 @@ func Layout(ctx context.Context, g *d2graph.Graph, opts *ConfigurableOpts) (err
|
|||
|
||||
if obj.Attributes.Icon != nil {
|
||||
iconSize := d2target.GetIconSize(obj.Box, string(label.InsideTopLeft))
|
||||
maxContainerLabelHeight = go2.Max(maxContainerLabelHeight, iconSize+label.PADDING)
|
||||
// Since dagre container labels are pushed up, we don't want a child container to collide
|
||||
maxContainerLabelHeight = go2.Max(maxContainerLabelHeight, (iconSize+label.PADDING*2)*3)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ func Layout(ctx context.Context, g *d2graph.Graph, opts *ConfigurableOpts) (err
|
|||
}
|
||||
if obj.Attributes.Icon != nil {
|
||||
iconSize := d2target.GetIconSize(obj.Box, string(label.InsideTopLeft))
|
||||
paddingTop = go2.Max(paddingTop, iconSize+label.PADDING)
|
||||
paddingTop = go2.Max(paddingTop, iconSize+label.PADDING*2)
|
||||
}
|
||||
n.LayoutOptions.Padding = fmt.Sprintf("[top=%d,left=50,bottom=50,right=50]",
|
||||
paddingTop,
|
||||
|
|
|
|||
|
|
@ -900,22 +900,25 @@ a -> b
|
|||
{
|
||||
name: "icon-containers",
|
||||
script: `vpc: VPC 1 10.1.0.0./16 {
|
||||
icon: https://icons.terrastruct.com/aws%2FNetworking%20&%20Content%20Delivery%2FAmazon-VPC.svg
|
||||
icon: https://icons.terrastruct.com/aws%2F_Group%20Icons%2FVirtual-private-cloud-VPC_light-bg.svg
|
||||
style: {
|
||||
stroke: green
|
||||
font-color: green
|
||||
fill: white
|
||||
}
|
||||
az: Availability Zone A {
|
||||
style: {
|
||||
stroke: blue
|
||||
font-color: blue
|
||||
stroke-dash: 3
|
||||
fill: white
|
||||
}
|
||||
firewall: Firewall Subnet A {
|
||||
icon: https://icons.terrastruct.com/aws%2FNetworking%20&%20Content%20Delivery%2FAmazon-Route-53_Hosted-Zone_light-bg.svg
|
||||
style: {
|
||||
stroke: purple
|
||||
font-color: purple
|
||||
fill: "#e1d5e7"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
18
e2etests/testdata/stable/icon-containers/dagre/board.exp.json
generated
vendored
18
e2etests/testdata/stable/icon-containers/dagre/board.exp.json
generated
vendored
|
|
@ -10,12 +10,12 @@
|
|||
"y": 41
|
||||
},
|
||||
"width": 315,
|
||||
"height": 277,
|
||||
"height": 503,
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "#E3E9FD",
|
||||
"fill": "white",
|
||||
"stroke": "green",
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
|
|
@ -28,8 +28,8 @@
|
|||
"Opaque": "",
|
||||
"User": null,
|
||||
"Host": "icons.terrastruct.com",
|
||||
"Path": "/aws/Networking & Content Delivery/Amazon-VPC.svg",
|
||||
"RawPath": "/aws%2FNetworking%20&%20Content%20Delivery%2FAmazon-VPC.svg",
|
||||
"Path": "/aws/_Group Icons/Virtual-private-cloud-VPC_light-bg.svg",
|
||||
"RawPath": "/aws%2F_Group%20Icons%2FVirtual-private-cloud-VPC_light-bg.svg",
|
||||
"ForceQuery": false,
|
||||
"RawQuery": "",
|
||||
"Fragment": "",
|
||||
|
|
@ -59,15 +59,15 @@
|
|||
"type": "rectangle",
|
||||
"pos": {
|
||||
"x": 20,
|
||||
"y": 106
|
||||
"y": 163
|
||||
},
|
||||
"width": 275,
|
||||
"height": 182,
|
||||
"height": 295,
|
||||
"opacity": 1,
|
||||
"strokeDash": 3,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "#EDF0FD",
|
||||
"fill": "white",
|
||||
"stroke": "blue",
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
|
|
@ -100,7 +100,7 @@
|
|||
"type": "rectangle",
|
||||
"pos": {
|
||||
"x": 60,
|
||||
"y": 138
|
||||
"y": 251
|
||||
},
|
||||
"width": 195,
|
||||
"height": 118,
|
||||
|
|
@ -108,7 +108,7 @@
|
|||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "#F7F8FE",
|
||||
"fill": "#e1d5e7",
|
||||
"stroke": "purple",
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
id="d2-svg"
|
||||
style="background: white;"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
width="519" height="520" viewBox="-102 -100 519 520"><style type="text/css">
|
||||
width="519" height="746" viewBox="-102 -100 519 746"><style type="text/css">
|
||||
<![CDATA[
|
||||
.shape {
|
||||
shape-rendering: geometricPrecision;
|
||||
|
|
@ -39,8 +39,8 @@ width="519" height="520" viewBox="-102 -100 519 520"><style type="text/css">
|
|||
svgEl.setAttribute("height", height * ratio - 16);
|
||||
}
|
||||
});
|
||||
]]></script><g id="vpc"><g class="shape" ><rect x="0" y="41" width="315" height="277" style="fill:#E3E9FD;stroke:green;stroke-width:2;" /></g><image href="https://icons.terrastruct.com/aws%2FNetworking%20&%20Content%20Delivery%2FAmazon-VPC.svg" x="5.000000" y="46.000000" width="64" height="64" /><text class="text" x="157.500000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:green">VPC 1 10.1.0.0./16</text></g><g id="vpc.az"><g class="shape" ><rect x="20" y="106" width="275" height="182" style="fill:#EDF0FD;stroke:blue;stroke-width:2;stroke-dasharray:6.000000,5.919384;" /></g><text class="text" x="157.500000" y="94.000000" style="text-anchor:middle;font-size:24px;fill:blue">Availability Zone A</text></g><g id="vpc.az.firewall"><g class="shape" ><rect x="60" y="138" width="195" height="118" style="fill:#F7F8FE;stroke:purple;stroke-width:2;" /></g><image href="https://icons.terrastruct.com/aws%2FNetworking%20&%20Content%20Delivery%2FAmazon-Route-53_Hosted-Zone_light-bg.svg" x="128.000000" y="167.500000" width="59" height="59" /><text class="text-bold" x="157.500000" y="159.000000" style="text-anchor:middle;font-size:16px;fill:purple">Firewall Subnet A</text></g><mask id="4143810402" maskUnits="userSpaceOnUse" x="-100" y="-100" width="519" height="520">
|
||||
<rect x="-100" y="-100" width="519" height="520" fill="white"></rect>
|
||||
]]></script><g id="vpc"><g class="shape" ><rect x="0" y="41" width="315" height="503" style="fill:white;stroke:green;stroke-width:2;" /></g><image href="https://icons.terrastruct.com/aws%2F_Group%20Icons%2FVirtual-private-cloud-VPC_light-bg.svg" x="5.000000" y="46.000000" width="64" height="64" /><text class="text" x="157.500000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:green">VPC 1 10.1.0.0./16</text></g><g id="vpc.az"><g class="shape" ><rect x="20" y="163" width="275" height="295" style="fill:white;stroke:blue;stroke-width:2;stroke-dasharray:6.000000,5.919384;" /></g><text class="text" x="157.500000" y="151.000000" style="text-anchor:middle;font-size:24px;fill:blue">Availability Zone A</text></g><g id="vpc.az.firewall"><g class="shape" ><rect x="60" y="251" width="195" height="118" style="fill:#e1d5e7;stroke:purple;stroke-width:2;" /></g><image href="https://icons.terrastruct.com/aws%2FNetworking%20&%20Content%20Delivery%2FAmazon-Route-53_Hosted-Zone_light-bg.svg" x="128.000000" y="280.500000" width="59" height="59" /><text class="text-bold" x="157.500000" y="272.000000" style="text-anchor:middle;font-size:16px;fill:purple">Firewall Subnet A</text></g><mask id="2058375010" maskUnits="userSpaceOnUse" x="-100" y="-100" width="519" height="746">
|
||||
<rect x="-100" y="-100" width="519" height="746" fill="white"></rect>
|
||||
|
||||
</mask><style type="text/css"><![CDATA[
|
||||
.text {
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 649 KiB After Width: | Height: | Size: 649 KiB |
16
e2etests/testdata/stable/icon-containers/elk/board.exp.json
generated
vendored
16
e2etests/testdata/stable/icon-containers/elk/board.exp.json
generated
vendored
|
|
@ -10,12 +10,12 @@
|
|||
"y": 12
|
||||
},
|
||||
"width": 395,
|
||||
"height": 334,
|
||||
"height": 339,
|
||||
"opacity": 1,
|
||||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "#E3E9FD",
|
||||
"fill": "white",
|
||||
"stroke": "green",
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
|
|
@ -28,8 +28,8 @@
|
|||
"Opaque": "",
|
||||
"User": null,
|
||||
"Host": "icons.terrastruct.com",
|
||||
"Path": "/aws/Networking & Content Delivery/Amazon-VPC.svg",
|
||||
"RawPath": "/aws%2FNetworking%20&%20Content%20Delivery%2FAmazon-VPC.svg",
|
||||
"Path": "/aws/_Group Icons/Virtual-private-cloud-VPC_light-bg.svg",
|
||||
"RawPath": "/aws%2F_Group%20Icons%2FVirtual-private-cloud-VPC_light-bg.svg",
|
||||
"ForceQuery": false,
|
||||
"RawQuery": "",
|
||||
"Fragment": "",
|
||||
|
|
@ -59,7 +59,7 @@
|
|||
"type": "rectangle",
|
||||
"pos": {
|
||||
"x": 62,
|
||||
"y": 78
|
||||
"y": 83
|
||||
},
|
||||
"width": 295,
|
||||
"height": 218,
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
"strokeDash": 3,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "#EDF0FD",
|
||||
"fill": "white",
|
||||
"stroke": "blue",
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
|
|
@ -100,7 +100,7 @@
|
|||
"type": "rectangle",
|
||||
"pos": {
|
||||
"x": 112,
|
||||
"y": 128
|
||||
"y": 133
|
||||
},
|
||||
"width": 195,
|
||||
"height": 118,
|
||||
|
|
@ -108,7 +108,7 @@
|
|||
"strokeDash": 0,
|
||||
"strokeWidth": 2,
|
||||
"borderRadius": 0,
|
||||
"fill": "#F7F8FE",
|
||||
"fill": "#e1d5e7",
|
||||
"stroke": "purple",
|
||||
"shadow": false,
|
||||
"3d": false,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
id="d2-svg"
|
||||
style="background: white;"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
width="599" height="538" viewBox="-90 -90 599 538"><style type="text/css">
|
||||
width="599" height="543" viewBox="-90 -90 599 543"><style type="text/css">
|
||||
<![CDATA[
|
||||
.shape {
|
||||
shape-rendering: geometricPrecision;
|
||||
|
|
@ -39,8 +39,8 @@ width="599" height="538" viewBox="-90 -90 599 538"><style type="text/css">
|
|||
svgEl.setAttribute("height", height * ratio - 16);
|
||||
}
|
||||
});
|
||||
]]></script><g id="vpc"><g class="shape" ><rect x="12" y="12" width="395" height="334" style="fill:#E3E9FD;stroke:green;stroke-width:2;" /></g><image href="https://icons.terrastruct.com/aws%2FNetworking%20&%20Content%20Delivery%2FAmazon-VPC.svg" x="17.000000" y="17.000000" width="64" height="64" /><text class="text" x="209.500000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:green">VPC 1 10.1.0.0./16</text></g><g id="vpc.az"><g class="shape" ><rect x="62" y="78" width="295" height="218" style="fill:#EDF0FD;stroke:blue;stroke-width:2;stroke-dasharray:6.000000,5.919384;" /></g><text class="text" x="209.500000" y="107.000000" style="text-anchor:middle;font-size:24px;fill:blue">Availability Zone A</text></g><g id="vpc.az.firewall"><g class="shape" ><rect x="112" y="128" width="195" height="118" style="fill:#F7F8FE;stroke:purple;stroke-width:2;" /></g><image href="https://icons.terrastruct.com/aws%2FNetworking%20&%20Content%20Delivery%2FAmazon-Route-53_Hosted-Zone_light-bg.svg" x="180.000000" y="157.500000" width="59" height="59" /><text class="text-bold" x="209.500000" y="149.000000" style="text-anchor:middle;font-size:16px;fill:purple">Firewall Subnet A</text></g><mask id="3701608006" maskUnits="userSpaceOnUse" x="-100" y="-100" width="599" height="538">
|
||||
<rect x="-100" y="-100" width="599" height="538" fill="white"></rect>
|
||||
]]></script><g id="vpc"><g class="shape" ><rect x="12" y="12" width="395" height="339" style="fill:white;stroke:green;stroke-width:2;" /></g><image href="https://icons.terrastruct.com/aws%2F_Group%20Icons%2FVirtual-private-cloud-VPC_light-bg.svg" x="17.000000" y="17.000000" width="64" height="64" /><text class="text" x="209.500000" y="45.000000" style="text-anchor:middle;font-size:28px;fill:green">VPC 1 10.1.0.0./16</text></g><g id="vpc.az"><g class="shape" ><rect x="62" y="83" width="295" height="218" style="fill:white;stroke:blue;stroke-width:2;stroke-dasharray:6.000000,5.919384;" /></g><text class="text" x="209.500000" y="112.000000" style="text-anchor:middle;font-size:24px;fill:blue">Availability Zone A</text></g><g id="vpc.az.firewall"><g class="shape" ><rect x="112" y="133" width="195" height="118" style="fill:#e1d5e7;stroke:purple;stroke-width:2;" /></g><image href="https://icons.terrastruct.com/aws%2FNetworking%20&%20Content%20Delivery%2FAmazon-Route-53_Hosted-Zone_light-bg.svg" x="180.000000" y="162.500000" width="59" height="59" /><text class="text-bold" x="209.500000" y="154.000000" style="text-anchor:middle;font-size:16px;fill:purple">Firewall Subnet A</text></g><mask id="3563657041" maskUnits="userSpaceOnUse" x="-100" y="-100" width="599" height="543">
|
||||
<rect x="-100" y="-100" width="599" height="543" fill="white"></rect>
|
||||
|
||||
</mask><style type="text/css"><![CDATA[
|
||||
.text {
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 649 KiB After Width: | Height: | Size: 649 KiB |
Loading…
Reference in a new issue