summaryrefslogtreecommitdiff
path: root/www/js
diff options
context:
space:
mode:
Diffstat (limited to 'www/js')
-rw-r--r--www/js/jingles.js53
1 files changed, 38 insertions, 15 deletions
diff --git a/www/js/jingles.js b/www/js/jingles.js
index e5749d2..b988592 100644
--- a/www/js/jingles.js
+++ b/www/js/jingles.js
@@ -172,12 +172,12 @@ JingleGroup.prototype.renderCarts = function() {
}
};
-JingleGroup.prototype.addUpload = function() {
+/*JingleGroup.prototype.addUpload = function() {
var $tfoot = $('table > tfoot', this.$el);
var $progressBar = $('.progressBarTemplate').clone().removeClass('progressBarTemplate');
$progressBar.appendTo($tfoot);
return $progressBar;
-};
+};*/
var JingleCart = function(number, title, groupName, group) {
this.number = number;
@@ -281,7 +281,9 @@ JingleCut.prototype.render = function() {
self.removeSelf();
});
- this.$el = $('<tr>').append($('<td>').text(this.name))
+ this.$el = $('<tr>')
+ .attr('id', 'jingle-' + this.cartNumber + '-' + this.number)
+ .append($('<td>').text(this.name))
.append($('<td>').text(this.description))
.append(
$('<td>')
@@ -371,7 +373,7 @@ Importer.prototype.importFileSelectError = function(dropzone, file, msg) {
Importer.prototype.importCartConfirm = function(dz, group) {
$('#uploadModal').modal('hide');
- var progressBar = group.addUpload();
+ //var progressBar = group.addUpload();
@@ -386,9 +388,9 @@ Importer.prototype.importCartConfirm = function(dz, group) {
//importing_row.find('.file-name').text(files[0].name);
//jingles_importUpdateProgress(files[0], importing_row);
var self = this;
- dz.on('uploadprogress', function(file) { self.uploadProgress(file, progressBar); });
+ dz.on('uploadprogress', function(file) { self.uploadProgress(file); });
dz.on('success', function(file) {
- self.importFileUploadSuccess(dz, file, group, progressBar);
+ self.importFileUploadSuccess(dz, file, group);
});
dz.on('error', function(file, msg, xhr) {
self.importFileUploadError(this, file, msg, xhr);
@@ -396,25 +398,35 @@ Importer.prototype.importCartConfirm = function(dz, group) {
this.importAddCut(dz, group, files[0])
};
-Importer.prototype.uploadProgress = function(file, progressBar) {
+Importer.prototype.uploadProgress = function(file) {
+ if (!file.cartNumber || !file.cutNumber) {
+ return;
+ }
+ var $cut = $('#jingle-' + file.cartNumber + '-' + file.cutNumber).first();
+ if (!$cut.hasClass('uploading')) {
+ var $progressBar = $('.progressBarTemplate').clone().removeClass('progressBarTemplate');
+ $cut.html($progressBar.html());
+ $cut.addClass('uploading');
+ }
+
if(file.upload.progress < 99) {
var bytes_str = Number((file.upload.bytesSent/1024)/1024).toFixed(1) + " von " +
Number((file.upload.total/1024)/1024).toFixed(1) + " MB";
- progressBar.find('.file-bytes').text(bytes_str);
- progressBar.find('.progress .bar').css("width", file.upload.progress + "%");
+ $cut.find('.file-bytes').text(bytes_str);
+ $cut.find('.progress .bar').css("width", file.upload.progress + "%");
} else {
- progressBar.find('.file-bytes').text('importiere...');
- progressBar.find('.progress .bar').css('width', '100%');
- progressBar.find('.progress').addClass('progress-striped').addClass('active');
+ $cut.find('.file-bytes').text('importiere...');
+ $cut.find('.progress .bar').css('width', '100%');
+ $cut.find('.progress').addClass('progress-striped').addClass('active');
}
};
-Importer.prototype.importFileUploadSuccess = function(dz, file, group, progressBar) {
+Importer.prototype.importFileUploadSuccess = function(dz, file, group) {
//var command = { LOGIN_NAME: auth_username, PASSWORD: auth_token, DESCRIPTION: file. };
//jingles_updateGroupCartInfo(cart);
dz.disable();
- progressBar.remove();
+ //progressBar.remove();
group.fetchCarts();
//$(this.currentGroup.mainCart).trigger('add');
};
@@ -432,8 +444,19 @@ Importer.prototype.importFileUploadError = function(dz, file, msg, xhr) {
Importer.prototype.importAddCut = function(dz, group, file) {
var cart = group.mainCart;
rivendell.addAndEditCut(cart.number, {DESCRIPTION: file.name}, function(cutXml) {
- var cutNumber = $(cutXml).find('cutNumber').text();
+ group.fetchCarts();
dz.on('sending', function(file, xhr, formData) {
+ var cutNumber = $(cutXml).find('cutNumber').text();
+ var cutNumberLeading = cutNumber;
+ switch (cutNumber.toString().length) {
+ case 0: cutNumberLeading = '000' + cutNumber; break;
+ case 1: cutNumberLeading = '00' + cutNumber; break;
+ case 2: cutNumberLeading = '0' + cutNumber; break;
+ case 3: default: cutNumberLeading = cutNumber; break;
+ }
+ file.cartNumber = cart.number;
+ file.cutNumber = cutNumberLeading;
+
formData.append('COMMAND', 2);
formData.append('LOGIN_NAME', auth_username);
formData.append('PASSWORD', auth_token);