summaryrefslogtreecommitdiff
path: root/www/js/shows.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/js/shows.js')
-rw-r--r--www/js/shows.js65
1 files changed, 30 insertions, 35 deletions
diff --git a/www/js/shows.js b/www/js/shows.js
index 233a5c3..81d9e5a 100644
--- a/www/js/shows.js
+++ b/www/js/shows.js
@@ -36,7 +36,7 @@ function shows_init(subpage) {
function shows_cleanup() {
$('#show-carts tbody').find('tr').remove();
- importer.cancelAllUploads();
+ importer.closeAllUploads();
}
Rdxport.ShowListView = function(model, subpage) {
@@ -48,7 +48,7 @@ Rdxport.ShowListView = function(model, subpage) {
this.setCurrentShowId(subpage);
var self = this;
- $(this.model).on('update', function() {
+ $(this.model).off('update').on('update', function() {
$(self.model.groups).each(function(index, show) {
var showView = new Rdxport.ShowView(show);
self.showViews.push(showView);
@@ -202,7 +202,7 @@ Rdxport.ShowView = function(model) {
this.$el = null;
var self = this;
- this.model.$this.on('update', function() {
+ this.model.$this.off('update').on('update', function() {
self.render();
});
};
@@ -215,12 +215,12 @@ Rdxport.ShowView.prototype.render = function() {
for(var w = 0; w < 4; w++) {
if(this.model.rhythm.charAt(w) == '1') {
- var s = $('#show-rhythm-w' + (w+1)).attr('class', 'label')
+ var s = $('#show-rhythm-w' + (w+1)).attr('class', 'label');
switch(w+1) {
- case 1: s.addClass('label-info'); break;
- case 2: s.addClass('label-warning'); break;
- case 3: s.addClass('label-success'); break;
- case 4: s.addClass('label-danger'); break;
+ case 1: s.addClass('label-info'); break;
+ case 2: s.addClass('label-warning'); break;
+ case 3: s.addClass('label-success'); break;
+ case 4: s.addClass('label-danger'); break;
}
} else {
$('#show-rhythm-w' + (w+1)).attr('class', 'label label-disabled')
@@ -234,16 +234,13 @@ Rdxport.ShowView.prototype.render = function() {
var self = this;
$(this.model.logs).each(function(index, log) {
var cart = self.model.getCartByNumber(log.cartNumber);
- if (cart) {
+ var upload = importer.getUploadByCartNumber(log.cartNumber);
+ if (upload) {
+ $('#app-shows table > tbody').append(Rdxport.ShowCartView.renderUploading(upload, log.cartNumber));
+ } else if (cart) {
var cartView = new Rdxport.ShowCartView(cart, self);
self.cartViews.push(cartView);
- var upload = null;
- if ((upload = importer.getUploadByCartNumber(log.cartNumber)) !== null) {
- cartView.renderUploading(upload);
- } else {
- cartView.render();
- }
-
+ cartView.render();
$('#app-shows table > tbody').append(cartView.$el);
} else {
$('#app-shows table > tbody').append(Rdxport.ShowCartView.renderEmpty(self.model, self, log.cartNumber));
@@ -252,17 +249,14 @@ Rdxport.ShowView.prototype.render = function() {
};
Rdxport.ShowView.prototype.uploadProgress = function(upload, file) {
- if (!file.cartNumber || !file.cutNumber) {
- return;
- }
- var $cart = $('#show-cart-' + file.cartNumber).first();
+ var $cart = $('tr[data-upload-id="' + upload.uploadId + '"]').first();
if (!$cart.hasClass('uploading')) {
var $progressBar = $('.progressBarTemplate.shows').clone().removeClass('progressBarTemplate');
$('.file-name', $progressBar).text(file.name);
$('.cart-number', $progressBar).text(file.cartNumber);
$cart.html($progressBar.html());
- $('button', $cart).on('click', function() {
+ $('button', $cart).off('click').on('click', function() {
upload.cancel();
});
@@ -291,12 +285,12 @@ Rdxport.ShowView.prototype.uploadError = function(upload, file, msg, xhr, acknow
var $errorRow = $('<tr>')
.attr("id", "show-cart-" + file.cartNumber)
.append($('<td>').text(file.cartNumber))
- .append($('<td>').addClass('file-name').text(file.name))
+ .append($('<td>').addClass('file-name').text(upload.filename))
.append($('<td>').append($('<b>').text('Import Fehler')))
.append($('<td colspan="3">').append(reason))
.append($('<td>').css('text-align', 'center').append(dismiss_button));
- $('button', $errorRow).on('click', function() {
+ $('button', $errorRow).off('click').on('click', function() {
acknowledge();
});
@@ -315,7 +309,7 @@ Rdxport.ShowCartView.prototype.render = function() {
var $deleteButton = $('<button class="btn btn-danger btn-xs"><span class="glyphicon glyphicon-trash"></span>&nbsp;&nbsp;Löschen</button>');
var self = this;
- $deleteButton.on('click', function() {
+ $deleteButton.off('click').on('click', function() {
self.delete();
});
@@ -343,29 +337,30 @@ Rdxport.ShowCartView.prototype.render = function() {
.append($('<td>').css('text-align', 'center').append($deleteButton));
};
-Rdxport.ShowCartView.prototype.renderUploading = function(upload) {
+Rdxport.ShowCartView.renderUploading = function(upload, cartNumber) {
var $progressBar = $('.progressBarTemplate.shows').clone().removeClass('progressBarTemplate');
- $('.file-name', $progressBar).text(this.model.title);
- $('.cart-number', $progressBar).text(this.model.number);
+ $('.file-name', $progressBar).text(upload.filename);
+ $('.cart-number', $progressBar).text(cartNumber);
- this.$el.empty()
- .attr('id', 'show-cart-' + this.model.number)
+ var $el = $('<tr>')
.html($progressBar.html())
- .attr('id', 'show-cart-' + this.model.number)
- .addClass('uploading');
+ .attr('id', 'show-cart-' + cartNumber)
+ .addClass('uploading')
+ .attr('data-upload-id', upload.uploadId);
- $('button', this.$el).on('click', function() {
+ $('button', $el).off('click').on('click', function() {
upload.cancel();
});
- updateProgressBar(this.$el, upload);
+ updateProgressBar($el, upload);
+ return $el;
};
Rdxport.ShowCartView.renderEmpty = function(group, groupView, cartNumber) {
var $uploadButton = $('<button class="uploadButton btn btn-primary btn-xs"><span class="glyphicon glyphicon-upload"></span>&nbsp;&nbsp;Importieren</button>');
- $uploadButton.on('click', function() {
- importer.openModal(group, groupView, true, cartNumber, true);
+ $uploadButton.off('click').on('click', function() {
+ importer.openModal(group, groupView, cartNumber, null, true);
});
return $('<tr>')