atome 0.5.3.8.8 → 0.5.4.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +52 -17
  3. data/app_builder_helpers/Rakefile +20 -3
  4. data/exe/atome +33 -1
  5. data/lib/atome/atome.rb +43 -57
  6. data/lib/atome/extensions/atome.rb +82 -52
  7. data/lib/atome/extensions/mathematic.rb +8 -12
  8. data/lib/atome/extensions/matrix.rb +138 -210
  9. data/lib/atome/genesis/generators/atome.rb +8 -134
  10. data/lib/atome/genesis/generators/communication.rb +0 -1
  11. data/lib/atome/genesis/generators/effect.rb +0 -6
  12. data/lib/atome/genesis/generators/event.rb +64 -77
  13. data/lib/atome/genesis/generators/geometry.rb +0 -18
  14. data/lib/atome/genesis/generators/identity.rb +6 -33
  15. data/lib/atome/genesis/generators/material.rb +3 -54
  16. data/lib/atome/genesis/generators/utility.rb +63 -58
  17. data/lib/atome/genesis/genesis.rb +8 -0
  18. data/lib/atome/genesis/sparkle.rb +35 -16
  19. data/lib/atome/helpers/callbacks.rb +47 -1
  20. data/lib/atome/helpers/essentials.rb +1 -1
  21. data/lib/atome/helpers/sanitizer.rb +0 -10
  22. data/lib/atome/helpers/utilities.rb +74 -28
  23. data/lib/atome/kernel/batch.rb +13 -35
  24. data/lib/atome/kernel/universe.rb +2 -0
  25. data/lib/atome/presets/atome.rb +4 -12
  26. data/lib/atome/renderers/browser/atome.rb +1 -1
  27. data/lib/atome/renderers/browser/browser.rb +2 -0
  28. data/lib/atome/renderers/browser/event.rb +18 -0
  29. data/lib/atome/renderers/browser/helpers/drag_helper.rb +13 -0
  30. data/lib/atome/renderers/browser/helpers/drop_helper.rb +13 -0
  31. data/lib/atome/renderers/browser/helpers/event_helper.rb +16 -11
  32. data/lib/atome/renderers/browser/helpers/over_helper.rb +13 -0
  33. data/lib/atome/renderers/browser/helpers/text_helper.rb +5 -1
  34. data/lib/atome/renderers/browser/spatial.rb +3 -2
  35. data/lib/atome/renderers/browser/utility.rb +7 -7
  36. data/lib/atome/version.rb +2 -2
  37. data/lib/atome.rb +1 -0
  38. data/sig/atome.rbs +16 -0
  39. data/sig/batch.rbs +7 -0
  40. data/sig/browser_helper.rbs +14 -0
  41. data/sig/matrix.rbs +5 -0
  42. data/sig/object.rbs +3 -0
  43. data/vendor/assets/aui.rb +5 -0
  44. data/vendor/assets/src/index.html +15 -3
  45. data/vendor/assets/src/js/atome/atome.js +1 -1
  46. data/vendor/assets/src/js/atome/atome_helpers/atome_animate.js +1 -1
  47. data/vendor/assets/src/js/atome/atome_helpers/atome_communication.js +40 -0
  48. data/vendor/assets/src/js/atome/atome_helpers/atome_drag.js +40 -3
  49. data/vendor/assets/src/js/atome/atome_helpers/atome_drop.js +12 -0
  50. data/vendor/assets/src/js/atome/atome_helpers/atome_events.js +166 -0
  51. data/vendor/assets/src/js/atome/atome_helpers/atome_file.js +6 -1
  52. data/vendor/assets/src/js/atome/atome_helpers/atome_over.js +43 -0
  53. data/vendor/assets/src/medias/rubies/demos.rb +63 -0
  54. data/vendor/assets/src/medias/rubies/examples/add.rb +1 -1
  55. data/vendor/assets/src/medias/rubies/examples/animation.rb +1 -1
  56. data/vendor/assets/src/medias/rubies/examples/atome_new.rb +1 -1
  57. data/vendor/assets/src/medias/rubies/examples/attach.rb +10 -10
  58. data/vendor/assets/src/medias/rubies/examples/attached.rb +2 -3
  59. data/vendor/assets/src/medias/rubies/examples/batch.rb +17 -0
  60. data/vendor/assets/src/medias/rubies/examples/blur.rb +2 -2
  61. data/vendor/assets/src/medias/rubies/examples/box.rb +2 -2
  62. data/vendor/assets/src/medias/rubies/examples/code.rb +1 -1
  63. data/vendor/assets/src/medias/rubies/examples/color.rb +3 -3
  64. data/vendor/assets/src/medias/rubies/examples/delete.rb +17 -1
  65. data/vendor/assets/src/medias/rubies/examples/detached.rb +3 -3
  66. data/vendor/assets/src/medias/rubies/examples/drag.rb +52 -1
  67. data/vendor/assets/src/medias/rubies/examples/drop.rb +26 -0
  68. data/vendor/assets/src/medias/rubies/examples/fullscreen.rb +1 -1
  69. data/vendor/assets/src/medias/rubies/examples/markers.rb +1 -1
  70. data/vendor/assets/src/medias/rubies/examples/matrix.rb +102 -0
  71. data/vendor/assets/src/medias/rubies/examples/matrix_changes.rb +483 -0
  72. data/vendor/assets/src/medias/rubies/examples/matrix_simple.rb +32 -0
  73. data/vendor/assets/src/medias/rubies/examples/monitoring.rb +1 -1
  74. data/vendor/assets/src/medias/rubies/examples/mute.rb +1 -1
  75. data/vendor/assets/src/medias/rubies/examples/on.rb +1 -1
  76. data/vendor/assets/src/medias/rubies/examples/over.rb +6 -4
  77. data/vendor/assets/src/medias/rubies/examples/pause.rb +1 -1
  78. data/vendor/assets/src/medias/rubies/examples/physical.rb +19 -0
  79. data/vendor/assets/src/medias/rubies/examples/play.rb +1 -1
  80. data/vendor/assets/src/medias/rubies/examples/repeat.rb +3 -2
  81. data/vendor/assets/src/medias/rubies/examples/shadow.rb +1 -1
  82. data/vendor/assets/src/medias/rubies/examples/sort.rb +3 -4
  83. data/vendor/assets/src/medias/rubies/examples/tags.rb +10 -0
  84. data/vendor/assets/src/medias/rubies/examples/text.rb +4 -4
  85. data/vendor/assets/src/medias/rubies/examples/time.rb +2 -2
  86. data/vendor/assets/src/medias/rubies/examples/video.rb +2 -2
  87. data/vendor/assets/src/medias/rubies/{examples → unstable}/_2_solve.rb +1 -1
  88. data/vendor/assets/src/medias/rubies/{examples → unstable}/_audio.rb +1 -1
  89. data/vendor/assets/src/medias/rubies/{examples → unstable}/_dataset.rb +4 -4
  90. data/vendor/assets/src/medias/rubies/{examples → unstable}/_table2.rb +2 -2
  91. data/vendor/assets/src/medias/rubies/{examples → unstable}/_vie.rb +2 -2
  92. data/vendor/assets/src/utilities/mode.rb +0 -0
  93. data/vendor/assets/src-tauri/tauri.conf.json +2 -2
  94. metadata +32 -14
  95. data/vendor/assets/src/medias/rubies/examples/table.rb +0 -479
  96. /data/vendor/assets/src/medias/rubies/{examples → unstable}/!run.rb +0 -0
  97. /data/vendor/assets/src/medias/rubies/{examples → unstable}/_attach.rb +0 -0
  98. /data/vendor/assets/src/medias/rubies/{examples → unstable}/_matrix.rb +0 -0
  99. /data/vendor/assets/src/medias/rubies/{examples → unstable}/_os.rb +0 -0
  100. /data/vendor/assets/src/medias/rubies/{examples → unstable}/_test.rb +0 -0
