summaryrefslogtreecommitdiff
path: root/www/js/shows.js
diff options
context:
space:
mode:
authorPeter Grassberger <petertheone@gmail.com>2016-06-27 09:19:03 (GMT)
committerPeter Grassberger <petertheone@gmail.com>2016-06-27 09:19:03 (GMT)
commit645b1f816310120efc16c813535b718f3eff3e02 (patch)
tree8d78a73bfb8e8e91eeeea8f1c5d717239da28c75 /www/js/shows.js
parent222b85597fa66af43c68f0b88d68f2641533f52c (diff)
remove old upload functionality, fix progressbar
Diffstat (limited to 'www/js/shows.js')
-rw-r--r--www/js/shows.js54
1 files changed, 24 insertions, 30 deletions
diff --git a/www/js/shows.js b/www/js/shows.js
index 03855fe..f4cfbbd 100644
--- a/www/js/shows.js
+++ b/www/js/shows.js
@@ -29,7 +29,6 @@ var showListView = null;
function shows_init(subpage) {
var showList = new Rdxport.GroupList();
showListView = new Rdxport.ShowListView(showList, subpage);
- importer.updateWebsocketUploads();
drawClock('Do, 1.1.1970', '00:00:00', 0);
clock_add_callback(drawClock);
@@ -49,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);
@@ -203,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();
});
};
@@ -235,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));
@@ -253,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();
});
@@ -292,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();
});
@@ -316,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();
});
@@ -344,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>')