drawio_dsl 0.11.8 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,22 +1,22 @@
1
1
  <mxfile host="65bd71144e">
2
2
  <diagram id="Yy3" name="Domain Modal">
3
- <mxGraphModel dx="2282" dy="1144" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" background="#fafafa" math="0" shadow="0">
3
+ <mxGraphModel dx="1775" dy="777" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" background="#fafafa" math="0" shadow="0">
4
4
  <root>
5
5
  <mxCell id="page_root_Yy3"/>
6
6
  <mxCell id="node_root_Yy3" parent="page_root_Yy3"/>
7
- <mxCell id="Yy3-2" value="Tailwind GEM" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333" parent="node_root_Yy3" vertex="1">
8
- <mxGeometry x="30" y="10" width="45" height="61" as="geometry"/>
7
+ <mxCell id="Yy3-2" value="Tailwind GEM" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#d0cee2;strokeColor=#56517e;" parent="node_root_Yy3" vertex="1">
8
+ <mxGeometry x="13" y="10" width="1082" height="829" as="geometry"/>
9
9
  </mxCell>
10
10
  <mxCell id="Yy3-10" value="Schema" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;verticalAlign=top;fontSize=25;" parent="node_root_Yy3" vertex="1">
11
11
  <mxGeometry x="115" y="551" width="750" height="263" as="geometry"/>
12
12
  </mxCell>
13
- <mxCell id="7" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=25;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;elbow=vertical;" edge="1" parent="node_root_Yy3" source="Yy3-11" target="Yy3-12">
13
+ <mxCell id="7" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=25;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;elbow=vertical;" parent="node_root_Yy3" source="Yy3-11" target="Yy3-12" edge="1">
14
14
  <mxGeometry relative="1" as="geometry"/>
15
15
  </mxCell>
16
16
  <mxCell id="Yy3-11" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px;text-align:center&quot;&gt;&lt;b&gt;WebSite&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;key: Symbol&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;name: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;description: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;target_folder: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;base_collection: Collection&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;theme: Theme&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;root: Page&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;favourite_components() : A&amp;lt;Component&amp;gt;&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="node_root_Yy3" vertex="1">
17
17
  <mxGeometry x="137" y="602" width="200" height="160" as="geometry"/>
18
18
  </mxCell>
19
- <mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=25;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;elbow=vertical;" edge="1" parent="node_root_Yy3" source="Yy3-12" target="Yy3-13">
19
+ <mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=25;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;elbow=vertical;" parent="node_root_Yy3" source="Yy3-12" target="Yy3-13" edge="1">
20
20
  <mxGeometry relative="1" as="geometry"/>
21
21
  </mxCell>
22
22
  <mxCell id="Yy3-12" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px;text-align:center&quot;&gt;&lt;b&gt;Page&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;key: Symbol&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;name: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;description: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;sub_folder: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;level: Integer&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;pages: A&amp;lt;Page&amp;gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;components: A&amp;lt;Component&amp;gt;&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="node_root_Yy3" vertex="1">
@@ -35,16 +35,16 @@
35
35
  <mxGeometry x="661" y="855" width="200" height="160" as="geometry"/>
36
36
  </mxCell>
37
37
  <mxCell id="abc1" value="DataBuilder" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;verticalAlign=top;fontSize=25;" parent="node_root_Yy3" vertex="1">
38
- <mxGeometry x="952" y="855" width="160" height="160" as="geometry"/>
38
+ <mxGeometry x="87" y="1091" width="512" height="349" as="geometry"/>
39
39
  </mxCell>
40
40
  <mxCell id="Yy3-18" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px;text-align:center&quot;&gt;&lt;b&gt;BaseDataBuilder&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;obj: Hash&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="node_root_Yy3" vertex="1">
41
- <mxGeometry x="1148" y="935" width="200" height="160" as="geometry"/>
41
+ <mxGeometry x="130" y="1203" width="200" height="160" as="geometry"/>
42
42
  </mxCell>
43
43
  <mxCell id="Yy3-19" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px;text-align:center&quot;&gt;&lt;i&gt;&amp;lt;&amp;lt; MixIn &amp;gt;&amp;gt;&lt;/i&gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px;text-align:center&quot;&gt;&lt;b&gt;Factory&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;data()&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;data_instance()&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="node_root_Yy3" vertex="1">