@@ -1,39 +1,138 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Matrix
4
- def content(items = nil)
5
- if items.instance_of?(Array)
6
- items.each do |item|
7
- content(item)
8
- end
9
- elsif items.instance_of?(Atome)
10
- w_found = items.particles[:width]
11
- h_found = items.particles[:height]
12
- l_found = items.particles[:left]
13
- t_found = items.particles[:top]
14
- i_found = items.particles[:id]
15
- current_w_found = width
16
- current_h_found = height
17
- current_l_found = left
18
- current_t_found = top
19
- @cell_content ||= {}
20
- @cell_content[i_found] = { width_ratio: 1, height_ratio: 1, top_ratio: 1, left_ratio: 1 }
21
- # alert @cell_content
22
- items.parents([id])
4
+
5
+ def matrix(params = {}, &bloc)
6
+
7
+ params = matrix_sanitizer(params)
8
+
9
+ columns_data = if params[:columns]
10
+ params.delete(:columns)
11
+ else
12
+ { count: 4 }
13
+ end
14
+
15
+ rows_data = if params[:rows]
16
+ params.delete(:rows)
17
+ else
18
+ { count: 4 }
19
+ end
20
+
21
+ cells_data = if params[:cells]
22
+ params.delete(:cells)
23
+ else
24
+ { particles: { margin: 9, color: :lightgray } }
25
+ end
26
+ cells_color = cells_data[:particles].delete(:color)
27
+ # we grab Black matter to avoid coloring the view
28
+ cells_color_id = grab(:black_matter).color(cells_color).id
29
+ cells_shadow = cells_data[:particles].delete(:shadow)
30
+ cells_shadow_id = grab(:black_matter).shadow(cells_shadow).id
31
+ exceptions_data = params.delete(:exceptions)
32
+ default_renderer = Essentials.default_params[:render_engines]
33
+ atome_type = :matrix
34
+ # generated_render = params[:renderers] || default_renderer
35
+ # TODO: maybe change the code below and don't use identity_generator directly!!!
36
+ generated_id = params[:id] || identity_generator(:matrix)
37
+ params = atome_common(:matrix, params)
38
+ the_matrix = Atome.new(atome_type => params, &bloc)
39
+
40
+ # the_matrix = Atome.new(matrix: { type: :shape, id: :my_table, renderers: [:browser], parents: [] }, &bloc)
41
+ # example = Atome.new(code: { type: :code, renderers: [:headless], parents: [], children: [] })
42
+ # TODO: use the standard atome creation method (generator.build_atome(:collector)),
43
+ # TODO suite => For now its impossible to make it draggable because it return the created box not the matrix
44
+ # get necessary params
45
+ matrix_id = params[:id]
46
+ matrix_width = params[:width]
47
+ matrix_height = params[:height]
48
+ columns = columns_data[:count]
49
+ rows = rows_data[:count]
50
+ margin = cells_data[:particles].delete(:margin)
51
+ the_matrix.instance_variable_set('@columns', columns)
52
+ the_matrix.instance_variable_set('@rows', rows)
53
+ the_matrix.instance_variable_set('@margin', margin)
54
+ the_matrix.instance_variable_set('@cell_style', cells_data[:particles])
55
+ the_matrix.instance_variable_set('@matrix_width', matrix_width)
56
+ the_matrix.instance_variable_set('@matrix_height', matrix_height)
57
+ the_matrix.instance_variable_set('@cells', [])
58
+ rows = rows_data[:count]
59
+ columns = columns_data[:count]
60
+
61
+ # exceptions reorganisation
62
+ if exceptions_data
63
+ columns_exceptions = exceptions_data[:columns] ||= {}
64
+ columns_fusion_exceptions = columns_exceptions[:fusion] ||= {}
65
+ columns_divided_exceptions = columns_exceptions[:divided] ||= {}
66
+ rows_exceptions = exceptions_data[:rows] ||= {}
67
+ rows_fusion_exceptions = rows_exceptions[:fusion] ||= {}
68
+ rows_divided_exceptions = rows_exceptions[:divided] ||= {}
69
+ exceptions = { columns_fusion: columns_fusion_exceptions,
70
+ columns_divided: columns_divided_exceptions,
71
+ rows_fusion: rows_fusion_exceptions,
72
+ rows_divided: rows_divided_exceptions }
73
+
23
74
  else
