drawio_dsl 0.8.3 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b70dcf329c6e2ea402a192100ee60e2e54fb64fbe156a888f3ebcf7dc5bdfb1c
4
- data.tar.gz: a6dab38bcfb52d4ab389558adccc212c59919132572c85e445355bad83a120bf
3
+ metadata.gz: eaadefa65f1fcd1e6b91b0fec2a2991b6dbd0b5c81177c2437cd0cf68a1cafe7
4
+ data.tar.gz: 356f7ccd25ffdd017a1cdd2e73c38981489419b60267bb901c369a5de05bee68
5
5
  SHA512:
6
- metadata.gz: 340f738bda37bebbc9b6694bc17d0ff5f93479d9b18ce82bdd3434c945cc5c1ccb064fffb1880734cac8fa861bde6f3ce706a1766487903bbc90c7e860577fba
7
- data.tar.gz: 903aeb17c451ddc9171dcffb8eb7497c3610dcd65b79a73d376cdf6b9a753a2475b162b667dddb6253fa54849250a85cae0b69d2ee8c922ed1a97ceaf787206e
6
+ metadata.gz: affa37adb5680219cd4198308779a5fca57e687ca4a0c6a8dde2f090513295d369c67c6e0f1e77dec546af066a91bc673e2ff82e6f2a3ca26f4e6b30132904f9
7
+ data.tar.gz: 3d4053a106945fb96b2e9179a4bd49a4103e1fe8f4505761f1dba184d9906ac8cc7d6ac039dafedb9ce8275643ff6af8a7ea3aee5db452e40024a2aa178a8ab6
@@ -406,6 +406,15 @@
406
406
  "h": 100,
407
407
  "style_modifiers": "shape=message"
408
408
  },
