Вход Регистрация
Файл: Main Website Files/assets/js/dropzone.js
Строк: 2267
<?php
/*
 *
 * More info at [www.dropzonejs.com](http://www.dropzonejs.com)
 *
 * Copyright (c) 2012, Matias Meno
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 */

(function() {
  var 
DropzoneEmittercamelizecontentLoadeddetectVerticalSquashdrawImageIOSFixnoopwithout,
    
__slice = [].slice,
    
__hasProp = {}.hasOwnProperty,
    
__extends = function(childparent) { for (var key in parent) { if (__hasProp.call(parentkey)) child[key] = parent[key]; } function ctor() { this.constructor child; } ctor.prototype parent.prototypechild.prototype = new ctor(); child.__super__ parent.prototype; return child; };

  
noop = function() {};

  
Emitter = (function() {
    function 
Emitter() {}

    
Emitter.prototype.addEventListener Emitter.prototype.on;

    
Emitter.prototype.on = function(event, fn) {
      
this._callbacks this._callbacks || {};
      if (!
this._callbacks[event]) {
        
this._callbacks[event] = [];
      }
      
this._callbacks[event].push(fn);
      return 
this;
    };

    
Emitter.prototype.emit = function() {
      var 
argscallbackcallbacksevent_i_len;
      
event arguments[0], args <= arguments.length __slice.call(arguments1) : [];
      
this._callbacks this._callbacks || {};
      
callbacks this._callbacks[event];
      if (
callbacks) {
        for (
_i 0_len callbacks.length_i _len_i++) {
          
callback callbacks[_i];
          
callback.apply(thisargs);
        }
      }
      return 
this;
    };

    
Emitter.prototype.removeListener Emitter.prototype.off;

    
Emitter.prototype.removeAllListeners Emitter.prototype.off;

    
Emitter.prototype.removeEventListener Emitter.prototype.off;

    
Emitter.prototype.off = function(event, fn) {
      var 
callbackcallbacksi_i_len;
      if (!
this._callbacks || arguments.length === 0) {
        
this._callbacks = {};
        return 
this;
      }
      
callbacks this._callbacks[event];
      if (!
callbacks) {
        return 
this;
      }
      if (
arguments.length === 1) {
        
delete this._callbacks[event];
        return 
this;
      }
      for (
_i 0_len callbacks.length_i _len= ++_i) {
        
callback callbacks[i];
        if (
callback === fn) {
          
callbacks.splice(i1);
          break;
        }
      }
      return 
this;
    };

    return 
Emitter;

  })();

  
Dropzone = (function(_super) {
    var 
extendresolveOption;

    
__extends(Dropzone_super);

    
Dropzone.prototype.Emitter Emitter;


    
/*
    This is a list of all available events you can register on a dropzone object.
    
    You can register an event handler like this:
    
        dropzone.on("dragEnter", function() { });
     */

    
Dropzone.prototype.events = ["drop""dragstart""dragend""dragenter""dragover""dragleave""addedfile""removedfile""thumbnail""error""errormultiple""processing""processingmultiple""uploadprogress""totaluploadprogress""sending""sendingmultiple""success""successmultiple""canceled""canceledmultiple""complete""completemultiple""reset""maxfilesexceeded""maxfilesreached""queuecomplete"];

    
Dropzone.prototype.defaultOptions = {
      
urlnull,
      
method"post",
      
withCredentialsfalse,
      
parallelUploads2,
      
uploadMultiplefalse,
      
maxFilesize256,
      
paramName"file",
      
createImageThumbnailstrue,
      
maxThumbnailFilesize10,
      
thumbnailWidth120,
      
thumbnailHeight120,
      
filesizeBase1000,
      
maxFilesnull,
      
filesizeBase1000,
      
params: {},
      
clickabletrue,
      
ignoreHiddenFilestrue,
      
acceptedFilesnull,
      
acceptedMimeTypesnull,
      
autoProcessQueuetrue,
      
autoQueuetrue,
      
addRemoveLinksfalse,
      
previewsContainernull,
      
capturenull,
      
dictDefaultMessage"Drop files here to upload",
      
dictFallbackMessage"Your browser does not support drag'n'drop file uploads.",
      
dictFallbackText"Please use the fallback form below to upload your files like in the olden days.",
      
dictFileTooBig"File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.",
      
dictInvalidFileType"You can't upload files of this type.",
      
dictResponseError"Server responded with {{statusCode}} code.",
      
dictCancelUpload"Cancel upload",
      
dictCancelUploadConfirmation"Are you sure you want to cancel this upload?",
      
dictRemoveFile"Remove file",
      
dictRemoveFileConfirmationnull,
      
dictMaxFilesExceeded"You can not upload any more files.",
      
accept: function(filedone) {
        return 
done();
      },
      
init: function() {
        return 
noop;
      },
      
forceFallbackfalse,
      
fallback: function() {
        var 
childmessageElementspan_i_len_ref;
        
this.element.className "" this.element.className " dz-browser-not-supported";
        
_ref this.element.getElementsByTagName("div");
        for (
_i 0_len _ref.length_i _len_i++) {
          
child _ref[_i];
          if (/(^| )
dz-message($| )/.test(child.className)) {
            
messageElement child;
            
child.className "dz-message";
            continue;
          }
        }
        if (!
messageElement) {
          
messageElement Dropzone.createElement("<div class="dz-message"><span></span></div>");
          
this.element.appendChild(messageElement);
        }
        
span messageElement.getElementsByTagName("span")[0];
        if (
span) {
          
span.textContent this.options.dictFallbackMessage;
        }
        return 
this.element.appendChild(this.getFallbackForm());
      },
      
resize: function(file) {
        var 
infosrcRatiotrgRatio;
        
info = {
          
srcX0,
          
srcY0,
          
srcWidthfile.width,
          
srcHeightfile.height
        
};
        
srcRatio file.width file.height;
        
info.optWidth this.options.thumbnailWidth;
        
info.optHeight this.options.thumbnailHeight;
        if ((
info.optWidth == null) && (info.optHeight == null)) {
          
info.optWidth info.srcWidth;
          
info.optHeight info.srcHeight;
        } else if (
info.optWidth == null) {
          
info.optWidth srcRatio info.optHeight;
        } else if (
info.optHeight == null) {
          
info.optHeight = (srcRatio) * info.optWidth;
        }
        
trgRatio info.optWidth info.optHeight;
        if (
file.height info.optHeight || file.width info.optWidth) {
          
info.trgHeight info.srcHeight;
          
info.trgWidth info.srcWidth;
        } else {
          if (
srcRatio trgRatio) {
            
info.srcHeight file.height;
            
info.srcWidth info.srcHeight trgRatio;
          } else {
            
info.srcWidth file.width;
            
info.srcHeight info.srcWidth trgRatio;
          }
        }
        
info.srcX = (file.width info.srcWidth) / 2;
        
info.srcY = (file.height info.srcHeight) / 2;
        return 
info;
      },

      
/*
      Those functions register themselves to the events on init and handle all
      the user interface specific stuff. Overwriting them won't break the upload
      but can break the way it's displayed.
      You can overwrite them if you don't like the default behavior. If you just
      want to add an additional event handler, register it on the dropzone object
      and don't overwrite those options.
       */
      
drop: function(e) {
        return 
this.element.classList.remove("dz-drag-hover");
      },
      
dragstartnoop,
      
dragend: function(e) {
        return 
this.element.classList.remove("dz-drag-hover");
      },
      
dragenter: function(e) {
        return 
this.element.classList.add("dz-drag-hover");
      },
      
dragover: function(e) {
        return 
this.element.classList.add("dz-drag-hover");
      },
      
dragleave: function(e) {
        return 
this.element.classList.remove("dz-drag-hover");
      },
      
pastenoop,
      
reset: function() {
        return 
this.element.classList.remove("dz-started");
      },
      
addedfile: function(file) {
        var 
noderemoveFileEventremoveLink_i_j_k_len_len1_len2_ref_ref1_ref2_results;
        if (
this.element === this.previewsContainer) {
          
this.element.classList.add("dz-started");
        }
        if (
this.previewsContainer) {
          
file.previewElement Dropzone.createElement(this.options.previewTemplate.trim());
          
file.previewTemplate file.previewElement;
          
this.previewsContainer.appendChild(file.previewElement);
          
_ref file.previewElement.querySelectorAll("[data-dz-name]");
          for (
_i 0_len _ref.length_i _len_i++) {
            
node _ref[_i];
            
node.textContent file.name;
          }
          
_ref1 file.previewElement.querySelectorAll("[data-dz-size]");
          for (
_j 0_len1 _ref1.length_j _len1_j++) {
            
node _ref1[_j];
            
node.innerHTML this.filesize(file.size);
          }
          if (
this.options.addRemoveLinks) {
            
file._removeLink Dropzone.createElement("<a class="dz-remove" href="javascript:undefined;" data-dz-remove>" this.options.dictRemoveFile "</a>");
            
file.previewElement.appendChild(file._removeLink);
          }
          
removeFileEvent = (function(_this) {
            return function(
e) {
              
e.preventDefault();
              
e.stopPropagation();
              if (
file.status === Dropzone.UPLOADING) {
                return 
Dropzone.confirm(_this.options.dictCancelUploadConfirmation, function() {
                  return 
_this.removeFile(file);
                });
              } else {
                if (
_this.options.dictRemoveFileConfirmation) {
                  return 
Dropzone.confirm(_this.options.dictRemoveFileConfirmation, function() {
                    return 
_this.removeFile(file);
                  });
                } else {
                  return 
_this.removeFile(file);
                }
              }
            };
          })(
this);
          
_ref2 file.previewElement.querySelectorAll("[data-dz-remove]");
          
_results = [];
          for (
_k 0_len2 _ref2.length_k _len2_k++) {
            
removeLink _ref2[_k];
            
_results.push(removeLink.addEventListener("click"removeFileEvent));
          }
          return 
_results;
        }
      },
      
removedfile: function(file) {
        var 
_ref;
        if (
file.previewElement) {
          if ((
_ref file.previewElement) != null) {
            
_ref.parentNode.removeChild(file.previewElement);
          }
        }
        return 
this._updateMaxFilesReachedClass();
      },
      
thumbnail: function(filedataUrl) {
        var 
thumbnailElement_i_len_ref;
        if (
file.previewElement) {
          
file.previewElement.classList.remove("dz-file-preview");
          
_ref file.previewElement.querySelectorAll("[data-dz-thumbnail]");
          for (
_i 0_len _ref.length_i _len_i++) {
            
thumbnailElement _ref[_i];
            
thumbnailElement.alt file.name;
            
thumbnailElement.src dataUrl;
          }
          return 
setTimeout(((function(_this) {
            return function() {
              return 
file.previewElement.classList.add("dz-image-preview");
            };
          })(
this)), 1);
        }
      },
      
error: function(filemessage) {
        var 
node_i_len_ref_results;
        if (
file.previewElement) {
          
file.previewElement.classList.add("dz-error");
          if (
typeof message !== "String" && message.error) {
            
message message.error;
          }
          
_ref file.previewElement.querySelectorAll("[data-dz-errormessage]");
          
_results = [];
          for (
_i 0_len _ref.length_i _len_i++) {
            
node _ref[_i];
            
_results.push(node.textContent message);
          }
          return 
_results;
        }
      },
      
errormultiplenoop,
      
processing: function(file) {
        if (
file.previewElement) {
          
file.previewElement.classList.add("dz-processing");
          if (
file._removeLink) {
            return 
file._removeLink.textContent this.options.dictCancelUpload;
          }
        }
      },
      
processingmultiplenoop,
      
uploadprogress: function(fileprogressbytesSent) {
        var 
node_i_len_ref_results;
        if (
file.previewElement) {
          
_ref file.previewElement.querySelectorAll("[data-dz-uploadprogress]");
          
_results = [];
          for (
_i 0_len _ref.length_i _len_i++) {
            
node _ref[_i];
            if (
node.nodeName === 'PROGRESS') {
              
_results.push(node.value progress);
            } else {
              
_results.push(node.style.width "" progress "%");
            }
          }
          return 
_results;
        }
      },
      
totaluploadprogressnoop,
      
sendingnoop,
      
sendingmultiplenoop,
      
success: function(file) {
        if (
file.previewElement) {
          return 
file.previewElement.classList.add("dz-success");
        }
      },
      
successmultiplenoop,
      
canceled: function(file) {
        return 
this.emit("error"file"Upload canceled.");
      },
      
canceledmultiplenoop,
      
complete: function(file) {
        if (
file._removeLink) {
          
file._removeLink.textContent this.options.dictRemoveFile;
        }
        if (
file.previewElement) {
          return 
file.previewElement.classList.add("dz-complete");
        }
      },
      
completemultiplenoop,
      
maxfilesexceedednoop,
      
maxfilesreachednoop,
      
queuecompletenoop,
      
previewTemplate"<div class="dz-preview dz-file-preview">n  <div class="dz-image"><img data-dz-thumbnail /></div>n  <div class="dz-details">n    <div class="dz-size"><span data-dz-size></span></div>n    <div class="dz-filename"><span data-dz-name></span></div>n  </div>n  <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>n  <div class="dz-error-message"><span data-dz-errormessage></span></div>n  <div class="dz-success-mark">n    <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">n      <title>Check</title>n      <defs></defs>n      <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">n        <path d="M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711 13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508 10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123 C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435 C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978 L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887 43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422 37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z" id="Oval-2" stroke-opacity="0.198794158" stroke="#747474" fill-opacity="0.816519475" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>n      </g>n    </svg>n  </div>n  <div class="dz-error-mark">n    <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">n      <title>Error</title>n      <defs></defs>n      <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">n        <g id="Check-+-Oval-2" sketch:type="MSLayerGroup" stroke="#747474" stroke-opacity="0.198794158" fill="#FFFFFF" fill-opacity="0.816519475">n          <path d="M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521 39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729 34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458 L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729 15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521 15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436 C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085 C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978 L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578 36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113 39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z" id="Oval-2" sketch:type="MSShapeGroup"></path>n        </g>n      </g>n    </svg>n  </div>n</div>"
    
};

    
extend = function() {
      var 
keyobjectobjectstargetval_i_len;
      
target arguments[0], objects <= arguments.length __slice.call(arguments1) : [];
      for (
_i 0_len objects.length_i _len_i++) {
        
object objects[_i];
        for (
key in object) {
          
val object[key];
          
target[key] = val;
        }
      }
      return 
target;
    };

    function 
Dropzone(elementoptions) {
      var 
elementOptionsfallback_ref;
      
this.element element;
      
this.version Dropzone.version;
      
this.defaultOptions.previewTemplate this.defaultOptions.previewTemplate.replace(/n*/g"");
      
this.clickableElements = [];
      
this.listeners = [];
      
this.files = [];
      if (
typeof this.element === "string") {
        
this.element document.querySelector(this.element);
      }
      if (!(
this.element && (this.element.nodeType != null))) {
        throw new 
Error("Invalid dropzone element.");
      }
      if (
this.element.dropzone) {
        throw new 
Error("Dropzone already attached.");
      }
      
Dropzone.instances.push(this);
      
this.element.dropzone this;
      
elementOptions = (_ref Dropzone.optionsForElement(this.element)) != null _ref : {};
      
this.options extend({}, this.defaultOptionselementOptionsoptions != null options : {});
      if (
this.options.forceFallback || !Dropzone.isBrowserSupported()) {
        return 
this.options.fallback.call(this);
      }
      if (
this.options.url == null) {
        
this.options.url this.element.getAttribute("action");
      }
      if (!
this.options.url) {
        throw new 
Error("No URL provided.");
      }
      if (
this.options.acceptedFiles && this.options.acceptedMimeTypes) {
        throw new 
Error("You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.");
      }
      if (
this.options.acceptedMimeTypes) {
        
this.options.acceptedFiles this.options.acceptedMimeTypes;
        
delete this.options.acceptedMimeTypes;
      }
      
this.options.method this.options.method.toUpperCase();
      if ((
fallback this.getExistingFallback()) && fallback.parentNode) {
        
fallback.parentNode.removeChild(fallback);
      }
      if (
this.options.previewsContainer !== false) {
        if (
this.options.previewsContainer) {
          
this.previewsContainer Dropzone.getElement(this.options.previewsContainer"previewsContainer");
        } else {
          
this.previewsContainer this.element;
        }
      }
      if (
this.options.clickable) {
        if (
this.options.clickable === true) {
          
this.clickableElements = [this.element];
        } else {
          
this.clickableElements Dropzone.getElements(this.options.clickable"clickable");
        }
      }
      
this.init();
    }

    
Dropzone.prototype.getAcceptedFiles = function() {
      var 
file_i_len_ref_results;
      
_ref this.files;
      
_results = [];
      for (
_i 0_len _ref.length_i _len_i++) {
        
file _ref[_i];
        if (
file.accepted) {
          
_results.push(file);
        }
      }
      return 
_results;
    };

    
Dropzone.prototype.getRejectedFiles = function() {
      var 
file_i_len_ref_results;
      
_ref this.files;
      
_results = [];
      for (
_i 0_len _ref.length_i _len_i++) {
        
file _ref[_i];
        if (!
file.accepted) {
          
_results.push(file);
        }
      }
      return 
_results;
    };

    
Dropzone.prototype.getFilesWithStatus = function(status) {
      var 
file_i_len_ref_results;
      
_ref this.files;
      
_results = [];
      for (
_i 0_len _ref.length_i _len_i++) {
        
file _ref[_i];
        if (
file.status === status) {
          
_results.push(file);
        }
      }
      return 
_results;
    };

    
Dropzone.prototype.getQueuedFiles = function() {
      return 
this.getFilesWithStatus(Dropzone.QUEUED);
    };

    
Dropzone.prototype.getUploadingFiles = function() {
      return 
this.getFilesWithStatus(Dropzone.UPLOADING);
    };

    
Dropzone.prototype.getActiveFiles = function() {
      var 
file_i_len_ref_results;
      
_ref this.files;
      
_results = [];
      for (
_i 0_len _ref.length_i _len_i++) {
        
file _ref[_i];
        if (
file.status === Dropzone.UPLOADING || file.status === Dropzone.QUEUED) {
          
_results.push(file);
        }
      }
      return 
_results;
    };

    
Dropzone.prototype.init = function() {
      var 
eventNamenoPropagationsetupHiddenFileInput_i_len_ref_ref1;
      if (
this.element.tagName === "form") {
        
this.element.setAttribute("enctype""multipart/form-data");
      }
      if (
this.element.classList.contains("dropzone") && !this.element.querySelector(".dz-message")) {
        
this.element.appendChild(Dropzone.createElement("<div class="dz-default dz-message"><span>" this.options.dictDefaultMessage "</span></div>"));
      }
      if (
this.clickableElements.length) {
        
setupHiddenFileInput = (function(_this) {
          return function() {
            if (
_this.hiddenFileInput) {
              
document.body.removeChild(_this.hiddenFileInput);
            }
            
_this.hiddenFileInput document.createElement("input");
            
_this.hiddenFileInput.setAttribute("type""file");
            if ((
_this.options.maxFiles == null) || _this.options.maxFiles 1) {
              
_this.hiddenFileInput.setAttribute("multiple""multiple");
            }
            
_this.hiddenFileInput.className "dz-hidden-input";
            if (
_this.options.acceptedFiles != null) {
              
_this.hiddenFileInput.setAttribute("accept"_this.options.acceptedFiles);
            }
            if (
_this.options.capture != null) {
              
_this.hiddenFileInput.setAttribute("capture"_this.options.capture);
            }
            
_this.hiddenFileInput.style.visibility "hidden";
            
_this.hiddenFileInput.style.position "absolute";
            
_this.hiddenFileInput.style.top "0";
            
_this.hiddenFileInput.style.left "0";
            
_this.hiddenFileInput.style.height "0";
            
_this.hiddenFileInput.style.width "0";
            
document.body.appendChild(_this.hiddenFileInput);
            return 
_this.hiddenFileInput.addEventListener("change", function() {
              var 
filefiles_i_len;
              
files _this.hiddenFileInput.files;
              if (
files.length) {
                for (
_i 0_len files.length_i _len_i++) {
                  
file files[_i];
                  
_this.addFile(file);
                }
              }
              return 
setupHiddenFileInput();
            });
          };
        })(
this);
        
setupHiddenFileInput();
      }
      
this.URL = (_ref window.URL) != null _ref window.webkitURL;
      
_ref1 this.events;
      for (
_i 0_len _ref1.length_i _len_i++) {
        
eventName _ref1[_i];
        
this.on(eventNamethis.options[eventName]);
      }
      
this.on("uploadprogress", (function(_this) {
        return function() {
          return 
_this.updateTotalUploadProgress();
        };
      })(
this));
      
this.on("removedfile", (function(_this) {
        return function() {
          return 
_this.updateTotalUploadProgress();
        };
      })(
this));
      
this.on("canceled", (function(_this) {
        return function(
file) {
          return 
_this.emit("complete"file);
        };
      })(
this));
      
this.on("complete", (function(_this) {
        return function(
file) {
          if (
_this.getUploadingFiles().length === && _this.getQueuedFiles().length === 0) {
            return 
setTimeout((function() {
              return 
_this.emit("queuecomplete");
            }), 
0);
          }
        };
      })(
this));
      
noPropagation = function(e) {
        
e.stopPropagation();
        if (
e.preventDefault) {
          return 
e.preventDefault();
        } else {
          return 
e.returnValue false;
        }
      };
      
this.listeners = [
        {
          
elementthis.element,
          
events: {
            
"dragstart": (function(_this) {
              return function(
e) {
                return 
_this.emit("dragstart"e);
              };
            })(
this),
            
"dragenter": (function(_this) {
              return function(
e) {
                
noPropagation(e);
                return 
_this.emit("dragenter"e);
              };
            })(
this),
            
"dragover": (function(_this) {
              return function(
e) {
                var 
efct;
                try {
                  
efct e.dataTransfer.effectAllowed;
                } catch (
_error) {}
                
e.dataTransfer.dropEffect 'move' === efct || 'linkMove' === efct 'move' 'copy';
                
noPropagation(e);
                return 
_this.emit("dragover"e);
              };
            })(
this),
            
"dragleave": (function(_this) {
              return function(
e) {
                return 
_this.emit("dragleave"e);
              };
            })(
this),
            
"drop": (function(_this) {
              return function(
e) {
                
noPropagation(e);
                return 
_this.drop(e);
              };
            })(
this),
            
"dragend": (function(_this) {
              return function(
e) {
                return 
_this.emit("dragend"e);
              };
            })(
this)
          }
        }
      ];
      
this.clickableElements.forEach((function(_this) {
        return function(
clickableElement) {
          return 
_this.listeners.push({
            
elementclickableElement,
            
events: {
              
"click": function(evt) {
                if ((
clickableElement !== _this.element) || (evt.target === _this.element || Dropzone.elementInside(evt.target_this.element.querySelector(".dz-message")))) {
                  return 
_this.hiddenFileInput.click();
                }
              }
            }
          });
        };
      })(
this));
      
this.enable();
      return 
this.options.init.call(this);
    };

    
Dropzone.prototype.destroy = function() {
      var 
_ref;
      
this.disable();
      
this.removeAllFiles(true);
      if ((
_ref this.hiddenFileInput) != null _ref.parentNode void 0) {
        
this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput);
        
this.hiddenFileInput null;
      }
      
delete this.element.dropzone;
      return 
Dropzone.instances.splice(Dropzone.instances.indexOf(this), 1);
    };

    
Dropzone.prototype.updateTotalUploadProgress = function() {
      var 
activeFilesfiletotalBytestotalBytesSenttotalUploadProgress_i_len_ref;
      
totalBytesSent 0;
      
totalBytes 0;
      
activeFiles this.getActiveFiles();
      if (
activeFiles.length) {
        
_ref this.getActiveFiles();
        for (
_i 0_len _ref.length_i _len_i++) {
          
file _ref[_i];
          
totalBytesSent += file.upload.bytesSent;
          
totalBytes += file.upload.total;
        }
        
totalUploadProgress 100 totalBytesSent totalBytes;
      } else {
        
totalUploadProgress 100;
      }
      return 
this.emit("totaluploadprogress"totalUploadProgresstotalBytestotalBytesSent);
    };

    
Dropzone.prototype._getParamName = function(n) {
      if (
typeof this.options.paramName === "function") {
        return 
this.options.paramName(n);
      } else {
        return 
"" this.options.paramName + (this.options.uploadMultiple "[" "]" "");
      }
    };

    
Dropzone.prototype.getFallbackForm = function() {
      var 
existingFallbackfieldsfieldsStringform;
      if (
existingFallback this.getExistingFallback()) {
        return 
existingFallback;
      }
      
fieldsString "<div class="dz-fallback">";
      if (
this.options.dictFallbackText) {
        
fieldsString += "<p>" this.options.dictFallbackText "</p>";
      }
      
fieldsString += "<input type="file" name="" + (this._getParamName(0)) + "" " + (this.options.uploadMultiple 'multiple="multiple"' void 0) + " /><input type="submit" value="Upload!"></div>";
      
fields Dropzone.createElement(fieldsString);
      if (
this.element.tagName !== "FORM") {
        
form Dropzone.createElement("<form action="" + this.options.url + "" enctype="multipart/form-data" method="" + this.options.method + ""></form>");
        
form.appendChild(fields);
      } else {
        
this.element.setAttribute("enctype""multipart/form-data");
        
this.element.setAttribute("method"this.options.method);
      }
      return 
form != null form fields;
    };

    
Dropzone.prototype.getExistingFallback = function() {
      var 
fallbackgetFallbacktagName_i_len_ref;
      
getFallback = function(elements) {
        var 
el_i_len;
        for (
_i 0_len elements.length_i _len_i++) {
          
el elements[_i];
          if (/(^| )
fallback($| )/.test(el.className)) {
            return 
el;
          }
        }
      };
      
_ref = ["div""form"];
      for (
_i 0_len _ref.length_i _len_i++) {
        
tagName _ref[_i];
        if (
fallback getFallback(this.element.getElementsByTagName(tagName))) {
          return 
fallback;
        }
      }
    };

    
Dropzone.prototype.setupEventListeners = function() {
      var 
elementListenerseventlistener_i_len_ref_results;
      
_ref this.listeners;
      
_results = [];
      for (
_i 0_len _ref.length_i _len_i++) {
        
elementListeners _ref[_i];
        
_results.push((function() {
          var 
_ref1_results1;
          
_ref1 elementListeners.events;
          
_results1 = [];
          for (
event in _ref1) {
            
listener _ref1[event];
            
_results1.push(elementListeners.element.addEventListener(eventlistenerfalse));
          }
          return 
_results1;
        })());
      }
      return 
_results;
    };

    
Dropzone.prototype.removeEventListeners = function() {
      var 
elementListenerseventlistener_i_len_ref_results;
      
_ref this.listeners;
      
_results = [];
      for (
_i 0_len _ref.length_i _len_i++) {
        
elementListeners _ref[_i];
        
_results.push((function() {
          var 
_ref1_results1;
          
_ref1 elementListeners.events;
          
_results1 = [];
          for (
event in _ref1) {
            
listener _ref1[event];
            
_results1.push(elementListeners.element.removeEventListener(eventlistenerfalse));
          }
          return 
_results1;
        })());
      }
      return 
_results;
    };

    
Dropzone.prototype.disable = function() {
      var 
file_i_len_ref_results;
      
this.clickableElements.forEach(function(element) {
        return 
element.classList.remove("dz-clickable");
      });
      
this.removeEventListeners();
      
_ref this.files;
      
_results = [];
      for (
_i 0_len _ref.length_i _len_i++) {
        
file _ref[_i];
        
_results.push(this.cancelUpload(file));
      }
      return 
_results;
    };

    
Dropzone.prototype.enable = function() {
      
this.clickableElements.forEach(function(element) {
        return 
element.classList.add("dz-clickable");
      });
      return 
this.setupEventListeners();
    };

    
Dropzone.prototype.filesize = function(size) {
      var 
cutoffiselectedSizeselectedUnitunitunits_i_len;
      
units = ['TB''GB''MB''KB''b'];
      
selectedSize selectedUnit null;
      for (
_i 0_len units.length_i _len= ++_i) {
        
unit units[i];
        
cutoff Math.pow(this.options.filesizeBasei) / 10;
        if (
size >= cutoff) {
          
selectedSize size Math.pow(this.options.filesizeBasei);
          
selectedUnit unit;
          break;
        }
      }
      
selectedSize Math.round(10 selectedSize) / 10;
      return 
"<strong>" selectedSize "</strong> " selectedUnit;
    };

    
Dropzone.prototype._updateMaxFilesReachedClass = function() {
      if ((
this.options.maxFiles != null) && this.getAcceptedFiles().length >= this.options.maxFiles) {
        if (
this.getAcceptedFiles().length === this.options.maxFiles) {
          
this.emit('maxfilesreached'this.files);
        }
        return 
this.element.classList.add("dz-max-files-reached");
      } else {
        return 
this.element.classList.remove("dz-max-files-reached");
      }
    };

    
Dropzone.prototype.drop = function(e) {
      var 
filesitems;
      if (!
e.dataTransfer) {
        return;
      }
      
this.emit("drop"e);
      
files e.dataTransfer.files;
      if (
files.length) {
        
items e.dataTransfer.items;
        if (
items && items.length && (items[0].webkitGetAsEntry != null)) {
          
this._addFilesFromItems(items);
        } else {
          
this.handleFiles(files);
        }
      }
    };

    
Dropzone.prototype.paste = function(e) {
      var 
items_ref;
      if ((
!= null ? (_ref e.clipboardData) != null _ref.items void 0 void 0) == null) {
        return;
      }
      
this.emit("paste"e);
      
items e.clipboardData.items;
      if (
items.length) {
        return 
this._addFilesFromItems(items);
      }
    };

    
Dropzone.prototype.handleFiles = function(files) {
      var 
file_i_len_results;
      
_results = [];
      for (
_i 0_len files.length_i _len_i++) {
        
file files[_i];
        
_results.push(this.addFile(file));
      }
      return 
_results;
    };

    
Dropzone.prototype._addFilesFromItems = function(items) {
      var 
entryitem_i_len_results;
      
_results = [];
      for (
_i 0_len items.length_i _len_i++) {
        
item items[_i];
        if ((
item.webkitGetAsEntry != null) && (entry item.webkitGetAsEntry())) {
          if (
entry.isFile) {
            
_results.push(this.addFile(item.getAsFile()));
          } else if (
entry.isDirectory) {
            
_results.push(this._addFilesFromDirectory(entryentry.name));
          } else {
            
_results.push(void 0);
          }
        } else if (
item.getAsFile != null) {
          if ((
item.kind == null) || item.kind === "file") {
            
_results.push(this.addFile(item.getAsFile()));
          } else {
            
_results.push(void 0);
          }
        } else {
          
_results.push(void 0);
        }
      }
      return 
_results;
    };

    
Dropzone.prototype._addFilesFromDirectory = function(directorypath) {
      var 
dirReaderentriesReader;
      
dirReader directory.createReader();
      
entriesReader = (function(_this) {
        return function(
entries) {
          var 
entry_i_len;
          for (
_i 0_len entries.length_i _len_i++) {
            
entry entries[_i];
            if (
entry.isFile) {
              
entry.file(function(file) {
                if (
_this.options.ignoreHiddenFiles && file.name.substring(01) === '.') {
                  return;
                }
                
file.fullPath "" path "/" file.name;
                return 
_this.addFile(file);
              });
            } else if (
entry.isDirectory) {
              
_this._addFilesFromDirectory(entry"" path "/" entry.name);
            }
          }
        };
      })(
this);
      return 
dirReader.readEntries(entriesReader, function(error) {
        return 
typeof console !== "undefined" && console !== null typeof console.log === "function" console.log(error) : void 0 void 0;
      });
    };

    
Dropzone.prototype.accept = function(filedone) {
      if (
file.size this.options.maxFilesize 1024 1024) {
        return 
done(this.options.dictFileTooBig.replace("{{filesize}}"Math.round(file.size 1024 10.24) / 100).replace("{{maxFilesize}}"this.options.maxFilesize));
      } else if (!
Dropzone.isValidFile(filethis.options.acceptedFiles)) {
        return 
done(this.options.dictInvalidFileType);
      } else if ((
this.options.maxFiles != null) && this.getAcceptedFiles().length >= this.options.maxFiles) {
        
done(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}"this.options.maxFiles));
        return 
this.emit("maxfilesexceeded"file);
      } else {
        return 
this.options.accept.call(thisfiledone);
      }
    };

    
Dropzone.prototype.addFile = function(file) {
      
file.upload = {
        
progress0,
        
totalfile.size,
        
bytesSent0
      
};
      
this.files.push(file);
      
file.status Dropzone.ADDED;
      
this.emit("addedfile"file);
      
this._enqueueThumbnail(file);
      return 
this.accept(file, (function(_this) {
        return function(
error) {
          if (
error) {
            
file.accepted false;
            
_this._errorProcessing([file], error);
          } else {
            
file.accepted true;
            if (
_this.options.autoQueue) {
              
_this.enqueueFile(file);
            }
          }
          return 
_this._updateMaxFilesReachedClass();
        };
      })(
this));
    };

    
Dropzone.prototype.enqueueFiles = function(files) {
      var 
file_i_len;
      for (
_i 0_len files.length_i _len_i++) {
        
file files[_i];
        
this.enqueueFile(file);
      }
      return 
null;
    };

    
Dropzone.prototype.enqueueFile = function(file) {
      if (
file.status === Dropzone.ADDED && file.accepted === true) {
        
file.status Dropzone.QUEUED;
        if (
this.options.autoProcessQueue) {
          return 
setTimeout(((function(_this) {
            return function() {
              return 
_this.processQueue();
            };
          })(
this)), 0);
        }
      } else {
        throw new 
Error("This file can't be queued because it has already been processed or was rejected.");
      }
    };

    
Dropzone.prototype._thumbnailQueue = [];

    
Dropzone.prototype._processingThumbnail false;

    
Dropzone.prototype._enqueueThumbnail = function(file) {
      if (
this.options.createImageThumbnails && file.type.match(/image.*/) && file.size <= this.options.maxThumbnailFilesize 1024 1024) {
        
this._thumbnailQueue.push(file);
        return 
setTimeout(((function(_this) {
          return function() {
            return 
_this._processThumbnailQueue();
          };
        })(
this)), 0);
      }
    };

    
Dropzone.prototype._processThumbnailQueue = function() {
      if (
this._processingThumbnail || this._thumbnailQueue.length === 0) {
        return;
      }
      
this._processingThumbnail true;
      return 
this.createThumbnail(this._thumbnailQueue.shift(), (function(_this) {
        return function() {
          
_this._processingThumbnail false;
          return 
_this._processThumbnailQueue();
        };
      })(
this));
    };

    
Dropzone.prototype.removeFile = function(file) {
      if (
file.status === Dropzone.UPLOADING) {
        
this.cancelUpload(file);
      }
      
this.files without(this.filesfile);
      
this.emit("removedfile"file);
      if (
this.files.length === 0) {
        return 
this.emit("reset");
      }
    };

    
Dropzone.prototype.removeAllFiles = function(cancelIfNecessary) {
      var 
file_i_len_ref;
      if (
cancelIfNecessary == null) {
        
cancelIfNecessary false;
      }
      
_ref this.files.slice();
      for (
_i 0_len _ref.length_i _len_i++) {
        
file _ref[_i];
        if (
file.status !== Dropzone.UPLOADING || cancelIfNecessary) {
          
this.removeFile(file);
        }
      }
      return 
null;
    };

    
Dropzone.prototype.createThumbnail = function(filecallback) {
      var 
fileReader;
      
fileReader = new FileReader;
      
fileReader.onload = (function(_this) {
        return function() {
          if (
file.type === "image/svg+xml") {
            
_this.emit("thumbnail"filefileReader.result);
            if (
callback != null) {
              
callback();
            }
            return;
          }
          return 
_this.createThumbnailFromUrl(filefileReader.resultcallback);
        };
      })(
this);
      return 
fileReader.readAsDataURL(file);
    };

    
Dropzone.prototype.createThumbnailFromUrl = function(fileimageUrlcallback) {
      var 
img;
      
img document.createElement("img");
      
img.onload = (function(_this) {
        return function() {
          var 
canvasctxresizeInfothumbnail_ref_ref1_ref2_ref3;
          
file.width img.width;
          
file.height img.height;
          
resizeInfo _this.options.resize.call(_thisfile);
          if (
resizeInfo.trgWidth == null) {
            
resizeInfo.trgWidth resizeInfo.optWidth;
          }
          if (
resizeInfo.trgHeight == null) {
            
resizeInfo.trgHeight resizeInfo.optHeight;
          }
          
canvas document.createElement("canvas");
          
ctx canvas.getContext("2d");
          
canvas.width resizeInfo.trgWidth;
          
canvas.height resizeInfo.trgHeight;
          
drawImageIOSFix(ctximg, (_ref resizeInfo.srcX) != null _ref 0, (_ref1 resizeInfo.srcY) != null _ref1 0resizeInfo.srcWidthresizeInfo.srcHeight, (_ref2 resizeInfo.trgX) != null _ref2 0, (_ref3 resizeInfo.trgY) != null _ref3 0resizeInfo.trgWidthresizeInfo.trgHeight);
          
thumbnail canvas.toDataURL("image/png");
          
_this.emit("thumbnail"filethumbnail);
          if (
callback != null) {
            return 
callback();
          }
        };
      })(
this);
      if (
callback != null) {
        
img.onerror callback;
      }
      return 
img.src imageUrl;
    };

    
Dropzone.prototype.processQueue = function() {
      var 
iparallelUploadsprocessingLengthqueuedFiles;
      
parallelUploads this.options.parallelUploads;
      
processingLength this.getUploadingFiles().length;
      
processingLength;
      if (
processingLength >= parallelUploads) {
        return;
      }
      
queuedFiles this.getQueuedFiles();
      if (!(
queuedFiles.length 0)) {
        return;
      }
      if (
this.options.uploadMultiple) {
        return 
this.processFiles(queuedFiles.slice(0parallelUploads processingLength));
      } else {
        while (
parallelUploads) {
          if (!
queuedFiles.length) {
            return;
          }
          
this.processFile(queuedFiles.shift());
          
i++;
        }
      }
    };

    
Dropzone.prototype.processFile = function(file) {
      return 
this.processFiles([file]);
    };

    
Dropzone.prototype.processFiles = function(files) {
      var 
file_i_len;
      for (
_i 0_len files.length_i _len_i++) {
        
file files[_i];
        
file.processing true;
        
file.status Dropzone.UPLOADING;
        
this.emit("processing"file);
      }
      if (
this.options.uploadMultiple) {
        
this.emit("processingmultiple"files);
      }
      return 
this.uploadFiles(files);
    };

    
Dropzone.prototype._getFilesWithXhr = function(xhr) {
      var 
filefiles;
      return 
files = (function() {
        var 
_i_len_ref_results;
        
_ref this.files;
        
_results = [];
        for (
_i 0_len _ref.length_i _len_i++) {
          
file _ref[_i];
          if (
file.xhr === xhr) {
            
_results.push(file);
          }
        }
        return 
_results;
      }).
call(this);
    };

    
Dropzone.prototype.cancelUpload = function(file) {
      var 
groupedFilegroupedFiles_i_j_len_len1_ref;
      if (
file.status === Dropzone.UPLOADING) {
        
groupedFiles this._getFilesWithXhr(file.xhr);
        for (
_i 0_len groupedFiles.length_i _len_i++) {
          
groupedFile groupedFiles[_i];
          
groupedFile.status Dropzone.CANCELED;
        }
        
file.xhr.abort();
        for (
_j 0_len1 groupedFiles.length_j _len1_j++) {
          
groupedFile groupedFiles[_j];
          
this.emit("canceled"groupedFile);
        }
        if (
this.options.uploadMultiple) {
          
this.emit("canceledmultiple"groupedFiles);
        }
      } else if ((
_ref file.status) === Dropzone.ADDED || _ref === Dropzone.QUEUED) {
        
file.status Dropzone.CANCELED;
        
this.emit("canceled"file);
        if (
this.options.uploadMultiple) {
          
this.emit("canceledmultiple", [file]);
        }
      }
      if (
this.options.autoProcessQueue) {
        return 
this.processQueue();
      }
    };

    
resolveOption = function() {
      var 
argsoption;
      
option arguments[0], args <= arguments.length __slice.call(arguments1) : [];
      if (
typeof option === 'function') {
        return 
option.apply(thisargs);
      }
      return 
option;
    };

    
Dropzone.prototype.uploadFile = function(file) {
      return 
this.uploadFiles([file]);
    };

    
Dropzone.prototype.uploadFiles = function(files) {
      var 
fileformDatahandleErrorheaderNameheaderValueheadersiinputinputNameinputTypekeymethodoptionprogressObjresponseupdateProgressurlvaluexhr_i_j_k_l_len_len1_len2_len3_m_ref_ref1_ref2_ref3_ref4_ref5;
      
xhr = new XMLHttpRequest();
      for (
_i 0_len files.length_i _len_i++) {
        
file files[_i];
        
file.xhr xhr;
      }
      
method resolveOption(this.options.methodfiles);
      
url resolveOption(this.options.urlfiles);
      
xhr.open(methodurltrue);
      
xhr.withCredentials = !!this.options.withCredentials;
      
response null;
      
handleError = (function(_this) {
        return function() {
          var 
_j_len1_results;
          
_results = [];
          for (
_j 0_len1 files.length_j _len1_j++) {
            
file files[_j];
            
_results.push(_this._errorProcessing(filesresponse || _this.options.dictResponseError.replace("{{statusCode}}"xhr.status), xhr));
          }
          return 
_results;
        };
      })(
this);
      
updateProgress = (function(_this) {
        return function(
e) {
          var 
allFilesFinishedprogress_j_k_l_len1_len2_len3_results;
          if (
!= null) {
            
progress 100 e.loaded e.total;
            for (
_j 0_len1 files.length_j _len1_j++) {
              
file files[_j];
              
file.upload = {
                
progressprogress,
                
totale.total,
                
bytesSente.loaded
              
};
            }
          } else {
            
allFilesFinished true;
            
progress 100;
            for (
_k 0_len2 files.length_k _len2_k++) {
              
file files[_k];
              if (!(
file.upload.progress === 100 && file.upload.bytesSent === file.upload.total)) {
                
allFilesFinished false;
              }
              
file.upload.progress progress;
              
file.upload.bytesSent file.upload.total;
            }
            if (
allFilesFinished) {
              return;
            }
          }
          
_results = [];
          for (
_l 0_len3 files.length_l _len3_l++) {
            
file files[_l];
            
_results.push(_this.emit("uploadprogress"fileprogressfile.upload.bytesSent));
          }
          return 
_results;
        };
      })(
this);
      
xhr.onload = (function(_this) {
        return function(
e) {
          var 
_ref;
          if (
files[0].status === Dropzone.CANCELED) {
            return;
          }
          if (
xhr.readyState !== 4) {
            return;
          }
          
response xhr.responseText;
          if (
xhr.getResponseHeader("content-type") && ~xhr.getResponseHeader("content-type").indexOf("application/json")) {
            try {
              
response JSON.parse(response);
            } catch (
_error) {
              
_error;
              
response "Invalid JSON response from server.";
            }
          }
          
updateProgress();
          if (!((
200 <= (_ref xhr.status) && _ref 300))) {
            return 
handleError();
          } else {
            return 
_this._finished(filesresponsee);
          }
        };
      })(
this);
      
xhr.onerror = (function(_this) {
        return function() {
          if (
files[0].status === Dropzone.CANCELED) {
            return;
          }
          return 
handleError();
        };
      })(
this);
      
progressObj = (_ref xhr.upload) != null _ref xhr;
      
progressObj.onprogress updateProgress;
      
headers = {
        
"Accept""application/json",
        
"Cache-Control""no-cache",
        
"X-Requested-With""XMLHttpRequest"
      
};
      if (
this.options.headers) {
        
extend(headersthis.options.headers);
      }
      for (
headerName in headers) {
        
headerValue headers[headerName];
        
xhr.setRequestHeader(headerNameheaderValue);
      }
      
formData = new FormData();
      if (
this.options.params) {
        
_ref1 this.options.params;
        for (
key in _ref1) {
          
value _ref1[key];
          
formData.append(keyvalue);
        }
      }
      for (
_j 0_len1 files.length_j _len1_j++) {
        
file files[_j];
        
this.emit("sending"filexhrformData);
      }
      if (
this.options.uploadMultiple) {
        
this.emit("sendingmultiple"filesxhrformData);
      }
      if (
this.element.tagName === "FORM") {
        
_ref2 this.element.querySelectorAll("input, textarea, select, button");
        for (
_k 0_len2 _ref2.length_k _len2_k++) {
          
input _ref2[_k];
          
inputName input.getAttribute("name");
          
inputType input.getAttribute("type");
          if (
input.tagName === "SELECT" && input.hasAttribute("multiple")) {
            
_ref3 input.options;
            for (
_l 0_len3 _ref3.length_l _len3_l++) {
              
option _ref3[_l];
              if (
option.selected) {
                
formData.append(inputNameoption.value);
              }
            }
          } else if (!
inputType || ((_ref4 inputType.toLowerCase()) !== "checkbox" && _ref4 !== "radio") || input.checked) {
            
formData.append(inputNameinput.value);
          }
        }
      }
      for (
_m 0_ref5 files.length 1<= _ref5 _m <= _ref5 _m >= _ref5<= _ref5 ? ++_m : --_m) {
        
formData.append(this._getParamName(i), files[i], files[i].name);
      }
      return 
xhr.send(formData);
    };

    
Dropzone.prototype._finished = function(filesresponseTexte) {
      var 
file_i_len;
      for (
_i 0_len files.length_i _len_i++) {
        
file files[_i];
        
file.status Dropzone.SUCCESS;
        
this.emit("success"fileresponseTexte);
        
this.emit("complete"file);
      }
      if (
this.options.uploadMultiple) {
        
this.emit("successmultiple"filesresponseTexte);
        
this.emit("completemultiple"files);
      }
      if (
this.options.autoProcessQueue) {
        return 
this.processQueue();
      }
    };

    
Dropzone.prototype._errorProcessing = function(filesmessagexhr) {
      var 
file_i_len;
      for (
_i 0_len files.length_i _len_i++) {
        
file files[_i];
        
file.status Dropzone.ERROR;
        
this.emit("error"filemessagexhr);
        
this.emit("complete"file);
      }
      if (
this.options.uploadMultiple) {
        
this.emit("errormultiple"filesmessagexhr);
        
this.emit("completemultiple"files);
      }
      if (
this.options.autoProcessQueue) {
        return 
this.processQueue();
      }
    };

    return 
Dropzone;

  })(
Emitter);

  
Dropzone.version "4.0.1";

  
Dropzone.options = {};

  
Dropzone.optionsForElement = function(element) {
    if (
element.getAttribute("id")) {
      return 
Dropzone.options[camelize(element.getAttribute("id"))];
    } else {
      return 
void 0;
    }
  };

  
Dropzone.instances = [];

  
Dropzone.forElement = function(element) {
    if (
typeof element === "string") {
      
element document.querySelector(element);
    }
    if ((
element != null element.dropzone void 0) == null) {
      throw new 
Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.");
    }
    return 
element.dropzone;
  };

  
Dropzone.autoDiscover true;

  
Dropzone.discover = function() {
    var 
checkElementsdropzonedropzones_i_len_results;
    if (
document.querySelectorAll) {
      
dropzones document.querySelectorAll(".dropzone");
    } else {
      
dropzones = [];
      
checkElements = function(elements) {
        var 
el_i_len_results;
        
_results = [];
        for (
_i 0_len elements.length_i _len_i++) {
          
el elements[_i];
          if (/(^| )
dropzone($| )/.test(el.className)) {
            
_results.push(dropzones.push(el));
          } else {
            
_results.push(void 0);
          }
        }
        return 
_results;
      };
      
checkElements(document.getElementsByTagName("div"));
      
checkElements(document.getElementsByTagName("form"));
    }
    
_results = [];
    for (
_i 0_len dropzones.length_i _len_i++) {
      
dropzone dropzones[_i];
      if (
Dropzone.optionsForElement(dropzone) !== false) {
        
_results.push(new Dropzone(dropzone));
      } else {
        
_results.push(void 0);
      }
    }
    return 
_results;
  };

  
Dropzone.blacklistedBrowsers = [/opera.*Macintosh.*version/12/i];

  
Dropzone.isBrowserSupported = function() {
    var 
capableBrowserregex_i_len_ref;
    
capableBrowser true;
    if (
window.File && window.FileReader && window.FileList && window.Blob && window.FormData && document.querySelector) {
      if (!(
"classList" in document.createElement("a"))) {
        
capableBrowser false;
      } else {
        
_ref Dropzone.blacklistedBrowsers;
        for (
_i 0_len _ref.length_i _len_i++) {
          
regex _ref[_i];
          if (
regex.test(navigator.userAgent)) {
            
capableBrowser false;
            continue;
          }
        }
      }
    } else {
      
capableBrowser false;
    }
    return 
capableBrowser;
  };

  
without = function(list, rejectedItem) {
    var 
item_i_len_results;
    
_results = [];
    for (
_i 0_len = list.length_i _len_i++) {
      
item = list[_i];
      if (
item !== rejectedItem) {
        
_results.push(item);
      }
    }
    return 
_results;
  };

  
camelize = function(str) {
    return 
str.replace(/[-_](w)/g, function(match) {
      return 
match.charAt(1).toUpperCase();
    });
  };

  
Dropzone.createElement = function(string) {
    var 
div;
    
div document.createElement("div");
    
div.innerHTML string;
    return 
div.childNodes[0];
  };

  
Dropzone.elementInside = function(elementcontainer) {
    if (
element === container) {
      return 
true;
    }
    while (
element element.parentNode) {
      if (
element === container) {
        return 
true;
      }
    }
    return 
false;
  };

  
Dropzone.getElement = function(elname) {
    var 
element;
    if (
typeof el === "string") {
      
element document.querySelector(el);
    } else if (
el.nodeType != null) {
      
element el;
    }
    if (
element == null) {
      throw new 
Error("Invalid `" name "` option provided. Please provide a CSS selector or a plain HTML element.");
    }
    return 
element;
  };

  
Dropzone.getElements = function(elsname) {
    var 
eelelements_i_j_len_len1_ref;
    if (
els instanceof Array) {
      
elements = [];
      try {
        for (
_i 0_len els.length_i _len_i++) {
          
el els[_i];
          
elements.push(this.getElement(elname));
        }
      } catch (
_error) {
        
_error;
        
elements null;
      }
    } else if (
typeof els === "string") {
      
elements = [];
      
_ref document.querySelectorAll(els);
      for (
_j 0_len1 _ref.length_j _len1_j++) {
        
el _ref[_j];
        
elements.push(el);
      }
    } else if (
els.nodeType != null) {
      
elements = [els];
    }
    if (!((
elements != null) && elements.length)) {
      throw new 
Error("Invalid `" name "` option provided. Please provide a CSS selector, a plain HTML element or a list of those.");
    }
    return 
elements;
  };

  
Dropzone.confirm = function(questionacceptedrejected) {
    if (
window.confirm(question)) {
      return 
accepted();
    } else if (
rejected != null) {
      return 
rejected();
    }
  };

  
Dropzone.isValidFile = function(fileacceptedFiles) {
    var 
baseMimeTypemimeTypevalidType_i_len;
    if (!
acceptedFiles) {
      return 
true;
    }
    
acceptedFiles acceptedFiles.split(",");
    
mimeType file.type;
    
baseMimeType mimeType.replace(//.*$/, "");
    
for (_i 0_len acceptedFiles.length_i _len_i++) {
      
validType acceptedFiles[_i];
      
validType validType.trim();
      if (
validType.charAt(0) === ".") {
        if (
file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length validType.length) !== -1) {
          return 
true;
        }
      } else if (
//*$/.test(validType)) {
        
if (baseMimeType === validType.replace(//.*$/, "")) {
          
return true;
        }
      } else {
        if (
mimeType === validType) {
          return 
true;
        }
      }
    }
    return 
false;
  };

  if (
typeof jQuery !== "undefined" && jQuery !== null) {
    
jQuery.fn.dropzone = function(options) {
      return 
this.each(function() {
        return new 
Dropzone(thisoptions);
      });
    };
  }

  if (
typeof module !== "undefined" && module !== null) {
    
module.exports Dropzone;
  } else {
    
window.Dropzone Dropzone;
  }

  
Dropzone.ADDED "added";

  
Dropzone.QUEUED "queued";

  
Dropzone.ACCEPTED Dropzone.QUEUED;

  
Dropzone.UPLOADING "uploading";

  
Dropzone.PROCESSING Dropzone.UPLOADING;

  
Dropzone.CANCELED "canceled";

  
Dropzone.ERROR "error";

  
Dropzone.SUCCESS "success";


  
/*
  
  Bugfix for iOS 6 and 7
  Source: http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios
  based on the work of https://github.com/stomita/ios-imagefile-megapixel
   */

  
detectVerticalSquash = function(img) {
    var 
alphacanvasctxdataeyihiwpyratiosy;
    
iw img.naturalWidth;
    
ih img.naturalHeight;
    
canvas document.createElement("canvas");
    
canvas.width 1;
    
canvas.height ih;
    
ctx canvas.getContext("2d");
    
ctx.drawImage(img00);
    
data ctx.getImageData(001ih).data;
    
sy 0;
    
ey ih;
    
py ih;
    while (
py sy) {
      
alpha data[(py 1) * 3];
      if (
alpha === 0) {
        
ey py;
      } else {
        
sy py;
      }
      
py = (ey sy) >> 1;
    }
    
ratio py ih;
    if (
ratio === 0) {
      return 
1;
    } else {
      return 
ratio;
    }
  };

  
drawImageIOSFix = function(ctximgsxsyswshdxdydwdh) {
    var 
vertSquashRatio;
    
vertSquashRatio detectVerticalSquash(img);
    return 
ctx.drawImage(imgsxsyswshdxdydwdh vertSquashRatio);
  };


  
/*
   * contentloaded.js
   *
   * Author: Diego Perini (diego.perini at gmail.com)
   * Summary: cross-browser wrapper for DOMContentLoaded
   * Updated: 20101020
   * License: MIT
   * Version: 1.2
   *
   * URL:
   * http://javascript.nwbox.com/ContentLoaded/
   * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE
   */

  
contentLoaded = function(win, fn) {
    var 
adddocdoneinitpollpreremroottop;
    
done false;
    
top true;
    
doc win.document;
    
root doc.documentElement;
    
add = (doc.addEventListener "addEventListener" "attachEvent");
    
rem = (doc.addEventListener "removeEventListener" "detachEvent");
    
pre = (doc.addEventListener "" "on");
    
init = function(e) {
      if (
e.type === "readystatechange" && doc.readyState !== "complete") {
        return;
      }
      (
e.type === "load" win doc)[rem](pre e.typeinitfalse);
      if (!
done && (done true)) {
        return fn.
call(wine.type || e);
      }
    };
    
poll = function() {
      var 
e;
      try {
        
root.doScroll("left");
      } catch (
_error) {
        
_error;
        
setTimeout(poll50);
        return;
      }
      return 
init("poll");
    };
    if (
doc.readyState !== "complete") {
      if (
doc.createEventObject && root.doScroll) {
        try {
          
top = !win.frameElement;
        } catch (
_error) {}
        if (
top) {
          
poll();
        }
      }
      
doc[add](pre "DOMContentLoaded"initfalse);
      
doc[add](pre "readystatechange"initfalse);
      return 
win[add](pre "load"initfalse);
    }
  };

  
Dropzone._autoDiscoverFunction = function() {
    if (
Dropzone.autoDiscover) {
      return 
Dropzone.discover();
    }
  };

  
contentLoaded(windowDropzone._autoDiscoverFunction);

}).
call(this);
?>
Онлайн: 1
Реклама