24
- @cell_content
75
+ exceptions = {
76
+ columns_fusion: {},
77
+ columns_divided: {},
78
+ rows_fusion: {},
79
+ rows_divided: {}
80
+ }
81
+
25
82
  end
83
+ the_matrix.instance_variable_set('@exceptions', exceptions)
84
+
85
+ # let's create the matrix background
86
+ # cells creation below
87
+ number_of_cells = rows * columns
88
+ number_of_cells.times do |index|
89
+ current_matrix = grab(matrix_id)
90
+ current_cell_id = "#{matrix_id}_#{index}"
91
+ current_cell = current_matrix.box({ id: current_cell_id })
92
+ the_matrix.instance_variable_set('@cell_style', cells_data[:particles])
93
+ current_matrix.instance_variable_get('@cells') << current_cell_id
94
+
95
+ current_cell.attached([cells_shadow_id])
96
+ current_cell.attached([cells_color_id])
97
+ apply_style(current_cell, cells_data[:particles])
98
+
99
+ end
100
+ # lets create the columns and rows
101
+ the_matrix.format_matrix(matrix_id, matrix_width, matrix_height, rows, columns, margin, exceptions)
102
+
103
+ the_matrix
26
104
  end
27
105
 
28
- def cells(cell_nb)
29
- collector_object = collector({})
30
- collected_atomes = []
31
- cell_nb.each do |cell_found|
32
- atome_found = grab("#{id}_#{cell_found}")
33
- collected_atomes << atome_found
106
+ def matrix_sanitizer(params)
107
+
108
+ default_params = {
109
+
110
+ left: 33, top: 33, width: 369, height: 369, smooth: 8, color: :gray,
111
+ columns: { count: 4 },
112
+ rows: { count: 4 },
113
+ cells: { particles: { margin: 9, color: :lightgray, smooth: 9, shadow: { blur: 9, left: 3, top: 3 } }
114
+ }
115
+ }
116
+ default_params.merge(params)
117
+ end
118
+
119
+ def cells(cell_nb, &proc)
120
+ if cell_nb
121
+ collected_atomes = []
122
+ cell_nb.each do |cell_found|
123
+ if cell_found.instance_of?(Integer)
124
+ cell_found = cells[cell_found]
125
+ collected_atomes << cell_found
126
+ else
127
+ collected_atomes << cell_found
128
+ end
129
+ end
130
+ instance_exec(collected_atomes, &proc) if proc.is_a?(Proc)
131
+ else
132
+ instance_exec(@cells, &proc) if proc.is_a?(Proc)
133
+ @cells
34
134
  end
