atome 0.5.7.4.8 → 0.5.7.5.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: adbf3e2dbe9b01956856270d1789ebae1205be44b00b4038cf1c709c0f7d7f2e
4
- data.tar.gz: a01c1c6b62cd322949d94b44b6b1952f2c331ad1dd9ed55cdf9d46b3a1053627
3
+ metadata.gz: cfe78ba10396036f7ff7cfcb324d6e121006e841e276f0602b5ffd50e480df9f
4
+ data.tar.gz: 713ee69cadbee8b0fd7d7ae7456589537c8e815e138881b183bf5eda1b4612c4
5
5
  SHA512:
6
- metadata.gz: 8613255d625a6d457a0e280253cbcf1317cb6210bded5482eb4eee67c6c7f9e5d513fd93938da916bfeeeb45ad5ab646d234d7596f20a736c071e4bd940df1df
7
- data.tar.gz: 39f6697c368a0558648eb649268f151626d0aa06ef9ccdd21a67dffb40a97409daca0bef111648f11d08ae85d5757121c014cc953f44f7067db65f85fb21997a
6
+ metadata.gz: d67424076d1715af0771efee85a60eeaa140900125e1458319c84746b00a0d3651ab0f46c530e43f3c9fa539cdc1259f532fae5ad188636dd538b6249bdc131e
7
+ data.tar.gz: ff448ccf270a36189e590bafb6030cea066f35f2a960801ea6af81c70fbea9908c3d897bf04c7a214cfc0f1bb13c0a114e4b61eec69079f50ed366241cb391d6
@@ -138,7 +138,20 @@ class Object
138
138
 
139
139
  def hook(a_id)
140
140
  a_id = a_id.to_sym
141
- Universe.atomes[a_id]
141
+ # Universe.atomes[a_id]
142
+ atome_get=''
143
+ Universe.atomes.each do |aid_f, atome|
144
+ # alert "1 #{atome}"
145
+
146
+ if atome.id== a_id
147
+ atome_get= atome
148
+ # alert "2 #{atome}"
149
+ end
150
+ # alert "3 #{atome_get}"
151
+
152
+ end
153
+ # alert atome_get
154
+ atome_get
142
155
  end
143
156
 
144
157
  def grab(id_to_get)
@@ -133,11 +133,11 @@ class Genesis
133
133
  @apply.each do |fasten_atome|
134
134
  collected_atomes << fasten_atome if grab(fasten_atome).type.to_sym == element.to_sym
135
135
  end
136
- else
136
+ elsif fasten
137
137
  fasten.each do |fasten_atome|
138
- collected_atomes << fasten_atome if grab(fasten_atome).type.to_sym == element.to_sym
138
+ child_found=grab(fasten_atome)
139
+ collected_atomes << fasten_atome if child_found.type.to_sym == element.to_sym
139
140
  end
140
-
141
141
  end
142
142
  # TODO/ FIXME : potential problem with group here"
143
143
  collected_atomes
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  def delete_recursive(atome_id, force=false)
3
3
  return if grab(atome_id).tag && (grab(atome_id).tag[:persistent] || grab(atome_id).tag[:system]) unless force
4
-
4
+ touch(false)
5
5
  parent_id_found = grab(atome_id).attach
6
6
  parent_found = grab(parent_id_found)
7
7
  new_array = parent_found.fasten.dup
@@ -11,7 +11,7 @@ def delete_recursive(atome_id, force=false)
11
11
  delete_recursive(atome_id_found, force)
12
12
  end
13
13
  grab(atome_id).render(:delete, { :recursive => true })
14
- grab(atome_id).touch(:remove)
14
+ grab(atome_id).touch(false)
15
15
  Universe.delete(grab(atome_id).aid)
16
16
  end
17
17
 
@@ -37,7 +37,7 @@ new({ particle: :target }) do |params|
37
37
  end
38
38
  new({ particle: :delete, category: :utility, type: :boolean, render: false }) do |params|
39
39
  if params == true
