dropzonejs-rails 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/README.md +3 -3
- data/lib/dropzonejs-rails/version.rb +2 -2
- data/vendor/assets/javascripts/dropzone.js +77 -44
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YTkwMTIzM2RiNzE2ZGEwMDFhNTIzN2M3ZTc4MzBmZWUzYzk2YjFlNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZWMyNDZkYjZiY2M0NGExMDhmYWY4MjM3MDZhZTAxMTI4Y2RkMDZjOA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ODc0MjFhNjJkYzQxY2YwNTBjYTdhNjZkZTFhY2I1OTNiYTExM2U0Njc4ZTdh
|
10
|
+
MTJhMmNhODU5YTZhOTE5MzdkZjA3ZTRkOTcwMDg2NThhZGUxZWRkYTI1ZWNj
|
11
|
+
MjFiNTAzM2FiY2EzMzcxNmMzNDZhM2I5MDA1YTRlODNhMTY1MWI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YTZkYzNkNzRlZTJjZWIxMzRkYTI0MGVhOWQyZTRhYTI1MmFjY2QyOTdlZTgx
|
14
|
+
YTRkMDVkMDU5MzlkNGUyNDg0MDUwODk4YWRlMjlmOTViYTM1ZWNkZDQ3NjEy
|
15
|
+
ZjM3OGZkNmEzMzk5NTE5NDVjYWEyNmI1MmYzOTM5MGRkZGE1ZTk=
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@ Integrate [Matias Meno's Dropzone](http://www.dropzonejs.com/) awesome file uplo
|
|
4
4
|
|
5
5
|
## Version
|
6
6
|
|
7
|
-
The latest version of this gem bundles **Dropzone v3.
|
7
|
+
The latest version of this gem bundles **Dropzone v3.2.0**.
|
8
8
|
|
9
9
|
## Installation and usage
|
10
10
|
|
@@ -27,11 +27,11 @@ After that, you need to make `dropzone.js` available on your pages. To do that,
|
|
27
27
|
|
28
28
|
And if you would like to use one of the styles bundled with Dropzone, add to your `application.css`:
|
29
29
|
```scss
|
30
|
-
|
30
|
+
*= require dropzone/basic
|
31
31
|
```
|
32
32
|
or
|
33
33
|
```scss
|
34
|
-
|
34
|
+
*= require dropzone/dropzone
|
35
35
|
```
|
36
36
|
|
37
37
|
And **Bam!** - you're all set.
|
@@ -1,12 +1,5 @@
|
|
1
1
|
;(function(){
|
2
2
|
|
3
|
-
|
4
|
-
/**
|
5
|
-
* hasOwnProperty.
|
6
|
-
*/
|
7
|
-
|
8
|
-
var has = Object.prototype.hasOwnProperty;
|
9
|
-
|
10
3
|
/**
|
11
4
|
* Require the given path.
|
12
5
|
*
|
@@ -83,10 +76,10 @@ require.resolve = function(path) {
|
|
83
76
|
|
84
77
|
for (var i = 0; i < paths.length; i++) {
|
85
78
|
var path = paths[i];
|
86
|
-
if (
|
79
|
+
if (require.modules.hasOwnProperty(path)) return path;
|
87
80
|
}
|
88
81
|
|
89
|
-
if (
|
82
|
+
if (require.aliases.hasOwnProperty(index)) {
|
90
83
|
return require.aliases[index];
|
91
84
|
}
|
92
85
|
};
|
@@ -140,7 +133,7 @@ require.register = function(path, definition) {
|
|
140
133
|
*/
|
141
134
|
|
142
135
|
require.alias = function(from, to) {
|
143
|
-
if (!
|
136
|
+
if (!require.modules.hasOwnProperty(from)) {
|
144
137
|
throw new Error('Failed to alias "' + from + '", it does not exist');
|
145
138
|
}
|
146
139
|
require.aliases[to] = from;
|
@@ -202,7 +195,7 @@ require.relative = function(parent) {
|
|
202
195
|
*/
|
203
196
|
|
204
197
|
localRequire.exists = function(path) {
|
205
|
-
return
|
198
|
+
return require.modules.hasOwnProperty(localRequire.resolve(path));
|
206
199
|
};
|
207
200
|
|
208
201
|
return localRequire;
|
@@ -418,7 +411,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
418
411
|
*/
|
419
412
|
|
420
413
|
|
421
|
-
Dropzone.prototype.events = ["drop", "dragstart", "dragend", "dragenter", "dragover", "dragleave", "selectedfiles", "addedfile", "removedfile", "thumbnail", "error", "processingfile", "uploadprogress", "sending", "success", "complete", "reset"];
|
414
|
+
Dropzone.prototype.events = ["drop", "dragstart", "dragend", "dragenter", "dragover", "dragleave", "selectedfiles", "addedfile", "removedfile", "thumbnail", "error", "processingfile", "uploadprogress", "totaluploadprogress", "sending", "success", "complete", "reset"];
|
422
415
|
|
423
416
|
Dropzone.prototype.defaultOptions = {
|
424
417
|
url: null,
|
@@ -561,6 +554,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
561
554
|
uploadprogress: function(file, progress, bytesSent) {
|
562
555
|
return file.previewElement.querySelector("[data-dz-uploadprogress]").style.width = "" + progress + "%";
|
563
556
|
},
|
557
|
+
totaluploadprogress: noop,
|
564
558
|
sending: noop,
|
565
559
|
success: function(file) {
|
566
560
|
return file.previewElement.classList.add("dz-success");
|
@@ -618,28 +612,18 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
618
612
|
fallback.parentNode.removeChild(fallback);
|
619
613
|
}
|
620
614
|
if (this.options.previewsContainer) {
|
621
|
-
|
622
|
-
this.previewsContainer = document.querySelector(this.options.previewsContainer);
|
623
|
-
} else if (this.options.previewsContainer.nodeType != null) {
|
624
|
-
this.previewsContainer = this.options.previewsContainer;
|
625
|
-
}
|
626
|
-
if (this.previewsContainer == null) {
|
627
|
-
throw new Error("Invalid `previewsContainer` option provided. Please provide a CSS selector or a plain HTML element.");
|
628
|
-
}
|
615
|
+
this.previewsContainer = Dropzone.getElement(this.options.previewsContainer, "previewsContainer");
|
629
616
|
} else {
|
630
617
|
this.previewsContainer = this.element;
|
631
618
|
}
|
632
619
|
if (this.options.clickable) {
|
633
620
|
if (this.options.clickable === true) {
|
634
|
-
this.
|
635
|
-
} else
|
636
|
-
this.
|
637
|
-
} else if (this.options.clickable.nodeType != null) {
|
638
|
-
this.clickableElement = this.options.clickable;
|
639
|
-
}
|
640
|
-
if (!this.clickableElement) {
|
641
|
-
throw new Error("Invalid `clickable` element provided. Please set it to `true`, a plain HTML element or a valid CSS selector.");
|
621
|
+
this.clickableElements = [this.element];
|
622
|
+
} else {
|
623
|
+
this.clickableElements = Dropzone.getElements(this.options.clickable, "clickable");
|
642
624
|
}
|
625
|
+
} else {
|
626
|
+
this.clickableElements = [];
|
643
627
|
}
|
644
628
|
this.init();
|
645
629
|
}
|
@@ -654,7 +638,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
654
638
|
if (this.element.classList.contains("dropzone") && !this.element.querySelector("[data-dz-message]")) {
|
655
639
|
this.element.appendChild(Dropzone.createElement("<div class=\"dz-default dz-message\" data-dz-message><span>" + this.options.dictDefaultMessage + "</span></div>"));
|
656
640
|
}
|
657
|
-
if (this.
|
641
|
+
if (this.clickableElements.length) {
|
658
642
|
setupHiddenFileInput = function() {
|
659
643
|
if (_this.hiddenFileInput) {
|
660
644
|
document.body.removeChild(_this.hiddenFileInput);
|
@@ -689,6 +673,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
689
673
|
setupHiddenFileInput();
|
690
674
|
}
|
691
675
|
this.files = [];
|
676
|
+
this.acceptedFiles = [];
|
692
677
|
this.filesQueue = [];
|
693
678
|
this.filesProcessing = [];
|
694
679
|
this.URL = (_ref = window.URL) != null ? _ref : window.webkitURL;
|
@@ -702,7 +687,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
702
687
|
|
703
688
|
totalBytesSent = 0;
|
704
689
|
totalBytes = 0;
|
705
|
-
_ref2 = _this.
|
690
|
+
_ref2 = _this.acceptedFiles;
|
706
691
|
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
|
707
692
|
file = _ref2[_j];
|
708
693
|
totalBytesSent += file.upload.bytesSent;
|
@@ -748,18 +733,18 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
748
733
|
}
|
749
734
|
}
|
750
735
|
];
|
751
|
-
|
752
|
-
|
753
|
-
element:
|
736
|
+
this.clickableElements.forEach(function(clickableElement) {
|
737
|
+
return _this.listeners.push({
|
738
|
+
element: clickableElement,
|
754
739
|
events: {
|
755
740
|
"click": function(evt) {
|
756
|
-
if ((
|
741
|
+
if ((clickableElement !== _this.element) || (evt.target === _this.element || Dropzone.elementInside(evt.target, _this.element.querySelector(".dz-message")))) {
|
757
742
|
return _this.hiddenFileInput.click();
|
758
743
|
}
|
759
744
|
}
|
760
745
|
}
|
761
746
|
});
|
762
|
-
}
|
747
|
+
});
|
763
748
|
this.enable();
|
764
749
|
return this.options.init.call(this);
|
765
750
|
};
|
@@ -774,7 +759,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
774
759
|
if (this.options.dictFallbackText) {
|
775
760
|
fieldsString += "<p>" + this.options.dictFallbackText + "</p>";
|
776
761
|
}
|
777
|
-
fieldsString += "<input type=\"file\" name=\"" + this.options.paramName + "\" multiple=\"multiple\" /><button type=\"submit\">Upload!</button></div>";
|
762
|
+
fieldsString += "<input type=\"file\" name=\"" + this.options.paramName + "[]\" multiple=\"multiple\" /><button type=\"submit\">Upload!</button></div>";
|
778
763
|
fields = Dropzone.createElement(fieldsString);
|
779
764
|
if (this.element.tagName !== "FORM") {
|
780
765
|
form = Dropzone.createElement("<form action=\"" + this.options.url + "\" enctype=\"multipart/form-data\" method=\"" + this.options.method + "\"></form>");
|
@@ -853,18 +838,18 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
853
838
|
};
|
854
839
|
|
855
840
|
Dropzone.prototype.disable = function() {
|
856
|
-
|
857
|
-
|
858
|
-
}
|
841
|
+
this.clickableElements.forEach(function(element) {
|
842
|
+
return element.classList.remove("dz-clickable");
|
843
|
+
});
|
859
844
|
this.removeEventListeners();
|
860
845
|
this.filesProcessing = [];
|
861
846
|
return this.filesQueue = [];
|
862
847
|
};
|
863
848
|
|
864
849
|
Dropzone.prototype.enable = function() {
|
865
|
-
|
866
|
-
|
867
|
-
}
|
850
|
+
this.clickableElements.forEach(function(element) {
|
851
|
+
return element.classList.add("dz-clickable");
|
852
|
+
});
|
868
853
|
return this.setupEventListeners();
|
869
854
|
};
|
870
855
|
|
@@ -939,8 +924,11 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
939
924
|
}
|
940
925
|
return this.accept(file, function(error) {
|
941
926
|
if (error) {
|
927
|
+
file.accepted = false;
|
942
928
|
return _this.errorProcessing(file, error);
|
943
929
|
} else {
|
930
|
+
file.accepted = true;
|
931
|
+
_this.acceptedFiles.push(file);
|
944
932
|
if (_this.options.enqueueForUpload) {
|
945
933
|
_this.filesQueue.push(file);
|
946
934
|
return _this.processQueue();
|
@@ -1122,7 +1110,7 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
1122
1110
|
|
1123
1111
|
})(Em);
|
1124
1112
|
|
1125
|
-
Dropzone.version = "3.
|
1113
|
+
Dropzone.version = "3.2.0";
|
1126
1114
|
|
1127
1115
|
Dropzone.options = {};
|
1128
1116
|
|
@@ -1250,6 +1238,50 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
1250
1238
|
return false;
|
1251
1239
|
};
|
1252
1240
|
|
1241
|
+
Dropzone.getElement = function(el, name) {
|
1242
|
+
var element;
|
1243
|
+
|
1244
|
+
if (typeof el === "string") {
|
1245
|
+
element = document.querySelector(el);
|
1246
|
+
} else if (el.nodeType != null) {
|
1247
|
+
element = el;
|
1248
|
+
}
|
1249
|
+
if (element == null) {
|
1250
|
+
throw new Error("Invalid `" + name + "` option provided. Please provide a CSS selector or a plain HTML element.");
|
1251
|
+
}
|
1252
|
+
return element;
|
1253
|
+
};
|
1254
|
+
|
1255
|
+
Dropzone.getElements = function(els, name) {
|
1256
|
+
var e, el, elements, _i, _j, _len, _len1, _ref;
|
1257
|
+
|
1258
|
+
if (els instanceof Array) {
|
1259
|
+
elements = [];
|
1260
|
+
try {
|
1261
|
+
for (_i = 0, _len = els.length; _i < _len; _i++) {
|
1262
|
+
el = els[_i];
|
1263
|
+
elements.push(this.getElement(el, name));
|
1264
|
+
}
|
1265
|
+
} catch (_error) {
|
1266
|
+
e = _error;
|
1267
|
+
elements = null;
|
1268
|
+
}
|
1269
|
+
} else if (typeof els === "string") {
|
1270
|
+
elements = [];
|
1271
|
+
_ref = document.querySelectorAll(els);
|
1272
|
+
for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
|
1273
|
+
el = _ref[_j];
|
1274
|
+
elements.push(el);
|
1275
|
+
}
|
1276
|
+
} else if (els.nodeType != null) {
|
1277
|
+
elements = [els];
|
1278
|
+
}
|
1279
|
+
if (!((elements != null) && elements.length)) {
|
1280
|
+
throw new Error("Invalid `" + name + "` option provided. Please provide a CSS selector, a plain HTML element or a list of those.");
|
1281
|
+
}
|
1282
|
+
return elements;
|
1283
|
+
};
|
1284
|
+
|
1253
1285
|
Dropzone.isValidMimeType = function(mimeType, acceptedMimeTypes) {
|
1254
1286
|
var baseMimeType, validMimeType, _i, _len;
|
1255
1287
|
|
@@ -1355,11 +1387,12 @@ require.register("dropzone/lib/dropzone.js", function(exports, require, module){
|
|
1355
1387
|
|
1356
1388
|
});
|
1357
1389
|
require.alias("component-emitter/index.js", "dropzone/deps/emitter/index.js");
|
1390
|
+
require.alias("component-emitter/index.js", "emitter/index.js");
|
1358
1391
|
|
1359
1392
|
if (typeof exports == "object") {
|
1360
1393
|
module.exports = require("dropzone");
|
1361
1394
|
} else if (typeof define == "function" && define.amd) {
|
1362
1395
|
define(function(){ return require("dropzone"); });
|
1363
1396
|
} else {
|
1364
|
-
|
1397
|
+
this["Dropzone"] = require("dropzone");
|
1365
1398
|
}})();
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dropzonejs-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- José Nahuel Cuesta Luengo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-05-
|
11
|
+
date: 2013-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|