35
- collector_object.data(collected_atomes)
36
- collector_object
135
+
37
136
  end
38
137
 
39
138
  def cell(cell_nb)
@@ -64,11 +163,6 @@ module Matrix
64
163
  element({ data: cells_found })
65
164
  end
66
165
 
67
- # def ratio(val)
68
- # puts "ratio must be : #{val}"
69
- #
70
- # end
71
-
72
166
  def fusion(params)
73
167
  number_of_cells = @columns * @rows
74
168
  if params[:columns]
@@ -78,8 +172,7 @@ module Matrix
78
172
  cells_in_column = get_column_or_row(number_of_cells, @columns, column_to_alter, true)
79
173
  cells_to_alter = cells_in_column[value[0]..value[1]]
80
174
  cells_to_alter.each_with_index do |cell_nb, index|
81
- current_cell = grab("#{id.value}_#{cell_nb}")
82
- # puts "==> current cell is #{id}"
175
+ current_cell = grab("#{id}_#{cell_nb}")
83
176
  if index.zero?
84
177
  current_cell.height(cell_height * cells_to_alter.length + @margin * (cells_to_alter.length - 1))
85
178
  else
@@ -95,7 +188,7 @@ module Matrix
95
188
  cells_to_alter = cells_in_column[value[0]..value[1]]
96
189
 
97
190
  cells_to_alter.each_with_index do |cell_nb, index|
98
- current_cell = grab("#{id.value}_#{cell_nb}")
191
+ current_cell = grab("#{id}_#{cell_nb}")
99
192
  if index.zero?
100
193
  current_cell.width(cell_width * cells_to_alter.length + @margin * (cells_to_alter.length - 1))
101
194
  else
@@ -114,10 +207,10 @@ module Matrix
114
207
  # we get the nth first element
115
208
  cells_to_alter = cells_in_column.take(value)
116
209
  cells_in_column.each_with_index do |cell_nb, index|
117
- current_cell = grab("#{id.value}_#{cell_nb}")
210
+ current_cell = grab("#{id}_#{cell_nb}")
118
211
  if cells_to_alter.include?(cell_nb)
119
212
  current_cell.height(@matrix_height / value - (@margin + value))
120
- current_cell.top(current_cell.height.value * index + @margin * (index + 1))
213
+ current_cell.top(current_cell.height * index + @margin * (index + 1))
121
214
  else
122
215
  current_cell.hide(true)
123
216
  end
@@ -129,10 +222,10 @@ module Matrix
129
222
  # we get the nth first element
130
223
  cells_to_alter = cells_in_row.take(value)
131
224
  cells_in_row.each_with_index do |cell_nb, index|
132
- current_cell = grab("#{id.value}_#{cell_nb}")
225
+ current_cell = grab("#{id}_#{cell_nb}")
133
226
  if cells_to_alter.include?(cell_nb)
134
227
  current_cell.width(@matrix_width / value - @margin - (@margin / value))
135
- current_cell.left(current_cell.width.value * index + @margin * (index + 1))
228
+ current_cell.left(current_cell.width * index + @margin * (index + 1))
136
229
  else
137
230
  current_cell.hide(true)
138
231
  end
@@ -141,11 +234,6 @@ module Matrix
141
234
  end
142
235
  end
143
236
 
144
- # def override(params)
145
- # # TODO : allow fixed height ond fixed width when resizing
146
- # puts "should override to allow fixed height or fixed width when resizing #{params}"
147
- # end
148
-
149
237
  def first(item, &proc)
150
238
  if item[:columns]
151
239
  columns(0, &proc)
@@ -173,7 +261,6 @@ module Matrix
173
261
  x = (col_index + 1) * margin + col_index * cell_width
174
262
  y = (row_index + 1) * margin + row_index * cell_height
175
263
  current_cell = grab("#{matrix_id}_#{i}")
176
- # puts current_cell
177
264
  current_cell.materials.each do |child|
178
265
  grab(child).width(cell_width) if grab(child)
179
266
  grab(child).height(cell_width) if grab(child)