40
-
40
+ touch(false)
41
41
  # We use the tag persistent to exclude color of system object and other default colors
42
42
  unless @tag && (@tag[:persistent] || @tag[:system])
43
43
  # if we are on a matrix we delete cells found & group found
@@ -64,13 +64,14 @@ new({ particle: :delete, category: :utility, type: :boolean, render: false }) do
64
64
  # if we are on a matrix we delete cells found & group found
65
65
  cells.delete(true)
66
66
  group.delete(true)
67
+ touch(false)
67
68
  if params[:recursive]
68
69
  grab(attach).unfasten([id])
69
70
  unless grab(@id).tag && (grab(@id).tag[:persistent] || grab(@id).tag[:system])
70
71
  fasten.each do |atttached_atomes|
71
72
  delete_recursive(atttached_atomes)
72
73
  end
73
- touch(:remove)
74
+ # touch(false)
74
75
  render(:delete, params)
75
76
  Universe.delete(@aid)
76
77
  end
@@ -79,7 +80,7 @@ new({ particle: :delete, category: :utility, type: :boolean, render: false }) do
79
80
  # alert "fasten : #{fasten}"
80
81
  delete_recursive(atttached_atomes, true)
81
82
  end
82
- touch(:remove)
83
+ touch(false)
83
84
  render(:delete, params)
84
85
  # alert "Universe : #{Universe.atomes[@aid]}"
85
86
  # alert "length = #{Universe.atomes.length}"
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- Universe.language=:english
3
+ Universe.language = :english
4
4
 
5
5
  # now let's get the default render engine
6
6
 
