atome 0.5.2.8 → 0.5.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +7 -1
  3. data/app_builder_helpers/Rakefile +2 -2
  4. data/exe/atome +1 -1
  5. data/lib/atome/atome.rb +28 -26
  6. data/lib/atome/extensions/atome.rb +4 -0
  7. data/lib/atome/extensions/matrix.rb +349 -122
  8. data/lib/atome/genesis/generators/atome.rb +5 -1
  9. data/lib/atome/genesis/generators/identity.rb +43 -13
  10. data/lib/atome/genesis/generators/material.rb +20 -5
  11. data/lib/atome/genesis/generators/time.rb +1 -1
  12. data/lib/atome/genesis/generators/utility.rb +26 -2
  13. data/lib/atome/genesis/genesis.rb +12 -4
  14. data/lib/atome/genesis/sparkle.rb +35 -3
  15. data/lib/atome/helpers/essentials.rb +24 -15
  16. data/lib/atome/helpers/utilities.rb +42 -3
  17. data/lib/atome/kernel/batch.rb +48 -0
  18. data/lib/atome/presets/atome.rb +22 -6
  19. data/lib/atome/renderers/browser/atome.rb +1 -3
  20. data/lib/atome/renderers/browser/browser.rb +14 -1
  21. data/lib/atome/renderers/browser/geometry.rb +10 -2
  22. data/lib/atome/renderers/browser/helpers/video_helper.rb +1 -1
  23. data/lib/atome/renderers/browser/helpers/web_helper.rb +1 -5
  24. data/lib/atome/renderers/browser/identity.rb +7 -11
  25. data/lib/atome/renderers/browser/material.rb +10 -0
  26. data/lib/atome/renderers/html/atome.rb +2 -0
  27. data/lib/atome/renderers/renderer.rb +3 -2
  28. data/lib/atome/version.rb +1 -1
  29. data/lib/atome.rb +2 -1
  30. data/sig/atome.rbs +14 -0
  31. data/vendor/assets/Rakefile +1 -1
  32. data/vendor/assets/src/css/style.css +6 -6
  33. data/vendor/assets/src/medias/rubies/examples/_2_solve.rb +41 -27
  34. data/vendor/assets/src/medias/rubies/examples/_attach.rb +12 -0
  35. data/vendor/assets/src/medias/rubies/examples/_audio.rb +81 -28
  36. data/vendor/assets/src/medias/rubies/examples/_dataset.rb +191 -111
  37. data/vendor/assets/src/medias/rubies/examples/clone.rb +4 -4
  38. data/vendor/assets/src/medias/rubies/examples/delete.rb +2 -2
  39. data/vendor/assets/src/medias/rubies/examples/drag.rb +2 -1
  40. data/vendor/assets/src/medias/rubies/examples/table.rb +479 -0
  41. data/vendor/assets/src/medias/rubies/examples/to_px.rb +10 -0
  42. metadata +7 -4
  43. data/vendor/assets/src/medias/rubies/examples/attach.rb +0 -12
@@ -11,6 +11,25 @@ end
11
11
  generator.build_particle(:broadcast)
12
12
  generator.build_particle(:additional)
13
13
  generator.build_particle(:data)
14
+ # generator.build_particle(:delete) do |params|
15
+ # if params == true
16
+ # # the machine delete the current atome
17
+ # Universe.delete(@atome[:id])
18
+ # elsif params[:id]
19
+ # # the machine try to an atome by it's ID and delete it
20
+ # grab(params[:id]).delete(true)
21
+ # elsif instance_of? Hash
22
+ # # the machine try to find the sub particle id and remove it eg a.delete(monitor: :my_monitor) remove the monitor
23
+ # # with id my_monitor
24
+ # params.each do |param, value|
25
+ # atome[param][value] = nil
26
+ # end
27
+ # else
28
+ # # the machine try to reset the current particle(params), eg a.delete(:left) => left: 0
29
+ # send(params,0)
30
+ # end
31
+ # end
32
+
14
33
  generator.build_particle(:delete) do |params|
15
34
  if params == true
16
35
  # the machine delete the current atome
@@ -18,17 +37,18 @@ generator.build_particle(:delete) do |params|
18
37
  elsif params[:id]
19
38
  # the machine try to an atome by it's ID and delete it
20
39
  grab(params[:id]).delete(true)
21
- elsif instance_of? Hash
40
+ elsif params.instance_of? Hash
22
41
  # the machine try to find the sub particle id and remove it eg a.delete(monitor: :my_monitor) remove the monitor