@@ -187,176 +274,28 @@ module Matrix
187
274
  end
188
275
 
189
276
  # exceptions management
190
-
191
- # number_of_cells = nb_of_rows * nb_of_cols
192
- # columns exceptions
193
- # return
194
277
  return unless exceptions
195
278
 
196
279
  fusion({ columns: exceptions[:columns_fusion] }) if exceptions[:columns_fusion]
197
- # fusion({ rows: exceptions[:rows_fusion] }) if exceptions[:rows_fusion]
198
- # divide({ columns: exceptions[:columns_divided] }) if exceptions[:columns_divided]
199
- # divide({ rows: exceptions[:rows_divided] }) if exceptions[:rows_divided]
280
+
200
281
  end
201
282
 
202
283
  def apply_style(current_cell, style)
203
284
  current_cell.set(style)
204
285
  end
205
286
 
206
- def matrix_sanitizer(params)
207
- default_params = {
208
-
209
- id: :my_table, left: 33, top: 33, width: 369, height: 369, smooth: 8, color: :gray,
210
- columns: { count: 4 },
211
- rows: { count: 4 },
212
- cells: { particles: { margin: 9, color: :lightgray, smooth: 9, shadow: { blur: 9, left: 3, top: 3 } }
213
- }
214
- }
215
- default_params.merge(params)
216
- end
217
-
218
- def matrix(params = {}, &bloc)
219
- params = matrix_sanitizer(params)
220
-
221
- columns_data = if params[:columns]
222
- params.delete(:columns)
223
- else
224
- { count: 4 }
225
- end
226
-
227
- rows_data = if params[:rows]
228
- params.delete(:rows)
229
- else
230
- { count: 4 }
231
- end
232
-
233
- cells_data = if params[:cells]
234
- params.delete(:cells)
235
- else
236
- { particles: { margin: 9, color: :lightgray } }
237
- end
238
- cells_color = cells_data[:particles].delete(:color)
239
- cells_color_id = color(cells_color).id.value
240
-
241
- cells_shadow = cells_data[:particles].delete(:shadow)
242
- cells_shadow_id = shadow(cells_shadow).id.value
243
-
244
- exceptions_data = params.delete(:exceptions)
245
- default_renderer = Essentials.default_params[:render_engines]
246
- atome_type = :matrix
247
- # generated_render = params[:renderers] || default_renderer
248
- generated_id = params[:id] || identity_generator(:matrix)
249
- #
250
- # generated_parents = params[:parents] || [id.value]
251
- # generated_children = params[:shape] || []
252
- # params = atome_common(atome_type, params)
253
- params = atome_common(:matrix, params)
254
- # puts "====>#{params} #{params.class}"
255
- the_matrix = Atome.new( atome_type => params , &bloc)
256
- # the_matrix = Atome.new(matrix: { type: :shape, id: :my_table, renderers: [:browser], parents: [] }, &bloc)
257
- # example = Atome.new(code: { type: :code, renderers: [:headless], parents: [], children: [] })
258
- # TODO: use the standard atome creation method (generator.build_atome(:collector)),
259
- # TODO suite => For now its impossible to make it draggable because it return the created box not the matrix
260
- # get necessary params
261
- matrix_id = params[:id]
262
- matrix_width = params[:width]
263
- matrix_height = params[:height]
264
- columns = columns_data[:count]
265
- rows = rows_data[:count]
266
- margin = cells_data[:particles].delete(:margin)
267
- the_matrix.instance_variable_set('@columns', columns)
268
- the_matrix.instance_variable_set('@rows', rows)
269
- the_matrix.instance_variable_set('@margin', margin)
270
- the_matrix.instance_variable_set('@cell_style', cells_data[:particles])
271
- the_matrix.instance_variable_set('@matrix_width', matrix_width)
272
- the_matrix.instance_variable_set('@matrix_height', matrix_height)
273
-
274
- rows = rows_data[:count]
275
- columns = columns_data[:count]
276
- # @rows = rows_data[:count]
277
- # @columns = columns_data[:count]
278
- # @margin = cells_data[:particles].delete(:margin)
279
- # @cell_style = cells_data[:particles]
280
- # @matrix_width = params[:width]
281
- # @matrix_height = params[:height]
282
-
283
- # exceptions reorganisation
284
- if exceptions_data
285
- columns_exceptions = exceptions_data[:columns] ||= {}
286
- columns_fusion_exceptions = columns_exceptions[:fusion] ||= {}
287
- columns_divided_exceptions = columns_exceptions[:divided] ||= {}
288
- rows_exceptions = exceptions_data[:rows] ||= {}
289
- rows_fusion_exceptions = rows_exceptions[:fusion] ||= {}
290
- rows_divided_exceptions = rows_exceptions[:divided] ||= {}
291
- exceptions = { columns_fusion: columns_fusion_exceptions,
292
- columns_divided: columns_divided_exceptions,
293
- rows_fusion: rows_fusion_exceptions,
294
- rows_divided: rows_divided_exceptions }
295
- # @exceptions = {
296
- # columns_fusion: columns_fusion_exceptions,
297
- # columns_divided: columns_divided_exceptions,
298
- # rows_fusion: rows_fusion_exceptions,
299
- # rows_divided: rows_divided_exceptions,
300
- # }
301
- else
302
- exceptions = {
303
- columns_fusion: {},
304
- columns_divided: {},
305
- rows_fusion: {},
306
- rows_divided: {}
307
- }
308
- # @exceptions = {
309
- # columns_fusion: {},
310
- # columns_divided: {},
311
- # rows_fusion: {},
312
- # rows_divided: {},
313
- # }
314
- end
315
- the_matrix.instance_variable_set('@exceptions', exceptions)
316
-
317
- # let's create the matrix background
318
- # current_matrix = grab(:view).box({ id: matrix_id })
319
- # current_matrix.set(params[:matrix][:particles])
320
-
321
- # cells creation below
322
- number_of_cells = rows * columns
323
- number_of_cells.times do |index|
324
- current_cell = grab(matrix_id).box({ id: "#{matrix_id}_#{index}" })
325
- the_matrix.instance_variable_set('@cell_style', cells_data[:particles])
326
- current_cell.attached([cells_shadow_id])
327
- current_cell.attached([cells_color_id])
328
- apply_style(current_cell, cells_data[:particles])
329
- end
330
- # lets create the columns and rows
331
-
332
- # puts "(#{matrix_id}, #{matrix_width}, #{matrix_height}, #{rows}, #{columns}, #{margin}, #{exceptions})"
333
- the_matrix.format_matrix(matrix_id, matrix_width, matrix_height, rows, columns, margin, exceptions)
334
-
335
- the_matrix
336
- end
337
-
338
287
  def add_columns(nb)