44
- <mxGeometry x="1388" y="935" width="160" height="160" as="geometry"/>
44
+ <mxGeometry x="390" y="1203" width="160" height="160" as="geometry"/>
45
45
  </mxCell>
46
- <mxCell id="5" value="" style="group" vertex="1" connectable="0" parent="node_root_Yy3">
47
- <mxGeometry x="110" y="5" width="963" height="505" as="geometry"/>
46
+ <mxCell id="5" value="" style="group" parent="node_root_Yy3" vertex="1" connectable="0">
47
+ <mxGeometry x="80" y="31" width="963" height="505" as="geometry"/>
48
48
  </mxCell>
49
49
  <mxCell id="Yy3-3" value="Configuration" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;verticalAlign=top;fontSize=25;" parent="5" vertex="1">
50
50
  <mxGeometry width="963" height="505" as="geometry"/>
@@ -52,6 +52,9 @@
52
52
  <mxCell id="Yy3-4" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px;text-align:center&quot;&gt;&lt;b&gt;Configuration&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;collections: A&amp;lt;Collection&amp;gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;themes: A&amp;lt;Theme&amp;gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;data_shapes: A&amp;lt;DataShape&amp;gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;component_groups: A&amp;lt;ComponentGroup&amp;gt;&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="5" vertex="1">
53
53
  <mxGeometry x="30" y="147" width="242" height="100" as="geometry"/>
54
54
  </mxCell>
55
+ <mxCell id="11" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=11;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;elbow=vertical;" edge="1" parent="5" source="Yy3-5" target="Yy3-6">
56
+ <mxGeometry relative="1" as="geometry"/>
57
+ </mxCell>
55
58
  <mxCell id="Yy3-5" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px;text-align:center&quot;&gt;&lt;b&gt;Collection&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;name: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;description: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;component_groups: A&amp;lt;ComponentGroup&amp;gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;default_themes: A&amp;lt;Theme&amp;gt;&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="5" vertex="1">
56
59
  <mxGeometry x="406" y="46" width="249" height="104" as="geometry"/>
57
60
  </mxCell>
@@ -61,7 +64,7 @@
61
64
  <mxCell id="Yy3-6" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px;text-align:center&quot;&gt;&lt;b&gt;Theme&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;key: Symbol&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;name: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;description: String&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="5" vertex="1">
62
65
  <mxGeometry x="404" y="166" width="250" height="84" as="geometry"/>
63
66
  </mxCell>
64
- <mxCell id="1" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=0.999;exitY=0.428;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=11;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;exitPerimeter=0;elbow=vertical;" edge="1" parent="5" source="Yy3-4" target="Yy3-6">
67
+ <mxCell id="1" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=0.999;exitY=0.428;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=11;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;exitPerimeter=0;elbow=vertical;" parent="5" source="Yy3-4" target="Yy3-6" edge="1">
65
68
  <mxGeometry relative="1" as="geometry">
66
69
  <Array as="points">
67
70
  <mxPoint x="404" y="190"/>
@@ -71,19 +74,22 @@
71
74
  <mxCell id="Yy3-7" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px;text-align:center&quot;&gt;&lt;b&gt;ComponentGroup&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;key: Symbol&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;name: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;description: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;collection: Collection&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;components: A&amp;lt;Component&amp;gt;&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="5" vertex="1">
72
75
  <mxGeometry x="404" y="362" width="249" height="118" as="geometry"/>
73
76
  </mxCell>
74
- <mxCell id="3" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=1.007;exitY=0.898;exitDx=0;exitDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=11;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;exitPerimeter=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;elbow=vertical;" edge="1" parent="5" source="Yy3-4" target="Yy3-7">
77
+ <mxCell id="3" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=1.007;exitY=0.898;exitDx=0;exitDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=11;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;exitPerimeter=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;elbow=vertical;" parent="5" source="Yy3-4" target="Yy3-7" edge="1">
78
+ <mxGeometry relative="1" as="geometry"/>
79
+ </mxCell>
80
+ <mxCell id="12" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=11;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;elbow=vertical;" edge="1" parent="5" source="Yy3-8" target="Yy3-9">
75
81
  <mxGeometry relative="1" as="geometry"/>