23
42
  # with id my_monitor
24
43
  params.each do |param, value|
25
44
  atome[param][value] = nil
26
45
  end
27
46
  else
28
- # the machine try to reset the current particle(params), eg a.delete(:left) => left: 0
47
+ # # the machine try to reset the current particle(params), eg a.delete(:left) => left: 0
29
48
  send(params,0)
30
49
  end
31
50
  end
51
+
32
52
  generator.build_particle(:clear)
33
53
  generator.build_particle(:path)
34
54
  generator.build_particle(:schedule) do |date, proc|
@@ -47,3 +67,7 @@ end
47
67
 
48
68
  generator.build_particle(:cursor)
49
69
 
70
+ generator.build_particle(:preset)
71
+
72
+ generator.build_particle(:relations, { type: :hash })
73
+
@@ -11,14 +11,22 @@ end
11
11
 
12
12
  # Genesis method here
13
13
  class Atome
14
- def build_particle(particle_name,type=:string, &particle_proc)
14
+ def build_particle(particle_name,options={},&particle_proc)
15
+ type = options[:type]
16
+ type = :string if options[:type].nil?
17
+ store = options[:store]
18
+ store = true if options[:store].nil?
19
+ render = options[:render]
20
+ render = true if options[:render].nil?
21
+
15
22
  # we add the new method to the particle's collection of methods
16
23
  Universe.add_to_particle_list(particle_name, type)
17
- auto_render_generator(particle_name)
18
- new_particle(particle_name, &particle_proc)
19
- additional_particle_methods(particle_name, &particle_proc)
24
+ auto_render_generator(particle_name) if render # automatise the creation of an empty render method for current particle
25
+ new_particle(particle_name,store,render , &particle_proc)
26
+ additional_particle_methods(particle_name, store,render ,&particle_proc) # create alternative methods such as create 'method='
20
27
  end
21
28
 
29
+
22
30
  def build_atome(atome_name, &atome_proc)
23
31
  # we add the new method to the atome's collection of methods
24
32
  Universe.add_to_atome_list(atome_name)
@@ -35,11 +35,43 @@ Atome.new(
35
35
  parents: [:eDen], children: [] } }
36
36
  )
37
37
 
38
+ # color creation
39
+ Atome.new(
40
+ { color: { renderers: default_render, id: :view_color, type: :color,
41
+ red: 0.15, green: 0.15, blue: 0.15, alpha: 1 } }
42
+ )
43
+
44
+ Atome.new(
45
+ { color: { renderers: default_render, id: :shape_color, type: :color,
46
+ red: 0.4, green: 0.4, blue: 0.4, alpha: 1 } }
47
+ )
48
+
49
+ Atome.new(
50
+ { color: { renderers: default_render, id: :box_color, type: :color,
51
+ red: 0.5, green: 0.5, blue: 0.5, alpha: 1 } }
52
+ )
53
+
54
+ Atome.new(
55
+ { color: { renderers: default_render, id: :text_color, type: :color,
56
+ red: 0.3, green: 0.3, blue: 0.3, alpha: 1 } }
57
+ )
58
+
59
+ Atome.new(
60
+ { color: { renderers: default_render, id: :circle_color, type: :color,
61
+ red: 0.6, green: 0.6, blue: 0.6, alpha: 1 } }
62
+ )
63
+
64
+ Atome.new(
65
+ { color: { renderers: default_render, id: :matrix_color, type: :color,
66
+ left: 0, top: 0, red: 0.7, green: 0.7, blue: 0.7, alpha: 1, diffusion: :linear } }
67
+ )
68
+
69
+ # view creation
38
70
  Atome.new(
39
71
  { shape: { renderers: default_render, id: :view, type: :shape, parents: [:user_view], children: [],
40
- left: 0, right: 0, top: 0, bottom: 0, overflow: :auto,
41
- color: { renderers: default_render, id: :view_color, type: :color, attach: [:view],
42
- red: 0.15, green: 0.15, blue: 0.15, alpha: 1 } } }
72
+ attached: [:view_color], left: 0, right: 0, top: 0, bottom: 0, width: :auto, height: :auto, overflow: :auto
73
+ }
74
+ }
43
75
  )
44
76
 
45
77
  # init basic object for atome environment
@@ -4,22 +4,31 @@
4
4
  module Essentials
