Browse Source

Fix #189: Reinitialize initial preview delete events correctly on file selection.

Kartik Visweswaran 10 years ago
parent
commit
86113f1794
3 changed files with 11 additions and 4 deletions
  1. 2 0
      CHANGE.md
  2. 9 4
      js/fileinput.js
  3. 0 0
      js/fileinput.min.js

+ 2 - 0
CHANGE.md

@@ -14,6 +14,8 @@ version 4.1.8
 10. (enh #183): Delete extra data enhancements.
 11. (enh #184): Fix documentation for filedeleted event.
 12. (enh #187): New property `previewFileIcon` to configure file icon shown in preview for unreadable file types.
+13. (enh #188): Clear fileinput more correctly for all browsers when initialPreview is set enhancement
+14. (enh #189): Reinitialize initial preview delete events correctly on file selection.
 
 version 4.1.7
 =============

+ 9 - 4
js/fileinput.js

@@ -603,6 +603,7 @@
                         self.filestack[ind] = undefined;
                         self.clearObjects($frame);
                         $frame.remove();
+                        self.clearFileInput();
                         var filestack = self.getFileStack(), len = filestack.length,
                             chk = self.$container.find('.file-preview-initial').length;
                         if (len === 0 && chk === 0) {
@@ -610,9 +611,6 @@
                             self.reset();
                         } else {
                             n = self.initialPreviewCount + len;
-                            if (len === 0) {
-                                self.clear(false);
-                            }
                             cap = n > 1 ? self.msgSelected.repl('{n}', n) : filestack[0].name;
                             self.setCaption(cap);
                         }
@@ -1543,6 +1541,9 @@
             self.$container.removeClass('file-input-new file-input-ajax-new');
             if (arguments.length === 1) {
                 self.raise('fileselect', [numFiles, label]);
+            }            
+            if (self.initialPreviewContent.length > 0) {
+                self.initPreviewDeletes();
             }
         },
         change: function (e) {
@@ -1584,9 +1585,13 @@
             if (!isAjaxUpload || (isSingleUpload && ctr > 0)) {
                 if (!self.overwriteInitial) {
                     $preview.html(self.initialPreviewContent);
+                    if (self.initialPreviewContent.length > 0) {
+                        self.initPreviewDeletes();
+                    }
                 } else {
                     $preview.html('');
                 }
+                
                 if (isSingleUpload && ctr > 0) {
                     self.filestack = [];
                 }
@@ -1843,4 +1848,4 @@
             $input.fileinput();
         }
     });
-})(window.jQuery);
+})(window.jQuery);

File diff suppressed because it is too large
+ 0 - 0
js/fileinput.min.js


Some files were not shown because too many files changed in this diff