76
82
  </mxCell>
77
83
  <mxCell id="Yy3-8" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px;text-align:center&quot;&gt;&lt;b&gt;Component&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;key: Symbol&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;name: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;description: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;data_shape: DataShape&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="5" vertex="1">
78
84
  <mxGeometry x="741" y="364" width="200" height="101" as="geometry"/>
79
85
  </mxCell>
80
- <mxCell id="4" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=1.003;exitY=0.888;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=11;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;exitPerimeter=0;" edge="1" parent="5" source="Yy3-7" target="Yy3-8">
86
+ <mxCell id="4" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=1.003;exitY=0.888;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=11;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;exitPerimeter=0;" parent="5" source="Yy3-7" target="Yy3-8" edge="1">
81
87
  <mxGeometry relative="1" as="geometry"/>
82
88
  </mxCell>
83
89
  <mxCell id="Yy3-9" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px;text-align:center&quot;&gt;&lt;b&gt;DataShape&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;key: Symbol&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;name: String&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-bottom:4px&quot;&gt;description: String&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="5" vertex="1">
84
90
  <mxGeometry x="404" y="264" width="250" height="84" as="geometry"/>
85
91
  </mxCell>
86
- <mxCell id="2" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=11;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;elbow=vertical;" edge="1" parent="5" source="Yy3-4" target="Yy3-9">
92
+ <mxCell id="2" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=11;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;elbow=vertical;" parent="5" source="Yy3-4" target="Yy3-9" edge="1">
87
93
  <mxGeometry relative="1" as="geometry">
88
94
  <Array as="points">
89
95
  <mxPoint x="368" y="222"/>
@@ -91,7 +97,7 @@
91
97
  </Array>
92
98
  </mxGeometry>
93
99
  </mxCell>
94
- <mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=25;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;" edge="1" parent="node_root_Yy3" source="Yy3-12" target="Yy3-12">
100
+ <mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;shape=connector;rounded=1;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;labelBackgroundColor=default;fontFamily=Helvetica;fontSize=25;fontColor=default;endArrow=classic;strokeColor=#6F0000;fillColor=#a20025;" parent="node_root_Yy3" source="Yy3-12" target="Yy3-12" edge="1">
95
101
  <mxGeometry relative="1" as="geometry">
96
102
  <Array as="points">
97
103
  <mxPoint x="382" y="782"/>
@@ -8,60 +8,73 @@ module DrawioDsl
8
8
  class BaseFormatter
9
9
  attr_reader :html
10
10
 
11
+ # items are separate to html and are used for building a hash for export
12
+ attr_reader :items
13
+
11
14
  def initialize(element_style_defaults = {})
12
15
  @html = DrawioDsl::Formatters::HtmlBuilder.new(element_style_defaults)
16
+ @items = []
13
17
  end
14
18
 
15
19
  def hr(size: 1)
16
20
  html.hr(size: size)
21
+ items << { type: :hr }
17
22
 
18
23
  self
19
24
  end
20
25
 
21
26
  def b(content, **opts)
22
27
  html.b(content, **opts)
28
+ items << { type: :b, content: content }
23
29
 
24
30
  self
25
31
  end
26
32
 
27
33
  def p(content, **opts)
28
34
  html.p(content, **opts)
35
+ items << { type: :p, content: content }
29
36
 
30
37
  self
31
38
  end
32
39
 
33
40
  def h1(content, **opts)
34
41
  html.h1(content, **opts)
42
+ items << { type: :h1, content: content }
35
43
 
36
44
  self
37
45
  end
38
46
 
39
47
  def h2(content, **opts)
40
48
  html.h2(content, **opts)
49
+ items << { type: :h2, content: content }
41
50
 
42
51
  self
43
52
  end
44
53
 
45
54
  def h3(content, **opts)
46
55
  html.h3(content, **opts)
56
+ items << { type: :h3, content: content }
47
57
 
48
58
  self
49
59
  end
50
60
 
51
61
  def h4(content, **opts)
