atome 0.1.00009 → 0.4.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/README.md +74 -6
- data/Rakefile +15 -6
- data/app_builder_helpers/Rakefile +184 -24
- data/documentation/atome.md +14 -0
- data/documentation/database.JPG +0 -0
- data/documentation/framework/apis.md +14 -0
- data/documentation/framework/atome_explained.md +179 -0
- data/documentation/framework/box_content.md +53 -0
- data/documentation/framework/buld_the_gem.md +52 -0
- data/documentation/framework/datas_flows.md +28 -0
- data/documentation/framework/enhance_atome.md +79 -0
- data/documentation/framework/folder_architecture.md +47 -0
- data/documentation/framework/technical/rendering_flow.md +18 -0
- data/documentation/framework/technical/technical_description.md +23 -0
- data/documentation/framework/what_is_it.md +65 -0
- data/documentation/framework/what_it_can_do.md +25 -0
- data/documentation/images/1.png +0 -0
- data/documentation/images/2.png +0 -0
- data/documentation/images/3.png +0 -0
- data/documentation/images/atome.svg +12 -0
- data/documentation/images/list.png +0 -0
- data/documentation/images/logos/cordova.png +0 -0
- data/documentation/images/logos/freebsd.png +0 -0
- data/documentation/images/logos/opal.png +0 -0
- data/documentation/images/logos/puma.png +0 -0
- data/documentation/images/logos/roda.svg +1 -0
- data/documentation/images/logos/ruby.png +0 -0
- data/documentation/images/logos/tauri.png +0 -0
- data/documentation/installation/atome_server.md +184 -0
- data/documentation/tutorials/first_steps.md +148 -0
- data/documentation/tutorials/tutorials.md +15 -0
- data/documentation/tutorials/working_with_atome.md +60 -0
- data/exe/atome +178 -53
- data/lib/atome/atome_native_extensions.rb +5 -0
- data/lib/atome/extensions/helper.rb +112 -0
- data/lib/atome/kernel/atome.rb +99 -0
- data/lib/atome/kernel/generators/generator.rb +517 -0
- data/lib/atome/kernel/generators/genesis.rb +277 -0
- data/lib/atome/kernel/generators/sanitizer.rb +73 -0
- data/lib/atome/kernel/generators/shapes.rb +55 -0
- data/lib/atome/kernel/helpers/geolocation.rb +14 -0
- data/lib/atome/kernel/helpers/internal_methods.rb +173 -0
- data/lib/atome/kernel/helpers/ping.rb +17 -0
- data/lib/atome/kernel/helpers/sha.rb +6 -0
- data/lib/atome/kernel/helpers/utilities.rb +39 -0
- data/lib/atome/kernel/properties/essential.rb +77 -0
- data/lib/atome/kernel/sparkle.rb +38 -0
- data/lib/atome/kernel/universe.rb +37 -0
- data/lib/atome/renderers/headless/properties/generator.rb +1 -0
- data/lib/atome/renderers/opal/atome_opal_extensions.rb +7 -0
- data/lib/atome/renderers/opal/extensions/color.rb +23 -0
- data/lib/atome/renderers/opal/extensions/geolocation.rb +13 -0
- data/lib/atome/renderers/opal/extensions/ping.rb +18 -0
- data/lib/atome/renderers/opal/extensions/sha.rb +12 -0
- data/lib/atome/renderers/opal/opal_browser.rb +2 -1
- data/lib/atome/renderers/opal/opal_parser.rb +1 -0
- data/lib/atome/renderers/opal/properties/generator.rb +1 -0
- data/lib/atome/renderers/renderer.rb +13 -0
- data/lib/atome/renderers/server/properties/generator.rb +9 -0
- data/lib/atome/version.rb +2 -1
- data/lib/atome.rb +46 -2
- data/vendor/assets/Guardfile +4 -0
- data/vendor/assets/Rakefile +3 -0
- data/vendor/assets/application/index.rb +4 -0
- data/vendor/assets/build/css/style.css +25 -8
- data/vendor/assets/build/favicon.ico +0 -0
- data/vendor/assets/build/index.html +15 -4
- data/vendor/assets/build/js/atome/atome.js +82 -0
- data/vendor/assets/build/js/third_parties/fabric.min.js +1 -0
- data/vendor/assets/build/js/third_parties/interact.min.js +2 -3
- data/vendor/assets/build/js/third_parties/ping.min.js +2 -0
- data/vendor/assets/build/js/third_parties/sha256.min.js +9 -0
- data/vendor/assets/build/js/third_parties/three.min.js +6 -0
- data/vendor/assets/build/js/third_parties/w3color.js +646 -0
- data/vendor/assets/build/js/third_parties/zim.min.js +1 -0
- data/vendor/assets/build/medias/audios/audio_missing.wav +0 -0
- data/vendor/assets/build/medias/audios/clap.wav +0 -0
- data/vendor/assets/build/medias/audios/cowbell.wav +0 -0
- data/vendor/assets/build/medias/audios/guitar.wav +0 -0
- data/vendor/assets/build/medias/audios/hihat.wav +0 -0
- data/vendor/assets/build/medias/audios/kick.wav +0 -0
- data/vendor/assets/build/medias/audios/riff.m4a +0 -0
- data/vendor/assets/build/medias/audios/snare.wav +0 -0
- data/vendor/assets/build/medias/audios/tom.wav +0 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/DancingScript-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/OFL.txt +93 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/README.txt +66 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-Bold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-Medium.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-Regular.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-SemiBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Mate_SC/MateSC-Regular.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Mate_SC/OFL.txt +94 -0
- data/vendor/assets/build/medias/fonts/Raleway/OFL.txt +93 -0
- data/vendor/assets/build/medias/fonts/Raleway/README.txt +81 -0
- data/vendor/assets/build/medias/fonts/Raleway/Raleway-Italic-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/Raleway-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Black.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-BlackItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Bold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-BoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraBoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraLight.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraLightItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Italic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Light.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-LightItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Medium.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-MediumItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Regular.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-SemiBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-SemiBoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Thin.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ThinItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/LICENSE.txt +202 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/README.txt +71 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/RobotoSlab-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Black.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Bold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraLight.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Light.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Medium.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Regular.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-SemiBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Thin.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/OFL.txt +93 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/README.txt +75 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/Vollkorn-Italic-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/Vollkorn-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Black.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-BlackItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Bold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-BoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-ExtraBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-ExtraBoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Italic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Medium.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-MediumItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Regular.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-SemiBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-SemiBoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/images/Icon_Help.png +0 -0
- data/vendor/assets/build/medias/images/atome.svg +12 -0
- data/vendor/assets/build/medias/images/avion.jpg +0 -0
- data/vendor/assets/build/medias/images/ballanim.png +0 -0
- data/vendor/assets/build/medias/images/beach.jpg +0 -0
- data/vendor/assets/build/medias/images/blank.png +0 -0
- data/vendor/assets/build/medias/images/boat.png +0 -0
- data/vendor/assets/build/medias/images/cache.svg +10 -0
- data/vendor/assets/build/medias/images/dices.png +0 -0
- data/vendor/assets/build/medias/images/eVe_back.png +0 -0
- data/vendor/assets/build/medias/images/elephant.png +0 -0
- data/vendor/assets/build/medias/images/eyes.jpg +0 -0
- data/vendor/assets/build/medias/images/freebsd.png +0 -0
- data/vendor/assets/build/medias/images/grain_texture.png +0 -0
- data/vendor/assets/build/medias/images/green_planet.png +0 -0
- data/vendor/assets/build/medias/images/image_missing.svg +9 -0
- data/vendor/assets/build/medias/images/jeezs.png +0 -0
- data/vendor/assets/build/medias/images/keyboard.png +0 -0
- data/vendor/assets/build/medias/images/killer.jpg +0 -0
- data/vendor/assets/build/medias/images/living_room.png +0 -0
- data/vendor/assets/build/medias/images/logo.svg +14 -0
- data/vendor/assets/build/medias/images/logos/Facebook.svg +8 -0
- data/vendor/assets/build/medias/images/logos/GitHub Black.svg +7 -0
- data/vendor/assets/build/medias/images/logos/GitHub-Mark.eps +7696 -0
- data/vendor/assets/build/medias/images/logos/GitHub.svg +7 -0
- data/vendor/assets/build/medias/images/logos/TikTok.svg +11 -0
- data/vendor/assets/build/medias/images/logos/Twitter.svg +35 -0
- data/vendor/assets/build/medias/images/logos/YouTube.svg +1 -0
- data/vendor/assets/build/medias/images/logos/apple.svg +4 -0
- data/vendor/assets/build/medias/images/logos/atome.svg +12 -0
- data/vendor/assets/build/medias/images/logos/freebsd.png +0 -0
- data/vendor/assets/build/medias/images/logos/instagram.svg +6 -0
- data/vendor/assets/build/medias/images/logos/tiktok_back.svg +1 -0
- data/vendor/assets/build/medias/images/moto.png +0 -0
- data/vendor/assets/build/medias/images/noise.svg +17 -0
- data/vendor/assets/build/medias/images/piano.png +0 -0
- data/vendor/assets/build/medias/images/poisson.jpg +0 -0
- data/vendor/assets/build/medias/images/red_planet.png +0 -0
- data/vendor/assets/build/medias/images/sky.jpg +0 -0
- data/vendor/assets/build/medias/images/the_mask.svg +8 -0
- data/vendor/assets/build/medias/images/tile.png +0 -0
- data/vendor/assets/build/medias/images/tile_black.png +0 -0
- data/vendor/assets/build/medias/images/tile_white.png +0 -0
- data/vendor/assets/build/medias/javascripts/test.js +1 -0
- data/vendor/assets/build/medias/rubies/examples/!run.rb +16 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/!demos.rb +111 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/action.rb +12 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/add.rb +26 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/alignment.rb +27 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/animation.rb +92 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_as_property.rb +20 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_list.rb +4 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atomiser.rb +17 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/attach_extract.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/authorisation.rb +22 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/batch.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/blend.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/blur.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/border.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/calendar.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/capture.rb +57 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/center.rb +21 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/child.rb +18 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/clear.rb +21 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/clip.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/code.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/code_editor.rb +26 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/collaborate.rb +115 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/convert_to_px.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/copy_paste.rb +35 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/current_code.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/cursor.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/data.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/database.rb +29 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/delete.rb +12 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/display.rb +19 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/disposition.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/double_and_long_touch.rb +23 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drag.rb +61 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drag_and_drop_import.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drop.rb +23 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/duplicate.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/edit.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/eval.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/extract_detach.rb +23 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fill.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/find.rb +37 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fit.rb +44 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fullscreen.rb +28 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/generate.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/gradient.rb +24 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/group.rb +21 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/helper.rb +64 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/history.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/hue.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/input_text.rb +54 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/insert_attach.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/internationalisation.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/key.rb +19 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/keyboard_shortcut.rb +69 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/list_methods.rb +4 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/list_types.rb +4 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/listen.rb +47 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mail.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/map.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mask.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/media_recorder.rb +24 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/media_streaming.rb +41 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/meteo.rb +41 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/methods_chaining.rb +8 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/midi.rb +37 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/monitoring.rb +47 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mulitrendering.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/noise_gradient_texture.rb +26 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/notification.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/object_in_object.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/on_resize.rb +12 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/over.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/overflow.rb +22 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/parameter.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/parent.rb +19 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/particle.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/pay.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/ping.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/play.rb +24 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/play_audio.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/position.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/read_file.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/reboot.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/refresh.rb +17 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/remote_server.rb +31 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/render.rb +17 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/repeat.rb +19 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/require_remote.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/restore_atome.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/resurect.rb +30 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/ruby_version.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/say.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/scale.rb +41 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/schedule.rb +39 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/scroll.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/select.rb +32 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/selector.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/shadow.rb +30 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/shape_with_path.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/size.rb +109 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/smooth.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/speech_renderer.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/synth.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/system.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/tags.rb +18 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text.rb +33 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text_selection.rb +33 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text_to_midi.rb +22 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/touch.rb +23 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/touch_stop_propagation.rb +27 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/treat_object_in_object.rb +26 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/type_mutations.rb +27 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/video_callback.rb +46 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/view_mode.rb +29 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/virtual_events.rb +17 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/visual.rb +23 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/vr_display.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/wait.rb +21 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/web.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/web_address_bar.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/websocket.rb +16 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/webstate.rb +10 -0
- data/vendor/assets/build/{js/atome/kernel.js → medias/rubies/examples/animation.rb} +0 -0
- data/vendor/assets/build/medias/rubies/examples/atome.new.rb +12 -0
- data/vendor/assets/build/medias/rubies/examples/auto_height.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/auto_width.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/bottom.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/box.rb +16 -0
- data/vendor/assets/build/medias/rubies/examples/circle.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/clear.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/code.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/color.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/create_atome_in_atome.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/drag.rb +43 -0
- data/vendor/assets/build/medias/rubies/examples/get_renderer_list.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/grab.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/height.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/image.rb +4 -0
- data/vendor/assets/build/medias/rubies/examples/left.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/link.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/on.rb +16 -0
- data/vendor/assets/build/medias/rubies/examples/parent.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/read.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/repeat.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/right.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/rotate.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/schedule.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/smooth.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/text.rb +18 -0
- data/vendor/assets/build/medias/rubies/examples/top.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/touch.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/video.rb +52 -0
- data/vendor/assets/build/medias/rubies/examples/wait.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/web.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/width.rb +2 -0
- data/vendor/assets/build/medias/rubies/test.rb +1 -0
- data/vendor/assets/build/medias/rubies/text_read.rb +1 -0
- data/vendor/assets/build/medias/rubies/users/code.rb +6 -0
- data/vendor/assets/build/medias/utils/infos/color.rb +29 -0
- data/vendor/assets/build/medias/utils/infos/width.rb +25 -0
- data/vendor/assets/build/medias/videos/avengers.mp4 +0 -0
- data/vendor/assets/build/medias/videos/lion_king.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
- data/vendor/assets/build/medias/videos/video_missing.mp4 +0 -0
- data/vendor/assets/{index.rb → r&d/misc.rb} +54 -1
- data/vendor/assets/r&d/ping.rb +3 -0
- data/vendor/assets/r&d/storage.rb +9 -0
- data/vendor/assets/r&d/view_example.rb +21 -0
- data/vendor/assets/server/atome_server.rb +74 -27
- data/vendor/assets/server/config.ru +2 -14
- metadata +438 -14
- data/lib/atome/kernel/atome_genesis.rb +0 -2
- data/lib/atome/kernel/properties/geometry.rb +0 -2
- data/vendor/assets/build/js/opal/opal_browser.js +0 -0
- data/vendor/assets/build/js/opal/opal_parser.js +0 -0
@@ -0,0 +1,517 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# generators
|
4
|
+
|
5
|
+
Genesis.particle_creator(:html_type)
|
6
|
+
|
7
|
+
Genesis.particle_creator(:html_object)
|
8
|
+
|
9
|
+
Genesis.atome_creator(:shape)
|
10
|
+
|
11
|
+
Genesis.atome_creator(:shadow)
|
12
|
+
# Genesis.atome_creator(:additional)
|
13
|
+
Genesis.atome_creator(:content)
|
14
|
+
|
15
|
+
Genesis.atome_creator(:color)
|
16
|
+
|
17
|
+
Genesis.atome_creator_option(:color_sanitizer_proc) do |params, atome|
|
18
|
+
unless params.instance_of? Hash
|
19
|
+
if RUBY_ENGINE.downcase == 'opal'
|
20
|
+
rgb_color = `d = document.createElement("div");
|
21
|
+
d.style.color = #{params};
|
22
|
+
document.body.appendChild(d)
|
23
|
+
rgb_color=(window.getComputedStyle(d).color);
|
24
|
+
d.remove();
|
25
|
+
`
|
26
|
+
color_converted = { red: 0, green: 0, blue: 0, alpha: 1 }
|
27
|
+
rgb_color.gsub("rgb(", "").gsub(")", "").split(",").each_with_index do |component, index|
|
28
|
+
color_converted[color_converted.keys[index]] = component.to_i / 255
|
29
|
+
end
|
30
|
+
else
|
31
|
+
rgb_color = Color::CSS["red"].css_rgb
|
32
|
+
color_converted = { red: 0, green: 0, blue: 0, alpha: 1 }
|
33
|
+
rgb_color.gsub("rgb(", "").gsub(")", "").gsub("%", "").split(",").each_with_index do |component, index|
|
34
|
+
component = component.to_i / 100
|
35
|
+
color_converted[color_converted.keys[index]] = component
|
36
|
+
end
|
37
|
+
end
|
38
|
+
params = { render: [:html], id: "color_#{atome.id}", type: :color }.merge(color_converted)
|
39
|
+
end
|
40
|
+
params
|
41
|
+
end
|
42
|
+
|
43
|
+
Genesis.atome_creator(:shadow)
|
44
|
+
|
45
|
+
Genesis.atome_creator(:video) do |params, &proc|
|
46
|
+
# todo: factorise code below
|
47
|
+
if params
|
48
|
+
default_renderer = Sanitizer.default_params[:render]
|
49
|
+
generated_id = params[:id] || "video_#{Universe.atomes.length}"
|
50
|
+
generated_render = params[:render] || default_renderer unless params[:render].instance_of? Hash
|
51
|
+
generated_parent = params[:parent] || id
|
52
|
+
default_params = { render: [generated_render], id: generated_id, type: :video, parent: [generated_parent],
|
53
|
+
path: './medias/videos/video_missing.mp4', left: 139, top: 333, width: 199, height: 199 }
|
54
|
+
params = default_params.merge(params)
|
55
|
+
end
|
56
|
+
params
|
57
|
+
end
|
58
|
+
|
59
|
+
# Example below
|
60
|
+
|
61
|
+
# Genesis.atome_creator(:color) do |params|
|
62
|
+
# # puts "extra color code executed!! : #{params}"
|
63
|
+
# end
|
64
|
+
# Genesis.atome_creator_option(:color_pre_save_proc) do |params|
|
65
|
+
# puts "1- optional color_pre_save_proc: #{params}\n"
|
66
|
+
# end
|
67
|
+
#
|
68
|
+
# Genesis.atome_creator_option(:color_post_save_proc) do |params|
|
69
|
+
# puts "2- optional color_post_save_proc: #{params}\n"
|
70
|
+
# end
|
71
|
+
# #
|
72
|
+
# Genesis.atome_creator_option(:left_pre_render_proc) do
|
73
|
+
# puts "3 - optional color_pre_render_proc\n"
|
74
|
+
# end
|
75
|
+
# Genesis.atome_creator_option(:left_post_render_proc) do
|
76
|
+
# puts "4 - optional color_post_render_proc\n"
|
77
|
+
# end
|
78
|
+
#
|
79
|
+
# Genesis.atome_creator_option(:color_post_render_proc) do
|
80
|
+
# # puts "optional color_post_render_proc\n"
|
81
|
+
# end
|
82
|
+
#
|
83
|
+
# Genesis.atome_creator_option(:color_getter_pre_proc) do
|
84
|
+
# # puts "optional color_getter_pre_proc\n"
|
85
|
+
# end
|
86
|
+
|
87
|
+
Genesis.particle_creator(:id)
|
88
|
+
Genesis.particle_creator(:left)
|
89
|
+
Genesis.particle_creator(:right)
|
90
|
+
Genesis.particle_creator(:top)
|
91
|
+
Genesis.particle_creator(:bottom)
|
92
|
+
Genesis.particle_creator(:width)
|
93
|
+
Genesis.particle_creator(:height)
|
94
|
+
Genesis.particle_creator(:red)
|
95
|
+
Genesis.particle_creator(:green)
|
96
|
+
Genesis.particle_creator(:blue)
|
97
|
+
Genesis.particle_creator(:alpha)
|
98
|
+
Genesis.particle_creator(:type)
|
99
|
+
Genesis.particle_creator(:smooth)
|
100
|
+
Genesis.particle_creator(:blur)
|
101
|
+
Genesis.particle_creator(:touch)
|
102
|
+
Genesis.particle_creator(:play)
|
103
|
+
Genesis.particle_creator(:pause)
|
104
|
+
Genesis.particle_creator(:time)
|
105
|
+
|
106
|
+
# Genesis.atome_creator_option(:type_pre_render_proc) do |params|
|
107
|
+
# # "it works and get #{params}"
|
108
|
+
# params[:value]
|
109
|
+
# end
|
110
|
+
|
111
|
+
# important exemple below how to prevent rendering
|
112
|
+
# Genesis.atome_creator_option(:top_render_proc) do |params|
|
113
|
+
# puts "====---> Hurrey no rendering : #{params}"
|
114
|
+
# end
|
115
|
+
|
116
|
+
Genesis.particle_creator(:render)
|
117
|
+
Genesis.particle_creator(:drm)
|
118
|
+
|
119
|
+
Genesis.particle_creator(:child)
|
120
|
+
|
121
|
+
Genesis.particle_creator(:parent) do |parents|
|
122
|
+
parents.each do |parent|
|
123
|
+
#TODO : create a root atome instead of using the condition below
|
124
|
+
if parent != :user_view
|
125
|
+
grab(parent).child << id
|
126
|
+
end
|
127
|
+
end
|
128
|
+
parents
|
129
|
+
end
|
130
|
+
|
131
|
+
Genesis.atome_creator_option(:parent_pre_render_proc) do |params|
|
132
|
+
current_atome = params[:atome]
|
133
|
+
unless params[:value].instance_of? Array
|
134
|
+
params[:value] = [params[:value]]
|
135
|
+
end
|
136
|
+
current_atome.instance_variable_set("@parent", params[:value])
|
137
|
+
end
|
138
|
+
|
139
|
+
Genesis.particle_creator(:date)
|
140
|
+
Genesis.particle_creator(:location)
|
141
|
+
|
142
|
+
Genesis.atome_creator_option(:id_pre_render_proc) do |params|
|
143
|
+
new_id = params[:value]
|
144
|
+
current_atome = params[:atome]
|
145
|
+
old_id = current_atome.id
|
146
|
+
current_atome.instance_variable_set('@id', new_id)
|
147
|
+
# we change id id the atomes hash
|
148
|
+
Universe.change_atome_id(old_id, new_id)
|
149
|
+
current_atome.html_object.id = new_id if current_atome.html_object
|
150
|
+
|
151
|
+
end
|
152
|
+
|
153
|
+
|
154
|
+
# generate renderers
|
155
|
+
|
156
|
+
Genesis.generate_html_renderer(:type) do |value, atome, proc|
|
157
|
+
send("#{value}_html", value, atome, proc)
|
158
|
+
value
|
159
|
+
end
|
160
|
+
|
161
|
+
Genesis.generate_html_renderer(:shape) do |value, atome, proc|
|
162
|
+
id_found = id
|
163
|
+
instance_exec(&proc) if proc.is_a?(Proc)
|
164
|
+
DOM do
|
165
|
+
div(id: id_found).atome
|
166
|
+
end.append_to($document[:user_view])
|
167
|
+
@html_object = $document[id_found]
|
168
|
+
@html_type = :div
|
169
|
+
end
|
170
|
+
|
171
|
+
Genesis.generate_html_renderer(:color) do |value, atome, proc|
|
172
|
+
instance_exec(&proc) if proc.is_a?(Proc)
|
173
|
+
@html_type = :style
|
174
|
+
# we remove previous unused style tag
|
175
|
+
$document[id].remove if $document[id]
|
176
|
+
$document.head << DOM("<style atome='#{type}' id='#{id}'></style>")
|
177
|
+
end
|
178
|
+
|
179
|
+
Genesis.generate_html_renderer(:red) do |value, atome, proc|
|
180
|
+
green_found = green
|
181
|
+
green_found ||= 0
|
182
|
+
blue_found = blue
|
183
|
+
blue_found ||= 0
|
184
|
+
alpha_found = alpha
|
185
|
+
alpha_found ||= 0
|
186
|
+
$document[id].inner_html = "\n.#{id}{background-color: rgba(#{value * 255},#{green_found * 255},#{blue_found * 255},#{alpha_found})}\n"
|
187
|
+
|
188
|
+
end
|
189
|
+
Genesis.generate_html_renderer(:green) do |value, atome, proc|
|
190
|
+
red_found = red
|
191
|
+
red_found ||= 0
|
192
|
+
blue_found = blue
|
193
|
+
blue_found ||= 0
|
194
|
+
alpha_found = alpha
|
195
|
+
alpha_found ||= 0
|
196
|
+
$document[id].inner_html = "\n.#{id}{background-color: rgba(#{red_found * 255},#{value * 255},#{blue_found * 255},#{alpha_found})}\n"
|
197
|
+
|
198
|
+
end
|
199
|
+
|
200
|
+
Genesis.generate_html_renderer(:blue) do |value, atome, proc|
|
201
|
+
red_found = red
|
202
|
+
red_found ||= 0
|
203
|
+
green_found = green
|
204
|
+
green_found ||= 0
|
205
|
+
alpha_found = alpha
|
206
|
+
alpha_found ||= 0
|
207
|
+
$document[id].inner_html = "\n.#{id}{background-color: rgba(#{red_found * 255},#{green_found * 255},#{value * 255},#{alpha_found})}\n"
|
208
|
+
|
209
|
+
end
|
210
|
+
|
211
|
+
Genesis.generate_html_renderer(:alpha) do |value, atome, proc|
|
212
|
+
red_found = red
|
213
|
+
red_found ||= 0
|
214
|
+
green_found = green
|
215
|
+
green_found ||= 0
|
216
|
+
blue_found = blue
|
217
|
+
blue_found ||= 0
|
218
|
+
$document[id].inner_html = "\n.#{id}{background-color: rgba(#{red_found * 255},#{green_found * 255},#{blue_found * 255},#{value})}\n"
|
219
|
+
end
|
220
|
+
|
221
|
+
Genesis.generate_html_renderer(:drm)
|
222
|
+
|
223
|
+
Genesis.generate_html_renderer(:parent) do |values, atome, proc|
|
224
|
+
instance_exec(&proc) if proc.is_a?(Proc)
|
225
|
+
values.each do |value|
|
226
|
+
atome.html_decision(@html_type, value, id)
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
230
|
+
|
231
|
+
|
232
|
+
Genesis.generate_html_renderer(:id) do |value, atome, proc|
|
233
|
+
# send("#{value}_html", value, atome, proc)
|
234
|
+
end
|
235
|
+
|
236
|
+
Genesis.generate_html_renderer(:left) do |value, atome, proc|
|
237
|
+
@html_object.style[:left] = "#{value}px" unless @html_type == :style
|
238
|
+
end
|
239
|
+
|
240
|
+
Genesis.generate_html_renderer(:right) do |value, atome, proc|
|
241
|
+
@html_object.style[:right] = "#{value}px" unless @html_type == :style
|
242
|
+
end
|
243
|
+
|
244
|
+
Genesis.generate_html_renderer(:top) do |value, atome, proc|
|
245
|
+
@html_object.style[:top] = "#{value}px" unless @html_type == :style
|
246
|
+
end
|
247
|
+
|
248
|
+
Genesis.generate_html_renderer(:bottom) do |value, atome, proc|
|
249
|
+
@html_object.style[:bottom] = "#{value}px" unless @html_type == :style
|
250
|
+
end
|
251
|
+
|
252
|
+
Genesis.generate_html_renderer(:width) do |value, atome, proc|
|
253
|
+
@html_object.style[:width] = "#{value}px" unless @html_type == :style
|
254
|
+
end
|
255
|
+
|
256
|
+
Genesis.generate_html_renderer(:height) do |value, atome, proc|
|
257
|
+
@html_object.style[:height] = "#{value}px" unless @html_type == :style
|
258
|
+
end
|
259
|
+
|
260
|
+
Genesis.particle_creator(:rotate)
|
261
|
+
|
262
|
+
Genesis.generate_html_renderer(:rotate) do |value, atome, proc|
|
263
|
+
@html_object.style[:transform] = "rotate(#{value}deg)" unless @html_type == :style
|
264
|
+
end
|
265
|
+
|
266
|
+
Genesis.generate_html_renderer(:smooth) do |value, atome, proc|
|
267
|
+
formated_params = case value
|
268
|
+
when Array
|
269
|
+
properties = []
|
270
|
+
value.each do |param|
|
271
|
+
properties << "#{param}px"
|
272
|
+
end
|
273
|
+
properties.join(' ').to_s
|
274
|
+
when Integer
|
275
|
+
"#{value}px"
|
276
|
+
else
|
277
|
+
value
|
278
|
+
end
|
279
|
+
@html_object.style['border-radius'] = formated_params unless @html_type == :style
|
280
|
+
end
|
281
|
+
|
282
|
+
Genesis.generate_html_renderer(:touch) do |value, atome, proc|
|
283
|
+
@html_object.on :click do |e|
|
284
|
+
instance_exec(&proc) if proc.is_a?(Proc)
|
285
|
+
end
|
286
|
+
end
|
287
|
+
|
288
|
+
Genesis.generate_html_renderer(:video) do |value, atome, proc|
|
289
|
+
id_found = id
|
290
|
+
instance_exec(&proc) if proc.is_a?(Proc)
|
291
|
+
DOM do
|
292
|
+
video({ id: id_found, autoplay: false }).atome
|
293
|
+
end.append_to($document[:user_view])
|
294
|
+
@html_object = $document[id_found]
|
295
|
+
@html_type = :video
|
296
|
+
end
|
297
|
+
|
298
|
+
# overflow
|
299
|
+
Genesis.particle_creator(:overflow)
|
300
|
+
Genesis.generate_html_renderer(:overflow) do |value, atome, proc|
|
301
|
+
@html_object.style[:overflow] = value unless @html_type == :style
|
302
|
+
end
|
303
|
+
|
304
|
+
Genesis.particle_creator(:bloc)
|
305
|
+
|
306
|
+
# image
|
307
|
+
|
308
|
+
Genesis.atome_creator(:image)
|
309
|
+
|
310
|
+
Genesis.generate_html_renderer(:image) do |value, atome, proc|
|
311
|
+
id_found = id
|
312
|
+
instance_exec(&proc) if proc.is_a?(Proc)
|
313
|
+
DOM do
|
314
|
+
img({ id: id_found }).atome
|
315
|
+
end.append_to($document[:user_view])
|
316
|
+
@html_object = $document[id_found]
|
317
|
+
@html_type = :image
|
318
|
+
end
|
319
|
+
|
320
|
+
# text
|
321
|
+
|
322
|
+
Genesis.atome_creator(:text) do |params|
|
323
|
+
# TODO: factorise code below
|
324
|
+
if params
|
325
|
+
default_renderer = Sanitizer.default_params[:render]
|
326
|
+
generated_id = params[:id] || "text_#{Universe.atomes.length}"
|
327
|
+
generated_render = params[:render] || default_renderer unless params[:render].instance_of? Hash
|
328
|
+
generated_parent = params[:parent] || id
|
329
|
+
|
330
|
+
default_params = { render: [generated_render], id: generated_id, type: :text, parent: [generated_parent],
|
331
|
+
visual: { size: 33 }, data: "hello world", left: 39, top: 33,
|
332
|
+
color: { render: [generated_render], id: "color_#{generated_id}", type: :color,
|
333
|
+
red: 0.09, green: 1, blue: 0.12, alpha: 1 }
|
334
|
+
}
|
335
|
+
params = default_params.merge(params)
|
336
|
+
params
|
337
|
+
end
|
338
|
+
# params
|
339
|
+
end
|
340
|
+
Genesis.particle_creator(:string)
|
341
|
+
|
342
|
+
Genesis.particle_creator(:visual)
|
343
|
+
Genesis.generate_html_renderer(:visual) do |value, atome, proc|
|
344
|
+
@html_object.style['font-size'] = "#{value[:size]}px"
|
345
|
+
end
|
346
|
+
|
347
|
+
Genesis.generate_html_renderer(:text) do |value, atome, proc|
|
348
|
+
id_found = id
|
349
|
+
instance_exec(&proc) if proc.is_a?(Proc)
|
350
|
+
DOM do
|
351
|
+
div(id: id_found).atome.text
|
352
|
+
end.append_to($document[:user_view])
|
353
|
+
@html_object = $document[id_found]
|
354
|
+
@html_type = :text
|
355
|
+
end
|
356
|
+
|
357
|
+
# particles method below to allow to retrieve all particles for an atome
|
358
|
+
Genesis.particle_creator(:particles)
|
359
|
+
Genesis.atome_creator_option(:particles_getter_pre_proc) do |params|
|
360
|
+
atome_found = params[:atome]
|
361
|
+
particles_hash = {}
|
362
|
+
atome_found.instance_variables.each do |particle_found|
|
363
|
+
particle_content = atome_found.instance_variable_get(particle_found)
|
364
|
+
particles_hash[particle_found.sub('@', '')] = particle_content
|
365
|
+
end
|
366
|
+
particles_hash
|
367
|
+
end
|
368
|
+
|
369
|
+
# link
|
370
|
+
Genesis.particle_creator(:link)
|
371
|
+
Genesis.atome_creator_option(:link_pre_render_proc) do |params|
|
372
|
+
atome_found = params[:atome]
|
373
|
+
atome_to_link = grab(params[:value])
|
374
|
+
particles_found = atome_to_link.particles
|
375
|
+
atome_type = particles_found.delete(:type)
|
376
|
+
sanitized_particles = {}
|
377
|
+
particles_found.each do |particle_name, value|
|
378
|
+
particle_name = particle_name.gsub('@', '')
|
379
|
+
sanitized_particles[particle_name] = value
|
380
|
+
end
|
381
|
+
sanitized_particles[:parent] = [atome_found.id]
|
382
|
+
atome_found.send(atome_type, sanitized_particles)
|
383
|
+
params[:value]
|
384
|
+
end
|
385
|
+
Genesis.atome_creator(:web)
|
386
|
+
Genesis.particle_creator(:path)
|
387
|
+
Genesis.generate_html_renderer(:path) do |value, atome, proc|
|
388
|
+
@html_object[:src] = value
|
389
|
+
end
|
390
|
+
|
391
|
+
Genesis.generate_html_renderer(:web) do |value, atome, proc|
|
392
|
+
id_found = id
|
393
|
+
instance_exec(&proc) if proc.is_a?(Proc)
|
394
|
+
DOM do
|
395
|
+
iframe({ id: id_found }).atome
|
396
|
+
end.append_to($document[:user_view])
|
397
|
+
@html_object = $document[id_found]
|
398
|
+
@html_object.attributes[:allow] = 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture'
|
399
|
+
@html_object.attributes[:allowfullscreen] = true
|
400
|
+
@html_type = :web
|
401
|
+
end
|
402
|
+
|
403
|
+
Genesis.particle_creator(:data)
|
404
|
+
|
405
|
+
Genesis.generate_html_renderer(:data) do |value, atome, proc|
|
406
|
+
# TODO: create a method for each type
|
407
|
+
send("#{type}_data", value)
|
408
|
+
end
|
409
|
+
|
410
|
+
Genesis.particle_creator(:code)
|
411
|
+
Genesis.atome_creator_option(:code_pre_render_proc) do |params|
|
412
|
+
def get_binding
|
413
|
+
binding
|
414
|
+
end
|
415
|
+
|
416
|
+
str = params[:value][:code]
|
417
|
+
eval str, get_binding, __FILE__, __LINE__
|
418
|
+
params[:value]
|
419
|
+
end
|
420
|
+
Genesis.particle_creator(:on)
|
421
|
+
|
422
|
+
Genesis.generate_html_renderer(:on) do |value, atome, proc|
|
423
|
+
@html_object.on(value) do |e|
|
424
|
+
instance_exec(e, &proc) if proc.is_a?(Proc)
|
425
|
+
end
|
426
|
+
end
|
427
|
+
|
428
|
+
Genesis.atome_creator_option(:shape_post_save_proc) do |params|
|
429
|
+
current_atome = params[:atome]
|
430
|
+
#FIXME: look why we have to look in [:value][:value] this looks suspect
|
431
|
+
bloc_found = params[:value][:value][:bloc]
|
432
|
+
current_atome.instance_exec(params, &bloc_found) if bloc_found.is_a?(Proc)
|
433
|
+
params
|
434
|
+
end
|
435
|
+
|
436
|
+
Genesis.atome_creator_option(:text_post_save_proc) do |params|
|
437
|
+
current_atome = params[:atome]
|
438
|
+
#FIXME: look why we have to look in [:value][:value] this looks suspect
|
439
|
+
bloc_found = params[:value][:value][:bloc]
|
440
|
+
current_atome.instance_exec(params, &bloc_found) if bloc_found.is_a?(Proc)
|
441
|
+
params
|
442
|
+
end
|
443
|
+
|
444
|
+
Genesis.atome_creator_option(:play_pre_render_proc) do |params|
|
445
|
+
params[:atome].send("play_#{params[:atome].type}", params)
|
446
|
+
end
|
447
|
+
|
448
|
+
Genesis.atome_creator_option(:pause_pre_render_proc) do |params|
|
449
|
+
params[:atome].send("pause_#{params[:atome].type}", params)
|
450
|
+
proc_found = params[:proc]
|
451
|
+
params[:atome].instance_exec('::call back from pause render', &proc_found) if proc_found.is_a?(Proc)
|
452
|
+
end
|
453
|
+
|
454
|
+
Genesis.generate_html_renderer(:time) do |value, atome, proc|
|
455
|
+
# params[:atome].html_object.currentTime= 33
|
456
|
+
@html_object.currentTime = value
|
457
|
+
end
|
458
|
+
|
459
|
+
#drag
|
460
|
+
Genesis.generate_html_renderer(:drag) do |value, atome, proc|
|
461
|
+
alert ("this is very strange that I had a style tag please check")
|
462
|
+
instance_exec(&proc) if proc.is_a?(Proc)
|
463
|
+
@html_type = :style
|
464
|
+
$document.head << DOM("<style atome='#{type}' id='#{id}'></style>")
|
465
|
+
end
|
466
|
+
Genesis.particle_creator(:lock)
|
467
|
+
Genesis.particle_creator(:target)
|
468
|
+
Genesis.atome_creator(:drag) do |params|
|
469
|
+
# TODO: factorise code below
|
470
|
+
if params
|
471
|
+
default_renderer = Sanitizer.default_params[:render]
|
472
|
+
generated_id = params[:id] || "drag_#{Universe.atomes.length}"
|
473
|
+
generated_render = params[:render] || default_renderer unless params[:render].instance_of? Hash
|
474
|
+
generated_parent = params[:parent] || id
|
475
|
+
default_params = { render: [generated_render], id: generated_id, type: :drag, parent: [generated_parent], target: [generated_parent]
|
476
|
+
}
|
477
|
+
params = default_params.merge(params)
|
478
|
+
params
|
479
|
+
end
|
480
|
+
params
|
481
|
+
end
|
482
|
+
Genesis.particle_creator(:remove)
|
483
|
+
Genesis.particle_creator(:fixed)
|
484
|
+
Genesis.particle_creator(:max)
|
485
|
+
Genesis.particle_creator(:inside)
|
486
|
+
Genesis.atome_creator_option(:remove_pre_render_proc) do |params|
|
487
|
+
type_found = params[:atome].type
|
488
|
+
current_atome = params[:atome]
|
489
|
+
particle_to_remove = params[:value]
|
490
|
+
current_atome.send("#{type_found}_remove_#{particle_to_remove}", current_atome)
|
491
|
+
end
|
492
|
+
Genesis.atome_creator_option(:max_pre_render_proc) do |params|
|
493
|
+
current_atome = params[:atome]
|
494
|
+
current_atome.constraint_helper(params, current_atome, :max)
|
495
|
+
end
|
496
|
+
Genesis.atome_creator_option(:inside_pre_render_proc) do |params|
|
497
|
+
current_atome = params[:atome]
|
498
|
+
params[:value] = grab(params[:value]).html_object
|
499
|
+
current_atome.constraint_helper(params, current_atome, :max)
|
500
|
+
end
|
501
|
+
Genesis.atome_creator_option(:lock_pre_render_proc) do |params|
|
502
|
+
current_atome = params[:atome]
|
503
|
+
current_atome.constraint_helper(params, current_atome, :lock)
|
504
|
+
end
|
505
|
+
Genesis.atome_creator_option(:fixed_pre_render_proc) do |params|
|
506
|
+
current_atome = params[:atome]
|
507
|
+
current_atome.constraint_helper(params, current_atome, :fixed)
|
508
|
+
end
|
509
|
+
Genesis.generate_html_renderer(:target) do |targets, atome, proc|
|
510
|
+
targets.each do |value|
|
511
|
+
atome_found = grab(value)
|
512
|
+
# we get the id of the drag and ad add it as a html class to all children so they become draggable
|
513
|
+
atome_found.html_object.add_class(id)
|
514
|
+
end
|
515
|
+
html_drag_helper(atome, {})
|
516
|
+
end
|
517
|
+
|