Introduction de la méthode « uploadCompleteHandlerCB ».
[Portfolio.git] / skins / fileupload.js
index 0aebb3e..bf36628 100644 (file)
@@ -79,44 +79,25 @@ DDFileUploaderBase.prototype.upload = function(item) {
        reader.readAsBinaryString(file);
 };
 
+
+DDFileUploaderBase.prototype.uploadCompleteHandlerCB = function(req) {
+       // To be implemented by descendant.
+};
+
 DDFileUploaderBase.prototype.uploadCompleteHandler = 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();
+       this.uploadCompleteHandlerCB(req);
        this.uploadQueueLoadNext();
 };
 
+DDFileUploaderBase.prototype.progressHandlerCB = function(progress) {
+       // To be implemented by descendant.
+       // 0 <= progress <= 1
+};
+
 DDFileUploaderBase.prototype.progressHandler = function(evt) {
        if (evt.lengthComputable) {
                var progress = evt.loaded / evt.total;
-               this.updateProgressBar(progress);
-               var currentOpacity = this.previewImg.style.opacity;
-               this.previewImg.style.opacity = Math.max(currentOpacity, progress);
+               this.progressHandlerCB(progress);
        }
 };