5
5
  @default_params = {
6
6
  render_engines: [:browser],
7
- animation: { type: :animation },
8
- element: { type: :element, renderers: [] },
9
- box: { renderers: '', id: '', type: :shape, parents: [], children: [], width: 99, height: 99,
10
- color: { left: 0, top: 0, red: 0.1, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
11
- left: 100, top: 100 },
12
- circle: { renderers: '', id: '', type: :shape, parents: [], children: [], width: 99, height: 99,
13
- color: { left: 0, top: 0, red: 0.1, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
14
- left: 100, top: 100, smooth: '100%' },
15
- shape: { renderers: '', id: '', width: 100, type: :shape, height: 100, left: 100, top: 100,
16
- color: { left: 0, top: 0, red: 0.1, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
17
- generator: :manual },
18
- text: { renderers: '', id: '',type: :text, parents: [:view], children: [], visual: { size: 25 },
19
- color: { left: 0, top: 0, red: 0.3, green: 0.3, blue: 0.3, alpha: 1, diffusion: :linear },
20
- data: 'this is a text sample', width: 199, height: 33 },
7
+ animation: { type: :animation, children: [] },
8
+ element: { type: :element, renderers: [], children: [] },
9
+ matrix: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99,
10
+ attached: [:matrix_color], children: [],
11
+ # color: { left: 0, top: 0, red: 0.1, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
12
+ left: 100, top: 100, clones: [], preset: :matrix },
13
+ box: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99,
14
+ attached: [:box_color], children: [],
15
+ # color: { left: 0, top: 0, red: 1, green: 0.3, blue: 0.3, alpha: 1, diffusion: :linear },
16
+ left: 100, top: 100, clones: [], preset: :box },
17
+ circle: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99, smooth: '100%',
18
+ # color: { left: 0, top: 0, red: 0.3, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
19
+ attached: [:circle_color], children: [],
20
+ left: 100, top: 100, clones: [], preset: :circle },
21
+ shape: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99,
22
+ attached: [:view_color], children: [],
23
+ # color: { left: 0, top: 0, red: 0.6, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
24
+ left: 100, top: 100, clones: [] },
25
+ text: { renderers: [], id: '', type: :text, parents: [:view], visual: { size: 25 },
26
+ attached: [:text_color], children: [],
27
+ # color: { left: 0, top: 0, red: 0.3, green: 0.3, blue: 0.3, alpha: 1, diffusion: :linear },
28
+ data: 'this is a text sample', width: 199, height: 33, clones: [] },
21
29
  drm: { type: :drm },
22
- shadow: {}
30
+ shadow: {},
31
+ color: {}
23
32
  }
24
33
 
25
34
  def self.default_params
@@ -28,11 +28,12 @@ class Atome
28
28
  "historize : #{property} #{value}"
29
29
  end
30
30
 
31
- def broadcasting(altered_particle, value)
31
+ def broadcasting(element)
32
+ params=instance_variable_get("@#{element}")
32
33
  @broadcast.each_value do |particle_monitored|
33
- if particle_monitored[:particles].include?(altered_particle)
34
+ if particle_monitored[:particles].include?(element)
34
35
  code_found=particle_monitored[:code]
35
- instance_exec(self, altered_particle, value, &code_found) if code_found.is_a?(Proc)
36
+ instance_exec(self, element, params, &code_found) if code_found.is_a?(Proc)
36
37
  end
37
38
  end
38
39
  end
@@ -100,4 +101,42 @@ class Atome
100
101
  def refresh
101
102
  collapse
102
103
  end
104
+
105
+ def collector(params = {}, &bloc)
106
+ atome_type = :collector
107
+ generated_render = params[:renderers] || []
108
+ generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
109
+ generated_parents = params[:parents] || [id.value]
110
+ generated_children = params[:children] || []
111
+ params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
112
+ Batch.new({ atome_type => params }, &bloc)
113
+ end
114
+
115
+ def each(&proc)
116
+ value.each do |val|
117
+ instance_exec(val, &proc) if proc.is_a?(Proc)
118
+ end
119
+ end
120
+
121
+ def [](range)
122
+ if value[range].class == Atome
123
+ return value[range]
124
+ elsif value[range].class == Array
125
+ collector_object = Object.collector({})
126
+ collected_atomes = []
127
+ value[range].each do |atome_found|
128
+ collected_atomes << atome_found
129
+ end
130
+ collector_object.data(collected_atomes)
131
+
132
+ return collector_object
133
+ end
134
+
135
+ end
136
+
137
+ def set(params)
138
+ params.each do |particle, value|
139
+ send(particle, value)
140
+ end
141
+ end
103
142
  end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Batch
