atome 0.4.5.4 → 0.4.7.0

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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -3
  3. data/Rakefile +1 -0
  4. data/app_builder_helpers/Rakefile +2 -0
  5. data/lib/atome/atome_native_extensions.rb +3 -3
  6. data/lib/atome/extensions/helper.rb +20 -31
  7. data/lib/atome/kernel/atome.rb +9 -8
  8. data/lib/atome/kernel/generators/generator.rb +210 -80
  9. data/lib/atome/kernel/generators/genesis.rb +58 -46
  10. data/lib/atome/kernel/generators/sanitizer.rb +3 -7
  11. data/lib/atome/kernel/generators/shapes.rb +25 -10
  12. data/lib/atome/{extensions → kernel/helpers}/geolocation.rb +0 -0
  13. data/lib/atome/kernel/helpers/internal_methods.rb +173 -0
  14. data/lib/atome/kernel/helpers/ping.rb +17 -0
  15. data/lib/atome/{extensions → kernel/helpers}/sha.rb +0 -0
  16. data/lib/atome/{extensions → kernel/helpers}/utilities.rb +5 -5
  17. data/lib/atome/kernel/properties/essential.rb +35 -1
  18. data/lib/atome/kernel/sparkle.rb +2 -1
  19. data/lib/atome/kernel/universe.rb +12 -4
  20. data/lib/atome/renderers/opal/extensions/geolocation.rb +0 -1
  21. data/lib/atome/renderers/renderer.rb +1 -0
  22. data/lib/atome/renderers/server/properties/generator.rb +1 -1
  23. data/lib/atome/version.rb +2 -1
  24. data/lib/atome.rb +6 -15
  25. data/vendor/assets/build/css/style.css +4 -0
  26. data/vendor/assets/build/index.html +4 -2
  27. data/vendor/assets/build/js/atome/atome.js +25 -11
  28. data/vendor/assets/build/js/third_parties/interact.min.js +2 -3
  29. data/vendor/assets/build/js/{ping.min.js → third_parties/ping.min.js} +0 -0
  30. data/vendor/assets/build/js/{utilities → third_parties}/w3color.js +0 -0
  31. data/vendor/assets/build/js/third_parties/zim.min.js +1 -0
  32. data/vendor/assets/build/medias/audios/guitar.wav +0 -0
  33. data/vendor/assets/build/medias/images/beach.jpg +0 -0
  34. data/vendor/assets/build/medias/rubies/examples/!run.rb +16 -0
  35. data/vendor/assets/build/medias/rubies/examples/box.rb +16 -1
  36. data/vendor/assets/build/medias/rubies/examples/circle.rb +1 -0
  37. data/vendor/assets/build/medias/rubies/examples/clear.rb +9 -0
  38. data/vendor/assets/build/medias/rubies/examples/code.rb +5 -0
  39. data/vendor/assets/build/medias/rubies/examples/drag.rb +42 -4
  40. data/vendor/assets/build/medias/rubies/examples/link.rb +8 -10
  41. data/vendor/assets/build/medias/rubies/examples/on.rb +16 -0
  42. data/vendor/assets/build/medias/rubies/examples/parent.rb +2 -1
  43. data/vendor/assets/build/medias/rubies/examples/read.rb +1 -1
  44. data/vendor/assets/build/medias/rubies/examples/text.rb +17 -4
  45. data/vendor/assets/build/medias/rubies/examples/video.rb +51 -3
  46. data/vendor/assets/build/medias/rubies/examples/web.rb +3 -2
  47. data/vendor/assets/build/medias/videos/avengers.mp4 +0 -0
  48. data/vendor/assets/build/medias/videos/lion_king.mp4 +0 -0
  49. data/vendor/assets/build/medias/videos/madmax.mp4 +0 -0
  50. data/vendor/assets/build/medias/videos/starwars.mov +0 -0
  51. data/vendor/assets/build/medias/videos/superman.mp4 +0 -0
  52. metadata +24 -12
  53. data/lib/atome/extensions/ping.rb +0 -13
  54. data/vendor/assets/build/js/third_parties/createjs.min.js +0 -19
@@ -3,6 +3,8 @@
3
3
  <head>
4
4
  <meta name='viewport' content='initial-scale=1, width=device-width, viewport-fit=cover'>