339
288
  prev_nb_of_cells = @columns * @rows
340
289
  nb_of_cells_to_adds = nb * @rows
341
290
  new_nb_of_cells = prev_nb_of_cells + nb_of_cells_to_adds
342
291
  new_nb_of_cells.times do |index|
343
292
  if index < prev_nb_of_cells
344
- grab("#{id.value}_#{index}").delete(true)
345
- # puts index
346
- #
293
+ grab("#{id}_#{index}").delete(true)
347
294
  end
348
295
  current_cell = box({ id: "#{id}_#{index}" })
349
296
  apply_style(current_cell, @cell_style)
350
297
  end
351
298
  @columns += nb
352
- ########## old algo
353
- # nb_of_cells_to_adds = nb * @rows
354
- # prev_nb_of_cells = @columns * @rows
355
- # nb_of_cells_to_adds.times do |index|
356
- # current_cell = self.box({ id: "#{id}_#{prev_nb_of_cells + index}" })
357
- # apply_style(current_cell, @cell_style)
358
- # end
359
- # @columns = @columns + nb
360
299
  format_matrix(id, @matrix_width, @matrix_height, @rows, @columns, @margin, @exceptions)
361
300
  end
362
301
 
@@ -366,35 +305,24 @@ module Matrix
366
305
  new_nb_of_cells = prev_nb_of_cells + nb_of_cells_to_adds
367
306
  new_nb_of_cells.times do |index|
368
307
  if index < prev_nb_of_cells
369
- grab("#{id.value}_#{index}").delete(true)
370
- # puts index
371
- #
308
+ grab("#{id}_#{index}").delete(true)
372
309
  end
373
310
  current_cell = box({ id: "#{id}_#{index}" })
374
311
  apply_style(current_cell, @cell_style)
375
312
  end
376
313
  @rows += nb
377
- ########## old algo
378
- # nb_of_cells_to_adds = nb * @columns
379
- # prev_nb_of_cells = @columns * @rows
380
- # nb_of_cells_to_adds.times do |index|
381
- # current_cell = self.box({ id: "#{id}_#{prev_nb_of_cells + index}" })
382
- # apply_style(current_cell, @cell_style)
383
- # end
384
- # @rows = @rows + nb
385
314
  format_matrix(id, @matrix_width, @matrix_height, @rows, @columns, @margin, @exceptions)
386
315
  end
387
316
 
388
317
  def resize(width, height)
389
318
  @matrix_width = width
390
319
  @matrix_height = height
391
- grab(id.value).width(width)
392
- grab(id.value).height(height)
320
+ grab(id).width(width)
321
+ grab(id).height(height)
393
322
  format_matrix(id, @matrix_width, @matrix_height, @rows, @columns, @margin, @exceptions)