4
+
5
+ def each(&proc)
6
+ value.each do |val|
7
+ instance_exec(val, &proc) if proc.is_a?(Proc)
8
+ end
9
+ end
10
+
11
+ def id(val = nil)
12
+ if val
13
+ @id = val
14
+ else
15
+ @id
16
+ end
17
+ end
18
+
19
+ def initialize(params)
20
+ @id = params[:id] || "batch_#{Universe.atomes.length}"
21
+ Universe.add_to_atomes(@id, self)
22
+ end
23
+
24
+ def dispatch (method, *args, &block)
25
+ @data.each do |atome_found|
26
+ atome_found.send(method, *args, &block)
27
+ end
28
+ end
29
+
30
+ # TODO: automatise collector methods creation when creato,g a new atome type
31
+ def color(args, &block)
32
+
33
+ dispatch(:color, args, &block)
34
+ end
35
+
36
+ def shadow(args, &block)
37
+ dispatch(:color, args, &block)
38
+ end
39
+
40
+ def method_missing(method, *args, &block)
41
+ dispatch(method, args, &block)
42
+ end
43
+
44
+ def data(collection)
45
+ @data = collection
46
+ end
47
+
48
+ end
@@ -7,22 +7,34 @@
7
7
 
8
8
  # shaper creation
9
9
  class Atome
10
- def atome_common(atome_type, generated_id, generated_render, generated_parents, params)
10
+ def atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
11
11
  temp_default = Essentials.default_params[atome_type] || {}
12
12
  temp_default[:id] = generated_id
13
13
  temp_default[:parents] = generated_parents
14
14
  temp_default[:clones] = []
15
15
  temp_default[:renderers] = generated_render
16
+ temp_default[:children] = generated_children.concat(temp_default[:children])
16
17
  temp_default.merge(params)
17
18
  end
18
19
 
20
+
19
21
  def box(params = {}, &bloc)
20
22
  default_renderer = Essentials.default_params[:render_engines]
21
23
  atome_type = :box
22
24
  generated_render = params[:renderers] || default_renderer
23
25
  generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
24
26
  generated_parents = params[:parents] || [id.value]
25
- params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
27
+ generated_children = params[:children] || []
28
+
29
+ params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
30
+
31
+ # params2 = { renderers: [:browser], id: generated_id, type: :shape, parents: [generated_parents], children: [],
32
+ # width: 99, height: 99,
33
+ # color: { renderers: [:browser], id: "#{params[:id]}_color", type: :color, attach: [params[:id]],
34
+ # red: 0.15, green: 0.30, blue: 0.6, alpha: 1 },
35
+ # left: 100, top: 100, clones: [], preset: :box
36
+ # }
37
+ # params[:children]=[]
26
38
  Atome.new({ atome_type => params }, &bloc)
27
39
  end
28
40
 
@@ -32,7 +44,8 @@ class Atome
32
44
  generated_render = params[:renderers] || default_renderer
33
45
  generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
34
46
  generated_parents = params[:parents] || [id.value]
35
- params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
47
+ generated_children = params[:children] || []
48
+ params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
36
49
  Atome.new({ atome_type => params }, &bloc)
37
50
  end
38
51
 
@@ -54,7 +67,8 @@ class Atome
54
67
  generated_render = params[:renderers] || default_renderer
55
68
  generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
56
69
  generated_parents = params[:parents] || [id.value]
57
- params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
70
+ generated_children = params[:children] || []
71
+ params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
58
72
  Atome.new({ atome_type => params }, &bloc)
59
73
  end
60
74
 
@@ -63,7 +77,8 @@ class Atome
63
77
  generated_render = params[:renderers] || []
64
78
  generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
65
79
  generated_parents = params[:parents] || [id.value]
66
- params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
80
+ generated_children = params[:children] || []
81
+ params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
67
82
  Atome.new({ atome_type => params }, &bloc)
68
83
  end
69
84
 
@@ -86,7 +101,8 @@ class Atome
86
101
  generated_render = params[:renderers] || default_renderer
87
102
  generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
88
103
  generated_parents = params[:parents] || []
89
- params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
104
+ generated_children = params[:children] || []
105
+ params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
90
106
  Atome.new({ atome_type => params }, &bloc)
91
107
  end
92
108
  end
@@ -6,8 +6,6 @@ DOM = :nil
6
6
 
7
7
  def parents(_val) end
8
8
 
