Commit 293d91acd1578c95f352d373907846f51cac1dcb

Authored by Fernando Brito
1 parent a376db6e
Exists in master and in 2 other branches v2, wikilibras

Menu. Javascript for workflow

app/assets/javascripts/v_libras/requests/new.js
... ... @@ -36,6 +36,8 @@ $(function () {
36 36  
37 37 function finished(event, currentIndex) {
38 38 $("#vlibras-form").submit();
  39 + $("#btn-next").text("Enviando...");
  40 + deactivateNextButton();
39 41 }
40 42  
41 43 function stepValidation(event, currentIndex, newIndex) {
... ... @@ -62,17 +64,36 @@ $(function () {
62 64 $("#btn-next").prop('disabled', true);
63 65 }
64 66  
  67 + $(".btn-window-position").click(function() {
  68 + $("#vlibras-form").addHidden('params[posicao]', $(this).data("value"));
  69 + $("#vlibras-form").addHidden('params[transparencia]', 'opaco');
  70 + activateNextButton();
  71 +
  72 + return false;
  73 + });
  74 +
  75 + $(".btn-window-size").click(function() {
  76 + $("#vlibras-form").addHidden('params[tamanho]', $(this).data("value"));
  77 + activateNextButton();
  78 +
  79 + return false;
  80 + });
  81 +
65 82  
66 83  
67 84 /*
68 85 * Validates video and subtitle extension and activate the next button
69 86 */
70   - $("#vlibras-wizard #subtitle-upload").change(function() {
  87 + $("#vlibras-form #subtitle-upload").change(function() {
  88 + $("#vlibras-form").addHidden('service', 'video-legenda');
  89 +
71 90 var acceptedFileTypes = ["srt"];
72 91 validateFileWizard($(this), acceptedFileTypes);
73 92 });
74 93  
75   - $("#vlibras-wizard #video-upload").change(function() {
  94 + $("#vlibras-form #video-upload").change(function() {
  95 + $("#vlibras-form").addHidden('service', 'video');
  96 +
76 97 var acceptedFileTypes = ["flv", "ts", "avi", "mp4", "mov", "webm", "wmv", "mkv"];
77 98 validateFileWizard($(this), acceptedFileTypes);
78 99 });
... ...
app/assets/javascripts/v_libras/requests/shared.js
... ... @@ -10,4 +10,13 @@ function checkType(file, acceptedFileTypes) {
10 10 }
11 11  
12 12 return isValidFile;
13   -}
14 13 \ No newline at end of file
  14 +}
  15 +
  16 +// This must be applied to a form (or an object inside a form).
  17 +// http://stackoverflow.com/questions/2530635/jquery-add-additional-parameters-on-submit-not-ajax
  18 +jQuery.fn.addHidden = function (name, value) {
  19 + return this.each(function () {
  20 + var input = $("<input>").attr("type", "hidden").attr("name", name).val(value);
  21 + $(this).append($(input));
  22 + });
  23 +};
15 24 \ No newline at end of file
... ...
app/assets/stylesheets/components/ribbon.css.scss
  1 +$ribbonUpperColor: #2A632B;
  2 +$ribbonBottomColor: #6D972D;
  3 +
1 4 .ribbon-wrapper-green {
2 5 margin: 10px auto;
3   - width: 200px;
  6 + width: 205px;
4 7 height: 165px;
5 8 overflow: hidden;
6 9 top: -3px;
... ... @@ -10,7 +13,7 @@
10 13 }
11 14  
12 15 .ribbon-content img {
13   - border-radius: 3px;
  16 + border-radius: 30px;
14 17 -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
15 18 -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
16 19 box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
... ... @@ -21,25 +24,25 @@
21 24  
22 25 .ribbon-green {
23 26 font: bold 15px Sans-Serif;
24   - color: #333;
  27 + color: #fff;
25 28 text-align: center;
26   - text-shadow: rgba(255,255,255,0.5) 0px 1px 0px;
  29 + text-shadow: rgba(0, 0, 0, 1) 0px 1px 0px;
27 30 -webkit-transform: rotate(45deg);
28 31 -moz-transform: rotate(45deg);
29 32 -ms-transform: rotate(45deg);
30 33 -o-transform: rotate(45deg);
31 34 position: relative;
32 35 padding: 5px 0;
33   - left: 118px;
34   - bottom: 150px;
  36 + left: 122px;
  37 + bottom: 148px;
35 38 width: 110px;
  39 +
36 40 background-color: #BFDC7A;
37   - background-image: -webkit-gradient(linear, left top, left bottom, from(#BFDC7A), to(#8EBF45));
38   - background-image: -webkit-linear-gradient(top, #BFDC7A, #8EBF45);
39   - background-image: -moz-linear-gradient(top, #BFDC7A, #8EBF45);
40   - background-image: -ms-linear-gradient(top, #BFDC7A, #8EBF45);
41   - background-image: -o-linear-gradient(top, #BFDC7A, #8EBF45);
42   - color: #6a6340;
  41 + background-image: -webkit-gradient(linear, left top, left bottom, from($ribbonUpperColor), to($ribbonBottomColor));
  42 + background-image: -webkit-linear-gradient(top, $ribbonUpperColor, $ribbonBottomColor);
  43 + background-image: -moz-linear-gradient(top, $ribbonUpperColor, $ribbonBottomColor);
  44 + background-image: -ms-linear-gradient(top, $ribbonUpperColor, $ribbonBottomColor);
  45 + background-image: -o-linear-gradient(top, $ribbonUpperColor, $ribbonBottomColor);
43 46 -webkit-box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
44 47 -moz-box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
45 48 box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
... ...
app/controllers/v_libras/requests_controller.rb
1 1 class VLibras::RequestsController < ApplicationController
2   - before_filter :check_vlibras_api_status, :only => [ :rapid, :create ]
3   -
4 2 protect_from_forgery with: :null_session, :only => [ :callback ]
  3 +
5 4 before_filter :authenticate_user!, :except => [ :callback ]
  5 + before_filter :check_vlibras_api_status, :except => [ :callback ]
6 6  
7 7 def rapid
8 8 @request = VLibras::Request.new
... ... @@ -25,6 +25,7 @@ class VLibras::RequestsController &lt; ApplicationController
25 25 flash[:error] = 'Algo deu errado com a sua requisição. Por favor verifique opções escolhidas.'
26 26 flash[:warning] = @request.errors.full_messages.to_sentence.humanize
27 27  
  28 + # Warning: this code is also present on #perform_request, if the request is successfully done
28 29 @request.files.values.each { |f| f.file.delete }
29 30  
30 31 redirect_to :back
... ...
app/models/v_libras/request.rb
... ... @@ -67,6 +67,7 @@ class VLibras::Request &lt; ActiveRecord::Base
67 67  
68 68 ApiClient::Client.submit(self, files)
69 69  
  70 + # Warning: this code is also present on the controller, if there is an error
70 71 files.values.each { |f| f.file.delete }
71 72  
72 73 logger.debug '[VLibras::Request] Request done'
... ...
app/views/devise/sessions/new.html.haml
1 1 .row-fluid
2   - .span5.offset1
3   - = html5_video_tag('/video.mp4', 'login', 'video-instructions', :autoplay => 'autoplay')
  2 + .span7
  3 + = html5_video_tag('/system/videos/login.mp4', 'login', 'video-instructions', :autoplay => 'autoplay')
4 4  
5 5 .span4.offset1.login
6 6 %h2 Entrar
... ...
app/views/static/home.haml
1 1 .breadcrumb
2   - %h1 Menu
3 2 \ No newline at end of file
  3 + %h1 Menu
  4 +
  5 +.hero-unit
  6 + .row-fluid
  7 + .span4
  8 + = html5_video_tag('/system/videos/vlibras.mp4', 'video-vlibras', 'video-instructions', :autoplay => 'autoplay')
  9 + %br/
  10 + %h2= link_to "V-LIBRAS", new_v_libras_request_path
  11 + %p Coloque o seu vídeo e torne-o acessível.
  12 +
  13 + .span4.hidden
  14 + = html5_video_tag('/system/videos/wikilibras.mp4', 'video-wikilibras', 'video-instructions')
  15 + %br/
  16 + %h2= link_to "WIKILIBRAS", '#'
  17 + %p Contribua com sinais de LIBRAS para o nosso banco de dados.
  18 +
  19 + .span4.hidden
  20 + = html5_video_tag('/system/videos/slibras.mp4', 'video-slibras', 'video-instructions')
  21 + %br/
  22 + %h2= link_to "S-LIBRAS", '#'
  23 + %p Edite a legenda dos vídeos já acessíveis
4 24 \ No newline at end of file
... ...
app/views/v_libras/requests/new.haml
... ... @@ -32,15 +32,21 @@
32 32  
33 33 .span4
34 34 = file_field_tag 'subtitle', :id => 'subtitle-upload'
  35 +
35 36 %h2 Posição
36 37 %section
37 38 %p
38   - asd
  39 + = button_tag 'Superior Esquerdo', :class => 'btn btn-large btn-window-position', :data => { :value => 'superior-esquerdo' }
  40 + = button_tag 'Superior Direito', :class => 'btn btn-large btn-window-position', :data => { :value => 'superior-direito' }
  41 + = button_tag 'Inferior Direito', :class => 'btn btn-large btn-window-position', :data => { :value => 'inferior-direito' }
  42 + = button_tag 'Inferior Esquerdo', :class => 'btn btn-large btn-window-position', :data => { :value => 'inferior-esquerdo' }
39 43  
40 44 %h2 Tamanho
41 45 %section
42 46 %p
43   - botão de
  47 + = button_tag 'Pequeno', :class => 'btn btn-large btn-window-size', :data => { :value => 'pequeno' }
  48 + = button_tag 'Médio', :class => 'btn btn-large btn-window-size', :data => { :value => 'medio' }
  49 + = button_tag 'Grande', :class => 'btn btn-large btn-window-size', :data => { :value => 'grande' }
44 50  
45 51 #menu.center
46 52 = button_tag 'Próximo', :class => "btn btn-large btn-success", :id => 'btn-next', :disabled => true
... ...