rapid.js
3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/*
* jquery-File-Upload
*/
$(function() {
var videoFile;
var subtitleFile;
function uploadFiles() {
if (subtitleFile == null) {
files = [videoFile];
params = ['video'];
} else {
files = [videoFile, subtitleFile];
params = ['video', 'subtitle'];
}
$('#vlibras-rapid-form').fileupload('send',
{ files: files,
paramName: params });
}
$('#vlibras-rapid-form').fileupload({
autoUpload: false,
singleFileUploads: false,
limitConcurrentUploads: 1,
always: function(e, data) {
location.href = data.jqXHR.responseJSON.redirect_to;
},
add: function(e, data) {
if (data.fileInput[0].name === 'video') {
videoFile = data.files[0];
} else if (data.fileInput[0].name === 'subtitle') {
subtitleFile = data.files[0];
};
$("#submit-button").unbind('click').on('click', function(event) {
$(".field").hide();
$(".progress").show();
$("#submit-button").hide();
$("#vlibras-rapid h2").text("Enviando...");
uploadFiles();
event.preventDefault();
});
}
});
$("#vlibras-rapid-form").bind("fileuploadprogress", function (e, data) {
var percentage = Math.round(data.loaded / data.total * 100);
var bitrate = Math.round(data.bitrate / 8 / 1024 * 100) / 100 + " KB/s";
$("#upload-bar").css("width", percentage + "%");
$("#upload-label").text(percentage + "% (" + bitrate + ")");
});
});
/*
* Radio box service (video or video-subtitle)
*/
$(function() {
$("#service-video").click(function() {
$("#url").show('slow');
$("#legend").hide('slow');
});
$("#service-video-subtitle").click(function() {
$("#url").show("slow");
$("#legend").show("slow");
});
/* When user press "Back" on the browser */
if ($("#service-video-subtitle")[0].checked) {
$("#service-video-subtitle").click();
}
if ($("#service-video")[0].checked) {
$("#service-video").click();
}
});
/*
* File type verification
*/
$(function() {
$("#subtitle-upload").change(function() {
var acceptedFileTypes = ["srt"];
validateFile($(this), acceptedFileTypes);
});
$("#video-upload").change(function() {
var acceptedFileTypes = ["flv", "ts", "avi", "mp4", "mov", "webm", "wmv", "mkv"];
validateFile($(this), acceptedFileTypes);
});
function validateFile(input, acceptedFileTypes) {
var isValidFile = checkType(input, acceptedFileTypes);
if (!isValidFile) {
input.val(null);
alert("Apenas os formatos abaixo são aceitos:\n\n" + acceptedFileTypes.join(", "));
}
updateButton(input);
return true;
}
function updateButton(input) {
var filename = input.val().split("\\").pop();
var buttonText = "Arquivo: " + filename;
input.parent().find(".button-text").text(buttonText);
}
});