9
- # end dummy code
10
-
11
9
  generator = Genesis.generator
12
10
 
13
11
  generator.build_render(:browser_shape) do
@@ -77,7 +75,7 @@ generator.build_render(:browser_text) do |_value, _user_proc|
77
75
  end
78
76
 
79
77
  generator.build_render(:browser_web) do
80
- @browser_type = :web
78
+ @browser_type = :div
81
79
  id_found = @atome[:id]
82
80
  DOM do
83
81
  iframe({ id: id_found }).atome
@@ -23,7 +23,20 @@ require 'atome/renderers/browser/helpers/video_helper'
23
23
  require 'atome/renderers/browser/helpers/web_helper'
24
24
 
25
25
  class Atome
26
- attr_accessor 'browser_object'
26
+ attr_accessor :browser_object
27
+
28
+ def to_px
29
+ id_found = real_atome[:id]
30
+ property_found=property
31
+ value_get = ''
32
+ `
33
+ div = document.getElementById(#{id_found});
34
+ var style = window.getComputedStyle(div);
35
+ var original_value = style.getPropertyValue(#{property_found});
36
+ #{value_get}= parseInt(original_value);
37
+ `
38
+ value_get
39
+ end
27
40
  end
28
41
 
29
42
  def atome_js
@@ -3,9 +3,17 @@
3
3
  generator = Genesis.generator
4
4
 
5
5
  generator.build_render(:browser_width) do |value|
6
- @browser_object.style[:width] = "#{value}px"
6
+ @browser_object.style[:width] = if value.instance_of? String
7
+ value
8
+ else
9
+ "#{value}px"
10
+ end
7
11
  end
8
12
 
9
13
  generator.build_render(:browser_height) do |value|
10
- @browser_object.style[:height] = "#{value}px"
14
+ @browser_object.style[:height] = if value.instance_of? String
15
+ value
16
+ else
17
+ "#{value}px"
18
+ end
11
19
  end
@@ -24,7 +24,7 @@ module BrowserHelper
24
24
  end
25
25
 
26
26
  def self.browser_play_video(_value, browser_object_found, atome_hash, atome_object, proc)
27
- markers = atome_hash[:markers]
27
+ markers = atome_hash[:markers] ||= {}
28
28
  markers.each_value do |value|
29
29
  value[:end] = value[:begin] + 0.25 unless value[:end]
30
30
  value[:label] = "label_#{atome_hash[:markers].length}" unless value[:label]
@@ -23,8 +23,4 @@ module BrowserHelper
23
23
  browser_object[:src] = value
24
24
  end
25
25
 
26
- def self.browser_attach_web(parents, html_object, _atome)
27
- html_object.append_to(browser_document[parents])
28
- end
29
-
30
- end
26
+ end
@@ -3,6 +3,11 @@
3
3
  generator = Genesis.generator
4
4
 
5
5
  generator.build_render(:browser_id) do |params|
6
+ if @browser_type == :style
7
+ prev_content = @browser_object.inner_html
8
+ new_content = prev_content.sub(@browser_object.id, params)
9
+ @browser_object.inner_html = new_content
10
+ end
6
11
  browser_object.id = params if @atome[:id] != params
7
12
  end
8
13
 
@@ -10,17 +15,8 @@ generator.build_render(:browser_type) do |params|
10
15
  send("browser_#{params}", user_proc)
11
16
  end
12
17
 
13
- generator.build_render(:browser_parents) do |parents_found|
14
- parents_found.each do |parent_found|
15
- BrowserHelper.send("browser_attach_#{@browser_type}", parent_found, @browser_object, @atome)
16
- end
17
- end
18
-
19
- generator.build_option(:pre_render_children) do |children_pass|
20
- children_pass.each do |child_found|
21
- atome_found = grab(child_found)
22
- atome_found.parents([@atome[:id]])
23
- end
18
+ generator.build_render(:browser_family) do |parents_found|
19
+ BrowserHelper.send("browser_attach_#{@browser_type}", parents_found, @browser_object, @atome)
24
20
  end
25
21
 
26
22
  generator.build_render(:browser_attach) do |parents_found|
@@ -9,15 +9,21 @@ generator.build_render(:red) do |value|
9
9
  alpha = @atome[:alpha]
10
10
  color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
11
11
  BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
12
+ # we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
13
+ self
12
14
  end
13
15
 
14
16
  generator.build_render(:green) do |value|
17
+ # we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
18
+ self
15
19
  red = @atome[:red] * 255
16
20
  green = (@atome[:green] = value) * 255