394
323
  end
395
324
 
396
325
  def get_column_or_row(length, num_columns, index, is_column)
397
- # puts "length: #{length}, #{num_columns} : #{num_columns}, index : #{index}, is_column : #{is_column}"
398
326
  # Compute the number of line
399
327
  num_rows = length / num_columns
400
328
  if is_column
@@ -1,136 +1,34 @@
1
1
  # frozen_string_literal: true
2
-
3
2
  new({ atome: :color, type: :hash })
4
3
 
5
4
  new({ sanitizer: :color }) do |params|
6
5
  # TODO : when attaching color to a shadow it should colorized it , cf : c.shadow({color: :blue}) should work
7
- # parent_found = found_parents_and_renderers[:parent]
8
- # if parent_found == [:view]
9
- # parent_found = [:black_matter] if parent_found == [:view]
10
- # elsif color.value
11
- # # we delete any previous color if there's one
12
- # # puts "========= #{@atome[:color]}>We should delete the color now except : #{@atome[:add]} "
13
- # unless @atome[:add] && @atome[:add][:color]
14
- # detached(color.value)
15
- # @atome[:color] = [] # we had the condition because the shadow may exist but
16
- # end
17
- # end
18
-
19
-
20
-
21
-
22
- # puts "---> :: #{@atome[:add]}"
23
- ## we delete any previous shadow if there's one
24
- # if color.value
25
- # puts 'We should delete now'
26
- # attached.value.delete(color.value)
27
- # grab(color.value)&.delete(true) # we had the condition because the color may exist but
28
- # # so it is not sanitized so it has no id
29
- # end
30
- # parent_found = found_parents_and_renderers[:parent]
31
- # parent_found = [:user_view] if parent_found == [:view]
32
- # render_found = found_parents_and_renderers[:renderers]
33
- # generated_id = params[:id] || identity_generator(:color)
34
-
35
- # default_params = { red: 0, green: 0, blue: 0, alpha: 1 }
36
6
  params = create_color_hash(params) unless params.instance_of? Hash
37
- # new_params = default_params.merge!(params)
38
- # atome[:color] = [new_params[:id]]
39
- # test below
40
- # atome[:color] = [:poil]
41
- # puts "==> #{color.value}"
42
- # test above
43
- # new_params
44
- # atome[:color] << :poil
45
- # params={}
46
- #
47
7
  params
48
8
  end
49
9
 
50
- # new({ sanitizer: :color }) do |params|
51
- # parent_found = found_parents_and_renderers[:parent]
52
- # # puts "'''''code_below_is_not_executed'''''"
53
- # if parent_found == [:black_matter]
54
- # alert :stop_get_out_we_are_the_strong_arm_of_the_law
55
- # elsif color.value
56
- # puts ">>> Code_below_is_not_executed : #{self}"
57
- # # we delete any previous color if there's one
58
- # # detached(color.value)
59
- # grab(color.value)&.delete(true) # we had the condition because the color may exist but
60
- # # so it is not sanitized so it has no id
61
- # end
62
- #
63
- # render_found = found_parents_and_renderers[:renderers]
64
- # generated_id = params[:id] || identity_generator(:color)
65
- #
66
- # default_params = { renderers: render_found, id: generated_id, type: :color,
67
- # attach: parent_found,
68
- # red: 0, green: 0, blue: 0, alpha: 1 }
69
- # params = create_color_hash(params) unless params.instance_of? Hash
70
- # new_params = default_params.merge!(params)
71
- # new_params
72
- # end
73
-
74
10
  new({ atome: :image })
75
11
  new({ sanitizer: :image }) do |params|
76
12
  unless params.instance_of? Hash
77
13
  # TODO : we have to convert all image to png or maintain a database with extension
14
+ # FIXME : temporary patch that add .png to the string if no extension is found
15
+ if params.split('.').length == 1
16
+ params = "#{params}.png"
17
+ end
18
+
78
19
  params = { path: "./medias/images/#{params}" }
79
20
  end
80
- # default_renderer = Essentials.default_params[:render_engines]
81
- # generated_id = params[:id] || identity_generator(:image)
82
- #
83
- # generated_render = params[:renderers] || default_renderer
84
- # generated_parents = params[:attach] || id.value
85
- # # TODO : the line below should get the value from default params Essentials
86
- # temp_default = { renderers: generated_render, id: generated_id, type: :image, attach: [generated_parents],
87
- # width: 99, height: 99, path: './medias/images/atome.svg' }
88
- # params = temp_default.merge(params)
21
+ # TODO : the line below should get the value from default params Essentials
89
22
  params
90
23
  end
91
24
  new({ atome: :video })
