Commit 890e9322f10cf6165c5ee876f6349596035456c7
1 parent
bbef3f33
Exists in
master
and in
2 other branches
Proper videojs initialization
Showing
12 changed files
with
51 additions
and
28 deletions
Show diff stats
app/assets/stylesheets/components/video_player.css.scss
| @@ -15,8 +15,12 @@ | @@ -15,8 +15,12 @@ | ||
| 15 | 15 | ||
| 16 | .video-vlibras { | 16 | .video-vlibras { |
| 17 | max-width: 50%; | 17 | max-width: 50%; |
| 18 | + margin: auto; | ||
| 18 | } | 19 | } |
| 19 | 20 | ||
| 20 | -.video-js { | ||
| 21 | - width: 100%; | 21 | +.video-js { padding-top: 56.25% } |
| 22 | +.vjs-fullscreen { padding-top: 0px } | ||
| 23 | + | ||
| 24 | +#vlibras-wizard { | ||
| 25 | + .video-js { padding-top: 0px !important; } | ||
| 22 | } | 26 | } |
| 23 | \ No newline at end of file | 27 | \ No newline at end of file |
app/helpers/application_helper.rb
| @@ -46,11 +46,14 @@ module ApplicationHelper | @@ -46,11 +46,14 @@ module ApplicationHelper | ||
| 46 | :data => { 'toggle' => "tooltip" }, :title => request.response) | 46 | :data => { 'toggle' => "tooltip" }, :title => request.response) |
| 47 | end | 47 | end |
| 48 | 48 | ||
| 49 | - def html5_video_tag(url, id, classes = nil, *args) | 49 | + def html5_video_tag(url, id, classes, data_options, *args) |
| 50 | options = args.first || {} | 50 | options = args.first || {} |
| 51 | 51 | ||
| 52 | options[:id] = id | 52 | options[:id] = id |
| 53 | options[:class] = "video-js vjs-default-skin vjs-big-play-centered #{classes}" | 53 | options[:class] = "video-js vjs-default-skin vjs-big-play-centered #{classes}" |
| 54 | + options[:width] = 'auto' | ||
| 55 | + options[:height] = 'auto' | ||
| 56 | + options['data-setup'] = data_options | ||
| 54 | 57 | ||
| 55 | content_tag(:video, options) do | 58 | content_tag(:video, options) do |
| 56 | if url.class == String | 59 | if url.class == String |
| @@ -70,4 +73,14 @@ module ApplicationHelper | @@ -70,4 +73,14 @@ module ApplicationHelper | ||
| 70 | 'video/mp4' | 73 | 'video/mp4' |
| 71 | end | 74 | end |
| 72 | 75 | ||
| 76 | + def include_videojs_assets | ||
| 77 | + content_for(:css) do | ||
| 78 | + stylesheet_link_tag "//vjs.zencdn.net/4.6/video-js.css" | ||
| 79 | + end | ||
| 80 | + | ||
| 81 | + content_for(:js) do | ||
| 82 | + javascript_include_tag "//vjs.zencdn.net/4.6/video.js" | ||
| 83 | + end | ||
| 84 | + end | ||
| 85 | + | ||
| 73 | end | 86 | end |
app/views/devise/sessions/new.html.haml
| 1 | += include_videojs_assets | ||
| 2 | + | ||
| 1 | .row-fluid | 3 | .row-fluid |
| 2 | .span7 | 4 | .span7 |
| 3 | - = html5_video_tag(['/system/videos/login.webm', '/system/videos/login.mp4'], 'login', 'video-instructions', | ||
| 4 | - :autoplay => 'autoplay', :loop => 'loop') | 5 | + = html5_video_tag(['/system/videos/login.webm', '/system/videos/login.mp4'], |
| 6 | + 'login-video', 'video-instructions', '{ "autoplay": true }') | ||
| 5 | 7 | ||
| 6 | .span4.offset1.login | 8 | .span4.offset1.login |
| 7 | %h2 Entrar | 9 | %h2 Entrar |
app/views/layouts/application.html.erb
| @@ -8,11 +8,10 @@ | @@ -8,11 +8,10 @@ | ||
| 8 | <%= yield :javascript_code %> | 8 | <%= yield :javascript_code %> |
| 9 | 9 | ||
| 10 | <%= yield :css %> | 10 | <%= yield :css %> |
| 11 | - <%= stylesheet_link_tag "application", :media => "all" %> | 11 | + <%= stylesheet_link_tag "application", :media => "all" %> |
| 12 | 12 | ||
| 13 | <%= yield :css_code %> | 13 | <%= yield :css_code %> |
| 14 | 14 | ||
| 15 | - | ||
| 16 | <%= csrf_meta_tags %> | 15 | <%= csrf_meta_tags %> |
| 17 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 16 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 18 | 17 | ||
| @@ -47,9 +46,8 @@ | @@ -47,9 +46,8 @@ | ||
| 47 | </footer> | 46 | </footer> |
| 48 | </div> | 47 | </div> |
| 49 | 48 | ||
| 50 | -<link href="//vjs.zencdn.net/4.6/video-js.css" rel="stylesheet"> | ||
| 51 | -<script src="//vjs.zencdn.net/4.6/video.js"></script> | ||
| 52 | 49 | ||
| 50 | +<%= yield :bottom %> | ||
| 53 | 51 | ||
| 54 | </body> | 52 | </body> |
| 55 | </html> | 53 | </html> |
app/views/static/home.haml
| 1 | += include_videojs_assets | ||
| 2 | + | ||
| 1 | .breadcrumb | 3 | .breadcrumb |
| 2 | %h1 Menu | 4 | %h1 Menu |
| 3 | 5 | ||
| 4 | .hero-unit | 6 | .hero-unit |
| 5 | .row-fluid | 7 | .row-fluid |
| 6 | .span4 | 8 | .span4 |
| 7 | - = html5_video_tag(['/system/videos/vlibras.webm', '/system/videos/vlibras.mp4'], 'video-vlibras', 'video-instructions', | ||
| 8 | - :autoplay => 'autoplay', :loop => 'loop') | 9 | + = html5_video_tag(['/system/videos/vlibras.webm', '/system/videos/vlibras.mp4'], |
| 10 | + 'vlibras-video', 'video-instructions', '{ "autoplay": true, "loop": true }') | ||
| 9 | 11 | ||
| 10 | %br/ | 12 | %br/ |
| 11 | %h2= link_to "V-LIBRAS", new_v_libras_request_path | 13 | %h2= link_to "V-LIBRAS", new_v_libras_request_path |
app/views/v_libras/requests/_position_step.haml
| 1 | #position-step.wrapper | 1 | #position-step.wrapper |
| 2 | .video_wrapper | 2 | .video_wrapper |
| 3 | 3 | ||
| 4 | - = html5_video_tag(['/system/videos/workflow/localizacao.webm', '/system/videos/workflow/localizacao.mp4'], 'id-4', 'video-wizard') | 4 | + = html5_video_tag(['/system/videos/workflow/localizacao.webm', '/system/videos/workflow/localizacao.mp4'], |
| 5 | + 'id-4', 'video-wizard', '{ "preload": true, "controls": false }') | ||
| 5 | 6 | ||
| 6 | - content_for :javascript_code do | 7 | - content_for :javascript_code do |
| 7 | :javascript | 8 | :javascript |
| @@ -21,6 +22,4 @@ | @@ -21,6 +22,4 @@ | ||
| 21 | 22 | ||
| 22 | var VLibrasPosition = new VLibrasLocalization(); | 23 | var VLibrasPosition = new VLibrasLocalization(); |
| 23 | VLibrasPosition.init("#position-step", optionsPosition); | 24 | VLibrasPosition.init("#position-step", optionsPosition); |
| 24 | - | ||
| 25 | - videojs("id-4", { "controls": false, "autoplay": false, "preload": "true", "width": 940, "height": 530 }); | ||
| 26 | }); | 25 | }); |
| 27 | \ No newline at end of file | 26 | \ No newline at end of file |
app/views/v_libras/requests/_service_step.haml
| 1 | #service-step.wrapper | 1 | #service-step.wrapper |
| 2 | .video_wrapper | 2 | .video_wrapper |
| 3 | 3 | ||
| 4 | - = html5_video_tag(['/system/videos/workflow/sub_audio.webm', '/system/videos/workflow/sub_audio.mp4'], 'id-2', 'video-wizard') | 4 | + = html5_video_tag(['/system/videos/workflow/sub_audio.webm', '/system/videos/workflow/sub_audio.mp4'], |
| 5 | + 'id-2', 'video-wizard', '{ "preload": true, "controls": false }') | ||
| 5 | 6 | ||
| 6 | .row-fluid.hide | 7 | .row-fluid.hide |
| 7 | .span1.offset3 | 8 | .span1.offset3 |
| @@ -25,7 +26,5 @@ | @@ -25,7 +26,5 @@ | ||
| 25 | 26 | ||
| 26 | var VLibrasSubAudio = new VLibrasLocalization(); | 27 | var VLibrasSubAudio = new VLibrasLocalization(); |
| 27 | VLibrasSubAudio.init("#service-step", optionsService); | 28 | VLibrasSubAudio.init("#service-step", optionsService); |
| 28 | - | ||
| 29 | - videojs("id-2", { "controls": false, "autoplay": false, "preload": "true", "width": 940, "height": 530 }); | ||
| 30 | }); | 29 | }); |
| 31 | 30 |
app/views/v_libras/requests/_size_step.haml
| 1 | #size-step.wrapper | 1 | #size-step.wrapper |
| 2 | .video_wrapper | 2 | .video_wrapper |
| 3 | 3 | ||
| 4 | - = html5_video_tag(['/system/videos/workflow/tamanho.webm', '/system/videos/workflow/tamanho.mp4'], 'id-3', 'video-wizard') | 4 | + = html5_video_tag(['/system/videos/workflow/tamanho.webm', '/system/videos/workflow/tamanho.mp4'], |
| 5 | + 'id-3', 'video-wizard', '{ "preload": true, "controls": false }') | ||
| 5 | 6 | ||
| 6 | 7 | ||
| 7 | - content_for :javascript_code do | 8 | - content_for :javascript_code do |
| @@ -20,7 +21,5 @@ | @@ -20,7 +21,5 @@ | ||
| 20 | 21 | ||
| 21 | var VLibrasSize = new VLibrasLocalization(); | 22 | var VLibrasSize = new VLibrasLocalization(); |
| 22 | VLibrasSize.init("#size-step", optionsSize); | 23 | VLibrasSize.init("#size-step", optionsSize); |
| 23 | - | ||
| 24 | - videojs("id-3", { "controls": false, "autoplay": false, "preload": "true", "width": 940, "height": 530 }); | ||
| 25 | }); | 24 | }); |
| 26 | 25 |
app/views/v_libras/requests/_video_step.haml
| 1 | #video-step.wrapper | 1 | #video-step.wrapper |
| 2 | - = html5_video_tag(['/system/videos/workflow/sub_audio.webm', '/system/videos/workflow/sub_audio.mp4'], 'id-1', 'video-wizard') | 2 | + = html5_video_tag(['/system/videos/workflow/sub_audio.webm', '/system/videos/workflow/sub_audio.mp4'], |
| 3 | + 'id-1', 'video-wizard', '{ "autoplay": true, "controls": false }') | ||
| 3 | 4 | ||
| 4 | .row-fluid | 5 | .row-fluid |
| 5 | .span1.offset3 | 6 | .span1.offset3 |
| @@ -19,6 +20,4 @@ | @@ -19,6 +20,4 @@ | ||
| 19 | 20 | ||
| 20 | var VLibrasVideo = new VLibrasLocalization(); | 21 | var VLibrasVideo = new VLibrasLocalization(); |
| 21 | VLibrasVideo.init("#video-step", optionsVideo); | 22 | VLibrasVideo.init("#video-step", optionsVideo); |
| 22 | - | ||
| 23 | - videojs("id-1", { "controls": false, "autoplay": true, "preload": "true", "width": 940, "height": 530 }); | ||
| 24 | }) | 23 | }) |
| 25 | \ No newline at end of file | 24 | \ No newline at end of file |
app/views/v_libras/requests/new.haml
app/views/v_libras/videos/index.haml
| 1 | += include_videojs_assets | ||
| 2 | + | ||
| 1 | - content_for :js do | 3 | - content_for :js do |
| 2 | = javascript_include_tag "v_libras/videos/index" | 4 | = javascript_include_tag "v_libras/videos/index" |
| 3 | 5 | ||
| @@ -51,14 +53,14 @@ | @@ -51,14 +53,14 @@ | ||
| 51 | %button.close{"aria-hidden" => "true", "data-dismiss" => "modal", type: "button"} × | 53 | %button.close{"aria-hidden" => "true", "data-dismiss" => "modal", type: "button"} × |
| 52 | %h3 Aguarde... | 54 | %h3 Aguarde... |
| 53 | .modal-body | 55 | .modal-body |
| 54 | - = html5_video_tag(['/system/videos/aguarde.webm', '/system/videos/aguarde.mp4'], 'video-wait', 'video-instructions auto-margin') | 56 | + = html5_video_tag(['/system/videos/aguarde.webm', '/system/videos/aguarde.mp4'], 'video-wait', 'video-instructions auto-margin', |
| 57 | + '{ "preload": true, "controls": false, "autoplay": true }') | ||
| 58 | + | ||
| 55 | .modal-footer | 59 | .modal-footer |
| 56 | %a.btn{"aria-hidden" => "true", "data-dismiss" => "modal", href: "#"} Fechar | 60 | %a.btn{"aria-hidden" => "true", "data-dismiss" => "modal", href: "#"} Fechar |
| 57 | 61 | ||
| 58 | - content_for :javascript_code do | 62 | - content_for :javascript_code do |
| 59 | :javascript | 63 | :javascript |
| 60 | $(function () { | 64 | $(function () { |
| 61 | - videojs("video-wait", { "controls": false, "autoplay": true, "preload": "true", "width": "400px", "height": "300px" }); | ||
| 62 | - | ||
| 63 | $('#modal-wait').modal(); | 65 | $('#modal-wait').modal(); |
| 64 | }) | 66 | }) |
| 65 | \ No newline at end of file | 67 | \ No newline at end of file |
app/views/v_libras/videos/show.haml
| 1 | += include_videojs_assets | ||
| 2 | + | ||
| 1 | .breadcrumb | 3 | .breadcrumb |
| 2 | %h3= "Vídeo #{@video.request.video_filename}" | 4 | %h3= "Vídeo #{@video.request.video_filename}" |
| 3 | 5 | ||
| 4 | .row-fluid | 6 | .row-fluid |
| 5 | - .span12.text-center.well | ||
| 6 | - = html5_video_tag(@video.url_mp4, 'video-vlibras', 'video-vlibras', :autoplay => 'autoplay', :controls => 'controls') | ||
| 7 | \ No newline at end of file | 7 | \ No newline at end of file |
| 8 | + .span12.well | ||
| 9 | + .video-vlibras.text-center | ||
| 10 | + = html5_video_tag(@video.url_mp4, | ||
| 11 | + 'video-vlibras', '', '{ "controls": true, "autoplay": false }') | ||
| 8 | \ No newline at end of file | 12 | \ No newline at end of file |