From b76b2ad9fda1d1632638d0dd334e5ede5ff4cd81 Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Mon, 24 Feb 2014 10:01:54 +0000 Subject: [PATCH] BIS-627 / SP-1141: ELN UI - Improve Workspace Uploader (Selective delete functionality) SVN: 30578 --- .../cisd/openbis/public/resources/js/openbis.js | 7 +++++-- .../public/resources/uploader/js/src/upload.js | 10 +++++++++- .../as/webapps/newbrowser/html/js/UI/DataSetForm.js | 12 +++++++++++- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js index 2d2fd500fde..20d4836efed 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js @@ -1483,9 +1483,12 @@ openbis.prototype.createSessionWorkspaceUploaderForDataStore = function(uploader sessionID: $this.getSession() }; - for(var key in uploaderSettings) { - finalSettings[key] = uploaderSettings[key]; + if(uploaderSettings) { + for(var key in uploaderSettings) { + finalSettings[key] = uploaderSettings[key]; + } } + Uploader.init(finalSettings); }); }); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/uploader/js/src/upload.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/uploader/js/src/upload.js index 900e9cf7401..236c566d3c7 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/uploader/js/src/upload.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/uploader/js/src/upload.js @@ -28,6 +28,7 @@ var Uploader = new function () { file_input_button: "#fileinput-button", //file_list_clear_button: "#filelist-clear-button", oncomplete: function(file) { }, + ondelete: function(file) {}, chunk_size: 100*1024, smart_mode: window.File && window.FileReader && window.XMLHttpRequest, main_title_container : "#session-workspace-uploader-main-title", @@ -258,6 +259,7 @@ var Uploader = new function () { ++current_upload_id; $(settings.file_list) .append("<li class=\"upload\" id=\"upload-" + id + "\">" + + "<span id='delete-" + id + "' style='font-size: 20px;'>X</span> " + "<span id=\"progress-" + id + "\" class=\"progressbar-container\">" + "<span id=\"progressbar-" + id + "\" class=\"progressbar\"></span>" + "</span>" + @@ -266,6 +268,12 @@ var Uploader = new function () { " (" + styleSize(file.size) + ", " + "<span id=\"speed-" + id + "\">? KB/s</span>)" + "</li>"); + $("#delete-"+id).click(function() { + var fileData = file; + $( "#upload-"+id).remove(); + settings.ondelete(fileData); + }); + $("#upload-" + id).addClass("starting"); if (settings.smart_mode) { $("#stop-button").clone().attr("id", "stop-button-" + id) @@ -433,4 +441,4 @@ var Uploader = new function () { $(settings.main_title_container).append(settings.main_title); $(settings.uploads_title_container).append(settings.uploads_title); } -} \ No newline at end of file +} diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/UI/DataSetForm.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/UI/DataSetForm.js index 443e0faa016..f1cf2b0d6e1 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/UI/DataSetForm.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/UI/DataSetForm.js @@ -113,9 +113,19 @@ function DataSetForm(serverFacade, containerId, profile, sample, mode) { } } + var onDelete = function(data) { + for(var i=0; localInstance.files.length; i++) { + if(localInstance.files[i] === data.name) { + localInstance.files.splice(i, 1); + break; + } + } + } + this.serverFacade.openbisServer.createSessionWorkspaceUploader($("#APIUploader"), onComplete, { main_title : $('<legend>').text('Files Uploader'), - uploads_title : $('<legend>').text('File list') + uploads_title : $('<legend>').text('File list'), + ondelete:onDelete }); } -- GitLab