92
- # new({ sanitizer: :video }) do |params|
93
- # parent_found = found_parents_and_renderers[:parent]
94
- # render_found = found_parents_and_renderers[:renderers]
95
- # generated_id = params[:id] || identity_generator(:video)
96
- #
97
- # default_params = { renderers: render_found, id: generated_id, type: :video,
98
- # attach: parent_found }
99
- # default_params.merge!(params)
100
- # end
25
+
101
26
  new({ atome: :shadow, type: :hash })
102
27
  new({ sanitizer: :shadow }) do |params|
103
28
  # TODO : when attaching color to a shadow it should colorised it , cf : c.shadow({color: :blue}) should work
104
- # puts "############################{params}###{test}###{test2}##################################"
105
29
  params = {} unless params.instance_of? Hash
106
- # parent_found = found_parents_and_renderers[:parent]
107
- # if parent_found == [:view]
108
- # parent_found = [:black_matter] if parent_found == [:view]
109
- # elsif shadow.value
110
- # # we delete any previous color if there's one
111
- # detached(shadow.value)
112
- # grab(shadow.value)&.delete(true) # we had the condition because the shadow may exist but
113
- # end
114
- ## we delete any previous shadow if there's one
115
- # if shadow.value
116
- # attached.value.delete(shadow.value)
117
- # grab(shadow.value)&.delete(true) # we had the condition because the color may exist but
118
- # # so it is not sanitized so it has no id
119
- # end
120
- # parent_found = found_parents_and_renderers[:parent]
121
- # parent_found = [:user_view] if parent_found == [:view]
122
- # render_found = found_parents_and_renderers[:renderers]
123
- # generated_id = params[:id] || identity_generator(:shadow)
124
-
125
- # default_params = { renderers: render_found, id: generated_id, type: :shadow,
126
- # attach: parent_found,
127
- # red: 0, green: 0, blue: 0, alpha: 1, blur: 3, left: 3, top: 3 }
128
-
129
-
130
- default_params = {red: 0, green: 0, blue: 0, alpha: 1, blur: 3, left: 3, top: 3 }
131
-
30
+ default_params = { red: 0, green: 0, blue: 0, alpha: 1, blur: 3, left: 3, top: 3 }
132
31
  new_params = default_params.merge!(params)
133
- # atome[:shadow] = [new_params[:id]]
134
32
  new_params
135
33
  end
136
34
  new({ atome: :shape })
@@ -138,20 +36,11 @@ new({ atome: :code })
138
36
  new({ atome: :audio })
139
37
  new({ atome: :element })
140
38
  new({ sanitizer: :element }) do |params|
141
- # parent_found = found_parents_and_renderers[:parent]
142
- # render_found = []
143
- # generated_id = params[:id] || identity_generator(:element)
144
-
145
39
  default_params = { data: '' }
146
40
  default_params.merge!(params)
147
41
  end
148
42
  new({ atome: :web })
149
43
  new({ sanitizer: :web }) do |params|
150
- # default_renderer = Essentials.default_params[:render_engines]
151
- # generated_id = params[:id] || identity_generator(:web)
152
- #
153
- # generated_render = params[:renderers] || default_renderer
154
- # generated_parents = params[:attach] || id.value
155
44
  # TODO : the line below should get the value from default params Essentials
156
45
  temp_default = { path: 'https://www.youtube.com/embed/usQDazZKWAk' }
157
46
  params = temp_default.merge(params)
@@ -159,23 +48,8 @@ new({ sanitizer: :web }) do |params|
159
48
  end
160
49
  new({ atome: :collector })
161
50
  new({ atome: :animation })
162
- # new({ sanitizer: :animation }) do |params|
163
- # default_renderer = Essentials.default_params[:render_engines]
164
- # atome_type = :animation
165
- # generated_render = params[:renderers] || default_renderer
166
- # generated_id = params[:id] || identity_generator(atome_type)
167
- # generated_parents = params[:attach] || []
168
- # params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
169
- # params
170
- # end
171
51
  new({ atome: :text, type: :hash })
172
52
  new({ sanitizer: :text }) do |params|
173
53
  params = { data: params } unless params.instance_of? Hash
174
- # default_renderer = Essentials.default_params[:render_engines]
175
- # atome_type = :text
176
- # generated_render = params[:renderers] || default_renderer
177
- # generated_id = params[:id] || identity_generator(atome_type)
178
- # generated_parents = params[:attach] || [id.value]
179
- # params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
180
54
  params
181
55
  end
@@ -1,3 +1,2 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # generator = Genesis.generator
@@ -3,9 +3,3 @@
3
3
 
4
4
  new({ particle: :smooth })
5
5
  new({ particle: :blur })
6
-
7
-
8
- # generator = Genesis.generator
9
- #
10
- # generator.build_particle(:smooth)
11
- # generator.build_particle(:blur)