@@ -64,7 +64,7 @@ Atome.new(
64
64
 
65
65
  # view port
66
66
  Atome.new(
67
- { renderers: default_render, aid: :view,type: :shape, attach: :user_view, apply: [:view_color],
67
+ { renderers: default_render, aid: :view, type: :shape, attach: :user_view, apply: [:view_color],
68
68
  tag: { system: true }, left: 0, right: 0, top: 0, bottom: 0, width: :auto, height: :auto, overflow: :auto,
69
69
  # language: :english
70
70
  }
@@ -73,7 +73,7 @@ Atome.new(
73
73
 
74
74
  # unreal port, hold system object and tools
75
75
  Atome.new(
76
- { renderers: default_render, aid: :intuition, type: :shape, attach: :user_view,data: {}, tag: { system: true },
76
+ { renderers: default_render, aid: :intuition, type: :shape, attach: :user_view, data: {}, tag: { system: true },
77
77
  left: 0, top: 0, bottom: 0, width: 0, height: :auto, overflow: :visible
78
78
  }
79
79
  )
@@ -89,8 +89,6 @@ Atome.new({ renderers: [:html], aid: :copy, collect: [], type: :group, tag: { sy
89
89
  Atome.new({ renderers: default_render, id: machine_id, type: :machine, password: machine_password,
90
90
  name: :macAir, data: { date: '10090717' }, tag: { system: true } })
91
91
 
92
-
93
-
94
92
  # user
95
93
  user_password = { global: :star_win, read: { atome: :star_wars }, write: { atome: :star_wars } }
96
94
 
@@ -149,15 +147,13 @@ def atome_genesis
149
147
  server = Universe.current_server
150
148
  server ||= 'disconnected'
151
149
  puts "server: #{server}"
152
-
153
- if server.start_with?('http')
154
- Universe.connected = true
155
- A.server({ address: 'localhost:9292', type: 'ws' })
156
- A.init_websocket do |msg|
157
- puts "websocket initialised #{msg}"
158
- end
159
- Universe.allow_sync = true
150
+ return unless server.start_with?('http') && Atome::host.to_sym != :tauri
151
+ Universe.connected = true
152
+ A.server({ address: 'localhost:9292', type: 'ws' })
153
+ A.init_websocket do |msg|
154
+ puts "websocket initialised #{msg}"
160
155
  end
156
+ Universe.allow_sync = true
161
157
  end
162
158
 
163
159
  # this method is call from JS (atome/communication) at WS connection
@@ -188,7 +184,6 @@ def init_database
188
184
  A.sync({ action: :create_db_column, data: { table: :history, column: :date, type: :datetime } }) do |_db_state|
189
185
  end
190
186
 
191
-
192
187
  # now we send localstorage content to the server
193
188
  Atome.send_localstorage_content
194
189
 
@@ -470,6 +470,21 @@ class Atome
470
470
  end
471
471
  end
472
472
 
473
+ def store_ruby_callback(params)
474
+
475
+ params.each do |element, value_v|
476
+ send("#{element}_code")[element].call(value_v)
477
+ end
478
+ end
479
+
480
+ def read_ruby_callback(element)
481
+ puts "dunno what this method is about ?? method call :#{element}"
482
+ # alert id
483
+ # puts "2 ===> #{element} !!!"
484
+ # alert send("terminal_callback").inspect
485
+ # alert send("#{element}_callback")
486
+ end
487
+
473
488
  # this method generate the method accessible for end developers
474
489
  # it's the send the method define in "particle_callback"
475
490
  def callback(element, return_params = nil)
data/lib/atome/version.rb CHANGED
@@ -3,5 +3,5 @@
3
3
  # return atome version
4
4
 
5
5
  class Atome
6
- VERSION = '0.5.7.4.8'
6
+ VERSION = '0.5.7.5.1'
7
7
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  class Atome
4
4
  def reorder_menu
5
+ # disposition = data
5
6
  disposition = data[:inactive][:disposition]
6
7
  margin = data[:inactive][:margin]
7
8
  spacing = data[:inactive][:spacing]
@@ -72,9 +73,9 @@ class Atome
72
73
  menu_item.top = margin[:top] + (inactive_style[:height] + spacing) * position_in_menu
73
74
  menu_item.left = margin[:left]
74
75
  end
75
-
76
76
  menu_item.text.each do |text_f|
77
- grab(text_f).set(inactive_state_text)
77
+ item_found = grab(text_f)
78
+ item_found.set(inactive_state_text)
78
79
  end
79
80
 
80
81
  end
@@ -592,10 +593,10 @@ new(molecule: :show) do |page_id, &bloc|
592
593
  color({ id: :page_color, red: 0.1, green: 0.1, blue: 0.1 })
593
594
 
594
595
  id_f = "#{id}_content"
595
- main_page = box({ width: :auto, depth: -1, height: :auto, id: id_f, top: 0, bottom: 0, left: 0, right: 0, apply: :page_color, category: :page })
596
+ main_page = box({ width: :auto, depth: -1, height: :auto, id: id_f, top: 0, bottom: 0, left: 0, right: 0, apply: :page_color, category: :page})
596
597
  main_page.remove(:box_color)
597
598
 
598
- new_page = main_page.box({ width: '100%', height: '100%', top: 0, left: 0, id: page_id })
599
+ new_page = main_page.box({ width: '100%', height: '100%', top: 0, left: 0, id: page_id, overflow: :auto })
599
600
 
600
601
  # now looking for associated blocks
601
602
  blocks_found = params[:blocks]
@@ -254,6 +254,7 @@ class HTML
254
254
  end
255
255
 
256
256
  def send_message(message)
257
+ # puts "message : #{message}"
257
258
  # FIXME : find why we have to sanitize this message when using ruby wams
258
259
  message = transform_to_string_keys_and_values(message)
259
260
  JS.eval("atomeJS.ws_sender('#{message}')")
@@ -1214,11 +1215,11 @@ class HTML
1214
1215
  interact = JS.eval("return interact('##{@id}')")
1215
1216
  # unless @touch_removed[:down]
1216
1217
  interact.on('down') do |native_event|
1217
- event = Native(native_event)
1218
+ @touch_down_event = Native(native_event)
1218
1219
  # we use .call instead of instance_eval because instance_eval bring the current object as context
1219
1220
  # and it's lead to a problem of context and force the use of grab(:view) when suing atome method such as shape ,
1220
1221
  # group etc..
1221
- proc_content = @touch_down.call(event) if event_validation(@touch_down)
1222
+ proc_content = @touch_down.call(@touch_down_event) if event_validation(@touch_down)
1222
1223
  if proc_content.instance_of? Hash
1223
1224
  proc_content.each do |k, v|
1224
1225
  @original_atome.send(k, v)
@@ -1236,11 +1237,11 @@ class HTML
1236
1237
  # unless @touch_removed[:tap]
1237
1238
  interact.on('tap') do |native_event|
1238
1239
 
1239
- event = Native(native_event)
1240
+ @touch_tap_event = Native(native_event)
1240
1241
  # we use .call instead of instance_eval because instance_eval bring the current object as context
1241
1242
  # and it's lead to a problem of context and force the use of grab(:view) when suing atome method such as shape ,
1242
1243
  # group etc..
1243
- proc_content = @touch_tap.call(event) if event_validation(@touch_tap)
1244
+ proc_content = @touch_tap.call(@touch_tap_event) if event_validation(@touch_tap)
1244
1245
  if proc_content.instance_of? Hash
1245
1246
  proc_content.each do |k, v|
1246
1247
  # alert "(#{@original_atome.id}, #{k}, #{v}, #{_option})"
@@ -1257,11 +1258,11 @@ class HTML
1257
1258
  @touch_up = @original_atome.instance_variable_get('@touch_code')[:up]
1258
1259
  # unless @touch_removed[:up]
1259
1260
  interact.on('up') do |native_event|
1260
- event = Native(native_event)
1261
+ @touch_up_event = Native(native_event)
1261
1262
  # we use .call instead of instance_eval because instance_eval bring the current object as context
1262
1263
  # and it's lead to a problem of context and force the use of grab(:view) when suing atome method such as shape ,
1263
1264
  # group etc..
1264
- proc_content = @touch_up.call(event) if event_validation(@touch_up)
1265
+ proc_content = @touch_up.call(@touch_up_event) if event_validation(@touch_up)
1265
1266
  if proc_content.instance_of? Hash
1266
1267
  proc_content.each do |k, v|
1267
1268
  @original_atome.send(k, v)
@@ -1276,11 +1277,11 @@ class HTML
1276
1277
  @touch_double = @original_atome.instance_variable_get('@touch_code')[:double]
1277
1278
  # unless @touch_removed[:double]
1278
1279
  interact.on('doubletap') do |native_event|
1279
- event = Native(native_event)
1280
+ @touch_double_event = Native(native_event)
1280
1281
  # we use .call instead of instance_eval because instance_eval bring the current object as context
1281
1282
  # and it's lead to a problem of context and force the use of grab(:view) when suing atome method such as shape ,
1282
1283
  # group etc..
1283
- proc_content = @touch_double.call(event) if event_validation(@touch_double)
1284
+ proc_content = @touch_double.call(@touch_double_event) if event_validation(@touch_double)
1284
1285
  if proc_content.instance_of? Hash
1285
1286
  proc_content.each do |k, v|
1286
1287
  @original_atome.send(k, v)
@@ -1296,11 +1297,11 @@ class HTML
1296
1297
  interact = JS.eval("return interact('##{@id}')")
1297
1298
  # unless @touch_removed[:long]
1298
1299
  interact.on('hold') do |native_event|
1299
- event = Native(native_event)
1300
+ @touch_long_event = Native(native_event)
1300
1301
  # we use .call instead of instance_eval because instance_eval bring the current object as context
1301
1302
  # and it's lead to a problem of context and force the use of grab(:view) when suing atome method such as shape ,
1302
1303
  # group etc..
1303
- proc_content = @touch_long.call(event) if event_validation(@touch_long)
1304
+ proc_content = @touch_long.call(@touch_long_event) if event_validation(@touch_long)
1304
1305
  if proc_content.instance_of? Hash
1305
1306
  proc_content.each do |k, v|
1306
1307
  @original_atome.send(k, v)
@@ -1310,38 +1311,53 @@ class HTML
1310
1311
  end
1311
1312
 
1312
1313
  def touch_remove(option)
1313
-
1314
1314
  @element[:style][:cursor] = 'default'
1315
1315
  case option
1316
1316
  when :double
1317
1317
  @touch_double = ''
1318
1318
  @touch_removed[:double] = true
1319
+ @touch_double_event= nil
1319
1320
  when :down
1320
1321
  @touch_down = ''
1321
1322
  @touch_removed[:down] = true
1323
+ @touch_down_event= nil
1322
1324
  when :long
1323
1325
  @touch_removed[:long] = true
1324
1326
  @touch_long = ''
1327
+ @touch_long_event= nil
1325
1328
  when :tap
1326
1329
  @touch_removed[:tap] = true
1327
1330
  @touch_tap = ''
1328
1331
  @touch_removed[:touch] = true
1329
1332
  @touch_touch = ''
1333
+ @touch_tap_event= nil
1334
+
1330
1335
  when :touch
1331
1336
  @touch_removed[:tap] = true
1332
1337
  @touch_tap = ''
1333
1338
  @touch_removed[:touch] = true
1334
1339
  @touch_touch = ''
1340
+ @touch_tap_event= nil
1341
+
1335
1342
  when :up
1336
1343
  @touch_removed[:up] = true
1337
1344
  @touch_up = ''
1345
+ @touch_up_event= nil
1338
1346
  else
1339
1347
  touch_remove(:double)
1348
+ @touch_double_event= nil
1349
+
1340
1350
  touch_remove(:down)
1351
+ @touch_down_event= nil
1352
+
1341
1353
  touch_remove(:long)
1354
+ @touch_long_event= nil
1355
+
1342
1356
  touch_remove(:tap)
1343
1357
  touch_remove(:touch)
1358
+ @touch_tap_event= nil
1344
1359
  touch_remove(:up)
1360
+ @touch_up_event= nil
1345
1361
  end
1346
1362
 
1347
1363
  end
@@ -1362,7 +1378,7 @@ class HTML
1362
1378
  if Atome.host == 'tauri'
1363
1379
  JS.eval("readFile('#{id}','#{file}')")
1364
1380
  else
1365
- puts ' work in progress'
1381
+ puts 'read file in progress in server mode'
1366
1382
  end
1367
1383
  end
1368
1384
 
@@ -1370,7 +1386,7 @@ class HTML
1370
1386
  if Atome.host == 'tauri'
1371
1387
  JS.eval("browseFile('#{id}','#{file}')")
1372
1388
  else
1373
- puts 'work in progress'
1389
+ puts 'browse file in progress in server mode'
1374
1390
  end
1375
1391
  end
1376
1392
 
@@ -84,6 +84,8 @@
84
84
  # create callback methode when playing
85
85
 
86
86
  # # here is how to animate shape :
87
+ wait 0.2 do
88
+ puts " we wait 0.2 sec else there's a of a problem if we use server wasm "
87
89
 
88
90
  b=box({id: :the_box})
89
91
 
@@ -91,28 +93,30 @@ b=box({id: :the_box})
91
93
  puts "width +#{val}"
92
94
  end
93
95
 
94
- b.animate({ to: 456, particle: :left, duration: 5000}) do |val|
95
- puts "left +#{val}"
96
- end
96
+ b.animate({ to: 456, particle: :left, duration: 5000}) do |val|
97
+ puts "left +#{val}"
98
+ end
97
99
 
98
- b.animate({ end: :left}) do |val|
99
- puts "left ended"
100
- end
100
+ b.animate({ end: :left}) do |val|
101
+ puts "left ended"
102
+ end
101
103
 
102
- b.animate({ to: 69, particle: :smooth, duration: 10000}) do |val|
103
- puts "smooth +#{val}"
104
- end
104
+ b.animate({ to: 69, particle: :smooth, duration: 10000}) do |val|
105
+ puts "smooth +#{val}"
106
+ end
105
107
 
106
- b.animate({ end: :smooth}) do |val|
107
- puts " cool smooth end now!!!"
108
- end
108
+ b.animate({ end: :smooth}) do |val|
109
+ puts " cool smooth end now!!!"
110
+ end
109
111
 
110
- b.animate({ to: 90, particle: :rotate, duration: 10000}) do |val|
111
- puts "rotate +#{val}"
112
- end
112
+ b.animate({ to: 90, particle: :rotate, duration: 10000}) do |val|
113
+ puts "rotate +#{val}"
114
+ end
115
+
116
+ b.animate({ to: 222, particle: :top, duration: 10000}) do |val|
117
+ puts "top +#{val}"
118
+ end
113
119
 
114
- b.animate({ to: 222, particle: :top, duration: 10000}) do |val|
115
- puts "top +#{val}"
116
120
  end
117
121
 
118
122
 
@@ -43,6 +43,7 @@ a.page(page0)
43
43
  a.page(page1)
44
44
  a.page({ id: :page3,
45
45
  color: :red,
46
+ footer: { color: :green, height: 22 }
46
47
  })
47
48
 
48
49
 
@@ -69,6 +70,7 @@ page_3=a.show(:page3)
69
70
 
70
71
  wait 1 do
71
72
  page_3.color(:cyan)
73
+ page_3.box({top: 900})
72
74
  end
73
75
 
74
76
 
@@ -78,4 +80,5 @@ end
78
80
  # end
79
81
 
80
82
 
81
- puts(grab(:project).inspect)
83
+ puts(grab(:project).inspect)
84
+
@@ -3,46 +3,41 @@
3
3
  box({color: :gray, width: 666, height: 666})
4
4
  box({ id: :the_box, drag: true, color: { alpha: 2 } })
5
5
 
6
- menu1_code = lambda do
7
- puts :menu1_code
8
- end
9
- menu2_code = lambda do
10
- puts :menu2
11
- end
12
-
13
- but = buttons({
14
- id: :menu1,
15
- attach: :the_box,
16
- inactive: { text: { color: :gray }, width: 66, height: 12, spacing: 3, disposition: :horizontal,
17
- color: :orange, margin: { left: 33, top: 12 } },
18
- active: { text: { color: :white, shadow: {} }, color: :blue, shadow: {} },
19
- item_1: {
20
- text: :acceuil,
21
- code: menu1_code
22
- },
23
- item_2: {
24
- text: :page_2,
25
- code: menu2_code
26
-
27
- },
28
- item_3: {
29
- text: :page_3,
30
- code: lambda { puts :item_3_touched }
31
- },
32
- })
33
-
34
- c = text({ top: 99, left: 99, data: 'add a button' })
6
+
7
+ but =buttons({
8
+ id: "my_menu",
9
+ depth: 9999,
10
+ attach: :the_box,
11
+ inactive: { text: { color: :gray }, width: 66, height: 12, spacing: 3, disposition: :horizontal,
12
+ color: :orange, margin: { left: 33, top: 12 } },
13
+ active: { text: { color: :white, shadow: {} }, color: :blue, shadow: {} },
14
+ })
15
+
16
+ c = text({ top: 99, left: 99, data: 'add buttons' })
35
17
 
36
18
  c.touch(:down) do
37
19
  but.add_button(new_button: {
38
20
  text: :button1,
39
21
  code: lambda { puts :button1_touched }
40
22
  })
41
- end
23
+ but.add_button(new_button2: {
24
+ text: :button2,
25
+ code: lambda { puts :button1_touched }
26
+ })
27
+ but.add_button(new_button3: {
28
+ text: :button3,
29
+ code: lambda { puts :button1_touched }
30
+ })
31
+
32
+ wait 0.2 do
33
+ grab(:my_menu).remove_menu_item(:new_button2)
34
+ end
35
+
36
+ end
37
+
38
+
39
+
42
40
 
43
41
 
44
- wait 2 do
45
- grab(:menu1).remove_menu_item(:item_2)
46
- end
47
42
 
48
43
  # TODO: remove menu_item ,reset_menu, reorder, delete
@@ -20,5 +20,6 @@ c.touch(true) do
20
20
  A.message({ action: :terminal , data: 'cd ..;cd server;ls; pwd'}) do |result|
21
21
  puts "result : #{result}"
22
22
  end
23
+ {} #must add an empty hash else events events method will interpret keys of the hash and send a missing method errors
23
24
  end
24
25
  #
@@ -1,4 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  A.terminal('pwd') do |data|
3
3
  text "terminal response :\n #{data}"
4
- end
4
+ end
5
+
6
+ # alert A.inspect
@@ -1 +1,16 @@
1
1
  # frozen_string_literal: true
2
+
3
+
4
+ def contact_template
5
+ { id: :humans, role: nil, date: { companies: [], project: {}, events: {}, last_name: nil, first_name: nil ,
6
+ emails: { home: nil }, phones: {}, address: {}, groups: [] } }
7
+ end
8
+
9
+
10
+ element({id: :testing, data: contact_template})
11
+ # grab(:testing).data(contact_template)
12
+
13
+
14
+ wait 2 do
15
+ grab(:testing).data
16
+ end
@@ -8,17 +8,17 @@ t.touch(:down) do |event|
8
8
  puts :down
9
9
  puts event[:pageX]
10
10
  puts event[:pageY]
11
- b.touch({remove: :down})
11
+ b.touch({ remove: :down })
12
12
  # b.touch({remove: :up})
13
13
  # b.touch({remove: :long})
14
14
  # b.touch({remove: :double})
15
15
  # b.touch({remove: :tap})
16
16
  # b.touch({remove: :touch})
17
- # b.touch(:remove) # or b.touch(false) to remove all touches bindings
17
+ # b.touch(false) to remove all touches bindings
18
18
  t.data('touch down killed')
19
19
  end
20
20
 
21
- touch_code =lambda do
21
+ touch_code = lambda do
22
22
  b.color(:red)
23
23
  puts 'box tapped'
24
24
  # b.instance_variable_set('@touch_code', nil)
@@ -29,7 +29,7 @@ b.touch(:long) do
29
29
  # puts :long
30
30
  # t.data('type of touch is : long ')
31
31
  # b.color(:black)
32
- {color: :cyan}
32
+ { color: :cyan }
33
33
  end
34
34
 
35
35
  b.touch(:up) do
@@ -21,7 +21,6 @@ require './database'
21
21
  require './extensions'
22
22
 
23
23
  Faye::WebSocket.load_adapter('puma')
24
-
25
24
  class App < Roda
26
25
  index_content = File.read("../src/index_server_wasm.html")
27
26
  opts[:root] = '../src'
@@ -30,6 +30,7 @@ class EDen
30
30
  end
31
31
 
32
32
  def terminal(data, message_id, ws)
33
+ puts "terminal message test : #{data}"
33
34
  { data: { message: `#{data}` }, message_id: message_id }
34
35
  end
35
36
 
@@ -3,7 +3,8 @@
3
3
  <head>
4
4
  <link rel="icon" type="image/x-icon"
5
5
  href="https://github.com/atomecorp/atome/blob/master/vendor/assets/src/favicon.ico">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover,user-scalable=no">
6
+ <meta name="viewport"
7
+ content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover,user-scalable=no">
7
8
  <meta charset='UTF-8'/>
8
9
  <meta name="format-detection" content="telephone=no">
9
10
  <meta name="msapplication-tap-highlight" content="no">
@@ -30,6 +31,7 @@
30
31
  <div id='copyright'>©atome 2024</div>
31
32
  </body>
32
33
  <script type="text/ruby">
34
+
33
35
  require 'js'
34
36
  require '/lib/platform_specific/wasm/atome_wasm_extensions'
35
37
  require '/utilities/aui'
@@ -38,6 +40,8 @@
38
40
  require './index'
39
41
  #atome_infos
40
42
  atome_genesis
43
+
44
+
41
45
  </script>
42
46
  <script defer src="js/atome/specific/wasm.js" type="text/javascript"></script>
43
47
  <script type="text/javascript">
@@ -28,8 +28,8 @@ async function readFile(atome_id, filePath) {
28
28
  } catch (error) {
29
29
  fileContent = error;
30
30
  }
31
- atomeJsToRuby("grab(:" + atome_id + ").callback({ read: '" + fileContent + "' })");
32
- atomeJsToRuby("grab(:" + atome_id + ").call(:read)");
31
+ atomeJsToRuby("grab(:" + atome_id + ").store_ruby_callback({ read: '" + fileContent + "' })");
32
+ atomeJsToRuby("grab(:" + atome_id + ").read_ruby_callback(:read)");
33
33
  }
34
34
 
35
35
 
@@ -43,8 +43,8 @@ async function browseFile(atome_id, directoryPath) {
43
43
  } catch (error) {
44
44
  directoryContent = error;
45
45
  }
46
- atomeJsToRuby("grab(:" + atome_id + ").callback({ browse: '" + directoryContent + "' })");
47
- atomeJsToRuby("grab(:" + atome_id + ").call(:browse)");
46
+ atomeJsToRuby("grab(:" + atome_id + ").store_ruby_callback({ browse: '" + directoryContent + "' })");
47
+ atomeJsToRuby("grab(:" + atome_id + ").read_ruby_callback(:browse)");
48
48
  }
49
49
 
50
50
 
@@ -75,18 +75,22 @@ async function terminal(atome_id, cmd) {
75
75
  }
76
76
  cmd_result = cmd_result.replace(/\r?\n/g, "");
77
77
 
78
- atomeJsToRuby("grab(:" + atome_id + ").callback({ terminal: '" + cmd_result + "' })");
79
- atomeJsToRuby("grab(:" + atome_id + ").call(:terminal)");
78
+ atomeJsToRuby("grab(:" + atome_id + ").store_ruby_callback({ terminal: '" + cmd_result + "' })");
79
+ atomeJsToRuby("grab(:" + atome_id + ").read_ruby_callback(:terminal)");
80
80
 
81
81
  }
82
82
 
83
83
 
84
84
  function distant_terminal(id, cmd) {
85
+
85
86
  let myd_data_test = 'Terminal particle will soon be implemented when using a non native mode\nYou can switch to OSX to test';
86
- let call_back_to_send = `grab(:${id}).callback({terminal: "${myd_data_test}"})`
87
- let call = `grab(:${id}).call(:terminal)`
87
+ let call_back_to_send = `grab(:${id}).store_ruby_callback({terminal: "${myd_data_test}"})`
88
+ let call = `grab(:${id}).read_ruby_callback(:terminal)`
88
89
  atomeJsToRuby(call_back_to_send)
89
90
  atomeJsToRuby(call)
91
+
92
+ // let call = `grab(:${id}).read_ruby_callback(:terminal)`
93
+ // atomeJsToRuby(call)
90
94
  }
91
95
 
92
96
 
@@ -3,7 +3,8 @@ function atomeJsToRuby(rubycode) {
3
3
  }
4
4
 
5
5
  function controller_message(msg) {
6
- rubyVM.eval(rubycode);
6
+ /// use for communication with server
7
+ rubyVM.eval(msg);
7
8
  }
8
9
 
9
10
  // document.addEventListener("DOMContentLoaded", function() {
@@ -119,7 +120,6 @@ const communication = {
119
120
  ws_sender: function (message) {
120
121
  // now we send the data to the server
121
122
  // puts "--> message : #{message}"
122
-
123
123
  this.websocket.send(message)
124
124
  },
125
125
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atome
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7.4.8
4
+ version: 0.5.7.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Eric Godard
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-06 00:00:00.000000000 Z
11
+ date: 2024-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eventmachine
@@ -913,7 +913,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
913
913
  - !ruby/object:Gem::Version
914
914
  version: '0'
915
915
  requirements: []
916
- rubygems_version: 3.5.10
916
+ rubygems_version: 3.5.15
917
917
  signing_key:
918
918
  specification_version: 4
919
919
  summary: the creative framework