17
21
  blue = @atome[:blue] * 255
18
22
  alpha = @atome[:alpha]
19
23
  color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
20
24
  BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
25
+ # we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
26
+ self
21
27
  end
22
28
 
23
29
  generator.build_render(:blue) do |value|
@@ -27,6 +33,8 @@ generator.build_render(:blue) do |value|
27
33
  alpha = @atome[:alpha]
28
34
  color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
29
35
  BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
36
+ # we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
37
+ self
30
38
  end
31
39
 
32
40
  generator.build_render(:alpha) do |value|
@@ -36,6 +44,8 @@ generator.build_render(:alpha) do |value|
36
44
  alpha = (@atome[:alpha] = value)
37
45
  color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
38
46
  BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
47
+ # we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
48
+ self
39
49
  end
40
50
 
41
51
  generator.build_render(:visual) do |value|
@@ -11,6 +11,8 @@ generator.build_render(:html_shape) do
11
11
  @html_object.attr('id', id_found)
12
12
  end
13
13
 
14
+ generator.build_render(:html_element)
15
+
14
16
  generator.build_render(:html_color) do |_value|
15
17
  # we remove previous unused style tag
16
18
  opal_document[id]&.remove
@@ -4,10 +4,11 @@
4
4
  class Atome
5
5
  private
6
6
 
7
- def rendering(element_to_render, content, &user_proc)
7
+ def rendering(element, &user_proc)
8
+ params=instance_variable_get("@#{element}")
8
9
  render_engines = @atome[:renderers]
9
10
  render_engines.each do |render_engine|
10
- send("#{render_engine}_#{element_to_render}", content, &user_proc)
11
+ send("#{render_engine}_#{element}", params, &user_proc)
11
12
  end
12
13
  end
13
14
  end
data/lib/atome/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Atome
4
- VERSION = '0.5.2.8'
4
+ VERSION = '0.5.3.2'
5
5
  end
data/lib/atome.rb CHANGED
@@ -5,12 +5,12 @@ require 'atome/version'
5
5
  require 'atome/genesis/genesis'
6
6
  require 'atome/kernel/essentials'
7
7
  require 'atome/kernel/universe'
8
+ require 'atome/kernel/batch'
8
9
  require 'atome/helpers/essentials'
9
10
  require 'atome/renderers/renderer'
10
11
  require 'atome/helpers/color_helper/color'
11
12
  require 'atome/extensions/atome'
12
13
  require 'atome/atome'
13
- require 'atome/helpers/utilities'
14
14
  require 'atome/helpers/callbacks'
15
15
  require 'atome/genesis/generators/atome'
16
16
  require 'atome/presets/atome'
@@ -23,6 +23,7 @@ require 'atome/genesis/generators/material'
23
23
  require 'atome/genesis/generators/spatial'
24
24
  require 'atome/genesis/generators/time'
25
25
  require 'atome/genesis/generators/utility'
26
+ require 'atome/helpers/utilities'
26
27
  if RUBY_ENGINE.downcase == 'opal'
27
28
  require 'atome/renderers/browser/browser'
28
29
  require 'atome/renderers/html/html'
data/sig/atome.rbs CHANGED
@@ -7,5 +7,19 @@ module Atome
7
7
 
8
8
  def add_to_hash: -> untyped
9
9
 
10
+ def apply_style: -> untyped
11
+
12
+ def format_matrix: -> untyped
13
+
14
+ def get_column: -> untyped
15
+
16
+ def get_column_or_row: -> untyped
17
+
18
+ def get_row: -> untyped
19
+
20
+ def matrix: -> untyped
21
+
22
+ def set: -> untyped
23
+
10
24
  def sort_callback: -> untyped
11
25
  end
@@ -1,3 +1,3 @@
1
1
  task :build do
2
- `atome build;open build/index.html`
2
+ `atome build;open src/index.html`
3
3
  end
@@ -19,14 +19,14 @@ html, body {
19
19
 
20
20
 
21
21
  #view {
22
- left: 0;
22
+ left: 0px;
23
23
  font-size: 25px;
24
- right: 0;
25
- top: 0;
26
- bottom: 0;
27
- width: 100%;
24
+ right: 0px;
25
+ top: 0px;
26
+ bottom: 0px;
27
+ width: auto;
28
28
  display: block;
29
- height: 100%;
29
+ height: auto;
30
30
  overflow: hidden;
31
31
  position: absolute;
32
32
  -webkit-overflow-scrolling: touch;