5
5
  <meta charset='UTF-8'/>
6
+ <meta Cross-Origin-Opener-Policy= "same-origin"/>
7
+ <meta Cross-Origin-Embedder-Policy= "require-corp"/>
6
8
  <meta name="format-detection" content="telephone=no">
7
9
  <meta name="msapplication-tap-highlight" content="no">
8
10
  <meta name="viewport" content="initial-scale=1, width=device-width, viewport-fit=cover">
@@ -12,8 +14,8 @@
12
14
  <script type="text/javascript" src="js/third_parties/interact.min.js"></script>
13
15
  <script type="text/javascript" src="js/third_parties/popmotion.min.js"></script>
14
16
  <script type="text/javascript" src="js/third_parties/sha256.min.js"></script>
15
- <script type="text/javascript" src="js/ping.min.js"></script>
16
- <script src='js/utilities/w3color.js'></script>
17
+ <script type="text/javascript" src="js/third_parties/ping.min.js"></script>
18
+ <script src='js/third_parties/w3color.js'></script>
17
19
  <script src='js/opal/opal_browser.js'></script>
18
20
  <script src='js/opal/opal_parser.js'></script>
19
21
  <script src='js/aui.js'></script>
@@ -2,11 +2,15 @@ class AtomeDrag {
2
2
  constructor() {
3
3
  }
4
4
 
5
- drag() {
5
+ drag(atome_drag_id) {
6
6
  // target elements with the "draggable" class
7
- interact('.draggable')
7
+ self.current_obj = Opal.Utilities.$grab(atome_drag_id)
8
+ interact('.'+atome_drag_id)
8
9
  .draggable({
9
10
  // enable inertial throwing
11
+ startAxis: 'x',
12
+ lockAxis: 'x',
13
+ // lockAxis: ''+lock_axis,
10
14
  inertia: true,
11
15
  // keep the element within the area of it's parent
12
16
  modifiers: [
@@ -25,10 +29,9 @@ class AtomeDrag {
25
29
  start(event) {
26
30
  //TODO: optimise this passing the proc to the drag callback
27
31
  // lets get the current atome Object
28
- self.current_obj = Opal.Utilities.$grab(event.target.id)
32
+ // self.current_obj = Opal.Utilities.$grab(atome_drag_id)
29
33
  // now get the grab proc
30
- self.proc_meth = current_obj.$instance_variable_get("@html_drag")
31
- // self.proc_meth = proc_found;
34
+ self.proc_meth = current_obj.bloc
32
35
  },
33
36
  // call this function on every dragend event
34
37
  end(event) {
@@ -45,24 +48,35 @@ class AtomeDrag {
45
48
  const y = (parseFloat(target.getAttribute('data-y')) || 0) + event.dy
46
49
  // translate the element
47
50
  target.style.transform = 'translate(' + x + 'px, ' + y + 'px)'
48
-
49
51
  // update the position attributes
50
52
  target.setAttribute('data-x', x)
51
53
  target.setAttribute('data-y', y)
52
54
  // CallBack here
53
- Opal.Atome.$dragCallback(event.pageX, event.pageY,event.rect.left,event.rect.top,self.current_obj, self.proc_meth);
54
-
55
+ self.current_obj.$dragCallback(event.pageX, event.pageY, event.rect.left, event.rect.top, self.current_obj, self.proc_meth);
55
56
  }
56
57
  }
57
58
 
58
59
  }
59
60
 
60
61
  // Usage:
61
- let atomeDrag = new AtomeDrag();
62
- atomeDrag.drag();
62
+ // let atomeDrag = new AtomeDrag();
63
+ // atomeDrag.drag('atome_id', 'options');
64
+
63
65
 
66
+ class Atomeanimation {
64
67
 
65
- class Atomeanimation{
66
68
 
69
+ }
70
+
71
+ // TODO: put in a class
67
72
 
73
+ const atome = {
74
+ jsSchedule: function (years, months, days, hours, minutes, seconds, proc) {
75
+ const now = new Date();
76
+ const formatedDate = new Date(years, months - 1, days, hours, minutes, seconds);
77
+ const diffTime = Math.abs(formatedDate - now);
78
+ setTimeout(function () {
79
+ Opal.Object.$schedule_callback(proc);
80
+ }, diffTime);
81
+ }
68
82
  }