atome 0.4.5.4 → 0.4.7.0

Sign up to get free protection for your applications and to get access to all the features.
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
  }