drawio_dsl 0.11.0 → 0.11.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/config/configuration.json +564 -370
- 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 +89 -89
- 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/samples/styles-glass.svg +1 -1
- data/docs/samples/styles-plain.svg +1 -1
- data/docs/samples/styles-rounded.svg +1 -1
- data/docs/samples/styles-shadow.svg +1 -1
- data/docs/samples/styles-sketch.svg +1 -1
- data/docs/samples/themes-random.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 +96 -84
- data/lib/drawio_dsl/dom_builder.rb +2 -2
- data/lib/drawio_dsl/dom_builder_shapes.rb +60 -0
- data/lib/drawio_dsl/drawio_shapes.rb +103 -43
- data/lib/drawio_dsl/schema/_.rb +10 -0
- data/lib/drawio_dsl/schema/diagram.rb +1 -1
- data/lib/drawio_dsl/schema/element.rb +4 -0
- data/lib/drawio_dsl/schema/layouts/flex_layout.rb +1 -1
- data/lib/drawio_dsl/schema/layouts/grid_layout.rb +1 -1
- data/lib/drawio_dsl/schema/line.rb +24 -3
- 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/dashed.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dashed24.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dashed32.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dashed44.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dot_dot_dot.rb +9 -0
- data/lib/drawio_dsl/schema/lines/dotted.rb +9 -0
- data/lib/drawio_dsl/schema/lines/long_dash.rb +9 -0
- data/lib/drawio_dsl/schema/node.rb +5 -5
- data/lib/drawio_dsl/schema/shape.rb +14 -9
- data/lib/drawio_dsl/schema/text.rb +4 -0
- data/lib/drawio_dsl/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +16 -2
@@ -18,8 +18,8 @@ module DrawioDsl
|
|
18
18
|
@base_style = BaseStyle.new(white_space: :wrap, html: 1, rounded: nil, shadow: nil, sketch: nil, glass: nil)
|
19
19
|
end
|
20
20
|
|
21
|
-
def stroke(
|
22
|
-
strokes[
|
21
|
+
def stroke(key)
|
22
|
+
strokes[key] || ''
|
23
23
|
end
|
24
24
|
|
25
25
|
def strokes
|
@@ -27,21 +27,21 @@ module DrawioDsl
|
|
27
27
|
|
28
28
|
@strokes = {}
|
29
29
|
source_config['strokes'].each do |stroke|
|
30
|
-
@strokes[stroke['
|
30
|
+
@strokes[stroke['key'].to_sym] = stroke['style']
|
31
31
|
end
|
32
32
|
|
33
33
|
@strokes
|
34
34
|
end
|
35
35
|
|
36
36
|
# need test
|
37
|
-
def get_item_by_category(
|
37
|
+
def get_item_by_category(key, category)
|
38
38
|
case category
|
39
39
|
when :text
|
40
|
-
text(
|
40
|
+
text(key)
|
41
41
|
when :line
|
42
|
-
line(
|
42
|
+
line(key)
|
43
43
|
else
|
44
|
-
element(
|
44
|
+
element(key)
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
@@ -69,9 +69,9 @@ module DrawioDsl
|
|
69
69
|
class Shape
|
70
70
|
attr_reader :source_config
|
71
71
|
|
72
|
-
ElementShapeConfig = Struct.new(:
|
73
|
-
LineShapeConfig = Struct.new(:
|
74
|
-
TextShapeConfig = Struct.new(:
|
72
|
+
ElementShapeConfig = Struct.new(:key, :x, :y, :w, :h, :style_modifiers, keyword_init: true)
|
73
|
+
LineShapeConfig = Struct.new(:key, :x, :y, :w, :h, :style_modifiers, keyword_init: true)
|
74
|
+
TextShapeConfig = Struct.new(:key, :x, :y, :w, :h, :style_modifiers, keyword_init: true)
|
75
75
|
|
76
76
|
def initialize(source_config)
|
77
77
|
@source_config = source_config
|
@@ -79,15 +79,8 @@ module DrawioDsl
|
|
79
79
|
|
80
80
|
# Elements
|
81
81
|
|
82
|
-
def element(
|
83
|
-
elements[
|
84
|
-
type: :square,
|
85
|
-
x: 0,
|
86
|
-
y: 0,
|
87
|
-
w: 160,
|
88
|
-
h: 160,
|
89
|
-
style_modifiers: ''
|
90
|
-
)
|
82
|
+
def element(key)
|
83
|
+
elements[key] || default_element
|
91
84
|
end
|
92
85
|
|
93
86
|
def elements
|
@@ -95,8 +88,8 @@ module DrawioDsl
|
|
95
88
|
|
96
89
|
@elements = {}
|
97
90
|
source_config['elements'].each do |element|
|
98
|
-
@elements[element['
|
99
|
-
|
91
|
+
@elements[element['key'].to_sym] = ElementShapeConfig.new(
|
92
|
+
key: element['key'].to_sym,
|
100
93
|
x: element['x'].to_i,
|
101
94
|
y: element['y'].to_i,
|
102
95
|
w: element['w'].to_i,
|
@@ -108,25 +101,29 @@ module DrawioDsl
|
|
108
101
|
@elements
|
109
102
|
end
|
110
103
|
|
111
|
-
def
|
104
|
+
def default_element
|
105
|
+
@default_element ||= ElementShapeConfig.new(
|
106
|
+
key: :square,
|
107
|
+
x: 0,
|
108
|
+
y: 0,
|
109
|
+
w: 160,
|
110
|
+
h: 160,
|
111
|
+
style_modifiers: ''
|
112
|
+
)
|
113
|
+
end
|
114
|
+
|
115
|
+
def element_keys
|
112
116
|
elements.keys
|
113
117
|
end
|
114
118
|
|
115
|
-
def
|
116
|
-
elements.values.sample.
|
119
|
+
def random_element_key
|
120
|
+
elements.values.sample.key
|
117
121
|
end
|
118
122
|
|
119
123
|
# Lines
|
120
124
|
|
121
|
-
def line(
|
122
|
-
lines[
|
123
|
-
type: :solid,
|
124
|
-
x: 0,
|
125
|
-
y: 0,
|
126
|
-
w: 50,
|
127
|
-
h: 50,
|
128
|
-
style_modifiers: 'edgeStyle=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0'
|
129
|
-
)
|
125
|
+
def line(key)
|
126
|
+
lines[key] || default_line
|
130
127
|
end
|
131
128
|
|
132
129
|
def lines
|
@@ -134,8 +131,8 @@ module DrawioDsl
|
|
134
131
|
|
135
132
|
@lines = {}
|
136
133
|
source_config['lines'].each do |line|
|
137
|
-
@lines[line['
|
138
|
-
|
134
|
+
@lines[line['key'].to_sym] = LineShapeConfig.new(
|
135
|
+
key: line['key'].to_sym,
|
139
136
|
x: line['x'].to_i,
|
140
137
|
y: line['y'].to_i,
|
141
138
|
w: line['w'].to_i,
|
@@ -147,23 +144,27 @@ module DrawioDsl
|
|
147
144
|
@lines
|
148
145
|
end
|
149
146
|
|
150
|
-
def
|
147
|
+
def default_line
|
148
|
+
@default_line ||= LineShapeConfig.new(
|
149
|
+
key: :solid,
|
150
|
+
x: 0,
|
151
|
+
y: 0,
|
152
|
+
w: 50,
|
153
|
+
h: 50,
|
154
|
+
style_modifiers: 'edgeStyle=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0'
|
155
|
+
)
|
156
|
+
end
|
157
|
+
|
158
|
+
def line_keys
|
151
159
|
lines.keys
|
152
160
|
end
|
153
161
|
|
154
|
-
def
|
155
|
-
lines.values.sample.
|
162
|
+
def random_line_key
|
163
|
+
lines.values.sample.key
|
156
164
|
end
|
157
165
|
|
158
|
-
def text(
|
159
|
-
texts[
|
160
|
-
type: :p,
|
161
|
-
x: 0,
|
162
|
-
y: 0,
|
163
|
-
w: 100,
|
164
|
-
h: 50,
|
165
|
-
style_modifiers: 'text;fontSize=16;fontStyle=1;fillColor=none'
|
166
|
-
)
|
166
|
+
def text(key)
|
167
|
+
texts[key] || default_text
|
167
168
|
end
|
168
169
|
|
169
170
|
# Texts
|
@@ -173,8 +174,8 @@ module DrawioDsl
|
|
173
174
|
|
174
175
|
@texts = {}
|
175
176
|
source_config['texts'].each do |text|
|
176
|
-
@texts[text['
|
177
|
-
|
177
|
+
@texts[text['key'].to_sym] = TextShapeConfig.new(
|
178
|
+
key: text['key'].to_sym,
|
178
179
|
x: text['x'].to_i,
|
179
180
|
y: text['y'].to_i,
|
180
181
|
w: text['w'].to_i,
|
@@ -186,12 +187,23 @@ module DrawioDsl
|
|
186
187
|
@texts
|
187
188
|
end
|
188
189
|
|
189
|
-
def
|
190
|
+
def default_text
|
191
|
+
@default_line ||= TextShapeConfig.new(
|
192
|
+
key: :p,
|
193
|
+
x: 0,
|
194
|
+
y: 0,
|
195
|
+
w: 100,
|
196
|
+
h: 50,
|
197
|
+
style_modifiers: 'text;fontSize=16;fontStyle=1;fillColor=none'
|
198
|
+
)
|
199
|
+
end
|
200
|
+
|
201
|
+
def text_keys
|
190
202
|
texts.keys
|
191
203
|
end
|
192
204
|
|
193
|
-
def
|
194
|
-
texts.values.sample.
|
205
|
+
def random_text_key
|
206
|
+
texts.values.sample.key
|
195
207
|
end
|
196
208
|
end
|
197
209
|
|
@@ -205,8 +217,8 @@ module DrawioDsl
|
|
205
217
|
@source_config = source_config
|
206
218
|
end
|
207
219
|
|
208
|
-
def compass_point(
|
209
|
-
compass_points[
|
220
|
+
def compass_point(key)
|
221
|
+
compass_points[key] || XyConfig.new(x: 0, y: 0)
|
210
222
|
end
|
211
223
|
|
212
224
|
def compass_points
|
@@ -214,14 +226,14 @@ module DrawioDsl
|
|
214
226
|
|
215
227
|
@compass_points = {}
|
216
228
|
source_config['compass_points'].each do |compass_point|
|
217
|
-
@compass_points[compass_point['
|
229
|
+
@compass_points[compass_point['key'].to_sym] = XyConfig.new(x: compass_point['x'], y: compass_point['y'])
|
218
230
|
end
|
219
231
|
|
220
232
|
@compass_points
|
221
233
|
end
|
222
234
|
|
223
|
-
def waypoint(
|
224
|
-
waypoints[
|
235
|
+
def waypoint(key)
|
236
|
+
waypoints[key] || ''
|
225
237
|
end
|
226
238
|
|
227
239
|
def waypoints
|
@@ -229,14 +241,14 @@ module DrawioDsl
|
|
229
241
|
|
230
242
|
@waypoints = {}
|
231
243
|
source_config['waypoints'].each do |waypoint|
|
232
|
-
@waypoints[waypoint['
|
244
|
+
@waypoints[waypoint['key'].to_sym] = waypoint['style']
|
233
245
|
end
|
234
246
|
|
235
247
|
@waypoints
|
236
248
|
end
|
237
249
|
|
238
|
-
def arrow(
|
239
|
-
arrows[
|
250
|
+
def arrow(key)
|
251
|
+
arrows[key] || 'open'
|
240
252
|
end
|
241
253
|
|
242
254
|
def arrows
|
@@ -244,14 +256,14 @@ module DrawioDsl
|
|
244
256
|
|
245
257
|
@arrows = {}
|
246
258
|
source_config['arrows'].each do |arrow|
|
247
|
-
@arrows[arrow['
|
259
|
+
@arrows[arrow['key'].to_sym] = arrow['style']
|
248
260
|
end
|
249
261
|
|
250
262
|
@arrows
|
251
263
|
end
|
252
264
|
|
253
|
-
def design(
|
254
|
-
designs[
|
265
|
+
def design(key)
|
266
|
+
designs[key] || ''
|
255
267
|
end
|
256
268
|
|
257
269
|
def designs
|
@@ -259,7 +271,7 @@ module DrawioDsl
|
|
259
271
|
|
260
272
|
@designs = {}
|
261
273
|
source_config['designs'].each do |design|
|
262
|
-
@designs[design['
|
274
|
+
@designs[design['key'].to_sym] = design['style']
|
263
275
|
end
|
264
276
|
|
265
277
|
@designs
|
@@ -269,16 +281,16 @@ module DrawioDsl
|
|
269
281
|
class Theme
|
270
282
|
attr_reader :source_config
|
271
283
|
|
272
|
-
BackgroundThemeConfig = Struct.new(:
|
273
|
-
ElementThemeConfig = Struct.new(:
|
284
|
+
BackgroundThemeConfig = Struct.new(:key, :bg_color, :font_color, :favourite, keyword_init: true)
|
285
|
+
ElementThemeConfig = Struct.new(:key, :fill_color, :stroke_color, :font_color, :gradient, keyword_init: true)
|
274
286
|
|
275
287
|
def initialize(source_config)
|
276
288
|
@source_config = source_config
|
277
289
|
end
|
278
290
|
|
279
|
-
def background(
|
280
|
-
backgrounds[
|
281
|
-
|
291
|
+
def background(key)
|
292
|
+
backgrounds[key] || BackgroundThemeConfig.new(
|
293
|
+
key: key,
|
282
294
|
bg_color: '#000000',
|
283
295
|
font_color: '#FFFFFF',
|
284
296
|
favourite: false
|
@@ -290,8 +302,8 @@ module DrawioDsl
|
|
290
302
|
|
291
303
|
@backgrounds = {}
|
292
304
|
source_config['backgrounds'].each do |background|
|
293
|
-
@backgrounds[background['
|
294
|
-
|
305
|
+
@backgrounds[background['key'].to_sym] = BackgroundThemeConfig.new(
|
306
|
+
key: background['key'].to_sym,
|
295
307
|
bg_color: background['bg_color'],
|
296
308
|
font_color: background['font_color'],
|
297
309
|
favourite: background['favourite'] == 1
|
@@ -301,21 +313,21 @@ module DrawioDsl
|
|
301
313
|
@backgrounds
|
302
314
|
end
|
303
315
|
|
304
|
-
def
|
316
|
+
def background_keys
|
305
317
|
backgrounds.keys
|
306
318
|
end
|
307
319
|
|
308
|
-
def
|
309
|
-
backgrounds.values.select(&:favourite).map(&:
|
320
|
+
def favourite_background_keys
|
321
|
+
backgrounds.values.select(&:favourite).map(&:key)
|
310
322
|
end
|
311
323
|
|
312
|
-
def
|
313
|
-
backgrounds.values.sample.
|
324
|
+
def random_background_key
|
325
|
+
backgrounds.values.sample.key
|
314
326
|
end
|
315
327
|
|
316
|
-
def element(
|
317
|
-
elements[
|
318
|
-
|
328
|
+
def element(key)
|
329
|
+
elements[key] || ElementThemeConfig.new(
|
330
|
+
key: key,
|
319
331
|
fill_color: '#ffffff',
|
320
332
|
stroke_color: '#000000',
|
321
333
|
font_color: '#000000',
|
@@ -328,8 +340,8 @@ module DrawioDsl
|
|
328
340
|
|
329
341
|
@elements = {}
|
330
342
|
source_config['elements'].each do |element|
|
331
|
-
@elements[element['
|
332
|
-
|
343
|
+
@elements[element['key'].to_sym] = ElementThemeConfig.new(
|
344
|
+
key: element['key'].to_sym,
|
333
345
|
fill_color: element['fill_color'],
|
334
346
|
stroke_color: element['stroke_color'],
|
335
347
|
font_color: element['font_color'],
|
@@ -340,12 +352,12 @@ module DrawioDsl
|
|
340
352
|
@elements
|
341
353
|
end
|
342
354
|
|
343
|
-
def
|
355
|
+
def element_keys
|
344
356
|
elements.keys
|
345
357
|
end
|
346
358
|
|
347
|
-
def
|
348
|
-
elements.values.sample.
|
359
|
+
def random_element_key
|
360
|
+
elements.values.sample.key
|
349
361
|
end
|
350
362
|
end
|
351
363
|
end
|
@@ -47,8 +47,8 @@ module DrawioDsl
|
|
47
47
|
current_page.id = SecureRandom.alphanumeric(3) unless current_page.id
|
48
48
|
|
49
49
|
# add anchor nodes
|
50
|
-
page_anchor = DrawioDsl::Schema::Anchor.new(self, id: "page_root_#{current_page.id}",
|
51
|
-
node_anchor = DrawioDsl::Schema::Anchor.new(self, id: "node_root_#{current_page.id}",
|
50
|
+
page_anchor = DrawioDsl::Schema::Anchor.new(self, id: "page_root_#{current_page.id}", key: :page_root)
|
51
|
+
node_anchor = DrawioDsl::Schema::Anchor.new(self, id: "node_root_#{current_page.id}", key: :node_root)
|
52
52
|
page_anchor.add_node(node_anchor)
|
53
53
|
|
54
54
|
@focus_node = node_anchor
|
@@ -10,6 +10,66 @@ module DrawioDsl
|
|
10
10
|
add_shape(solid)
|
11
11
|
end
|
12
12
|
|
13
|
+
def add_dashed(id = nil, **opts, &block)
|
14
|
+
opts = { id: id }.merge(opts) if id
|
15
|
+
dashed = DrawioDsl::Schema::Dashed.new(current_page, **opts, &block)
|
16
|
+
add_shape(dashed)
|
17
|
+
end
|
18
|
+
|
19
|
+
def add_dotted(id = nil, **opts, &block)
|
20
|
+
opts = { id: id }.merge(opts) if id
|
21
|
+
dotted = DrawioDsl::Schema::Dotted.new(current_page, **opts, &block)
|
22
|
+
add_shape(dotted)
|
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_dashed24(id = nil, **opts, &block)
|
56
|
+
opts = { id: id }.merge(opts) if id
|
57
|
+
dashed24 = DrawioDsl::Schema::Dashed24.new(current_page, **opts, &block)
|
58
|
+
add_shape(dashed24)
|
59
|
+
end
|
60
|
+
|
61
|
+
def add_dashed32(id = nil, **opts, &block)
|
62
|
+
opts = { id: id }.merge(opts) if id
|
63
|
+
dashed32 = DrawioDsl::Schema::Dashed32.new(current_page, **opts, &block)
|
64
|
+
add_shape(dashed32)
|
65
|
+
end
|
66
|
+
|
67
|
+
def add_dashed44(id = nil, **opts, &block)
|
68
|
+
opts = { id: id }.merge(opts) if id
|
69
|
+
dashed44 = DrawioDsl::Schema::Dashed44.new(current_page, **opts, &block)
|
70
|
+
add_shape(dashed44)
|
71
|
+
end
|
72
|
+
|
13
73
|
def add_h1(id = nil, **opts, &block)
|
14
74
|
opts = { id: id }.merge(opts) if id
|
15
75
|
h1 = DrawioDsl::Schema::H1.new(current_page, **opts, &block)
|
@@ -5,94 +5,114 @@ module DrawioDsl
|
|
5
5
|
# :nocov:
|
6
6
|
module DrawioShapes
|
7
7
|
def random(**opts)
|
8
|
-
case rand(
|
8
|
+
case rand(54)
|
9
9
|
when 0
|
10
10
|
solid(**opts)
|
11
11
|
when 1
|
12
|
-
|
12
|
+
dashed(**opts)
|
13
13
|
when 2
|
14
|
-
|
14
|
+
dotted(**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
|
+
dashed24(**opts)
|
27
27
|
when 9
|
28
|
-
|
28
|
+
dashed32(**opts)
|
29
29
|
when 10
|
30
|
-
|
30
|
+
dashed44(**opts)
|
31
31
|
when 11
|
32
|
-
|
32
|
+
h1(**opts)
|
33
33
|
when 12
|
34
|
-
|
34
|
+
h2(**opts)
|
35
35
|
when 13
|
36
|
-
|
36
|
+
h3(**opts)
|
37
37
|
when 14
|
38
|
-
|
38
|
+
h4(**opts)
|
39
39
|
when 15
|
40
|
-
|
40
|
+
h5(**opts)
|
41
41
|
when 16
|
42
|
-
|
42
|
+
h6(**opts)
|
43
43
|
when 17
|
44
|
-
|
44
|
+
p(**opts)
|
45
45
|
when 18
|
46
|
-
|
46
|
+
actor(**opts)
|
47
47
|
when 19
|
48
|
-
|
48
|
+
actor2(**opts)
|
49
49
|
when 20
|
50
|
-
|
50
|
+
callout(**opts)
|
51
51
|
when 21
|
52
|
-
|
52
|
+
callout2(**opts)
|
53
53
|
when 22
|
54
|
-
|
54
|
+
callout3(**opts)
|
55
55
|
when 23
|
56
|
-
|
56
|
+
callout4(**opts)
|
57
57
|
when 24
|
58
|
-
|
58
|
+
circle(**opts)
|
59
59
|
when 25
|
60
|
-
|
60
|
+
cloud(**opts)
|
61
61
|
when 26
|
62
|
-
|
62
|
+
container(**opts)
|
63
63
|
when 27
|
64
|
-
|
64
|
+
container2(**opts)
|
65
65
|
when 28
|
66
|
-
|
66
|
+
container3(**opts)
|
67
67
|
when 29
|
68
|
-
|
68
|
+
container4(**opts)
|
69
69
|
when 30
|
70
|
-
|
70
|
+
cross(**opts)
|
71
71
|
when 31
|
72
|
-
|
72
|
+
envelop(**opts)
|
73
73
|
when 32
|
74
|
-
|
74
|
+
database(**opts)
|
75
75
|
when 33
|
76
|
-
|
76
|
+
db_json(**opts)
|
77
77
|
when 34
|
78
|
-
|
78
|
+
diamond(**opts)
|
79
79
|
when 35
|
80
|
-
|
80
|
+
document(**opts)
|
81
81
|
when 36
|
82
|
-
|
82
|
+
ellipse(**opts)
|
83
83
|
when 37
|
84
|
-
|
84
|
+
group(**opts)
|
85
85
|
when 38
|
86
|
-
|
86
|
+
hexagon(**opts)
|
87
87
|
when 39
|
88
|
-
|
88
|
+
interface(**opts)
|
89
89
|
when 40
|
90
|
-
|
90
|
+
klass(**opts)
|
91
91
|
when 41
|
92
|
-
|
92
|
+
note(**opts)
|
93
93
|
when 42
|
94
|
-
|
94
|
+
process(**opts)
|
95
95
|
when 43
|
96
|
+
rectangle(**opts)
|
97
|
+
when 44
|
98
|
+
rectangle2(**opts)
|
99
|
+
when 45
|
100
|
+
square(**opts)
|
101
|
+
when 46
|
102
|
+
step(**opts)
|
103
|
+
when 47
|
104
|
+
tick(**opts)
|
105
|
+
when 48
|
106
|
+
todo(**opts)
|
107
|
+
when 49
|
108
|
+
face(**opts)
|
109
|
+
when 50
|
110
|
+
triangle(**opts)
|
111
|
+
when 51
|
112
|
+
embed_row(**opts)
|
113
|
+
when 52
|
114
|
+
embed_col50(**opts)
|
115
|
+
when 53
|
96
116
|
embed_col200(**opts)
|
97
117
|
end
|
98
118
|
end
|
@@ -101,6 +121,46 @@ module DrawioDsl
|
|
101
121
|
builder.add_solid(id, **opts, &block)
|
102
122
|
end
|
103
123
|
|
124
|
+
def dashed(id = nil, **opts, &block)
|
125
|
+
builder.add_dashed(id, **opts, &block)
|
126
|
+
end
|
127
|
+
|
128
|
+
def dotted(id = nil, **opts, &block)
|
129
|
+
builder.add_dotted(id, **opts, &block)
|
130
|
+
end
|
131
|
+
|
132
|
+
def dash_dot(id = nil, **opts, &block)
|
133
|
+
builder.add_dash_dot(id, **opts, &block)
|
134
|
+
end
|
135
|
+
|
136
|
+
def dash_dot_dot(id = nil, **opts, &block)
|
137
|
+
builder.add_dash_dot_dot(id, **opts, &block)
|
138
|
+
end
|
139
|
+
|
140
|
+
def dot_dot_dot(id = nil, **opts, &block)
|
141
|
+
builder.add_dot_dot_dot(id, **opts, &block)
|
142
|
+
end
|
143
|
+
|
144
|
+
def long_dash(id = nil, **opts, &block)
|
145
|
+
builder.add_long_dash(id, **opts, &block)
|
146
|
+
end
|
147
|
+
|
148
|
+
def dash_long_dash(id = nil, **opts, &block)
|
149
|
+
builder.add_dash_long_dash(id, **opts, &block)
|
150
|
+
end
|
151
|
+
|
152
|
+
def dashed24(id = nil, **opts, &block)
|
153
|
+
builder.add_dashed24(id, **opts, &block)
|
154
|
+
end
|
155
|
+
|
156
|
+
def dashed32(id = nil, **opts, &block)
|
157
|
+
builder.add_dashed32(id, **opts, &block)
|
158
|
+
end
|
159
|
+
|
160
|
+
def dashed44(id = nil, **opts, &block)
|
161
|
+
builder.add_dashed44(id, **opts, &block)
|
162
|
+
end
|
163
|
+
|
104
164
|
def h1(id = nil, **opts, &block)
|
105
165
|
builder.add_h1(id, **opts, &block)
|
106
166
|
end
|
data/lib/drawio_dsl/schema/_.rb
CHANGED
@@ -56,6 +56,16 @@ require_relative 'elements/embed_col200'
|
|
56
56
|
|
57
57
|
# Connector lines
|
58
58
|
require_relative 'lines/solid'
|
59
|
+
require_relative 'lines/dashed'
|
60
|
+
require_relative 'lines/dotted'
|
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/dashed24'
|
67
|
+
require_relative 'lines/dashed32'
|
68
|
+
require_relative 'lines/dashed44'
|
59
69
|
|
60
70
|
# Text elements such as h1, h2, p, etc.
|
61
71
|
require_relative 'texts/h1'
|
@@ -15,7 +15,7 @@ module DrawioDsl
|
|
15
15
|
def initialize(**args)
|
16
16
|
@host = args[:host] || SecureRandom.alphanumeric(3)
|
17
17
|
# TODO: assess and resolve this inconsistency
|
18
|
-
@theme = args[:theme] || KConfig.configuration.drawio.theme.
|
18
|
+
@theme = args[:theme] || KConfig.configuration.drawio.theme.random_background_key
|
19
19
|
@bg_theme = args[:bg_theme] || :not_set
|
20
20
|
|
21
21
|
@style = DrawioDsl::Schema::CommonStyle.new(**args) do
|
@@ -18,6 +18,10 @@ module DrawioDsl
|
|
18
18
|
@gradient = args[:gradient] || theme_palette.gradient
|
19
19
|
@font_color = args[:font_color] || theme_palette.font_color
|
20
20
|
end
|
21
|
+
|
22
|
+
def default_configuration
|
23
|
+
KConfig.configuration.drawio.shape.default_element
|
24
|
+
end
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|