drawio_dsl 0.11.2 → 0.11.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -0
- data/config/configuration.json +299 -36
- data/docs/domain_model.drawio +89 -89
- data/docs/domain_model.json +267 -267
- data/docs/printspeak-architecture-controllers-custom.drawio +9 -9
- data/docs/printspeak-architecture-controllers.drawio +47 -47
- data/docs/printspeak-architecture-generator-custom.drawio +16 -10
- data/docs/printspeak-architecture-generator.drawio +268 -0
- data/docs/project-plan/project.drawio +107 -80
- data/docs/project-plan/project_done.svg +1 -1
- data/docs/project-plan/project_in_progress.svg +1 -1
- data/docs/project-plan/project_todo.svg +1 -1
- data/docs/tailwind_domain_model-custom.drawio +104 -0
- data/docs/tailwind_domain_model.json +288 -0
- data/docs/tailwind_domain_model.svg +3 -0
- data/lib/drawio_dsl/configuration.rb +52 -5
- data/lib/drawio_dsl/dom_builder_shapes.rb +78 -0
- data/lib/drawio_dsl/drawio_extensions_active.rb +1 -0
- data/lib/drawio_dsl/drawio_shapes.rb +121 -43
- data/lib/drawio_dsl/schema/_.rb +13 -0
- data/lib/drawio_dsl/schema/line.rb +44 -2
- data/lib/drawio_dsl/schema/lines/dash.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dash24.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dash32.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dash44.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dash_dot.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dash_dot_dot.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dash_long_dash.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dot.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dot_dot_dot.rb +9 -0
- data/lib/drawio_dsl/schema/lines/double.rb +9 -0
- data/lib/drawio_dsl/schema/lines/double_dash.rb +9 -0
- data/lib/drawio_dsl/schema/lines/double_dot.rb +9 -0
- data/lib/drawio_dsl/schema/lines/long_dash.rb +9 -0
- data/lib/drawio_dsl/schema/shape.rb +6 -1
- data/lib/drawio_dsl/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +19 -2
@@ -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="1302px" height="522px" viewBox="-0.5 -0.5 1302 522"><defs/><g><rect x="20" 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: 21px;"><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;">Tailwind GEM</div></div></div></foreignObject><text x="100" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Tailwind GEM</text></switch></g><rect x="240" 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: 241px;"><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;">Configuration</div></div></div></foreignObject><text x="320" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Configuration</text></switch></g><rect x="440" y="0" width="200" 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: 202px; height: 160px; padding-top: 0px; margin-left: 440px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 200px; 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-bottom: 4px ; text-align: center"><b>Configuration</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">collections: A<Collection></p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">themes: A<Theme></p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">data_shapes: A<DataShape></p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">component_groups: A<ComponentGroup></p></div></div></div></foreignObject><text x="440" y="84" fill="#333333" font-family="Helvetica" font-size="12px">Configuration...</text></switch></g><rect x="660" y="0" width="200" 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: 202px; 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: 200px; 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-bottom: 4px ; text-align: center"><b>Collection</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">name: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">description: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">component_groups: A<ComponentGroup></p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">default_themes: A<Theme></p></div></div></div></foreignObject><text x="660" y="84" fill="#333333" font-family="Helvetica" font-size="12px">Collection...</text></switch></g><rect x="880" y="0" width="200" 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: 202px; height: 160px; padding-top: 0px; margin-left: 880px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 200px; 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-bottom: 4px ; text-align: center"><b>Theme</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">key: Symbol</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">name: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">description: String</p></div></div></div></foreignObject><text x="880" y="84" fill="#333333" font-family="Helvetica" font-size="12px">Theme...</text></switch></g><rect x="1100" y="0" width="200" 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: 202px; height: 160px; padding-top: 0px; margin-left: 1100px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 200px; 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-bottom: 4px ; text-align: center"><b>ComponentGroup</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">key: Symbol</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">name: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">description: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">collection: Collection</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">components: A<Component></p></div></div></div></foreignObject><text x="1100" y="84" fill="#333333" font-family="Helvetica" font-size="12px">ComponentGroup...</text></switch></g><rect x="0" y="180" width="200" 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: 202px; height: 160px; padding-top: 180px; margin-left: 0px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 200px; 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-bottom: 4px ; text-align: center"><b>Component</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">key: Symbol</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">name: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">description: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">data_shape: DataShape</p></div></div></div></foreignObject><text x="0" y="264" fill="#333333" font-family="Helvetica" font-size="12px">Component...</text></switch></g><rect x="220" y="180" width="200" 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: 202px; height: 160px; padding-top: 180px; margin-left: 220px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 200px; 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-bottom: 4px ; text-align: center"><b>DataShape</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">key: Symbol</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">name: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">description: String</p></div></div></div></foreignObject><text x="220" y="264" fill="#333333" font-family="Helvetica" font-size="12px">DataShape...</text></switch></g><rect x="460" y="180" 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: 260px; margin-left: 461px;"><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;">Schema</div></div></div></foreignObject><text x="540" y="264" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Schema</text></switch></g><rect x="660" y="180" width="200" 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: 202px; height: 160px; padding-top: 180px; margin-left: 660px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 200px; 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-bottom: 4px ; text-align: center"><b>WebSite</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">key: Symbol</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">name: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">description: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">target_folder: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">base_collection: Collection</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">theme: Theme</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">root: Page</p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">favourite_components() : A<Component></p></div></div></div></foreignObject><text x="660" y="264" fill="#333333" font-family="Helvetica" font-size="12px">WebSite...</text></switch></g><rect x="880" y="180" width="200" 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: 202px; height: 160px; padding-top: 180px; margin-left: 880px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 200px; 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-bottom: 4px ; text-align: center"><b>Page</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">key: Symbol</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">name: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">description: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">sub_folder: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">level: Integer</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">pages: A<Page></p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">components: A<Component></p></div></div></div></foreignObject><text x="880" y="264" fill="#333333" font-family="Helvetica" font-size="12px">Page...</text></switch></g><rect x="1100" y="180" width="200" 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: 202px; height: 160px; padding-top: 180px; margin-left: 1100px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 200px; 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-bottom: 4px ; text-align: center"><b>Component</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">key: Symbol</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">name: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">description: String</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">component_group: ComponentGroup</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">data_shape: DataShape</p></div></div></div></foreignObject><text x="1100" y="264" fill="#333333" font-family="Helvetica" font-size="12px">Component...</text></switch></g><rect x="20" y="360" 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: 440px; margin-left: 21px;"><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;">Tailwind Generator</div></div></div></foreignObject><text x="100" y="444" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Tailwind Generator</text></switch></g><rect x="240" y="360" 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: 440px; margin-left: 241px;"><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;">Tailwind DSL</div></div></div></foreignObject><text x="320" y="444" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Tailwind DSL</text></switch></g><rect x="440" y="360" width="200" 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: 202px; height: 160px; padding-top: 360px; margin-left: 440px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 200px; 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-bottom: 4px ; text-align: center"><b>TailwindDsl</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">website()</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">page()</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">component()</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">save()</p></div></div></div></foreignObject><text x="440" y="444" fill="#333333" font-family="Helvetica" font-size="12px">TailwindDsl...</text></switch></g><rect x="680" y="360" 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: 440px; margin-left: 681px;"><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;">DataBuilder</div></div></div></foreignObject><text x="760" y="444" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">DataBuilder</text></switch></g><rect x="880" y="360" width="200" 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: 202px; height: 160px; padding-top: 360px; margin-left: 880px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 200px; 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-bottom: 4px ; text-align: center"><b>BaseDataBuilder</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">obj: Hash</p></div></div></div></foreignObject><text x="880" y="444" fill="#333333" font-family="Helvetica" font-size="12px">BaseDataBuilder...</text></switch></g><rect x="1120" y="360" 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: 360px; margin-left: 1120px;"><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-bottom: 4px ; text-align: center"><i><< MixIn >></i></p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px ; text-align: center"><b>Factory</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">data()</p><p style="margin: 0px ; margin-left: 4px ; margin-bottom: 4px">data_instance()</p></div></div></div></foreignObject><text x="1120" y="444" fill="#333333" font-family="Helvetica" font-size="12px"><< MixIn >>...</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>
|
@@ -211,14 +211,49 @@ module DrawioDsl
|
|
211
211
|
class Connector
|
212
212
|
attr_reader :source_config
|
213
213
|
|
214
|
-
|
214
|
+
class CompassPoint
|
215
|
+
attr_reader :x
|
216
|
+
attr_reader :y
|
217
|
+
|
218
|
+
def initialize(x, y)
|
219
|
+
@x = x
|
220
|
+
@y = y
|
221
|
+
end
|
222
|
+
|
223
|
+
# should this be start/end
|
224
|
+
def exit_modifiers
|
225
|
+
"exitX=#{x};exitY=#{y};exitDx=0;exitDy=0"
|
226
|
+
end
|
227
|
+
|
228
|
+
def entry_modifiers
|
229
|
+
"entryX=#{x};entryY=#{y};entryDx=0;entryDy=0"
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
233
|
+
class Arrow
|
234
|
+
attr_reader :image
|
235
|
+
attr_reader :fill
|
236
|
+
|
237
|
+
def initialize(image, fill)
|
238
|
+
@image = image
|
239
|
+
@fill = fill
|
240
|
+
end
|
241
|
+
|
242
|
+
def start_modifiers
|
243
|
+
"startArrow=#{image};startFill=#{fill}"
|
244
|
+
end
|
245
|
+
|
246
|
+
def end_modifiers
|
247
|
+
"endArrow=#{image};endFill=#{fill}"
|
248
|
+
end
|
249
|
+
end
|
215
250
|
|
216
251
|
def initialize(source_config)
|
217
252
|
@source_config = source_config
|
218
253
|
end
|
219
254
|
|
220
255
|
def compass_point(key)
|
221
|
-
compass_points[key] ||
|
256
|
+
compass_points[key] || CompassPoint.new(0, 0)
|
222
257
|
end
|
223
258
|
|
224
259
|
def compass_points
|
@@ -226,7 +261,7 @@ module DrawioDsl
|
|
226
261
|
|
227
262
|
@compass_points = {}
|
228
263
|
source_config['compass_points'].each do |compass_point|
|
229
|
-
@compass_points[compass_point['key'].to_sym] =
|
264
|
+
@compass_points[compass_point['key'].to_sym] = CompassPoint.new(compass_point['x'], compass_point['y'])
|
230
265
|
end
|
231
266
|
|
232
267
|
@compass_points
|
@@ -247,8 +282,12 @@ module DrawioDsl
|
|
247
282
|
@waypoints
|
248
283
|
end
|
249
284
|
|
285
|
+
def random_waypoint_key
|
286
|
+
waypoints.keys.sample
|
287
|
+
end
|
288
|
+
|
250
289
|
def arrow(key)
|
251
|
-
arrows[key] || 'open'
|
290
|
+
arrows[key] || Arrow.new('open', 1)
|
252
291
|
end
|
253
292
|
|
254
293
|
def arrows
|
@@ -256,12 +295,20 @@ module DrawioDsl
|
|
256
295
|
|
257
296
|
@arrows = {}
|
258
297
|
source_config['arrows'].each do |arrow|
|
259
|
-
@arrows[arrow['key'].to_sym] = arrow['
|
298
|
+
@arrows[arrow['key'].to_sym] = Arrow.new(arrow['image'], arrow['fill'])
|
260
299
|
end
|
261
300
|
|
262
301
|
@arrows
|
263
302
|
end
|
264
303
|
|
304
|
+
def arrow_keys
|
305
|
+
arrows.keys
|
306
|
+
end
|
307
|
+
|
308
|
+
def random_arrow_key
|
309
|
+
arrows.keys.sample
|
310
|
+
end
|
311
|
+
|
265
312
|
def design(key)
|
266
313
|
designs[key] || ''
|
267
314
|
end
|
@@ -10,6 +10,84 @@ module DrawioDsl
|
|
10
10
|
add_shape(solid)
|
11
11
|
end
|
12
12
|
|
13
|
+
def add_dash(id = nil, **opts, &block)
|
14
|
+
opts = { id: id }.merge(opts) if id
|
15
|
+
dash = DrawioDsl::Schema::Dash.new(current_page, **opts, &block)
|
16
|
+
add_shape(dash)
|
17
|
+
end
|
18
|
+
|
19
|
+
def add_dot(id = nil, **opts, &block)
|
20
|
+
opts = { id: id }.merge(opts) if id
|
21
|
+
dot = DrawioDsl::Schema::Dot.new(current_page, **opts, &block)
|
22
|
+
add_shape(dot)
|
23
|
+
end
|
24
|
+
|
25
|
+
def add_dash_dot(id = nil, **opts, &block)
|
26
|
+
opts = { id: id }.merge(opts) if id
|
27
|
+
dash_dot = DrawioDsl::Schema::DashDot.new(current_page, **opts, &block)
|
28
|
+
add_shape(dash_dot)
|
29
|
+
end
|
30
|
+
|
31
|
+
def add_dash_dot_dot(id = nil, **opts, &block)
|
32
|
+
opts = { id: id }.merge(opts) if id
|
33
|
+
dash_dot_dot = DrawioDsl::Schema::DashDotDot.new(current_page, **opts, &block)
|
34
|
+
add_shape(dash_dot_dot)
|
35
|
+
end
|
36
|
+
|
37
|
+
def add_dot_dot_dot(id = nil, **opts, &block)
|
38
|
+
opts = { id: id }.merge(opts) if id
|
39
|
+
dot_dot_dot = DrawioDsl::Schema::DotDotDot.new(current_page, **opts, &block)
|
40
|
+
add_shape(dot_dot_dot)
|
41
|
+
end
|
42
|
+
|
43
|
+
def add_long_dash(id = nil, **opts, &block)
|
44
|
+
opts = { id: id }.merge(opts) if id
|
45
|
+
long_dash = DrawioDsl::Schema::LongDash.new(current_page, **opts, &block)
|
46
|
+
add_shape(long_dash)
|
47
|
+
end
|
48
|
+
|
49
|
+
def add_dash_long_dash(id = nil, **opts, &block)
|
50
|
+
opts = { id: id }.merge(opts) if id
|
51
|
+
dash_long_dash = DrawioDsl::Schema::DashLongDash.new(current_page, **opts, &block)
|
52
|
+
add_shape(dash_long_dash)
|
53
|
+
end
|
54
|
+
|
55
|
+
def add_dash24(id = nil, **opts, &block)
|
56
|
+
opts = { id: id }.merge(opts) if id
|
57
|
+
dash24 = DrawioDsl::Schema::Dash24.new(current_page, **opts, &block)
|
58
|
+
add_shape(dash24)
|
59
|
+
end
|
60
|
+
|
61
|
+
def add_dash32(id = nil, **opts, &block)
|
62
|
+
opts = { id: id }.merge(opts) if id
|
63
|
+
dash32 = DrawioDsl::Schema::Dash32.new(current_page, **opts, &block)
|
64
|
+
add_shape(dash32)
|
65
|
+
end
|
66
|
+
|
67
|
+
def add_dash44(id = nil, **opts, &block)
|
68
|
+
opts = { id: id }.merge(opts) if id
|
69
|
+
dash44 = DrawioDsl::Schema::Dash44.new(current_page, **opts, &block)
|
70
|
+
add_shape(dash44)
|
71
|
+
end
|
72
|
+
|
73
|
+
def add_double(id = nil, **opts, &block)
|
74
|
+
opts = { id: id }.merge(opts) if id
|
75
|
+
double = DrawioDsl::Schema::Double.new(current_page, **opts, &block)
|
76
|
+
add_shape(double)
|
77
|
+
end
|
78
|
+
|
79
|
+
def add_double_dash(id = nil, **opts, &block)
|
80
|
+
opts = { id: id }.merge(opts) if id
|
81
|
+
double_dash = DrawioDsl::Schema::DoubleDash.new(current_page, **opts, &block)
|
82
|
+
add_shape(double_dash)
|
83
|
+
end
|
84
|
+
|
85
|
+
def add_double_dot(id = nil, **opts, &block)
|
86
|
+
opts = { id: id }.merge(opts) if id
|
87
|
+
double_dot = DrawioDsl::Schema::DoubleDot.new(current_page, **opts, &block)
|
88
|
+
add_shape(double_dot)
|
89
|
+
end
|
90
|
+
|
13
91
|
def add_h1(id = nil, **opts, &block)
|
14
92
|
opts = { id: id }.merge(opts) if id
|
15
93
|
h1 = DrawioDsl::Schema::H1.new(current_page, **opts, &block)
|
@@ -5,94 +5,120 @@ module DrawioDsl
|
|
5
5
|
# :nocov:
|
6
6
|
module DrawioShapes
|
7
7
|
def random(**opts)
|
8
|
-
case rand(
|
8
|
+
case rand(57)
|
9
9
|
when 0
|
10
10
|
solid(**opts)
|
11
11
|
when 1
|
12
|
-
|
12
|
+
dash(**opts)
|
13
13
|
when 2
|
14
|
-
|
14
|
+
dot(**opts)
|
15
15
|
when 3
|
16
|
-
|
16
|
+
dash_dot(**opts)
|
17
17
|
when 4
|
18
|
-
|
18
|
+
dash_dot_dot(**opts)
|
19
19
|
when 5
|
20
|
-
|
20
|
+
dot_dot_dot(**opts)
|
21
21
|
when 6
|
22
|
-
|
22
|
+
long_dash(**opts)
|
23
23
|
when 7
|
24
|
-
|
24
|
+
dash_long_dash(**opts)
|
25
25
|
when 8
|
26
|
-
|
26
|
+
dash24(**opts)
|
27
27
|
when 9
|
28
|
-
|
28
|
+
dash32(**opts)
|
29
29
|
when 10
|
30
|
-
|
30
|
+
dash44(**opts)
|
31
31
|
when 11
|
32
|
-
|
32
|
+
double(**opts)
|
33
33
|
when 12
|
34
|
-
|
34
|
+
double_dash(**opts)
|
35
35
|
when 13
|
36
|
-
|
36
|
+
double_dot(**opts)
|
37
37
|
when 14
|
38
|
-
|
38
|
+
h1(**opts)
|
39
39
|
when 15
|
40
|
-
|
40
|
+
h2(**opts)
|
41
41
|
when 16
|
42
|
-
|
42
|
+
h3(**opts)
|
43
43
|
when 17
|
44
|
-
|
44
|
+
h4(**opts)
|
45
45
|
when 18
|
46
|
-
|
46
|
+
h5(**opts)
|
47
47
|
when 19
|
48
|
-
|
48
|
+
h6(**opts)
|
49
49
|
when 20
|
50
|
-
|
50
|
+
p(**opts)
|
51
51
|
when 21
|
52
|
-
|
52
|
+
actor(**opts)
|
53
53
|
when 22
|
54
|
-
|
54
|
+
actor2(**opts)
|
55
55
|
when 23
|
56
|
-
|
56
|
+
callout(**opts)
|
57
57
|
when 24
|
58
|
-
|
58
|
+
callout2(**opts)
|
59
59
|
when 25
|
60
|
-
|
60
|
+
callout3(**opts)
|
61
61
|
when 26
|
62
|
-
|
62
|
+
callout4(**opts)
|
63
63
|
when 27
|
64
|
-
|
64
|
+
circle(**opts)
|
65
65
|
when 28
|
66
|
-
|
66
|
+
cloud(**opts)
|
67
67
|
when 29
|
68
|
-
|
68
|
+
container(**opts)
|
69
69
|
when 30
|
70
|
-
|
70
|
+
container2(**opts)
|
71
71
|
when 31
|
72
|
-
|
72
|
+
container3(**opts)
|
73
73
|
when 32
|
74
|
-
|
74
|
+
container4(**opts)
|
75
75
|
when 33
|
76
|
-
|
76
|
+
cross(**opts)
|
77
77
|
when 34
|
78
|
-
|
78
|
+
envelop(**opts)
|
79
79
|
when 35
|
80
|
-
|
80
|
+
database(**opts)
|
81
81
|
when 36
|
82
|
-
|
82
|
+
db_json(**opts)
|
83
83
|
when 37
|
84
|
-
|
84
|
+
diamond(**opts)
|
85
85
|
when 38
|
86
|
-
|
86
|
+
document(**opts)
|
87
87
|
when 39
|
88
|
-
|
88
|
+
ellipse(**opts)
|
89
89
|
when 40
|
90
|
-
|
90
|
+
group(**opts)
|
91
91
|
when 41
|
92
|
-
|
92
|
+
hexagon(**opts)
|
93
93
|
when 42
|
94
|
-
|
94
|
+
interface(**opts)
|
95
95
|
when 43
|
96
|
+
klass(**opts)
|
97
|
+
when 44
|
98
|
+
note(**opts)
|
99
|
+
when 45
|
100
|
+
process(**opts)
|
101
|
+
when 46
|
102
|
+
rectangle(**opts)
|
103
|
+
when 47
|
104
|
+
rectangle2(**opts)
|
105
|
+
when 48
|
106
|
+
square(**opts)
|
107
|
+
when 49
|
108
|
+
step(**opts)
|
109
|
+
when 50
|
110
|
+
tick(**opts)
|
111
|
+
when 51
|
112
|
+
todo(**opts)
|
113
|
+
when 52
|
114
|
+
face(**opts)
|
115
|
+
when 53
|
116
|
+
triangle(**opts)
|
117
|
+
when 54
|
118
|
+
embed_row(**opts)
|
119
|
+
when 55
|
120
|
+
embed_col50(**opts)
|
121
|
+
when 56
|
96
122
|
embed_col200(**opts)
|
97
123
|
end
|
98
124
|
end
|
@@ -101,6 +127,58 @@ module DrawioDsl
|
|
101
127
|
builder.add_solid(id, **opts, &block)
|
102
128
|
end
|
103
129
|
|
130
|
+
def dash(id = nil, **opts, &block)
|
131
|
+
builder.add_dash(id, **opts, &block)
|
132
|
+
end
|
133
|
+
|
134
|
+
def dot(id = nil, **opts, &block)
|
135
|
+
builder.add_dot(id, **opts, &block)
|
136
|
+
end
|
137
|
+
|
138
|
+
def dash_dot(id = nil, **opts, &block)
|
139
|
+
builder.add_dash_dot(id, **opts, &block)
|
140
|
+
end
|
141
|
+
|
142
|
+
def dash_dot_dot(id = nil, **opts, &block)
|
143
|
+
builder.add_dash_dot_dot(id, **opts, &block)
|
144
|
+
end
|
145
|
+
|
146
|
+
def dot_dot_dot(id = nil, **opts, &block)
|
147
|
+
builder.add_dot_dot_dot(id, **opts, &block)
|
148
|
+
end
|
149
|
+
|
150
|
+
def long_dash(id = nil, **opts, &block)
|
151
|
+
builder.add_long_dash(id, **opts, &block)
|
152
|
+
end
|
153
|
+
|
154
|
+
def dash_long_dash(id = nil, **opts, &block)
|
155
|
+
builder.add_dash_long_dash(id, **opts, &block)
|
156
|
+
end
|
157
|
+
|
158
|
+
def dash24(id = nil, **opts, &block)
|
159
|
+
builder.add_dash24(id, **opts, &block)
|
160
|
+
end
|
161
|
+
|
162
|
+
def dash32(id = nil, **opts, &block)
|
163
|
+
builder.add_dash32(id, **opts, &block)
|
164
|
+
end
|
165
|
+
|
166
|
+
def dash44(id = nil, **opts, &block)
|
167
|
+
builder.add_dash44(id, **opts, &block)
|
168
|
+
end
|
169
|
+
|
170
|
+
def double(id = nil, **opts, &block)
|
171
|
+
builder.add_double(id, **opts, &block)
|
172
|
+
end
|
173
|
+
|
174
|
+
def double_dash(id = nil, **opts, &block)
|
175
|
+
builder.add_double_dash(id, **opts, &block)
|
176
|
+
end
|
177
|
+
|
178
|
+
def double_dot(id = nil, **opts, &block)
|
179
|
+
builder.add_double_dot(id, **opts, &block)
|
180
|
+
end
|
181
|
+
|
104
182
|
def h1(id = nil, **opts, &block)
|
105
183
|
builder.add_h1(id, **opts, &block)
|
106
184
|
end
|
data/lib/drawio_dsl/schema/_.rb
CHANGED
@@ -56,6 +56,19 @@ require_relative 'elements/embed_col200'
|
|
56
56
|
|
57
57
|
# Connector lines
|
58
58
|
require_relative 'lines/solid'
|
59
|
+
require_relative 'lines/dash'
|
60
|
+
require_relative 'lines/dot'
|
61
|
+
require_relative 'lines/dash_dot'
|
62
|
+
require_relative 'lines/dash_dot_dot'
|
63
|
+
require_relative 'lines/dot_dot_dot'
|
64
|
+
require_relative 'lines/long_dash'
|
65
|
+
require_relative 'lines/dash_long_dash'
|
66
|
+
require_relative 'lines/dash24'
|
67
|
+
require_relative 'lines/dash32'
|
68
|
+
require_relative 'lines/dash44'
|
69
|
+
require_relative 'lines/double'
|
70
|
+
require_relative 'lines/double_dash'
|
71
|
+
require_relative 'lines/double_dot'
|
59
72
|
|
60
73
|
# Text elements such as h1, h2, p, etc.
|
61
74
|
require_relative 'texts/h1'
|
@@ -5,27 +5,69 @@ module DrawioDsl
|
|
5
5
|
# Text represents lines, usually used for drawing a connection between two elements.
|
6
6
|
class Line < Shape
|
7
7
|
class << self
|
8
|
-
|
8
|
+
attr_reader :default_stroke
|
9
|
+
attr_reader :default_design
|
10
|
+
attr_reader :default_waypoint
|
11
|
+
|
12
|
+
def configure_as(key, stroke: nil, design: nil, waypoint: :straight)
|
9
13
|
configure_shape(key, :line)
|
14
|
+
|
15
|
+
@default_stroke = stroke
|
16
|
+
@default_design = design
|
17
|
+
@default_waypoint = waypoint
|
10
18
|
end
|
11
19
|
end
|
12
20
|
|
13
21
|
attr_accessor :source
|
14
22
|
attr_accessor :target
|
23
|
+
attr_accessor :exit_point # compass_point1 = :n, :ne, :e, :se, :s, :sw, :w, :nw
|
24
|
+
attr_accessor :entry_point # compass_point2 = :n, :ne, :e, :se, :s, :sw, :w, :nw
|
25
|
+
attr_accessor :start_arrow
|
26
|
+
attr_accessor :end_arrow
|
27
|
+
attr_accessor :stroke
|
28
|
+
attr_accessor :design
|
29
|
+
attr_accessor :waypoint
|
15
30
|
|
31
|
+
# rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
16
32
|
def apply_defaults(args)
|
17
33
|
super(args)
|
18
34
|
|
19
35
|
@source = args[:source]
|
20
36
|
@target = args[:target]
|
21
|
-
|
37
|
+
@exit_point = args[:exit_point] || args[:start_point] || :nw
|
38
|
+
@entry_point = args[:entry_point] || args[:end_point] || :ne
|
39
|
+
@start_arrow = args[:start_arrow] || :none
|
40
|
+
@end_arrow = args[:end_arrow] || :simple
|
41
|
+
@stroke = args[:stroke] || self.class.default_stroke
|
42
|
+
@design = args[:design] || self.class.default_design
|
43
|
+
@waypoint = args[:waypoint] || self.class.default_waypoint || :straight
|
22
44
|
@fill_color = args[:fill_color] || theme_palette.fill_color
|
23
45
|
@stroke_color = args[:stroke_color] || theme_palette.stroke_color
|
24
46
|
end
|
47
|
+
# rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
25
48
|
|
26
49
|
def default_configuration
|
27
50
|
KConfig.configuration.drawio.shape.default_line
|
28
51
|
end
|
52
|
+
|
53
|
+
# rubocop:disable Metrics/AbcSize
|
54
|
+
def base_modifiers
|
55
|
+
return @base_modifiers if defined? @base_modifiers
|
56
|
+
|
57
|
+
# log.kv 'waypoint', waypoint
|
58
|
+
# log.kv 'waypoint_modifier', KConfig.configuration.drawio.connector.waypoint(waypoint)
|
59
|
+
|
60
|
+
@base_modifiers = [
|
61
|
+
KConfig.configuration.drawio.stroke(stroke),
|
62
|
+
KConfig.configuration.drawio.connector.waypoint(waypoint),
|
63
|
+
KConfig.configuration.drawio.connector.design(design),
|
64
|
+
KConfig.configuration.drawio.connector.compass_point(exit_point).exit_modifiers,
|
65
|
+
KConfig.configuration.drawio.connector.compass_point(entry_point).entry_modifiers,
|
66
|
+
KConfig.configuration.drawio.connector.arrow(start_arrow).start_modifiers,
|
67
|
+
KConfig.configuration.drawio.connector.arrow(end_arrow).end_modifiers
|
68
|
+
].reject(&:empty?).join(';')
|
69
|
+
end
|
70
|
+
# rubocop:enable Metrics/AbcSize
|
29
71
|
end
|
30
72
|
end
|
31
73
|
end
|