52
62
  html.h4(content, **opts)
63
+ items << { type: :h4, content: content }
53
64
 
54
65
  self
55
66
  end
56
67
 
57
68
  def h5(content, **opts)
58
69
  html.h5(content, **opts)
70
+ items << { type: :h5, content: content }
59
71
 
60
72
  self
61
73
  end
62
74
 
63
75
  def h6(content, **opts)
64
76
  html.h6(content, **opts)
77
+ items << { type: :h6, content: content }
65
78
 
66
79
  self
67
80
  end
@@ -92,6 +105,12 @@ module DrawioDsl
92
105
  html.as_html(new_line: new_line)
93
106
  end
94
107
 
108
+ def to_h
109
+ {
110
+ items: items.map(&:to_h)
111
+ }
112
+ end
113
+
95
114
  private
96
115
 
97
116
  # useful defaults
@@ -22,13 +22,21 @@ module DrawioDsl
22
22
  )
23
23
  end
24
24
 
25
- def header(name, description: nil, interface_type: 'Interface')
25
+ def header(name, description: nil, namespace: nil, interface_type: 'Interface')
26
26
  html.p("<i>&lt;&lt; #{interface_type} &gt;&gt;</i>", text_align: :center)
27
27
  html.p("<b>#{name}</b>", text_align: :center)
28
28
  html.hr
29
29
 
30
30
  html.group(:description).p(description) if description
31
31
 
32
+ items << {
33
+ type: :interface,
34
+ name: name,
35
+ description: description,
36
+ namespace: namespace,
37
+ interface_type: interface_type
38
+ }
39
+
32
40
  self
33
41
  end
34
42
 
@@ -40,6 +48,12 @@ module DrawioDsl
40
48
  end
41
49
  html.group(:fields).p(value)
42
50
 
51
+ items << {
52
+ type: :field,
53
+ name: name,
54
+ return_type: type
55
+ }
56
+
43
57
  self
44
58
  end
45
59
 
@@ -51,6 +65,12 @@ module DrawioDsl
51
65
  end
52
66
  html.group(:methods).p(value)
53
67
 
68
+ items << {
69
+ type: :method,
70
+ name: name,
71
+ return_type: type
72
+ }
73
+
54
74
  self
55
75
  end
56
76
 
@@ -22,12 +22,19 @@ module DrawioDsl
22
22
  )
23
23
  end
24
24
 
25
- def header(name, description: nil)
25
+ def header(name, description: nil, namespace: nil)
26
26
  html.p("<b>#{name}</b>", text_align: :center)
27
27
  html.hr
28
28
 
29
29
  html.group(:description).p(description) if description
30
30
 
31
+ items << {
32
+ type: :class,
33
+ name: name,
34
+ description: description,
35
+ namespace: namespace
36
+ }
37
+
31
38
  self
32
39
  end
33
40
 
@@ -39,6 +46,12 @@ module DrawioDsl
39
46
  end
40
47
  html.group(:fields).p(value)
41
48
 
49
+ items << {
50
+ type: :field,
51
+ name: name,
52
+ return_type: type
53
+ }
54
+
42
55
  self
43
56
  end
44
57
 
@@ -50,6 +63,12 @@ module DrawioDsl
50
63
  end
51
64
  html.group(:methods).p(value)
52
65
 
66
+ items << {
67
+ type: :method,
68
+ name: name,
69
+ return_type: type
70
+ }
71
+
53
72
  self
54
73
  end
55
74
 
@@ -116,10 +116,12 @@ module DrawioDsl
116
116
  def to_h
