atome 0.5.1.1 → 0.5.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +9 -5
- data/app_builder_helpers/Rakefile +1 -1
- data/exe/atome +1 -1
- data/lib/atome/{atome_meta_engine.rb → atome.rb} +20 -22
- data/lib/atome/extensions/atome.rb +2 -2
- data/lib/atome/genesis/generators/atome.rb +25 -0
- data/lib/atome/genesis/generators/event.rb +16 -0
- data/lib/atome/genesis/generators/identity.rb +14 -2
- data/lib/atome/genesis/generators/spatial.rb +1 -0
- data/lib/atome/genesis/generators/utility.rb +18 -1
- data/lib/atome/genesis/genesis.rb +4 -9
- data/lib/atome/helpers/callbacks.rb +80 -0
- data/lib/atome/helpers/essentials.rb +6 -4
- data/lib/atome/helpers/sanitizer.rb +1 -20
- data/lib/atome/helpers/utilities.rb +8 -11
- data/lib/atome/kernel/essentials.rb +0 -7
- data/lib/atome/kernel/universe.rb +27 -10
- data/lib/atome/presets/atome.rb +27 -5
- data/lib/atome/renderers/browser/atome.rb +22 -20
- data/lib/atome/renderers/browser/browser.rb +12 -143
- data/lib/atome/renderers/browser/event.rb +56 -1
- data/lib/atome/renderers/browser/helpers/animation_helper.rb +0 -0
- data/lib/atome/renderers/browser/helpers/browser_helper.rb +18 -0
- data/lib/atome/renderers/browser/helpers/color_helper.rb +35 -0
- data/lib/atome/renderers/browser/helpers/drag_helper.rb +39 -0
- data/lib/atome/renderers/browser/helpers/effect_helper.rb +22 -0
- data/lib/atome/renderers/browser/helpers/image_helper.rb +27 -0
- data/lib/atome/renderers/browser/helpers/shadow_helper.rb +33 -0
- data/lib/atome/renderers/browser/helpers/shape_helper.rb +22 -0
- data/lib/atome/renderers/browser/helpers/text_helper.rb +26 -0
- data/lib/atome/renderers/browser/helpers/video_helper.rb +43 -0
- data/lib/atome/renderers/browser/helpers/web_helper.rb +30 -0
- data/lib/atome/renderers/browser/identity.rb +5 -1
- data/lib/atome/renderers/browser/spatial.rb +4 -3
- data/lib/atome/renderers/browser/utility.rb +18 -5
- data/lib/atome/renderers/headless/headless.rb +10 -0
- data/lib/atome/renderers/headless/utility.rb +6 -0
- data/lib/atome/renderers/html/html.rb +1 -1
- data/lib/atome/renderers/html/spatial.rb +1 -1
- data/lib/atome/renderers/html/utility.rb +2 -0
- data/lib/atome/renderers/renderer.rb +13 -0
- data/lib/atome/renderers/server/server.rb +10 -0
- data/lib/atome/renderers/server/utility.rb +6 -0
- data/lib/atome/version.rb +1 -1
- data/lib/atome.rb +5 -2
- data/sig/atome.rbs +1 -0
- data/vendor/assets/build/css/style.css +2 -1
- data/vendor/assets/build/index.html +9 -6
- data/vendor/assets/build/js/atome/atome.js +150 -72
- data/vendor/assets/build/js/atome/atome_helpers/atome_animate.js +65 -0
- data/vendor/assets/build/js/atome/atome_helpers/atome_drag.js +85 -0
- data/vendor/assets/build/js/atome/atome_helpers/atome_file.js +7 -0
- data/vendor/assets/build/js/atome/atome_helpers/atome_sort.js +20 -0
- data/vendor/assets/build/js/atome/atome_helpers/atome_time.js +10 -0
- data/vendor/assets/build/js/atome/atome_helpers/atome_video.js +12 -0
- data/vendor/assets/build/js/third_parties/popmotion.min.js +1 -1
- data/vendor/assets/build/js/third_parties/sortable.min.js +2 -0
- data/vendor/assets/build/medias/rubies/examples/_2_solve.rb +36 -0
- data/vendor/assets/build/medias/rubies/examples/_animation.rb +46 -0
- data/vendor/assets/build/medias/rubies/examples/at.rb +17 -0
- data/vendor/assets/build/medias/rubies/examples/bottom.rb +1 -1
- data/vendor/assets/build/medias/rubies/examples/box.rb +4 -7
- data/vendor/assets/build/medias/rubies/examples/code.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/drag.rb +27 -33
- data/vendor/assets/build/medias/rubies/examples/fullscreen.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/height.rb +5 -2
- data/vendor/assets/build/medias/rubies/examples/{_id.rb → id.rb} +0 -0
- data/vendor/assets/build/medias/rubies/examples/left.rb +5 -2
- data/vendor/assets/build/medias/rubies/examples/link.rb +20 -0
- data/vendor/assets/build/medias/rubies/examples/monitoring.rb +14 -1
- data/vendor/assets/build/medias/rubies/examples/mute.rb +22 -0
- data/vendor/assets/build/medias/rubies/examples/on.rb +26 -0
- data/vendor/assets/build/medias/rubies/examples/{parent.rb → parents.rb} +6 -6
- data/vendor/assets/build/medias/rubies/examples/pause.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/play.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/{_read.rb → read.rb} +4 -2
- data/vendor/assets/build/medias/rubies/examples/refresh.rb +8 -0
- data/vendor/assets/build/medias/rubies/examples/right.rb +1 -1
- data/vendor/assets/build/medias/rubies/examples/rotate.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/schedule.rb +7 -6
- data/vendor/assets/build/medias/rubies/examples/smooth.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/sort.rb +16 -0
- data/vendor/assets/build/medias/rubies/examples/time.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/top.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/touch.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/video.rb +32 -23
- data/vendor/assets/build/medias/rubies/examples/wait.rb +8 -3
- data/vendor/assets/build/medias/rubies/examples/web.rb +7 -4
- data/vendor/assets/build/medias/rubies/examples/width.rb +6 -2
- data/vendor/assets/build/medias/videos/avengers.mp4 +0 -0
- data/vendor/assets/build/medias/videos/madmax.mp4 +0 -0
- data/vendor/assets/build/medias/videos/starwars.mov +0 -0
- data/vendor/assets/build/medias/videos/superman.mp4 +0 -0
- metadata +46 -11
- data/lib/atome/processors/utilities.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/_code.rb +0 -12
- data/vendor/assets/build/medias/rubies/examples/_link.rb +0 -17
- data/vendor/assets/build/medias/rubies/examples/_on.rb +0 -18
- data/vendor/assets/build/medias/rubies/examples/_refresh.rb +0 -9
@@ -17,8 +17,6 @@ generator.build_render_method(:browser_shape) do
|
|
17
17
|
div(id: id_found).atome
|
18
18
|
end.append_to(BrowserHelper.browser_document[:user_view])
|
19
19
|
@browser_object = BrowserHelper.browser_document[id_found]
|
20
|
-
# Render particles below
|
21
|
-
a_render
|
22
20
|
end
|
23
21
|
|
24
22
|
generator.build_render_method(:browser_color) do |_value|
|
@@ -36,9 +34,6 @@ generator.build_render_method(:browser_color) do |_value|
|
|
36
34
|
#{green_found * 255},#{blue_found * 255},#{alpha_found})}</style>")
|
37
35
|
# TODO/ use the code below to modify the style tag
|
38
36
|
@browser_object = BrowserHelper.browser_document[id_found]
|
39
|
-
# now we just have to attach the color atome
|
40
|
-
parents(@atome[:parents])
|
41
|
-
children(@atome[:children])
|
42
37
|
end
|
43
38
|
|
44
39
|
generator.build_render_method(:browser_shadow) do |_value|
|
@@ -65,31 +60,38 @@ end
|
|
65
60
|
|
66
61
|
generator.build_render_method(:browser_image) do |_user_prc|
|
67
62
|
@browser_type = :div
|
68
|
-
id_found = id
|
63
|
+
id_found = @atome[:id]
|
69
64
|
DOM do
|
70
65
|
img({ id: id_found }).atome
|
71
66
|
end.append_to(BrowserHelper.browser_document[:user_view])
|
72
67
|
@browser_object = BrowserHelper.browser_document[id_found]
|
73
|
-
# Render particles below
|
74
|
-
a_render
|
75
|
-
end
|
76
|
-
|
77
|
-
generator.build_render_method(:browser_video) do |_value, _user_proc|
|
78
|
-
# @browser_type = :div
|
79
|
-
# id_found = id
|
80
|
-
# DOM do
|
81
|
-
# video({ id: id_found, autoplay: true, loop: false, muted: true }).atome
|
82
|
-
# end.append_to(BrowserHelper.browser_document[:user_view])
|
83
|
-
# @browser_object = BrowserHelper.browser_document[id_found]
|
84
68
|
end
|
85
69
|
|
86
70
|
generator.build_render_method(:browser_text) do |_value, _user_proc|
|
87
|
-
id_found = id
|
71
|
+
id_found = @atome[:id]
|
88
72
|
DOM do
|
89
73
|
div(id: id_found).atome.text
|
90
74
|
end.append_to(BrowserHelper.browser_document[:user_view])
|
91
75
|
@browser_object = BrowserHelper.browser_document[id_found]
|
92
76
|
@browser_type = :div
|
93
|
-
# Render particles below
|
94
|
-
a_render
|
95
77
|
end
|
78
|
+
|
79
|
+
generator.build_render_method(:browser_web) do
|
80
|
+
@browser_type = :web
|
81
|
+
id_found = @atome[:id]
|
82
|
+
DOM do
|
83
|
+
iframe({ id: id_found }).atome
|
84
|
+
end.append_to(BrowserHelper.browser_document[:user_view])
|
85
|
+
@browser_object = BrowserHelper.browser_document[id_found]
|
86
|
+
@browser_object.attributes[:allow] = 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture'
|
87
|
+
@browser_object.attributes[:allowfullscreen] = true
|
88
|
+
end
|
89
|
+
|
90
|
+
generator.build_render_method(:browser_video) do |_value, _user_proc|
|
91
|
+
@browser_type = :div
|
92
|
+
id_found = @atome[:id]
|
93
|
+
DOM do
|
94
|
+
video({ id: id_found, autoplay: false, loop: false, muted: false }).atome
|
95
|
+
end.append_to(BrowserHelper.browser_document[:user_view])
|
96
|
+
@browser_object = BrowserHelper.browser_document[id_found]
|
97
|
+
end
|
@@ -8,151 +8,20 @@ require 'atome/renderers/browser/material'
|
|
8
8
|
require 'atome/renderers/browser/spatial'
|
9
9
|
require 'atome/renderers/browser/atome'
|
10
10
|
require 'atome/renderers/browser/utility'
|
11
|
+
require 'atome/renderers/browser/helpers/browser_helper'
|
12
|
+
require 'atome/renderers/browser/helpers/animation_helper'
|
13
|
+
require 'atome/renderers/browser/helpers/color_helper'
|
14
|
+
require 'atome/renderers/browser/helpers/drag_helper'
|
15
|
+
require 'atome/renderers/browser/helpers/effect_helper'
|
16
|
+
require 'atome/renderers/browser/helpers/image_helper'
|
17
|
+
require 'atome/renderers/browser/helpers/shadow_helper'
|
18
|
+
require 'atome/renderers/browser/helpers/shape_helper'
|
19
|
+
require 'atome/renderers/browser/helpers/text_helper'
|
20
|
+
require 'atome/renderers/browser/helpers/video_helper'
|
21
|
+
require 'atome/renderers/browser/helpers/web_helper'
|
11
22
|
|
12
23
|
class Atome
|
13
24
|
attr_accessor :browser_object
|
14
25
|
end
|
15
26
|
|
16
|
-
|
17
|
-
class BrowserHelper
|
18
|
-
def self.browser_document
|
19
|
-
# Work because of the patched versioo of opal-browser(0.39)
|
20
|
-
Browser.window
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.browser_attach_div(parents, html_object, _atome)
|
24
|
-
html_object.append_to(browser_document[parents])
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.browser_attach_style(parents, _html_object, atome)
|
28
|
-
browser_document[parents].add_class(atome[:id])
|
29
|
-
end
|
30
|
-
|
31
|
-
def self.browser_blur_style(_browser_object, value, atome)
|
32
|
-
b_left = "#{atome[:left]}px"
|
33
|
-
b_top = "#{atome[:top]}px"
|
34
|
-
b_blur = "#{atome[:blur] = value}px"
|
35
|
-
b_red = atome[:red] * 255
|
36
|
-
b_green = atome[:green] * 255
|
37
|
-
b_blue = (atome[:blue]) * 255
|
38
|
-
b_direction = atome[:direction]
|
39
|
-
b_alpha = atome[:alpha]
|
40
|
-
|
41
|
-
shadow_updated = "#{b_left} #{b_top} #{b_blur} rgba(#{b_red}, #{b_green}, #{b_blue}, #{b_alpha}) #{b_direction}"
|
42
|
-
`document.getElementById(#{atome[:id]}).sheet.cssRules[0].style.boxShadow = #{shadow_updated}`
|
43
|
-
end
|
44
|
-
|
45
|
-
def self.browser_blur_div(browser_object, value, _atome)
|
46
|
-
browser_object.style[:filter] = "blur(#{value}px)"
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
def browser_colorize_color(color_updated, atome)
|
51
|
-
`document.getElementById(#{atome[:id]}).sheet.cssRules[0].style.backgroundColor = #{color_updated}`
|
52
|
-
end
|
53
|
-
|
54
|
-
def browser_colorize_shadow(color_updated, atome)
|
55
|
-
left = atome[:left]
|
56
|
-
top = atome[:top]
|
57
|
-
blur = atome[:blur]
|
58
|
-
direction = atome[:direction]
|
59
|
-
shadow_updated = "#{left}px #{top}px #{blur}px #{color_updated} #{direction}"
|
60
|
-
`document.getElementById(#{atome[:id]}).sheet.cssRules[0].style.boxShadow = #{shadow_updated}`
|
61
|
-
end
|
62
|
-
|
63
|
-
def browser_left_shape(value, browser_object, _atome)
|
64
|
-
browser_object.style[:left] = "#{value}px"
|
65
|
-
end
|
66
|
-
|
67
|
-
def browser_right_shape(value, browser_object, _atome)
|
68
|
-
browser_object.style[:right] = "#{value}px"
|
69
|
-
end
|
70
|
-
|
71
|
-
def browser_top_shape(value, browser_object, _atome)
|
72
|
-
browser_object.style[:top] = "#{value}px"
|
73
|
-
end
|
74
|
-
|
75
|
-
def browser_bottom_shape(value, browser_object, _atome)
|
76
|
-
browser_object.style[:bottom] = "#{value}px"
|
77
|
-
end
|
78
|
-
|
79
|
-
def browser_left_image(value, browser_object, _atome)
|
80
|
-
browser_object.style[:left] = "#{value}px"
|
81
|
-
end
|
82
|
-
|
83
|
-
def browser_right_image(value, browser_object, _atome)
|
84
|
-
browser_object.style[:right] = "#{value}px"
|
85
|
-
end
|
86
|
-
|
87
|
-
def browser_top_image(value, browser_object, _atome)
|
88
|
-
browser_object.style[:top] = "#{value}px"
|
89
|
-
end
|
90
|
-
|
91
|
-
def browser_bottom_image(value, browser_object, _atome)
|
92
|
-
browser_object.style[:bottom] = "#{value}px"
|
93
|
-
end
|
94
|
-
|
95
|
-
def browser_left_shadow(value, _browser_object, atome)
|
96
|
-
ls_left = "#{atome[:left] = value}px"
|
97
|
-
ls_top = "#{atome[:top]}px"
|
98
|
-
ls_blur = "#{atome[:blur]}px"
|
99
|
-
red = atome[:red] * 255
|
100
|
-
green = atome[:green] * 255
|
101
|
-
blue = (atome[:blue]) * 255
|
102
|
-
direction = atome[:direction]
|
103
|
-
alpha = atome[:alpha]
|
104
|
-
|
105
|
-
shadow_updated = "#{ls_left} #{ls_top} #{ls_blur} rgba(#{red}, #{green}, #{blue}, #{alpha}) #{direction}"
|
106
|
-
`document.getElementById(#{atome[:id]}).sheet.cssRules[0].style.boxShadow = #{shadow_updated}`
|
107
|
-
end
|
108
|
-
|
109
|
-
def browser_top_shadow(value, _browser_object, atome)
|
110
|
-
rs_left = "#{atome[:left]}px"
|
111
|
-
rs_top = "#{atome[:top] = value}px"
|
112
|
-
rs_blur = "#{atome[:blur]}px"
|
113
|
-
red = atome[:red] * 255
|
114
|
-
green = atome[:green] * 255
|
115
|
-
blue = (atome[:blue]) * 255
|
116
|
-
direction = atome[:direction]
|
117
|
-
alpha = atome[:alpha]
|
118
|
-
|
119
|
-
shadow_updated = "#{rs_left}px #{rs_top}px #{rs_blur}px rgba(#{red}, #{green}, #{blue}, #{alpha}) #{direction}"
|
120
|
-
`document.getElementById(#{atome[:id]}).sheet.cssRules[0].style.boxShadow = #{shadow_updated}`
|
121
|
-
end
|
122
|
-
|
123
|
-
def browser_left_color(_value, _browser_object, _atome)
|
124
|
-
puts 'code to write when implementing gradient'
|
125
|
-
end
|
126
|
-
|
127
|
-
def browser_right_color(_value, _browser_object, _atome)
|
128
|
-
puts 'code to write when implementing gradient'
|
129
|
-
end
|
130
|
-
|
131
|
-
def browser_top_color(_value, _browser_object, _atome)
|
132
|
-
puts 'code to write when implementing gradient'
|
133
|
-
end
|
134
|
-
|
135
|
-
def browser_bottom_color(_value, _browser_object, _atome)
|
136
|
-
puts 'code to write when implementing gradient'
|
137
|
-
end
|
138
|
-
|
139
|
-
# text
|
140
|
-
def browser_left_text(value, browser_object, _atome)
|
141
|
-
browser_object.style[:left] = "#{value}px"
|
142
|
-
end
|
143
|
-
|
144
|
-
def browser_right_text(value, browser_object, _atome)
|
145
|
-
browser_object.style[:right] = "#{value}px"
|
146
|
-
end
|
147
|
-
|
148
|
-
def browser_top_text(value, browser_object, _atome)
|
149
|
-
browser_object.style[:top] = "#{value}px"
|
150
|
-
end
|
151
|
-
|
152
|
-
def browser_bottom_text(value, browser_object, _atome)
|
153
|
-
browser_object.style[:bottom] = "#{value}px"
|
154
|
-
end
|
155
|
-
|
156
|
-
def browser_data_text(value)
|
157
|
-
browser_object.text = value
|
158
|
-
end
|
27
|
+
AtomeJS=`atomeJS`
|
@@ -4,6 +4,61 @@ generator = Genesis.generator
|
|
4
4
|
|
5
5
|
generator.build_render_method(:browser_touch) do |_value, proc|
|
6
6
|
@browser_object.on :click do |e|
|
7
|
-
instance_exec(&proc) if proc.is_a?(Proc)
|
7
|
+
instance_exec(e, &proc) if proc.is_a?(Proc)
|
8
8
|
end
|
9
9
|
end
|
10
|
+
|
11
|
+
generator.build_render_method(:browser_play) do |value, proc|
|
12
|
+
# first we reinit the 'at' event so the condition will be met again
|
13
|
+
@at_time[:used] = nil
|
14
|
+
@browser_object.currentTime = value if value != true
|
15
|
+
BrowserHelper.send("browser_play_#{@atome[:type]}", value, @browser_object, @atome, self, proc)
|
16
|
+
end
|
17
|
+
|
18
|
+
generator.build_render_method(:browser_time) do |value = nil, _proc|
|
19
|
+
if value
|
20
|
+
@browser_object.currentTime = value
|
21
|
+
else
|
22
|
+
@browser_object.currentTime
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
generator.build_render_method(:browser_pause) do |_value, proc|
|
27
|
+
instance_exec(@browser_object.currentTime, &proc) if proc.is_a?(Proc)
|
28
|
+
@browser_object.pause
|
29
|
+
end
|
30
|
+
|
31
|
+
generator.build_render_method(:on) do |value, proc|
|
32
|
+
@browser_object.on(value) do |e|
|
33
|
+
instance_exec(e, &proc) if proc.is_a?(Proc)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
generator.build_render_method(:fullscreen) do |_value, _proc|
|
38
|
+
atome_id = atome[:id]
|
39
|
+
AtomeJS.JS.fullscreen(atome_id)
|
40
|
+
end
|
41
|
+
|
42
|
+
generator.build_render_method(:mute) do |value, _proc|
|
43
|
+
if value
|
44
|
+
browser_object.muted
|
45
|
+
else
|
46
|
+
browser_object.unmuted
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
generator.build_render_method(:browser_at) do |at, proc|
|
51
|
+
@at_time = { code: proc }.merge(at)
|
52
|
+
end
|
53
|
+
|
54
|
+
generator.build_render_method(:browser_drag) do |options, proc|
|
55
|
+
options.each do |method, params|
|
56
|
+
atome_id = @atome[:id]
|
57
|
+
BrowserHelper.send("browser_drag_#{method}", params, atome_id, self, proc)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
generator.build_render_method(:browser_sort) do |options, _proc|
|
62
|
+
AtomeJS.JS.sort(options, @atome[:id], self)
|
63
|
+
end
|
64
|
+
|
File without changes
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# for browser rendering
|
4
|
+
module BrowserHelper
|
5
|
+
def self.browser_document
|
6
|
+
# Work because of the patched version of opal-browser(0.39)
|
7
|
+
Browser.window
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.browser_attach_div(parents, html_object, _atome)
|
11
|
+
html_object.append_to(browser_document[parents])
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.browser_attach_style(parents, _html_object, atome)
|
15
|
+
browser_document[parents].add_class(atome[:id])
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# for browser rendering
|
4
|
+
module BrowserHelper
|
5
|
+
|
6
|
+
def self.browser_colorize_color(color_updated, atome)
|
7
|
+
`document.getElementById(#{atome[:id]}).sheet.cssRules[0].style.backgroundColor = #{color_updated}`
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.browser_colorize_shadow(color_updated, atome)
|
11
|
+
left = atome[:left]
|
12
|
+
top = atome[:top]
|
13
|
+
blur = atome[:blur]
|
14
|
+
direction = atome[:direction]
|
15
|
+
shadow_updated = "#{left}px #{top}px #{blur}px #{color_updated} #{direction}"
|
16
|
+
`document.getElementById(#{atome[:id]}).sheet.cssRules[0].style.boxShadow = #{shadow_updated}`
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.browser_left_color(_value, _browser_object, _atome)
|
20
|
+
puts 'code to write when implementing gradient'
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.browser_right_color(_value, _browser_object, _atome)
|
24
|
+
puts 'code to write when implementing gradient'
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.browser_top_color(_value, _browser_object, _atome)
|
28
|
+
puts 'code to write when implementing gradient'
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.browser_bottom_color(_value, _browser_object, _atome)
|
32
|
+
puts 'code to write when implementing gradient'
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# for browser rendering
|
4
|
+
|
5
|
+
module BrowserHelper
|
6
|
+
def self.browser_drag_move(params, atome_id, atome, proc)
|
7
|
+
atome.drag_move_proc = proc
|
8
|
+
AtomeJS.JS.drag(params, atome_id, atome)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.browser_drag_lock(params, atome_id, atome, _proc)
|
12
|
+
AtomeJS.JS.lock(params, atome_id, atome)
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.browser_drag_remove(params, atome_id, atome, _proc)
|
16
|
+
params = params != true
|
17
|
+
AtomeJS.JS.remove(params, atome_id, atome)
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.browser_drag_snap(params, atome_id, atome, _proc)
|
21
|
+
AtomeJS.JS.snap(params.to_n, atome_id, atome)
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.browser_drag_inertia(params, atome_id, atome, _proc)
|
25
|
+
AtomeJS.JS.inertia(params, atome_id, atome)
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.browser_drag_constraint(params, atome_id, atome, _proc)
|
29
|
+
AtomeJS.JS.constraint(params.to_n, atome_id, atome)
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.browser_drag_start(_params, _atome_id, atome, proc)
|
33
|
+
atome.drag_start_proc = proc
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.browser_drag_end(_params, _atome_id, atome, proc)
|
37
|
+
atome.drag_end_proc = proc
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# for browser rendering
|
4
|
+
module BrowserHelper
|
5
|
+
def self.browser_blur_style(_browser_object, value, atome)
|
6
|
+
b_left = "#{atome[:left]}px"
|
7
|
+
b_top = "#{atome[:top]}px"
|
8
|
+
b_blur = "#{atome[:blur] = value}px"
|
9
|
+
b_red = atome[:red] * 255
|
10
|
+
b_green = atome[:green] * 255
|
11
|
+
b_blue = (atome[:blue]) * 255
|
12
|
+
b_direction = atome[:direction]
|
13
|
+
b_alpha = atome[:alpha]
|
14
|
+
|
15
|
+
shadow_updated = "#{b_left} #{b_top} #{b_blur} rgba(#{b_red}, #{b_green}, #{b_blue}, #{b_alpha}) #{b_direction}"
|
16
|
+
`document.getElementById(#{atome[:id]}).sheet.cssRules[0].style.boxShadow = #{shadow_updated}`
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.browser_blur_div(browser_object, value, _atome)
|
20
|
+
browser_object.style[:filter] = "blur(#{value}px)"
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# for browser rendering
|
4
|
+
module BrowserHelper
|
5
|
+
# image
|
6
|
+
def self.browser_left_image(value, browser_object, _atome)
|
7
|
+
browser_object.style[:left] = "#{value}px"
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.browser_right_image(value, browser_object, _atome)
|
11
|
+
browser_object.style[:right] = "#{value}px"
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.browser_top_image(value, browser_object, _atome)
|
15
|
+
browser_object.style[:top] = "#{value}px"
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.browser_bottom_image(value, browser_object, _atome)
|
19
|
+
browser_object.style[:bottom] = "#{value}px"
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.browser_path_image(value, browser_object, _atome)
|
23
|
+
browser_object[:src] = value
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# for browser rendering
|
4
|
+
module BrowserHelper
|
5
|
+
# shadow
|
6
|
+
def self.browser_left_shadow(value, _browser_object, atome)
|
7
|
+
ls_left = "#{atome[:left] = value}px"
|
8
|
+
ls_top = "#{atome[:top]}px"
|
9
|
+
ls_blur = "#{atome[:blur]}px"
|
10
|
+
red = atome[:red] * 255
|
11
|
+
green = atome[:green] * 255
|
12
|
+
blue = (atome[:blue]) * 255
|
13
|
+
direction = atome[:direction]
|
14
|
+
alpha = atome[:alpha]
|
15
|
+
|
16
|
+
shadow_updated = "#{ls_left} #{ls_top} #{ls_blur} rgba(#{red}, #{green}, #{blue}, #{alpha}) #{direction}"
|
17
|
+
`document.getElementById(#{atome[:id]}).sheet.cssRules[0].style.boxShadow = #{shadow_updated}`
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.browser_top_shadow(value, _browser_object, atome)
|
21
|
+
rs_left = "#{atome[:left]}px"
|
22
|
+
rs_top = "#{atome[:top] = value}px"
|
23
|
+
rs_blur = "#{atome[:blur]}px"
|
24
|
+
red = atome[:red] * 255
|
25
|
+
green = atome[:green] * 255
|
26
|
+
blue = (atome[:blue]) * 255
|
27
|
+
direction = atome[:direction]
|
28
|
+
alpha = atome[:alpha]
|
29
|
+
|
30
|
+
shadow_updated = "#{rs_left}px #{rs_top}px #{rs_blur}px rgba(#{red}, #{green}, #{blue}, #{alpha}) #{direction}"
|
31
|
+
`document.getElementById(#{atome[:id]}).sheet.cssRules[0].style.boxShadow = #{shadow_updated}`
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# for browser rendering
|
4
|
+
module BrowserHelper
|
5
|
+
|
6
|
+
def self.browser_left_shape(value, browser_object, _atome)
|
7
|
+
browser_object.style[:left] = "#{value}px"
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.browser_right_shape(value, browser_object, _atome)
|
11
|
+
browser_object.style[:right] = "#{value}px"
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.browser_top_shape(value, browser_object, _atome)
|
15
|
+
browser_object.style[:top] = "#{value}px"
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.browser_bottom_shape(value, browser_object, _atome)
|
19
|
+
browser_object.style[:bottom] = "#{value}px"
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# for browser rendering
|
4
|
+
module BrowserHelper
|
5
|
+
# text
|
6
|
+
def self.browser_left_text(value, browser_object, _atome)
|
7
|
+
browser_object.style[:left] = "#{value}px"
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.browser_right_text(value, browser_object, _atome)
|
11
|
+
browser_object.style[:right] = "#{value}px"
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.browser_top_text(value, browser_object, _atome)
|
15
|
+
browser_object.style[:top] = "#{value}px"
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.browser_bottom_text(value, browser_object, _atome)
|
19
|
+
browser_object.style[:bottom] = "#{value}px"
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.browser_data_text(value,atome_send)
|
23
|
+
atome_send.browser_object.text = value
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# for browser rendering
|
4
|
+
module BrowserHelper
|
5
|
+
# video
|
6
|
+
def self.browser_left_video(value, browser_object, _atome)
|
7
|
+
browser_object.style[:left] = "#{value}px"
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.browser_right_videob(value, browser_object, _atome)
|
11
|
+
browser_object.style[:right] = "#{value}px"
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.browser_top_video(value, browser_object, _atome)
|
15
|
+
browser_object.style[:top] = "#{value}px"
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.browser_bottom_video(value, browser_object, _atome)
|
19
|
+
browser_object.style[:bottom] = "#{value}px"
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.browser_path_video(value, browser_object, _atome)
|
23
|
+
browser_object[:src] = value
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.browser_play_video(_value, browser_object_found, atome_hash, atome_object, proc)
|
27
|
+
browser_object_found.play
|
28
|
+
# TODO : change timeupdate for when possible requestVideoFrameCallback
|
29
|
+
# (opal-browser/opal/browser/event.rb line 36)
|
30
|
+
video_callback = atome_hash[:code] # this is the video callback not the play callback
|
31
|
+
play_callback = proc # this is the video callback not the play callback
|
32
|
+
browser_object_found.on(:timeupdate) do |e|
|
33
|
+
current_time = browser_object_found.currentTime
|
34
|
+
# we update the time particle
|
35
|
+
atome_object.time_callback(current_time)
|
36
|
+
e.prevent # Prevent the default action (eg. form submission)
|
37
|
+
# You can also use `e.stop` to stop propagating the event to other handlers.
|
38
|
+
|
39
|
+
atome_object.instance_exec(current_time, &video_callback) if video_callback.is_a?(Proc)
|
40
|
+
atome_object.instance_exec(current_time, &play_callback) if play_callback.is_a?(Proc)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# for browser rendering
|
4
|
+
module BrowserHelper
|
5
|
+
# web
|
6
|
+
def self.browser_left_web(value, browser_object, _atome)
|
7
|
+
browser_object.style[:left] = "#{value}px"
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.browser_right_web(value, browser_object, _atome)
|
11
|
+
browser_object.style[:right] = "#{value}px"
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.browser_top_web(value, browser_object, _atome)
|
15
|
+
browser_object.style[:top] = "#{value}px"
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.browser_bottom_web(value, browser_object, _atome)
|
19
|
+
browser_object.style[:bottom] = "#{value}px"
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.browser_path_web(value, browser_object, _atome)
|
23
|
+
browser_object[:src] = value
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.browser_attach_web(parents, html_object, _atome)
|
27
|
+
html_object.append_to(browser_document[parents])
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
generator = Genesis.generator
|
4
4
|
|
5
|
+
generator.build_render_method(:browser_id) do |params|
|
6
|
+
browser_object.id = params if @atome[:id] != params
|
7
|
+
end
|
8
|
+
|
5
9
|
generator.build_render_method(:browser_type) do |params|
|
6
10
|
send("browser_#{params}", user_proc)
|
7
11
|
end
|
@@ -12,7 +16,7 @@ generator.build_render_method(:browser_parents) do |parents_found|
|
|
12
16
|
end
|
13
17
|
end
|
14
18
|
|
15
|
-
generator.
|
19
|
+
generator.build_option(:pre_render_children) do |children_pass|
|
16
20
|
children_pass.each do |child_found|
|
17
21
|
atome_found = grab(child_found)
|
18
22
|
atome_found.parents([@atome[:id]])
|
@@ -8,15 +8,16 @@ end
|
|
8
8
|
|
9
9
|
generator.build_render_method(:browser_right) do |value, _user_proc|
|
10
10
|
BrowserHelper.send("browser_right_#{@atome[:type]}", value, @browser_object, @atome)
|
11
|
-
# @browser_object.style[:right] = "#{value}px"
|
12
11
|
end
|
13
12
|
|
14
13
|
generator.build_render_method(:browser_top) do |value, _user_proc|
|
15
14
|
BrowserHelper.send("browser_top_#{@atome[:type]}", value, @browser_object, @atome)
|
16
|
-
# @browser_object.style[:top] = "#{value}px"
|
17
15
|
end
|
18
16
|
|
19
17
|
generator.build_render_method(:browser_bottom) do |value, _user_proc|
|
20
18
|
BrowserHelper.send("browser_bottom_#{@atome[:type]}", value, @browser_object, @atome)
|
21
|
-
|
19
|
+
end
|
20
|
+
|
21
|
+
generator.build_render_method(:browser_rotate) do |value, _user_proc|
|
22
|
+
@browser_object.style[:transform] = "rotate(#{value}deg)" unless @browser_type == :style
|
22
23
|
end
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
generator = Genesis.generator
|
4
4
|
generator.build_render_method(:browser_bloc)
|
5
|
-
generator.build_render_method(:browser_id)
|
6
5
|
generator.build_render_method(:browser_render)
|
7
6
|
generator.build_render_method(:browser_delete) do
|
8
7
|
browser_object&.remove
|
@@ -15,12 +14,26 @@ generator.build_render_method(:browser_clear) do
|
|
15
14
|
children([])
|
16
15
|
end
|
17
16
|
|
18
|
-
generator.build_render_method(:
|
19
|
-
@
|
17
|
+
generator.build_render_method(:browser_path) do |value|
|
18
|
+
BrowserHelper.send("browser_path_#{@atome[:type]}", value, @browser_object, @atome)
|
20
19
|
end
|
21
20
|
|
22
|
-
generator.build_render_method(:
|
21
|
+
generator.build_render_method(:browser_data) do |data|
|
23
22
|
# according to the type we send the data to different operator
|
24
23
|
type_found = @atome[:type]
|
25
|
-
send("browser_data_#{type_found}", data)
|
24
|
+
BrowserHelper.send("browser_data_#{type_found}", data, self)
|
25
|
+
end
|
26
|
+
|
27
|
+
generator.build_render_method(:browser_schedule) do |format_date, proc|
|
28
|
+
years = format_date[0]
|
29
|
+
months = format_date[1]
|
30
|
+
days = format_date[2]
|
31
|
+
hours = format_date[3]
|
32
|
+
minutes = format_date[4]
|
33
|
+
seconds = format_date[5]
|
34
|
+
AtomeJS.JS.schedule(years, months, days, hours,minutes, seconds, self, proc)
|
35
|
+
end
|
36
|
+
|
37
|
+
generator.build_render_method(:browser_reader) do |file, proc|
|
38
|
+
AtomeJS.JS.reader(file, self, proc)
|
26
39
|
end
|