update dropzone

This commit is contained in:
Jörg Thalheim 2013-04-05 12:34:37 +02:00
parent 5364810e93
commit d649e1649d
3 changed files with 79 additions and 24 deletions

View File

@ -10,9 +10,9 @@ compass_config do |config|
config.output_style = :compact
end
configure :build do
ignore "source/images/companies/*.png"
end
#configure :build do
# ignore "source/images/companies/*.png"
#end
##
# Slim

View File

@ -1,5 +1,6 @@
== javascript_include_tag "dropzone.js"
h1 Inbox
p All uploaded files are sent to us
p
form#my-awesome-dropzone.dropzone.clickable action="/upload"

View File

@ -368,8 +368,6 @@ module.exports = require("./lib/dropzone.js");
});
require.register("dropzone/lib/dropzone.js", function(exports, require, module){
// Generated by CoffeeScript 1.4.0
/*
#
# More info at [www.dropzonejs.com](http://www.dropzonejs.com)
@ -401,14 +399,14 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
var Dropzone, Em, camelize, contentLoaded, createElement, noop, without,
__hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
__slice = [].slice;
__slice = [].slice,
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
Em = typeof Emitter !== "undefined" && Emitter !== null ? Emitter : require("emitter");
noop = function() {};
Dropzone = (function(_super) {
__extends(Dropzone, _super);
/*
@ -424,6 +422,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.prototype.defaultOptions = {
url: null,
method: "post",
parallelUploads: 2,
maxFilesize: 256,
paramName: "file",
@ -446,6 +445,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
},
fallback: function() {
var child, messageElement, span, _i, _len, _ref;
this.element.className = "" + this.element.className + " browser-not-supported";
_ref = this.element.getElementsByTagName("div");
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
@ -533,6 +533,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
function Dropzone(element, options) {
var elementId, elementOptions, extend, fallback, _ref;
this.element = element;
this.version = Dropzone.version;
this.defaultOptions.previewTemplate = this.defaultOptions.previewTemplate.replace(/\n*/g, "");
@ -550,6 +551,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
elementOptions = (_ref = (elementId ? Dropzone.options[camelize(elementId)] : void 0)) != null ? _ref : {};
extend = function() {
var key, object, objects, target, val, _i, _len;
target = arguments[0], objects = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
for (_i = 0, _len = objects.length; _i < _len; _i++) {
object = objects[_i];
@ -567,19 +569,32 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
if (!this.options.url) {
throw new Error("No URL provided.");
}
this.options.method = this.options.method.toUpperCase();
if (!Dropzone.isBrowserSupported()) {
return this.options.fallback.call(this);
}
if ((fallback = this.getExistingFallback()) && fallback.parentNode) {
fallback.parentNode.removeChild(fallback);
}
this.previewsContainer = this.options.previewsContainer ? createElement(this.options.previewsContainer) : this.element;
if (this.options.previewsContainer) {
if (typeof this.options.previewsContainer === "string") {
this.previewsContainer = document.querySelector(this.options.previewsContainer);
} else if (this.options.previewsContainer.nodeType != null) {
this.previewsContainer = this.options.previewsContainer;
}
if (this.previewsContainer == null) {
throw new Error("Invalid `previewsContainer` option provided. Please provide a CSS selector or a plain HTML element.");
}
} else {
this.previewsContainer = this.element;
}
this.init();
}
Dropzone.prototype.init = function() {
var eventName, noPropagation, _i, _len, _ref, _ref1,
_this = this;
if (this.element.tagName === "form") {
this.element.setAttribute("enctype", "multipart/form-data");
}
@ -594,6 +609,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
document.body.appendChild(this.hiddenFileInput);
this.hiddenFileInput.addEventListener("change", function() {
var files;
files = _this.hiddenFileInput.files;
if (files.length) {
_this.emit("selectedfiles", files);
@ -656,6 +672,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.prototype.getFallbackForm = function() {
var existingFallback, fields, fieldsString, form;
if (existingFallback = this.getExistingFallback()) {
return existingFallback;
}
@ -666,19 +683,21 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
fieldsString += "<input type=\"file\" name=\"" + this.options.paramName + "\" multiple=\"multiple\" /><button type=\"submit\">Upload!</button></div>";
fields = createElement(fieldsString);
if (this.element.tagName !== "FORM") {
form = createElement("<form action=\"" + this.options.url + "\" enctype=\"multipart/form-data\" method=\"post\"></form>");
form = 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", "post");
this.element.setAttribute("method", this.options.method);
}
return form != null ? form : fields;
};
Dropzone.prototype.getExistingFallback = function() {
var fallback, getFallback, tagName, _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)) {
@ -697,6 +716,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.prototype.setupEventListeners = function() {
var event, listener, _ref, _results;
_ref = this.listeners;
_results = [];
for (event in _ref) {
@ -708,6 +728,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.prototype.removeEventListeners = function() {
var event, listener, _ref, _results;
_ref = this.listeners;
_results = [];
for (event in _ref) {
@ -735,6 +756,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.prototype.filesize = function(size) {
var string;
if (size >= 100000000000) {
size = size / 100000000000;
string = "TB";
@ -756,6 +778,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.prototype.drop = function(e) {
var files;
if (!e.dataTransfer) {
return;
}
@ -768,6 +791,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.prototype.handleFiles = function(files) {
var file, _i, _len, _results;
_results = [];
for (_i = 0, _len = files.length; _i < _len; _i++) {
file = files[_i];
@ -786,6 +810,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.prototype.addFile = function(file) {
var _this = this;
this.files.push(file);
this.emit("addedfile", file);
if (this.options.createImageThumbnails && file.type.match(/image.*/) && file.size <= this.options.maxThumbnailFilesize * 1024 * 1024) {
@ -815,15 +840,31 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
}
};
Dropzone.prototype.removeAllFiles = function() {
var file, _i, _len, _ref;
_ref = this.files.slice();
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
file = _ref[_i];
if (__indexOf.call(this.filesProcessing, file) < 0) {
this.removeFile(file);
}
}
return null;
};
Dropzone.prototype.createThumbnail = function(file) {
var fileReader,
_this = this;
fileReader = new FileReader;
fileReader.onload = function() {
var img;
img = new Image;
img.onload = function() {
var canvas, ctx, srcHeight, srcRatio, srcWidth, srcX, srcY, thumbnail, trgHeight, trgRatio, trgWidth, trgX, trgY;
canvas = document.createElement("canvas");
ctx = canvas.getContext("2d");
srcX = 0;
@ -865,6 +906,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.prototype.processQueue = function() {
var i, parallelUploads, processingLength;
parallelUploads = this.options.parallelUploads;
processingLength = this.filesProcessing.length;
i = processingLength;
@ -887,13 +929,15 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.prototype.uploadFile = function(file) {
var formData, handleError, input, inputName, inputType, key, progressObj, value, xhr, _i, _len, _ref, _ref1, _ref2,
_this = this;
xhr = new XMLHttpRequest();
xhr.open("POST", this.options.url, true);
xhr.open(this.options.method, this.options.url, true);
handleError = function() {
return _this.errorProcessing(file, xhr.responseText || ("Server responded with " + xhr.status + " code."));
};
xhr.onload = function(e) {
var response, _ref;
if (!((200 <= (_ref = xhr.status) && _ref < 300))) {
return handleError();
} else {
@ -924,7 +968,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
formData.append(key, value);
}
}
if (this.element.tagName = "FORM") {
if (this.element.tagName === "FORM") {
_ref2 = this.element.querySelectorAll("input, textarea, select, button");
for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
input = _ref2[_i];
@ -961,7 +1005,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
})(Em);
Dropzone.version = "2.0.3";
Dropzone.version = "2.0.10";
Dropzone.options = {};
@ -969,6 +1013,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.forElement = function(element) {
var instance, _i, _len, _ref;
if (typeof element === "string") {
element = document.querySelector(element);
}
@ -986,8 +1031,9 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
Dropzone.isBrowserSupported = function() {
var capableBrowser, regex, _i, _len, _ref;
capableBrowser = true;
if (window.File && window.FileReader && window.FileList && window.Blob && window.FormData) {
if (window.File && window.FileReader && window.FileList && window.Blob && window.FormData && document.querySelector) {
if (!("classList" in document.createElement("a"))) {
capableBrowser = false;
} else {
@ -1008,6 +1054,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
without = function(list, rejectedItem) {
var item, _i, _len, _results;
_results = [];
for (_i = 0, _len = list.length; _i < _len; _i++) {
item = list[_i];
@ -1026,6 +1073,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
createElement = function(string) {
var div;
div = document.createElement("div");
div.innerHTML = string;
return div.childNodes[0];
@ -1047,6 +1095,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
contentLoaded = function(win, fn) {
var add, doc, done, init, poll, pre, rem, root, top;
done = false;
top = true;
doc = win.document;
@ -1064,9 +1113,12 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
}
};
poll = function() {
var e;
try {
root.doScroll("left");
} catch (e) {
} catch (_error) {
e = _error;
setTimeout(poll, 50);
return;
}
@ -1089,12 +1141,14 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
contentLoaded(window, function() {
var checkElements, dropzone, dropzones, _i, _len, _results;
if (false) {
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];