117
117
  {
118
118
  id: id,
119
+ active: active,
119
120
  name: name,
120
121
  position_x: position_x,
121
122
  position_y: position_y,
122
123
  theme: theme,
124
+ bg_theme: bg_theme,
123
125
  palette: palette.to_h,
124
126
  style: style.to_h,
125
127
  settings: settings,
@@ -59,6 +59,7 @@ module DrawioDsl
59
59
  instance_eval(&block) if block_given?
60
60
 
61
61
  @value = formatter.empty? ? title : formatter.as_html
62
+ @meta_data = formatter.empty? ? { items: [{ type: :title, content: title }] } : formatter.to_h
62
63
  end
63
64
 
64
65
  def shape_defaults
@@ -93,18 +94,6 @@ module DrawioDsl
93
94
  def style
94
95
  return @style if defined? @style
95
96
 
96
- # key_values = []
97
- # key_values << "whiteSpace=#{white_space}" if white_space
98
- # key_values << "html=#{html}" if html
99
- # key_values << "rounded=#{rounded}" if rounded
100
- # key_values << "shadow=#{shadow}" if shadow
101
- # key_values << "sketch=#{sketch}" if sketch
102
- # key_values << "glass=#{glass}" if glass
103
- # key_values << "fillColor=#{fill_color}" if fill_color
104
- # key_values << "strokeColor=#{stroke_color}" if stroke_color
105
- # key_values << "fontColor=#{font_color}" if font_color
106
- # key_values << "gradient=#{gradient}" if gradient
107
-
108
97
  add_base_modifiers
109
98
 
110
99
  @style_builder.add_kv('whiteSpace', white_space) if white_space
@@ -119,18 +108,11 @@ module DrawioDsl
119
108
  @style_builder.add_kv('gradient', gradient) if gradient
120
109
  @style_builder.add(style_modifiers)
121
110
 
122
- # key_values << base_modifiers unless base_modifiers.empty?
123
- # key_values << style_modifiers unless style_modifiers.empty?
124
- # @style_builder.add(style_modifiers) unless style_modifiers.empty?
125
-
126
- # key_values.join(';')
127
111
  @style = @style_builder.style
128
112
  end
129
113
  # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
130
114
 
131
115
  def as_xml(xml)
132
- # log.error category
133
- # log.error key
134
116
  draw_element(xml) if is_a?(Element) || is_a?(Text)
135
117
  draw_line(xml) if is_a?(Line)
136
118
  end
@@ -157,7 +139,9 @@ module DrawioDsl
157
139
  y: y,
158
140
  w: w,
159
141
  h: h,
160
- style: style
142
+ style: style,
143
+ value: value,
144
+ meta_data: @meta_data
161
145
  }
162
146
  result[:nodes] = nodes.to_h if nodes.any?
163
147
  result
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DrawioDsl
4
- VERSION = '0.11.8'
4
+ VERSION = '0.12.0'
5
5
  end
data/lib/drawio_dsl.rb CHANGED
@@ -29,7 +29,7 @@ require_relative 'drawio_dsl/drawio_extensions'
29
29
  require_relative 'drawio_dsl/drawio_page'
30
30
  require_relative 'drawio_dsl/drawio'
31
31
 
32
- if ENV['KLUE_DEBUG']&.to_s&.downcase == 'true'
32
+ if ENV.fetch('KLUE_DEBUG', 'false').downcase == 'true'
33
33
  namespace = 'DrawioDsl::Version'
34
34
  file_path = $LOADED_FEATURES.find { |f| f.include?('drawio_dsl/version') }
35
35
  version = DrawioDsl::VERSION.ljust(9)
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "drawio_dsl",
3
- "version": "0.11.8",
3
+ "version": "0.12.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "drawio_dsl",
9
- "version": "0.11.8",
9
+ "version": "0.12.0",
10
10
  "devDependencies": {
11
11
  "@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
12
12
  "@semantic-release/changelog": "^6.0.1",
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drawio_dsl",
3
- "version": "0.11.8",
3
+ "version": "0.12.0",
4
4
  "description": "DrawIO DSL can build DrawIO diagrams using a Domain Specific Language",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drawio_dsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.8
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-01 00:00:00.000000000 Z
11
+ date: 2022-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: k_config
@@ -281,8 +281,6 @@ files:
281
281
  - docs/samples/themes-square.svg
282
282
  - docs/samples/willoughby-council.svg
283
283
  - docs/tailwind_domain_model-custom.drawio
284
- - docs/tailwind_domain_model.json
285
- - docs/tailwind_domain_model.svg
286
284
  - lib/drawio_dsl.rb
287
285
  - lib/drawio_dsl/configuration.rb
288
286
  - lib/drawio_dsl/configuration_extension.rb