409
+ {
410
+ "type": "database",
411
+ "category": "element",
412
+ "x": 0,
413
+ "y": 0,
414
+ "w": 160,
415
+ "h": 80,
416
+ "style_modifiers": "shape=mxgraph.flowchart.database;strokeWidth=1"
417
+ },
409
418
  {
410
419
  "type": "diamond",
411
420
  "category": "element",
@@ -124,6 +124,7 @@ m = KManager.model :shapes, namespace: %i[domain] do
124
124
  row :container4 , :element, 0, 0, 160, 160, 'swimlane;resizable=0'
125
125
  row :cross , :element, 0, 0, 50, 50, 'verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x'
126
126
  row :envelop , :element, 0, 0, 160, 100, 'shape=message'
127
+ row :database , :element, 0, 0, 160, 80, 'shape=mxgraph.flowchart.database;strokeWidth=1'
127
128
  row :diamond , :element, 0, 0, 100, 100, 'rhombus'
128
129
  row :document , :element, 0, 0, 160, 160, 'shape=mxgraph.basic.document'
129
130
  row :ellipse , :element, 0, 0, 200, 120, 'ellipse'
@@ -0,0 +1,40 @@
1
+ KManager.action :domain_diagram do
2
+ action do
3
+
4
+ DrawioDsl::Drawio
5
+ .init(k_builder, on_exist: :write, on_action: :execute)
6
+ .diagram(theme: :style_04)
7
+ .page('Style-Plain', margin_left: 0, margin_top: 0, rounded: 0, background: '#fafafa') do
8
+ grid_layout(wrap_at: 6)
9
+
10
+ klass do
11
+ format
12
+ .header('Container', description: 'A container acts a base data object for any data that requires tagging')
13
+ end
14
+ interface(theme: :style_02) do
15
+ format
16
+ .header('Block Processor', interface_type: 'MixIn', description: 'Provide data load events, dependency and import management')
17
+ end
18
+ square(title: 'Documents', theme: :style_01)
19
+ interface(theme: :style_02) do
20
+ format
21
+ .header('Block Processor', interface_type: 'MixIn', description: 'Provide data load events, dependency and import management')
22
+ .field(:block, type: :proc)
23
+ .field(:block_state, type: :symbol)
24
+ .method(:depend_on)
25
+ end
26
+ end
27
+ .cd(:docs)
28
+ .save('domain.drawio')
29
+ .export_svg('domain_model', page: 1)
30
+ end
31
+ end
32
+
33
+ KManager.opts.app_name = 'domain_diagram'
34
+ KManager.opts.sleep = 2
35
+ KManager.opts.reboot_on_kill = 0
36
+ KManager.opts.reboot_sleep = 4
37
+ KManager.opts.exception_style = :short
38
+ KManager.opts.show.time_taken = true
39
+ KManager.opts.show.finished = true
40
+ KManager.opts.show.finished_message = 'FINISHED :)'
@@ -0,0 +1,40 @@
1
+ KManager.action :domain_diagram do
2
+ action do
3
+
4
+ DrawioDsl::Drawio
5
+ .init(k_builder, on_exist: :write, on_action: :execute)
6
+ .diagram(theme: :style_04)
7
+ .page('Style-Plain', margin_left: 0, margin_top: 0, rounded: 0, background: '#fafafa') do
8
+ grid_layout(wrap_at: 6)
9
+
10
+ klass do
11
+ format
12
+ .header('Container', description: 'A container acts a base data object for any data that requires tagging')
13
+ end
14
+ interface(theme: :style_02) do
15
+ format
16
+ .header('Block Processor', interface_type: 'MixIn', description: 'Provide data load events, dependency and import management')
17
+ end
18
+ square(title: 'Documents', theme: :style_01)
19
+ interface(theme: :style_02) do
20
+ format
21
+ .header('Block Processor', interface_type: 'MixIn', description: 'Provide data load events, dependency and import management')
22
+ .field(:block, type: :proc)
23
+ .field(:block_state, type: :symbol)
24
+ .method(:depend_on)
25
+ end
26
+ end
27
+ .cd(:docs)
28
+ .save('domain.drawio')
29
+ .export_svg('domain_model', page: 1)
30
+ end
31
+ end
32
+
33
+ KManager.opts.app_name = 'domain_diagram'
34
+ KManager.opts.sleep = 2
35
+ KManager.opts.reboot_on_kill = 0
36
+ KManager.opts.reboot_sleep = 4
37
+ KManager.opts.exception_style = :short
38
+ KManager.opts.show.time_taken = true
39
+ KManager.opts.show.finished = true
40
+ KManager.opts.show.finished_message = 'FINISHED :)'
@@ -11,7 +11,7 @@ KManager.action :project_plan do
11
11
 
12
12
  grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
13
13
 
14
- todo(title: 'build a class diagram')
14
+ todo(title: 'build a domain (class) diagram')
15
15
  todo(title: 'add new shapes related to line connectors')
16
16
  todo(title: 'line connector aliases gives a simple way to use predefined line configurations')
17
17
  todo(title: 'line connectors need to support autolinking using ids')
@@ -69,7 +69,6 @@ KManager.action :project_plan do
69
69
  todo(title: 'add export as .PNG, needs to take a page number as the PNG will not support multiple pages')
70
70
  todo(title: 'add export as .SVG, needs to take a page number as the SVG will not support multiple pages')
71
71
  todo(title: 'add save as .drawio')
72
-
73
72
  end
74
73
  .cd(:docs)
75
74
  .save('project-plan/project.drawio')
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [0.8.3](https://github.com/klueless-io/drawio_dsl/compare/v0.8.2...v0.8.3) (2022-03-17)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add line configuration definitions ([a1e0f50](https://github.com/klueless-io/drawio_dsl/commit/a1e0f509f309096013fa0db2d03a61fe78816948))
7
+ * add line configuration definitions ([6864470](https://github.com/klueless-io/drawio_dsl/commit/6864470d00f1ffaa2d7dc572fa0d857f5d40256b))
8
+
1
9
  ## [0.8.2](https://github.com/klueless-io/drawio_dsl/compare/v0.8.1...v0.8.2) (2022-03-17)
2
10
 
3
11
 
@@ -0,0 +1,31 @@
1
+ <mxfile host="65bd71144e">
2
+ <diagram id="X2d" name="Style-Plain">
3
+ <mxGraphModel dx="862" dy="583" 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
+ <root>
5
+ <mxCell id="page_root_X2d"/>
6
+ <mxCell id="node_root_X2d" parent="page_root_X2d"/>
7
+ <mxCell id="X2d-2" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px;text-align:center&quot;&gt;&lt;b&gt;Container&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&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_X2d" vertex="1">
8
+ <mxGeometry x="30" y="30" width="160" height="160" as="geometry"/>
9
+ </mxCell>
10
+ <mxCell id="X2d-3" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-top: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-top:4px;text-align:center&quot;&gt;&lt;b&gt;Block Processor&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&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_X2d" vertex="1">
11
+ <mxGeometry x="250" y="30" width="160" height="160" as="geometry"/>
12
+ </mxCell>
13
+ <mxCell id="X2d-4" value="Documents" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333" parent="node_root_X2d" vertex="1">
14
+ <mxGeometry x="470" y="30" width="160" height="160" as="geometry"/>
15
+ </mxCell>
16
+ <mxCell id="X2d-5" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-top: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-top:4px;text-align:center&quot;&gt;&lt;b&gt;Block Processor&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;block: proc&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;block_state: symbol&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;depend_on()&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_X2d" vertex="1">
17
+ <mxGeometry x="690" y="30" width="160" height="160" as="geometry"/>
18
+ </mxCell>
19
+ <mxCell id="4tbYCbTjaN7O87TdMOiT-0" value="&lt;div style=&quot;color: rgb(212 , 212 , 212) ; background-color: rgb(30 , 30 , 30) ; font-family: &amp;#34;menlo&amp;#34; , &amp;#34;monaco&amp;#34; , &amp;#34;courier new&amp;#34; , monospace ; line-height: 18px&quot;&gt;&lt;span style=&quot;color: #ce9178&quot;&gt;db_schema.json&lt;/span&gt;&lt;/div&gt;" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="node_root_X2d">
20
+ <mxGeometry x="50" y="199" width="60" height="80" as="geometry"/>
21
+ </mxCell>
22
+ <mxCell id="4tbYCbTjaN7O87TdMOiT-1" value="11111111" style="shape=datastore;whiteSpace=wrap;html=1;" vertex="1" parent="node_root_X2d">
23
+ <mxGeometry x="182" y="112" width="60" height="60" as="geometry"/>
24
+ </mxCell>
25
+ <mxCell id="4tbYCbTjaN7O87TdMOiT-2" value="db_schema.json" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.database;whiteSpace=wrap;" vertex="1" parent="node_root_X2d">
26
+ <mxGeometry x="193" y="249" width="138" height="60" as="geometry"/>
27
+ </mxCell>
28
+ </root>
29
+ </mxGraphModel>
30
+ </diagram>
31
+ </mxfile>
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="822px" height="162px" viewBox="-0.5 -0.5 822 162"><defs/><g><rect x="0" y="0" width="160" height="160" fill="#ffe6cc" stroke="#d79b00" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 0px; margin-left: 0px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;"><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px ; text-align: center"><b>Container</b></p><hr size="1" /></div></div></div></foreignObject><text x="0" y="84" fill="#333333" font-family="Helvetica" font-size="12px">Container</text></switch></g><rect x="220" y="0" width="160" height="160" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 0px; margin-left: 220px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;"><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px ; text-align: center"><i>&lt;&lt; MixIn &gt;&gt;</i></p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px ; text-align: center"><b>Block Processor</b></p><hr size="1" /></div></div></div></foreignObject><text x="220" y="84" fill="#333333" font-family="Helvetica" font-size="12px">&lt;&lt; MixIn &gt;&gt;...</text></switch></g><rect x="440" y="0" width="160" height="160" fill="#f5f5f5" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 441px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Documents</div></div></div></foreignObject><text x="520" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Documents</text></switch></g><rect x="660" y="0" width="160" height="160" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 0px; margin-left: 660px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;"><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px ; text-align: center"><i>&lt;&lt; MixIn &gt;&gt;</i></p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px ; text-align: center"><b>Block Processor</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">block: proc</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">block_state: symbol</p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">depend_on()</p></div></div></div></foreignObject><text x="660" y="84" fill="#333333" font-family="Helvetica" font-size="12px">&lt;&lt; MixIn &gt;&gt;...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
@@ -1,149 +1,149 @@
1
- <mxfile host="bww">
2
- <diagram id="iyT" name="In progress">
1
+ <mxfile host="Aom">
2
+ <diagram id="S7C" name="In progress">
3
3
  <mxGraphModel dx="0" dy="0" background="#FFFACD" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
4
4
  <root>
5
- <mxCell id="page_root_iyT" parent="iyT"/>
6
- <mxCell id="node_root_iyT" parent="page_root_iyT"/>
7
- <mxCell id="iyT-2" value="build a class diagram" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_iyT">
5
+ <mxCell id="page_root_S7C" parent="S7C"/>
6
+ <mxCell id="node_root_S7C" parent="page_root_S7C"/>
7
+ <mxCell id="S7C-2" value="build a domain (class) diagram" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_S7C">
8
8
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
9
9
  </mxCell>
10
- <mxCell id="iyT-3" value="add new shapes related to line connectors" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_iyT">
10
+ <mxCell id="S7C-3" value="add new shapes related to line connectors" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_S7C">
11
11
  <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
12
12
  </mxCell>
13
- <mxCell id="iyT-4" value="line connector aliases gives a simple way to use predefined line configurations" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_iyT">
13
+ <mxCell id="S7C-4" value="line connector aliases gives a simple way to use predefined line configurations" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_S7C">
14
14
  <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
15
15
  </mxCell>
16
- <mxCell id="iyT-5" value="line connectors need to support autolinking using ids" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_iyT">
16
+ <mxCell id="S7C-5" value="line connectors need to support autolinking using ids" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_S7C">
17
17
  <mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
18
18
  </mxCell>
19
- <mxCell id="iyT-6" value="line connectors should not effect the grid positioning systems" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_iyT">
19
+ <mxCell id="S7C-6" value="line connectors should not effect the grid positioning systems" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_S7C">
20
20
  <mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
21
21
  </mxCell>
22
22
  </root>
23
23
  </mxGraphModel>
24
24
  </diagram>
25
- <diagram id="ZCM" name="To Do">
25
+ <diagram id="i3T" name="To Do">
26
26
  <mxGraphModel dx="0" dy="0" background="#FFFACD" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
27
27
  <root>
28
- <mxCell id="page_root_ZCM" parent="ZCM"/>
29
- <mxCell id="node_root_ZCM" parent="page_root_ZCM"/>
30
- <mxCell id="ZCM-2" value="add page background to theme, use it whenever the theme is set at a diagram/page level" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
28
+ <mxCell id="page_root_i3T" parent="i3T"/>
29
+ <mxCell id="node_root_i3T" parent="page_root_i3T"/>
30
+ <mxCell id="i3T-2" value="add page background to theme, use it whenever the theme is set at a diagram/page level" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
31
31
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
32
32
  </mxCell>
33
- <mxCell id="ZCM-3" value="move DrawioDsl::Formatters::Factory::FORMATTERS to resource file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
33
+ <mxCell id="i3T-3" value="move DrawioDsl::Formatters::Factory::FORMATTERS to resource file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
34
34
  <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
35
35
  </mxCell>
36
- <mxCell id="ZCM-4" value="move DrawioDsl::Formatters::StyleBuilder::MAPPINGS to resource file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
36
+ <mxCell id="i3T-4" value="move DrawioDsl::Formatters::StyleBuilder::MAPPINGS to resource file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
37
37
  <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
38
38
  </mxCell>
39
- <mxCell id="ZCM-5" value="need to setup new project plans" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
39
+ <mxCell id="i3T-5" value="need to setup new project plans" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
40
40
  <mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
41
41
  </mxCell>
42
- <mxCell id="ZCM-6" value="settings style attributes need to de-duplicate, might be best to utilize the new StyleBuilder class" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
42
+ <mxCell id="i3T-6" value="settings style attributes need to de-duplicate, might be best to utilize the new StyleBuilder class" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
43
43
  <mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
44
44
  </mxCell>
45
- <mxCell id="ZCM-7" value="write SVG directly into other projects" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
45
+ <mxCell id="i3T-7" value="write SVG directly into other projects" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
46
46
  <mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
47
47
  </mxCell>
48
- <mxCell id="ZCM-8" value="add :shape, :line and :text to random shape generator" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
48
+ <mxCell id="i3T-8" value="add :shape, :line and :text to random shape generator" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
49
49
  <mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
50
50
  </mxCell>
51
- <mxCell id="ZCM-9" value="Nodes need to support child nodes" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
51
+ <mxCell id="i3T-9" value="Nodes need to support child nodes" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
52
52
  <mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
53
53
  </mxCell>
54
- <mxCell id="ZCM-10" value="Grid layout does not position itself in relation to the last element" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
54
+ <mxCell id="i3T-10" value="Grid layout does not position itself in relation to the last element" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
55
55
  <mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
56
56
  </mxCell>
57
- <mxCell id="ZCM-11" value="Dynamic sized shapes that expand to the size of their text" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
57
+ <mxCell id="i3T-11" value="Dynamic sized shapes that expand to the size of their text" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
58
58
  <mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
59
59
  </mxCell>
60
- <mxCell id="ZCM-12" value="Control of text padding left, right, top and bottom" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
60
+ <mxCell id="i3T-12" value="Control of text padding left, right, top and bottom" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
61
61
  <mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
62
62
  </mxCell>
63
- <mxCell id="ZCM-13" value="Improve the theme control over text-only shapes" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
63
+ <mxCell id="i3T-13" value="Improve the theme control over text-only shapes" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
64
64
  <mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
65
65
  </mxCell>
66
- <mxCell id="ZCM-14" value="x,y settings do not work for shapes within a grid layout" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
66
+ <mxCell id="i3T-14" value="x,y settings do not work for shapes within a grid layout" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
67
67
  <mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
68
68
  </mxCell>
69
- <mxCell id="ZCM-15" value="page layout so that you drop elements on and they are positioned correctly, e.g centered, left, right, etc, maybe a grid layout with a wrap of 1 and a width of the page is sufficient" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_ZCM">
69
+ <mxCell id="i3T-15" value="page layout so that you drop elements on and they are positioned correctly, e.g centered, left, right, etc, maybe a grid layout with a wrap of 1 and a width of the page is sufficient" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
70
70
  <mxGeometry x="330" y="330" width="300" height="60" as="geometry"/>
71
71
  </mxCell>
72
72
  </root>
73
73
  </mxGraphModel>
74
74
  </diagram>
75
- <diagram id="l1G" name="Done">
75
+ <diagram id="051" name="Done">
76
76
  <mxGraphModel dx="0" dy="0" background="#FFFACD" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
77
77
  <root>
78
- <mxCell id="page_root_l1G" parent="l1G"/>
79
- <mxCell id="node_root_l1G" parent="page_root_l1G"/>
80
- <mxCell id="l1G-2" value="build configuration for line strokes %i[dashed dotted dashdot dashdotdot dotdotdot longdash)" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
78
+ <mxCell id="page_root_051" parent="051"/>
79
+ <mxCell id="node_root_051" parent="page_root_051"/>
80
+ <mxCell id="051-2" value="build configuration for line strokes %i[dashed dotted dashdot dashdotdot dotdotdot longdash)" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
81
81
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
82
82
  </mxCell>
83
- <mxCell id="l1G-3" value="build configuration for line compass %i[n ne e se s sw w nw]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
83
+ <mxCell id="051-3" value="build configuration for line compass %i[n ne e se s sw w nw]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
84
84
  <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
85
85
  </mxCell>
86
- <mxCell id="l1G-4" value="build configuration for line shape %i[style1 style2 style3 style4]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
86
+ <mxCell id="051-4" value="build configuration for line shape %i[style1 style2 style3 style4]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
87
87
  <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
88
88
  </mxCell>
89
- <mxCell id="l1G-5" value="build configuration for arrows %i[straight triangle diamond circle cross short default none plain skewed_dash concave er_many er_one er_one_optional er_one_mandatory er_many_optional er_many_mandatory]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
89
+ <mxCell id="051-5" value="build configuration for arrows %i[straight triangle diamond circle cross short default none plain skewed_dash concave er_many er_one er_one_optional er_one_mandatory er_many_optional er_many_mandatory]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
90
90
  <mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
91
91
  </mxCell>
92
- <mxCell id="l1G-6" value="refactor the shape-&gt;text_only (boolean) to category (symbol)" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
92
+ <mxCell id="051-6" value="refactor the shape-&gt;text_only (boolean) to category (symbol)" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
93
93
  <mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
94
94
  </mxCell>
95
- <mxCell id="l1G-7" value="ensure that ids are working as expected" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
95
+ <mxCell id="051-7" value="ensure that ids are working as expected" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
96
96
  <mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
97
97
  </mxCell>
98
- <mxCell id="l1G-8" value="alter the initial parameter of all shapes so that it can be an ID, without named attribute" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
98
+ <mxCell id="051-8" value="alter the initial parameter of all shapes so that it can be an ID, without named attribute" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
99
99
  <mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
100
100
  </mxCell>
101
- <mxCell id="l1G-9" value="move project-plan files" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
101
+ <mxCell id="051-9" value="move project-plan files" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
102
102
  <mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
103
103
  </mxCell>
104
- <mxCell id="l1G-10" value="alter configure_shape so it sets the default shape key and use that for selecting the default HTML formatter" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
104
+ <mxCell id="051-10" value="alter configure_shape so it sets the default shape key and use that for selecting the default HTML formatter" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
105
105
  <mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
106
106
  </mxCell>
107
- <mxCell id="l1G-11" value="add todo shape to simplify project plan drawing" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
107
+ <mxCell id="051-11" value="add todo shape to simplify project plan drawing" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
108
108
  <mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
109
109
  </mxCell>
110
- <mxCell id="l1G-12" value="introduce .value property to shape and let it use either formatted HTML or plain text title" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
110
+ <mxCell id="051-12" value="introduce .value property to shape and let it use either formatted HTML or plain text title" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
111
111
  <mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
112
112
  </mxCell>
113
- <mxCell id="l1G-13" value="formatter DSL that can render HTML directly into the value property" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
113
+ <mxCell id="051-13" value="formatter DSL that can render HTML directly into the value property" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
114
114
  <mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
115
115
  </mxCell>
116
- <mxCell id="l1G-14" value="formatter DSL for class and interface generation" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
116
+ <mxCell id="051-14" value="formatter DSL for class and interface generation" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
117
117
  <mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
118
118
  </mxCell>
119
- <mxCell id="l1G-15" value="generate extension based graphics based on drawio extensions.js" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
119
+ <mxCell id="051-15" value="generate extension based graphics based on drawio extensions.js" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
120
120
  <mxGeometry x="330" y="330" width="300" height="60" as="geometry"/>
121
121
  </mxCell>
122
- <mxCell id="l1G-16" value="active? flag on page defaulting to true. set to false to exclude page from diagram." style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
122
+ <mxCell id="051-16" value="active? flag on page defaulting to true. set to false to exclude page from diagram." style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
123
123
  <mxGeometry x="650" y="330" width="300" height="60" as="geometry"/>
124
124
  </mxCell>
125
- <mxCell id="l1G-17" value="first level child nodes need to hang of node 1" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
125
+ <mxCell id="051-17" value="first level child nodes need to hang of node 1" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
126
126
  <mxGeometry x="10" y="410" width="300" height="60" as="geometry"/>
127
127
  </mxCell>
128
- <mxCell id="l1G-18" value="node has child nodes and add_node will set a nodes parent" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
128
+ <mxCell id="051-18" value="node has child nodes and add_node will set a nodes parent" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
129
129
  <mxGeometry x="330" y="410" width="300" height="60" as="geometry"/>
130
130
  </mxCell>
131
- <mxCell id="l1G-19" value="nodes can belong to a parent node, the top level node responds with truthy to root?" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
131
+ <mxCell id="051-19" value="nodes can belong to a parent node, the top level node responds with truthy to root?" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
132
132
  <mxGeometry x="650" y="410" width="300" height="60" as="geometry"/>
133
133
  </mxCell>
134
- <mxCell id="l1G-20" value="add sample diagram for the github readme file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
134
+ <mxCell id="051-20" value="add sample diagram for the github readme file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
135
135
  <mxGeometry x="10" y="490" width="300" height="60" as="geometry"/>
136
136
  </mxCell>
137
- <mxCell id="l1G-21" value="write samples into docs folder and display in readme" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
137
+ <mxCell id="051-21" value="write samples into docs folder and display in readme" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
138
138
  <mxGeometry x="330" y="490" width="300" height="60" as="geometry"/>
139
139
  </mxCell>
140
- <mxCell id="l1G-22" value="add export as .PNG, needs to take a page number as the PNG will not support multiple pages" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
140
+ <mxCell id="051-22" value="add export as .PNG, needs to take a page number as the PNG will not support multiple pages" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
141
141
  <mxGeometry x="650" y="490" width="300" height="60" as="geometry"/>
142
142
  </mxCell>
143
- <mxCell id="l1G-23" value="add export as .SVG, needs to take a page number as the SVG will not support multiple pages" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
143
+ <mxCell id="051-23" value="add export as .SVG, needs to take a page number as the SVG will not support multiple pages" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
144
144
  <mxGeometry x="10" y="570" width="300" height="60" as="geometry"/>
145
145
  </mxCell>
146
- <mxCell id="l1G-24" value="add save as .drawio" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_l1G">
146
+ <mxCell id="051-24" value="add save as .drawio" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
147
147
  <mxGeometry x="330" y="570" width="300" height="60" as="geometry"/>
148
148
  </mxCell>
149
149
  </root>
@@ -1,3 +1,3 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="942px" height="142px" viewBox="-0.5 -0.5 942 142"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-0.9-ffffff-0.1-s-0"><stop offset="0%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.9;"/><stop offset="100%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.1;"/></linearGradient></defs><g><rect x="0" y="0" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 10.15 -1 Q -1 -1 -1 10.15 L -1 24 Q 150 42 301 24 L 301 10.15 Q 301 -1 289.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">build a class diagram</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">build a class diagram</text></switch></g><rect x="320" y="0" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 330.15 -1 Q 319 -1 319 10.15 L 319 24 Q 470 42 621 24 L 621 10.15 Q 621 -1 609.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add new shapes related to line connectors</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add new shapes related to line connectors</text></switch></g><rect x="640" y="0" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 650.15 -1 Q 639 -1 639 10.15 L 639 24 Q 790 42 941 24 L 941 10.15 Q 941 -1 929.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">line connector aliases gives a simple way to use predefined line configurations</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">line connector aliases gives a simple way to use p...</text></switch></g><rect x="0" y="80" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 10.15 79 Q -1 79 -1 90.15 L -1 104 Q 150 122 301 104 L 301 90.15 Q 301 79 289.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">line connectors need to support autolinking using ids</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">line connectors need to support autolinking using...</text></switch></g><rect x="320" y="80" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 330.15 79 Q 319 79 319 90.15 L 319 104 Q 470 122 621 104 L 621 90.15 Q 621 79 609.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">line connectors should not effect the grid positioning systems</div></div></div></foreignObject><text x="470" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">line connectors should not effect the grid positio...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
3
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="942px" height="142px" viewBox="-0.5 -0.5 942 142"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-0.9-ffffff-0.1-s-0"><stop offset="0%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.9;"/><stop offset="100%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.1;"/></linearGradient></defs><g><rect x="0" y="0" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 10.15 -1 Q -1 -1 -1 10.15 L -1 24 Q 150 42 301 24 L 301 10.15 Q 301 -1 289.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">build a domain (class) diagram</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">build a domain (class) diagram</text></switch></g><rect x="320" y="0" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 330.15 -1 Q 319 -1 319 10.15 L 319 24 Q 470 42 621 24 L 621 10.15 Q 621 -1 609.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add new shapes related to line connectors</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add new shapes related to line connectors</text></switch></g><rect x="640" y="0" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 650.15 -1 Q 639 -1 639 10.15 L 639 24 Q 790 42 941 24 L 941 10.15 Q 941 -1 929.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">line connector aliases gives a simple way to use predefined line configurations</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">line connector aliases gives a simple way to use p...</text></switch></g><rect x="0" y="80" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 10.15 79 Q -1 79 -1 90.15 L -1 104 Q 150 122 301 104 L 301 90.15 Q 301 79 289.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">line connectors need to support autolinking using ids</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">line connectors need to support autolinking using...</text></switch></g><rect x="320" y="80" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 330.15 79 Q 319 79 319 90.15 L 319 104 Q 470 122 621 104 L 621 90.15 Q 621 79 609.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">line connectors should not effect the grid positioning systems</div></div></div></foreignObject><text x="470" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">line connectors should not effect the grid positio...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
@@ -8,6 +8,7 @@ module DrawioDsl
8
8
  ShapeDefaults = Struct.new(:type, :category, :x, :y, :w, :h, :style_modifiers, keyword_init: true)
9
9
  Shapes = Struct.new(
10
10
  :shape,
11
+ :line,
11
12
  :h1,
12
13
  :h2,
13
14
  :h3,
@@ -29,6 +30,7 @@ module DrawioDsl
29
30
  :container4,
30
31
  :cross,
31
32
  :envelop,
33
+ :database,
32
34
  :diamond,
33
35
  :document,
34
36
  :ellipse,
@@ -45,7 +47,6 @@ module DrawioDsl
45
47
  :todo,
46
48
  :face,
47
49
  :triangle,
48
- :line,
49
50
  :embed_row,
50
51
  :embed_col50,
51
52
  :embed_col200,
@@ -55,6 +56,7 @@ module DrawioDsl
55
56
  def add_shapes
56
57
  @shapes = Shapes.new(
57
58
  shape: ShapeDefaults.new(type: :shape, category: :element, x: 0, y: 0, w: 20, h: 20, style_modifiers: ''),
59
+ line: ShapeDefaults.new(type: :line, x: 0, category: :line, y: 0, w: 50, h: 50, style_modifiers: 'edgeStyle=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0'),
58
60
  h1: ShapeDefaults.new(type: :h1, x: 0, category: :text, y: 0, w: 100, h: 50, style_modifiers: 'text;fontSize=89;fontColor=#ffffff;fontStyle=1;fillColor=none'),
59
61
  h2: ShapeDefaults.new(type: :h2, x: 0, category: :text, y: 0, w: 100, h: 50, style_modifiers: 'text;fontSize=67;fontColor=#ffffff;fontStyle=1;fillColor=none'),
60
62
  h3: ShapeDefaults.new(type: :h3, x: 0, category: :text, y: 0, w: 100, h: 50, style_modifiers: 'text;fontSize=50;fontColor=#ffffff;fontStyle=1;fillColor=none'),
@@ -76,6 +78,7 @@ module DrawioDsl
76
78
  container4: ShapeDefaults.new(type: :container4, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'swimlane;resizable=0'),
77
79
  cross: ShapeDefaults.new(type: :cross, x: 0, category: :element, y: 0, w: 50, h: 50, style_modifiers: 'verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x'),
78
80
  envelop: ShapeDefaults.new(type: :envelop, x: 0, category: :element, y: 0, w: 160, h: 100, style_modifiers: 'shape=message'),
81
+ database: ShapeDefaults.new(type: :database, x: 0, category: :element, y: 0, w: 160, h: 80, style_modifiers: 'shape=mxgraph.flowchart.database;strokeWidth=1'),
79
82
  diamond: ShapeDefaults.new(type: :diamond, x: 0, category: :element, y: 0, w: 100, h: 100, style_modifiers: 'rhombus'),
80
83
  document: ShapeDefaults.new(type: :document, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'shape=mxgraph.basic.document'),
81
84
  ellipse: ShapeDefaults.new(type: :ellipse, x: 0, category: :element, y: 0, w: 200, h: 120, style_modifiers: 'ellipse'),
@@ -92,7 +95,6 @@ module DrawioDsl
92
95
  todo: ShapeDefaults.new(type: :todo, x: 0, category: :element, y: 0, w: 300, h: 60, style_modifiers: ''),
93
96
  face: ShapeDefaults.new(type: :face, x: 0, category: :element, y: 0, w: 100, h: 100, style_modifiers: 'verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.basic.smiley'),
94
97
  triangle: ShapeDefaults.new(type: :triangle, x: 0, category: :element, y: 0, w: 100, h: 100, style_modifiers: 'triangle'),
95
- line: ShapeDefaults.new(type: :line, x: 0, category: :line, y: 0, w: 50, h: 50, style_modifiers: 'edgeStyle=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0'),
96
98
  embed_row: ShapeDefaults.new(type: :embed_row, x: 0, category: :element, y: 0, w: 200, h: 40, style_modifiers: 'shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;top=0;left=0;bottom=1;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest'),
97
99
  embed_col50: ShapeDefaults.new(type: :embed_col50, x: 0, category: :element, y: 0, w: 50, h: 40, style_modifiers: 'shape=partialRectangle;connectable=0;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden'),
98
100
  embed_col200: ShapeDefaults.new(type: :embed_col200, x: 0, category: :element, y: 0, w: 150, h: 40, style_modifiers: 'shape=partialRectangle;connectable=0;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden')
@@ -4,6 +4,12 @@
4
4
  module DrawioDsl
5
5
  # DrawioDsl is a DSL for draw-io diagrams.
6
6
  module DomBuilderShapes
7
+ def add_line(id = nil, **opts, &block)
8
+ opts = { id: id }.merge(opts) if id
9
+ line = DrawioDsl::Schema::Line.new(current_page, **opts, &block)
10
+ add_shape(line)
11
+ end
12
+
7
13
  def add_h1(id = nil, **opts, &block)
8
14
  opts = { id: id }.merge(opts) if id
9
15
  h1 = DrawioDsl::Schema::H1.new(current_page, **opts, &block)
@@ -130,6 +136,12 @@ module DrawioDsl
130
136
  add_shape(envelop)
131
137
  end
132
138
 
139
+ def add_database(id = nil, **opts, &block)
140
+ opts = { id: id }.merge(opts) if id
141
+ database = DrawioDsl::Schema::Database.new(current_page, **opts, &block)
142
+ add_shape(database)
143
+ end
144
+
133
145
  def add_diamond(id = nil, **opts, &block)
134
146
  opts = { id: id }.merge(opts) if id
135
147
  diamond = DrawioDsl::Schema::Diamond.new(current_page, **opts, &block)
@@ -226,12 +238,6 @@ module DrawioDsl
226
238
  add_shape(triangle)
227
239
  end
228
240
 
229
- def add_line(id = nil, **opts, &block)
230
- opts = { id: id }.merge(opts) if id
231
- line = DrawioDsl::Schema::Line.new(current_page, **opts, &block)
232
- add_shape(line)
233
- end
234
-
235
241
  def add_embed_row(id = nil, **opts, &block)
236
242
  opts = { id: id }.merge(opts) if id
237
243
  embed_row = DrawioDsl::Schema::EmbedRow.new(current_page, **opts, &block)
@@ -5,92 +5,98 @@ module DrawioDsl
5
5
  # :nocov:
6
6
  module DrawioShapes
7
7
  def random(**opts)
8
- case rand(41)
8
+ case rand(42)
9
9
  when 0
10
- h1(**opts)
10
+ line(**opts)
11
11
  when 1
12
- h2(**opts)
12
+ h1(**opts)
13
13
  when 2
14
- h3(**opts)
14
+ h2(**opts)
15
15
  when 3
16
- h4(**opts)
16
+ h3(**opts)
17
17
  when 4
18
- h5(**opts)
18
+ h4(**opts)
19
19
  when 5
20
- h6(**opts)
20
+ h5(**opts)
21
21
  when 6
22
- p(**opts)
22
+ h6(**opts)
23
23
  when 7
24
- actor(**opts)
24
+ p(**opts)
25
25
  when 8
26
- actor2(**opts)
26
+ actor(**opts)
27
27
  when 9
28
- callout(**opts)
28
+ actor2(**opts)
29
29
  when 10
30
- callout2(**opts)
30
+ callout(**opts)
31
31
  when 11
32
- callout3(**opts)
32
+ callout2(**opts)
33
33
  when 12
34
- callout4(**opts)
34
+ callout3(**opts)
35
35
  when 13
36
- circle(**opts)
36
+ callout4(**opts)
37
37
  when 14
38
- cloud(**opts)
38
+ circle(**opts)
39
39
  when 15
40
- container(**opts)
40
+ cloud(**opts)
41
41
  when 16
42
- container2(**opts)
42
+ container(**opts)
43
43
  when 17
44
- container3(**opts)
44
+ container2(**opts)
45
45
  when 18
46
- container4(**opts)
46
+ container3(**opts)
47
47
  when 19
48
- cross(**opts)
48
+ container4(**opts)
49
49
  when 20
50
- envelop(**opts)
50
+ cross(**opts)
51
51
  when 21
52
- diamond(**opts)
52
+ envelop(**opts)
53
53
  when 22
54
- document(**opts)
54
+ database(**opts)
55
55
  when 23
56
- ellipse(**opts)
56
+ diamond(**opts)
57
57
  when 24
58
- hexagon(**opts)
58
+ document(**opts)
59
59
  when 25
60
- interface(**opts)
60
+ ellipse(**opts)
61
61
  when 26
62
- klass(**opts)
62
+ hexagon(**opts)
63
63
  when 27
64
- note(**opts)
64
+ interface(**opts)
65
65
  when 28
66
- process(**opts)
66
+ klass(**opts)
67
67
  when 29
68
- rectangle(**opts)
68
+ note(**opts)
69
69
  when 30
70
- rectangle2(**opts)
70
+ process(**opts)
71
71
  when 31
72
- square(**opts)
72
+ rectangle(**opts)
73
73
  when 32
74
- step(**opts)
74
+ rectangle2(**opts)
75
75
  when 33
76
- tick(**opts)
76
+ square(**opts)
77
77
  when 34
78
- todo(**opts)
78
+ step(**opts)
79
79
  when 35
80
- face(**opts)
80
+ tick(**opts)
81
81
  when 36
82
- triangle(**opts)
82
+ todo(**opts)
83
83
  when 37
84
- line(**opts)
84
+ face(**opts)
85
85
  when 38
86
- embed_row(**opts)
86
+ triangle(**opts)
87
87
  when 39
88
- embed_col50(**opts)
88
+ embed_row(**opts)
89
89
  when 40
90
+ embed_col50(**opts)
91
+ when 41
90
92
  embed_col200(**opts)
91
93
  end
92
94
  end
93
95
 
96
+ def line(id = nil, **opts, &block)
97
+ builder.add_line(id, **opts, &block)
98
+ end
99
+
94
100
  def h1(id = nil, **opts, &block)
95
101
  builder.add_h1(id, **opts, &block)
96
102
  end
@@ -175,6 +181,10 @@ module DrawioDsl
175
181
  builder.add_envelop(id, **opts, &block)
176
182
  end
177
183
 
184
+ def database(id = nil, **opts, &block)
185
+ builder.add_database(id, **opts, &block)
186
+ end
187
+
178
188
  def diamond(id = nil, **opts, &block)
179
189
  builder.add_diamond(id, **opts, &block)
180
190
  end
@@ -239,10 +249,6 @@ module DrawioDsl
239
249
  builder.add_triangle(id, **opts, &block)
240
250
  end
241
251
 
242
- def line(id = nil, **opts, &block)
243
- builder.add_line(id, **opts, &block)
244
- end
245
-
246
252
  def embed_row(id = nil, **opts, &block)
247
253
  builder.add_embed_row(id, **opts, &block)
248
254
  end
@@ -12,6 +12,7 @@ require_relative 'layouts/flex_layout'
12
12
  require_relative 'layouts/grid_layout'
13
13
 
14
14
  require_relative 'shapes/shape'
15
+ require_relative 'shapes/line'
15
16
  require_relative 'shapes/h1'
16
17
  require_relative 'shapes/h2'
17
18
  require_relative 'shapes/h3'
@@ -33,6 +34,7 @@ require_relative 'shapes/container3'
33
34
  require_relative 'shapes/container4'
34
35
  require_relative 'shapes/cross'
35
36
  require_relative 'shapes/envelop'
37
+ require_relative 'shapes/database'
36
38
  require_relative 'shapes/diamond'
37
39
  require_relative 'shapes/document'
38
40
  require_relative 'shapes/ellipse'
@@ -49,7 +51,6 @@ require_relative 'shapes/tick'
49
51
  require_relative 'shapes/todo'
50
52
  require_relative 'shapes/face'
51
53
  require_relative 'shapes/triangle'
52
- require_relative 'shapes/line'
53
54
  require_relative 'shapes/embed_row'
54
55
  require_relative 'shapes/embed_col50'
55
56
  require_relative 'shapes/embed_col200'
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DrawioDsl
4
+ module Schema
5
+ class Database < Shape
6
+ configure_shape(:database)
7
+ end
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DrawioDsl
4
- VERSION = '0.8.3'
4
+ VERSION = '0.8.4'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "drawio_dsl",
3
- "version": "0.8.3",
3
+ "version": "0.8.4",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "drawio_dsl",
9
- "version": "0.8.3",
9
+ "version": "0.8.4",
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.8.3",
3
+ "version": "0.8.4",
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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drawio_dsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
@@ -88,6 +88,8 @@ files:
88
88
  - ".builders/generators/02-generate-app.rb"
89
89
  - ".builders/generators/10-transform-drawio-js.rb"
90
90
  - ".builders/generators/20-drawio-extensions.rb"
91
+ - ".builders/generators/domain_diagram.rb"
92
+ - ".builders/generators/printspeak-architecture-generator.rb"
91
93
  - ".builders/generators/project-plan.rb"
92
94
  - ".builders/generators/sample_diagrams/05-samples.rb"
93
95
  - ".builders/generators/sample_diagrams/10-page-margin.rb"
@@ -111,6 +113,8 @@ files:
111
113
  - Rakefile
112
114
  - bin/console
113
115
  - bin/setup
116
+ - docs/domain.drawio
117
+ - docs/domain_model.svg
114
118
  - docs/extensions.md
115
119
  - docs/extensions/analyti_cs.svg
116
120
  - docs/extensions/android_inputs.svg
@@ -329,6 +333,7 @@ files:
329
333
  - lib/drawio_dsl/schema/shapes/container3.rb
330
334
  - lib/drawio_dsl/schema/shapes/container4.rb
331
335
  - lib/drawio_dsl/schema/shapes/cross.rb
336
+ - lib/drawio_dsl/schema/shapes/database.rb
332
337
  - lib/drawio_dsl/schema/shapes/diamond.rb
333
338
  - lib/drawio_dsl/schema/shapes/document.rb
334
339
  - lib/drawio_dsl/schema/shapes/ellipse.rb