X-Git-Url: https://svn.cri.ensmp.fr/git/Portfolio.git/blobdiff_plain/b2f7492bbdef474919330ff5a3404b8795036314..9fef0cb2f81715577c2da2a8b3bf5b6c8f3da47b:/skins/portfolio_upload.js?ds=sidebyside

diff --git a/skins/portfolio_upload.js b/skins/portfolio_upload.js
index c9c492a..7dface3 100644
--- a/skins/portfolio_upload.js
+++ b/skins/portfolio_upload.js
@@ -1,7 +1,6 @@
 // © 2013 Benoît Pin MINES ParisTech
 
 var DDImageUploader;
-var MAX_PREVIEW = 2; // à virer
 
 (function(){
 // nombre maximun d'image chargées en local
@@ -50,6 +49,37 @@ DDImageUploader.prototype.beforeUpload = function(slide) {
 	this.progressBar = slide.progressBar;
 };
 
+DDImageUploader.prototype.uploadCompleteHandlerCB = function(req) {
+	var slide = this.uploadedSlide;
+	this.uploadedSlide.removeChild(slide.label);
+    this.uploadedSlide.removeChild(slide.progressBar);
+	var fragment = getCopyOfNode(req.responseXML.documentElement.firstChild);
+	var img = fragment.getElementsByTagName('img')[0];
+	if (req.status === 200) {
+		// update
+		var existing = this.existingSlides[img.src];
+		if (existing) {
+			existing.src = existing.src + '?' + Math.random().toString();
+		}
+		slide.img.src = '';
+		slide.img.parentNode.removeChild(slide.img);
+		slide.img = undefined;
+		slide.parentNode.removeChild(slide);
+	}
+	else if(req.status === 201) {
+		// creation
+		img.onload = function(evt) {
+			// accelerate GC before replacing
+			slide.img.src = '';
+			slide.img.parentNode.removeChild(slide.img);
+			slide.img = undefined;
+			slide.parentNode.replaceChild(fragment, slide);
+		};
+	}
+	this.previewsLoaded--;
+	this.previewQueueLoadNext();
+};
+
 DDImageUploader.prototype.progressHandlerCB = function(progress) {
 	this.updateProgressBar(progress);
 	var currentOpacity = this.previewImg.style.opacity;