Update v1.0.6

This commit is contained in:
Bhanu Slathia
2016-02-16 23:22:09 +05:30
parent 62d04a0372
commit c710c20b9e
7620 changed files with 244752 additions and 1070312 deletions

View File

@@ -0,0 +1,4 @@
build
components
node_modules
.DS_Store

View File

@@ -0,0 +1,64 @@
{
"files": [
{
"name": "src/dropzone.coffee",
"regexs": [
"Dropzone.version = \"###\""
]
},
{
"name": "lib/dropzone.js",
"regexs": [
"version = \"###\""
]
},
{
"name": "downloads/dropzone.js",
"regexs": [
"version = \"###\""
]
},
{
"name": "downloads/dropzone.min.js",
"regexs": [
"version=\"###\""
]
},
{
"name": "downloads/dropzone-amd-module.js",
"regexs": [
"version = \"###\""
]
},
{
"name": "downloads/dropzone-amd-module.min.js",
"regexs": [
"version=\"###\""
]
},
{
"name": "package.json",
"regexs": [
"\"version\": \"###\""
]
},
{
"name": "component.json",
"regexs": [
"\"version\": \"###\""
]
},
{
"name": "bower.json",
"regexs": [
"\"version\": \"###\""
]
},
{
"name": "readme.md",
"regexs": [
"\\*Version ###\\*"
]
}
]
}

View File

@@ -0,0 +1,3 @@
language: node_js
node_js:
- 0.10

View File

@@ -0,0 +1,2 @@
return module.exports;
}));

View File

@@ -0,0 +1,11 @@
// Uses AMD or browser globals to create a jQuery plugin.
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else {
// Browser globals
factory(jQuery);
}
} (function (jQuery) {
var module = { exports: { } }; // Fake component

View File

@@ -0,0 +1,78 @@
Contribute
==========
> I have changed my branching model recently (November 2013)! Previously
> the latest version was always in develop, and pull request had to be
> made on this branch. This is no longer the case!
The latest version is always in the **[master](https://github.com/enyo/dropzone)**
branch.
> Please provide a test for any new feature (see the [testing section](#testing) below).
Communicate
-----------
Before you start implementing new features, please create an issue about
it first and discuss your intent.
It might be something that someone else is already implementing or that
goes against the concepts of Dropzone, and I really hate rejecting pull
requests others spent hours writing on.
Developer Dependencies
----------------------
The first thing you need to do, is to install the developer dependencies:
```bash
$ npm install
```
This will install all the tools you need to compile the source files and to test
the library.
Coffeescript & Stylus (-> Javascript & CSS)
------------------------------------------
Dropzone is written in [Coffeescript](http://coffeescript.org) and
[Stylus](http://learnboost.github.com/stylus/) so *do not* make
changes to the Javascript or CSS files
**I will not merge requests written in Javascript or CSS.**
Please don't include compiled `.js` or `.css` files in your pull requests but only
`.coffee` or `.styl` files. That way pull requests aren't polluted and I can see
immediately what you changed.
To build the library use [grunt](http://gruntjs.com).
```bash
$ grunt -h # Displays available options
$ grunt # compiles all coffeescript and stylus files
$ grunt watch # watches for changes and builds on the fly
```
> I recommend using `grunt watch` when you begin developing. This way you can't
> forget to compile the source files and will avoid headaches.
Testing
-------
To test the library, open `test/test.html` in your browser or type `npm test`
which will run the tests in your console in a headless browser.
The tests are also written in coffeescript in the `test/test.coffee` file,
and compiled with `grunt js` or `grunt watch`.
* Thanks for contributing!*

View File

@@ -0,0 +1,99 @@
module.exports = (grunt) ->
grunt.initConfig
pkg: grunt.file.readJSON "package.json"
stylus:
options:
compress: false
basic:
files: [
"downloads/css/basic.css": "downloads/css/stylus/basic.styl"
]
dropzone:
files: [
"downloads/css/dropzone.css": "downloads/css/stylus/dropzone.styl"
]
coffee:
default:
files:
"lib/dropzone.js": "src/dropzone.coffee"
test:
files:
"test/test.js": "test/*.coffee"
componentbuild:
options:
standalone: "Dropzone"
app:
# output: "build/"
name: "build"
src: "."
dest: "./build"
# config: "component.json"
# styles: false
# scripts: true
copy:
component:
src: "build/build.js"
dest: "downloads/dropzone.js"
concat:
amd:
src: [
"AMD_header"
"components/component-emitter/index.js"
"lib/dropzone.js"
"AMD_footer"
]
dest: "downloads/dropzone-amd-module.js"
watch:
js:
files: [
"src/dropzone.coffee"
]
tasks: [ "js" ]
options: nospawn: on
test:
files: [
"test/*.coffee"
]
tasks: [ "coffee:test" ]
options: nospawn: on
css:
files: [
"downloads/css/stylus/*.styl"
]
tasks: [ "css" ]
options: nospawn: on
uglify:
js:
files: [
"downloads/dropzone-amd-module.min.js": "downloads/dropzone-amd-module.js"
"downloads/dropzone.min.js": "downloads/dropzone.js"
]
grunt.loadNpmTasks "grunt-contrib-coffee"
grunt.loadNpmTasks "grunt-component-build"
grunt.loadNpmTasks "grunt-contrib-stylus"
grunt.loadNpmTasks "grunt-contrib-copy"
grunt.loadNpmTasks "grunt-contrib-concat"
grunt.loadNpmTasks "grunt-contrib-watch"
grunt.loadNpmTasks "grunt-contrib-uglify"
# Default tasks
grunt.registerTask "default", [ "downloads" ]
grunt.registerTask "css", "Compile the stylus files to css", [ "stylus" ]
grunt.registerTask "js", "Compile coffeescript", [ "coffee", "componentbuild", "copy", "concat" ]
grunt.registerTask "downloads", "Compile all stylus and coffeescript files and generate the download files", [ "js", "css", "uglify" ]

View File

@@ -0,0 +1,16 @@
{
"name": "dropzone",
"location": "enyo/dropzone",
"version": "3.10.2",
"description": "Dropzone is an easy to use drag'n'drop library. It supports image previews and shows nice progress bars.",
"homepage": "http://www.dropzonejs.com",
"main": [
"downloads/css/dropzone.css",
"downloads/dropzone.min.js"
],
"ignore": [
"*",
"!downloads",
"!downloads/**/*"
]
}

View File

@@ -0,0 +1,12 @@
{
"name": "dropzone",
"repo": "enyo/dropzone",
"version": "3.10.2",
"description": "Handles drag and drop of files for you.",
"scripts": [ "index.js", "lib/dropzone.js" ],
"styles": [ "downloads/css/basic.css" ],
"dependencies": {
"component/emitter": "*"
},
"license": "MIT"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -0,0 +1,155 @@
/* The MIT License */
.dropzone,
.dropzone *,
.dropzone-previews,
.dropzone-previews * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.dropzone {
position: relative;
border: 1px solid rgba(0,0,0,0.08);
background: rgba(0,0,0,0.02);
padding: 1em;
}
.dropzone.dz-clickable {
cursor: pointer;
}
.dropzone.dz-clickable .dz-message,
.dropzone.dz-clickable .dz-message span {
cursor: pointer;
}
.dropzone.dz-clickable * {
cursor: default;
}
.dropzone .dz-message {
opacity: 1;
-ms-filter: none;
filter: none;
}
.dropzone.dz-drag-hover {
border-color: rgba(0,0,0,0.15);
background: rgba(0,0,0,0.04);
}
.dropzone.dz-started .dz-message {
display: none;
}
.dropzone .dz-preview,
.dropzone-previews .dz-preview {
background: rgba(255,255,255,0.8);
position: relative;
display: inline-block;
margin: 17px;
vertical-align: top;
border: 1px solid #acacac;
padding: 6px 6px 6px 6px;
}
.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail],
.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] {
display: none;
}
.dropzone .dz-preview .dz-details,
.dropzone-previews .dz-preview .dz-details {
width: 100px;
height: 100px;
position: relative;
background: #ebebeb;
padding: 5px;
margin-bottom: 22px;
}
.dropzone .dz-preview .dz-details .dz-filename,
.dropzone-previews .dz-preview .dz-details .dz-filename {
overflow: hidden;
height: 100%;
}
.dropzone .dz-preview .dz-details img,
.dropzone-previews .dz-preview .dz-details img {
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 100px;
}
.dropzone .dz-preview .dz-details .dz-size,
.dropzone-previews .dz-preview .dz-details .dz-size {
position: absolute;
bottom: -28px;
left: 3px;
height: 28px;
line-height: 28px;
}
.dropzone .dz-preview.dz-error .dz-error-mark,
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
display: block;
}
.dropzone .dz-preview.dz-success .dz-success-mark,
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
display: block;
}
.dropzone .dz-preview:hover .dz-details img,
.dropzone-previews .dz-preview:hover .dz-details img {
display: none;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark,
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
display: none;
position: absolute;
width: 40px;
height: 40px;
font-size: 30px;
text-align: center;
right: -10px;
top: -10px;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
color: #8cc657;
}
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
color: #ee162d;
}
.dropzone .dz-preview .dz-progress,
.dropzone-previews .dz-preview .dz-progress {
position: absolute;
top: 100px;
left: 6px;
right: 6px;
height: 6px;
background: #d7d7d7;
display: none;
}
.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 0%;
background-color: #8cc657;
}
.dropzone .dz-preview.dz-processing .dz-progress,
.dropzone-previews .dz-preview.dz-processing .dz-progress {
display: block;
}
.dropzone .dz-preview .dz-error-message,
.dropzone-previews .dz-preview .dz-error-message {
display: none;
position: absolute;
top: -5px;
left: -20px;
background: rgba(245,245,245,0.8);
padding: 8px 10px;
color: #800;
min-width: 140px;
max-width: 500px;
z-index: 500;
}
.dropzone .dz-preview:hover.dz-error .dz-error-message,
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
display: block;
}

View File

@@ -0,0 +1,397 @@
/* The MIT License */
.dropzone,
.dropzone *,
.dropzone-previews,
.dropzone-previews * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.dropzone {
position: relative;
border: 1px solid rgba(0,0,0,0.08);
background: rgba(0,0,0,0.02);
padding: 1em;
}
.dropzone.dz-clickable {
cursor: pointer;
}
.dropzone.dz-clickable .dz-message,
.dropzone.dz-clickable .dz-message span {
cursor: pointer;
}
.dropzone.dz-clickable * {
cursor: default;
}
.dropzone .dz-message {
opacity: 1;
-ms-filter: none;
filter: none;
}
.dropzone.dz-drag-hover {
border-color: rgba(0,0,0,0.15);
background: rgba(0,0,0,0.04);
}
.dropzone.dz-started .dz-message {
display: none;
}
.dropzone .dz-preview,
.dropzone-previews .dz-preview {
background: rgba(255,255,255,0.8);
position: relative;
display: inline-block;
margin: 17px;
vertical-align: top;
border: 1px solid #acacac;
padding: 6px 6px 6px 6px;
}
.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail],
.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] {
display: none;
}
.dropzone .dz-preview .dz-details,
.dropzone-previews .dz-preview .dz-details {
width: 100px;
height: 100px;
position: relative;
background: #ebebeb;
padding: 5px;
margin-bottom: 22px;
}
.dropzone .dz-preview .dz-details .dz-filename,
.dropzone-previews .dz-preview .dz-details .dz-filename {
overflow: hidden;
height: 100%;
}
.dropzone .dz-preview .dz-details img,
.dropzone-previews .dz-preview .dz-details img {
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 100px;
}
.dropzone .dz-preview .dz-details .dz-size,
.dropzone-previews .dz-preview .dz-details .dz-size {
position: absolute;
bottom: -28px;
left: 3px;
height: 28px;
line-height: 28px;
}
.dropzone .dz-preview.dz-error .dz-error-mark,
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
display: block;
}
.dropzone .dz-preview.dz-success .dz-success-mark,
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
display: block;
}
.dropzone .dz-preview:hover .dz-details img,
.dropzone-previews .dz-preview:hover .dz-details img {
display: none;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark,
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
display: none;
position: absolute;
width: 40px;
height: 40px;
font-size: 30px;
text-align: center;
right: -10px;
top: -10px;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
color: #8cc657;
}
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
color: #ee162d;
}
.dropzone .dz-preview .dz-progress,
.dropzone-previews .dz-preview .dz-progress {
position: absolute;
top: 100px;
left: 6px;
right: 6px;
height: 6px;
background: #d7d7d7;
display: none;
}
.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 0%;
background-color: #8cc657;
}
.dropzone .dz-preview.dz-processing .dz-progress,
.dropzone-previews .dz-preview.dz-processing .dz-progress {
display: block;
}
.dropzone .dz-preview .dz-error-message,
.dropzone-previews .dz-preview .dz-error-message {
display: none;
position: absolute;
top: -5px;
left: -20px;
background: rgba(245,245,245,0.8);
padding: 8px 10px;
color: #800;
min-width: 140px;
max-width: 500px;
z-index: 500;
}
.dropzone .dz-preview:hover.dz-error .dz-error-message,
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
display: block;
}
.dropzone {
border: 1px solid rgba(0,0,0,0.03);
min-height: 360px;
-webkit-border-radius: 3px;
border-radius: 3px;
background: rgba(0,0,0,0.03);
padding: 23px;
}
.dropzone .dz-default.dz-message {
opacity: 1;
-ms-filter: none;
filter: none;
-webkit-transition: opacity 0.3s ease-in-out;
-moz-transition: opacity 0.3s ease-in-out;
-o-transition: opacity 0.3s ease-in-out;
-ms-transition: opacity 0.3s ease-in-out;
transition: opacity 0.3s ease-in-out;
background-image: url("../images/spritemap.png");
background-repeat: no-repeat;
background-position: 0 0;
position: absolute;
width: 428px;
height: 123px;
margin-left: -214px;
margin-top: -61.5px;
top: 50%;
left: 50%;
}
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
.dropzone .dz-default.dz-message {
background-image: url("../images/spritemap@2x.png");
-webkit-background-size: 428px 406px;
-moz-background-size: 428px 406px;
background-size: 428px 406px;
}
}
.dropzone .dz-default.dz-message span {
display: none;
}
.dropzone.dz-square .dz-default.dz-message {
background-position: 0 -123px;
width: 268px;
margin-left: -134px;
height: 174px;
margin-top: -87px;
}
.dropzone.dz-drag-hover .dz-message {
opacity: 0.15;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
filter: alpha(opacity=15);
}
.dropzone.dz-started .dz-message {
display: block;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
}
.dropzone .dz-preview,
.dropzone-previews .dz-preview {
-webkit-box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
font-size: 14px;
}
.dropzone .dz-preview.dz-image-preview:hover .dz-details img,
.dropzone-previews .dz-preview.dz-image-preview:hover .dz-details img {
display: block;
opacity: 0.1;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
filter: alpha(opacity=10);
}
.dropzone .dz-preview.dz-success .dz-success-mark,
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
opacity: 1;
-ms-filter: none;
filter: none;
}
.dropzone .dz-preview.dz-error .dz-error-mark,
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
opacity: 1;
-ms-filter: none;
filter: none;
}
.dropzone .dz-preview.dz-error .dz-progress .dz-upload,
.dropzone-previews .dz-preview.dz-error .dz-progress .dz-upload {
background: #ee1e2d;
}
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark,
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
display: block;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
-webkit-transition: opacity 0.4s ease-in-out;
-moz-transition: opacity 0.4s ease-in-out;
-o-transition: opacity 0.4s ease-in-out;
-ms-transition: opacity 0.4s ease-in-out;
transition: opacity 0.4s ease-in-out;
background-image: url("../images/spritemap.png");
background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark,
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
background-image: url("../images/spritemap@2x.png");
-webkit-background-size: 428px 406px;
-moz-background-size: 428px 406px;
background-size: 428px 406px;
}
}
.dropzone .dz-preview .dz-error-mark span,
.dropzone-previews .dz-preview .dz-error-mark span,
.dropzone .dz-preview .dz-success-mark span,
.dropzone-previews .dz-preview .dz-success-mark span {
display: none;
}
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
background-position: -268px -123px;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
background-position: -268px -163px;
}
.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
-webkit-animation: loading 0.4s linear infinite;
-moz-animation: loading 0.4s linear infinite;
-o-animation: loading 0.4s linear infinite;
-ms-animation: loading 0.4s linear infinite;
animation: loading 0.4s linear infinite;
-webkit-transition: width 0.3s ease-in-out;
-moz-transition: width 0.3s ease-in-out;
-o-transition: width 0.3s ease-in-out;
-ms-transition: width 0.3s ease-in-out;
transition: width 0.3s ease-in-out;
-webkit-border-radius: 2px;
border-radius: 2px;
position: absolute;
top: 0;
left: 0;
width: 0%;
height: 100%;
background-image: url("../images/spritemap.png");
background-repeat: repeat-x;
background-position: 0px -400px;
}
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
background-image: url("../images/spritemap@2x.png");
-webkit-background-size: 428px 406px;
-moz-background-size: 428px 406px;
background-size: 428px 406px;
}
}
.dropzone .dz-preview.dz-success .dz-progress,
.dropzone-previews .dz-preview.dz-success .dz-progress {
display: block;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
-webkit-transition: opacity 0.4s ease-in-out;
-moz-transition: opacity 0.4s ease-in-out;
-o-transition: opacity 0.4s ease-in-out;
-ms-transition: opacity 0.4s ease-in-out;
transition: opacity 0.4s ease-in-out;
}
.dropzone .dz-preview .dz-error-message,
.dropzone-previews .dz-preview .dz-error-message {
display: block;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
-webkit-transition: opacity 0.3s ease-in-out;
-moz-transition: opacity 0.3s ease-in-out;
-o-transition: opacity 0.3s ease-in-out;
-ms-transition: opacity 0.3s ease-in-out;
transition: opacity 0.3s ease-in-out;
}
.dropzone .dz-preview:hover.dz-error .dz-error-message,
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
opacity: 1;
-ms-filter: none;
filter: none;
}
.dropzone a.dz-remove,
.dropzone-previews a.dz-remove {
background-image: -webkit-linear-gradient(top, #fafafa, #eee);
background-image: -moz-linear-gradient(top, #fafafa, #eee);
background-image: -o-linear-gradient(top, #fafafa, #eee);
background-image: -ms-linear-gradient(top, #fafafa, #eee);
background-image: linear-gradient(to bottom, #fafafa, #eee);
-webkit-border-radius: 2px;
border-radius: 2px;
border: 1px solid #eee;
text-decoration: none;
display: block;
padding: 4px 5px;
text-align: center;
color: #aaa;
margin-top: 26px;
}
.dropzone a.dz-remove:hover,
.dropzone-previews a.dz-remove:hover {
color: #666;
}
@-moz-keyframes loading {
from {
background-position: 0 -400px;
}
to {
background-position: -7px -400px;
}
}
@-webkit-keyframes loading {
from {
background-position: 0 -400px;
}
to {
background-position: -7px -400px;
}
}
@-o-keyframes loading {
from {
background-position: 0 -400px;
}
to {
background-position: -7px -400px;
}
}
@keyframes loading {
from {
background-position: 0 -400px;
}
to {
background-position: -7px -400px;
}
}

View File

@@ -0,0 +1,165 @@
/* The MIT License */
// Copyright (c) 2012 Matias Meno <m@tias.me>
// 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.
@import "nib"
.dropzone
.dropzone *
.dropzone-previews
.dropzone-previews *
box-sizing border-box
.dropzone
position relative
border 1px solid rgba(0, 0, 0, 0.08)
background rgba(0, 0, 0, 0.02)
padding 1em
&.dz-clickable
cursor pointer
.dz-message
.dz-message span
cursor pointer
*
cursor default
.dz-message
opacity 1
&.dz-drag-hover
border-color rgba(0, 0, 0, 0.15)
background rgba(0, 0, 0, 0.04)
&.dz-started
.dz-message
display none
.dropzone
.dropzone-previews
.dz-preview
background rgba(255, 255, 255, 0.8)
position relative
display inline-block
margin 17px
vertical-align top
border 1px solid #acacac
padding 6px 6px 6px 6px
&.dz-file-preview
[data-dz-thumbnail]
display none
.dz-details
width 100px
height @width
position relative
background #ebebeb
padding 5px
margin-bottom 22px
.dz-filename
overflow hidden
height 100%
img
absolute top left
width @width
height @width
.dz-size
absolute bottom -28px left 3px
height 28px
line-height @height
&.dz-error
.dz-error-mark
display block
&.dz-success
.dz-success-mark
display block
&:hover
.dz-details
img
display none
.dz-success-mark
.dz-error-mark
display none
position absolute
width 40px
height 40px
font-size 30px
text-align center
right -10px
top -10px
.dz-success-mark
color #8CC657
.dz-error-mark
color #EE162D
.dz-progress
position absolute
top 100px
left 6px
right 6px
height 6px
background #d7d7d7
display none
.dz-upload
display block
position absolute
top 0
bottom 0
left 0
width 0%
background-color #8CC657
&.dz-processing
.dz-progress
display block
.dz-error-message
display none
absolute top -5px left -20px
background rgba(245, 245, 245, 0.8)
padding 8px 10px
color #800
min-width 140px
max-width 500px
z-index 500
&:hover.dz-error
.dz-error-message
display block

View File

@@ -0,0 +1,180 @@
/* The MIT License */
// Copyright (c) 2012 Matias Meno <m@tias.me>
// 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.
@import "nib"
@import "basic"
@keyframes loading
from
background-position: 0 -400px
to
background-position: -7px -400px
.dropzone
border 1px solid rgba(0, 0, 0, 0.03)
min-height 360px
border-radius 3px
background rgba(0, 0, 0, 0.03)
padding 23px
.dz-default.dz-message
opacity 1
transition opacity 0.3s ease-in-out
image "../images/spritemap.png" 428px 406px
background-repeat no-repeat
background-position 0 0
position absolute
width 428px
height 123px
margin-left -(@width / 2)
margin-top -(@height / 2)
top 50%
left 50%
span
display none
&.dz-square
.dz-default.dz-message
background-position 0 -123px
width 268px
margin-left -(@width / 2)
height 174px
margin-top -(@height / 2)
&.dz-drag-hover
.dz-message
opacity 0.15
&.dz-started
.dz-message
display block
opacity 0 // Rather fade out nicely
.dropzone
.dropzone-previews
.dz-preview
box-shadow 1px 1px 4px rgba(0, 0, 0, 0.16)
font-size 14px
.dz-details
// Not implemented yet. This is the CSS definition of the file
// content as text.
// .content
// font-size 3px
// white-space pre
// position absolute
// top 5px
// left 12px
// right 19px
// bottom 5px
// overflow hidden
// line-height 100%
// cursor default
// word-wrap break-word
&.dz-image-preview
&:hover
.dz-details
img
display block
opacity 0.1
&.dz-success
.dz-success-mark
opacity 1
&.dz-error
.dz-error-mark
opacity 1
.dz-progress .dz-upload
background #EE1E2D
.dz-error-mark
.dz-success-mark
display block
opacity 0 // Fade in / out
transition opacity 0.4s ease-in-out
image "../images/spritemap.png" 428px 406px
background-repeat no-repeat
span
display none
.dz-error-mark
background-position -268px -123px
.dz-success-mark
background-position -268px -163px
.dz-progress
.dz-upload
animation loading 0.4s linear infinite
transition width 0.3s ease-in-out
border-radius 2px
position absolute
top 0
left 0
width 0%
height 100%
image "../images/spritemap.png" 428px 406px
background-repeat repeat-x
background-position 0px -400px
&.dz-success
.dz-progress
display block
opacity 0
transition opacity 0.4s ease-in-out
// Disabled for now until I find a better way to cope with long filenames
// .filename
// span
// overflow ellipsis
.dz-error-message
display block
opacity 0 // Rather fade in / out
transition opacity 0.3s ease-in-out
&:hover.dz-error
.dz-error-message
opacity 1
a.dz-remove
background-image linear-gradient(top, #fafafa, #eee)
border-radius 2px
border 1px solid #eee
text-decoration none
display block
padding 4px 5px
text-align center
color #aaa
margin-top 26px
&:hover
color #666

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@@ -0,0 +1,10 @@
# Warning!
You shouldn't pull these files from the github master branch directly!
They might be outdated or not working at all since I normally only push them
when I create a version release.
To be sure to get a proper release, please go to the
[dropzone releases section on github](https://github.com/enyo/dropzone/releases/latest).

View File

@@ -0,0 +1,6 @@
/**
* Exposing dropzone
*/
module.exports = require("./lib/dropzone.js");

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
#!/bin/bash
echo "Going to checkout master and publish to npm..." &&
read &&
git checkout master &&
echo "Publishing to npm..." &&
npm publish &&
echo "Checking out develop." &&
git checkout develop

View File

@@ -0,0 +1,61 @@
{
"name": "dropzone",
"version": "3.10.2",
"description": "Handles drag and drop of files for you.",
"keywords": [
"dragndrop",
"drag and drop",
"file upload",
"upload"
],
"homepage": "http://www.dropzonejs.com",
"main": [
"./lib/dropzone.js"
],
"maintainers": [
{
"name": "Matias Meno",
"email": "m@tias.me",
"web": "http://www.matiasmeno.com"
}
],
"contributors": [
{
"name": "Matias Meno",
"email": "m@tias.me",
"web": "http://www.matiasmeno.com"
}
],
"scripts": {
"test": "./test.sh"
},
"bugs": {
"email": "m@tias.me",
"url": "https://github.com/enyo/dropzone/issues"
},
"licenses": [
{
"type": "MIT",
"url": "http://www.opensource.org/licenses/MIT"
}
],
"repository": {
"type": "git",
"url": "https://github.com/enyo/dropzone.git"
},
"dependencies": {},
"devDependencies": {
"chai": "1.7.x",
"grunt": "^0.4.4",
"grunt-component-build": "^0.5.0",
"grunt-contrib-coffee": "^0.10.1",
"grunt-contrib-concat": "^0.4.0",
"grunt-contrib-copy": "^0.5.0",
"grunt-contrib-stylus": "^0.16.0",
"grunt-contrib-uglify": "^0.4.0",
"grunt-contrib-watch": "^0.6.1",
"mocha": "^1.18.2",
"mocha-phantomjs": "^3.3.2",
"sinon": "1.9.1"
}
}

View File

@@ -0,0 +1,159 @@
<h1 align="center">
<img alt="Dropzone.js" src="http://www.dropzonejs.com/images/logo.png" />
</h1>
*Version 3.10.2*
![Build status](https://travis-ci.org/enyo/dropzone.png?branch=master)
Dropzone.js is a light weight JavaScript library that turns an HTML element into a dropzone.
This means that a user can drag and drop a file onto it, and the file gets uploaded to the server via AJAX.
* * *
> If you want support, please use [stackoverflow](http://stackoverflow.com/) with the `dropzone.js` tag and not the
> GitHub issues tracker. Only post an issue here if you think you discovered a bug or have a feature request.
* * *
**Please read the [contributing guidelines](CONTRIBUTING.md) before you start working on Dropzone!**
<div align="center">
<a href="https://github.com/enyo/dropzone/releases/latest"><img src="https://raw.github.com/enyo/dropzone/master/download.png" alt="Download" /></a>
</div>
Starting with version 2.0.0 this library does no longer depend on jQuery (but
it still works as a jQuery module).
It is written as a [component](https://github.com/component/component) but
there's a standalone version, and an [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD)
module that's compatible with [RequireJS](http://requirejs.org) in the downloads
folder.
![Screenshot](http://i.imgur.com/zXyTjMp.png)
## Main features
- Image thumbnail previews. Simply register the callback `thumbnail(file, data)` and display the image wherever you like
- Retina enabled
- Multiple files and synchronous uploads
- Progress updates
- Support for large files
- Complete theming. The look and feel of Dropzone is just the default theme. You
can define everything yourself by overwriting the default event listeners.
- Well tested
## Documentation
For the full documentation and installation please visit www.dropzonejs.com
Please also refer to the [FAQ](https://github.com/enyo/dropzone/wiki/FAQ).
## Examples
For examples, please see the [GitHub wiki](https://github.com/enyo/dropzone/wiki).
## Usage
Implicit creation:
```html
<form id="my-awesome-dropzone" action="/target" class="dropzone"></form>
```
That's it. Really!
Dropzone will automatically attach to it, and handle file drops.
Want more control? You can configure dropzones like this:
```js
// "myAwesomeDropzone" is the camelized version of the ID of your HTML element
Dropzone.options.myAwesomeDropzone = { maxFilesize: 1 };
```
...or instantiate dropzone manually like this:
```js
new Dropzone("div#my-dropzone", { /* options */ });
```
> Note that dropzones don't have to be forms. But if you choose another element you have to pass the `url` parameter in the options.
For configuration options please look at the [documentation on the website](http://www.dropzonejs.com/#configuration)
or at the [source](https://github.com/enyo/dropzone/blob/master/src/dropzone.coffee#L90).
### Register for events
I use [emitter](https://github.com/component/emitter) to manage events. If you want to register to some event you can do so on the `dropzone` object itself:
```js
Dropzone.options.myDropzone({
init: function() {
this.on("error", function(file, message) { alert(message); });
}
});
// or if you need to access a Dropzone somewhere else:
var myDropzone = Dropzone.forElement("div#my-dropzone");
myDropzone.on("error", function(file, message) { alert(message); });
```
For a list of all events, please look at the chapter
[»listen to events«](http://www.dropzonejs.com/#listen_to_events) in the documentation
or at the [source](src/dropzone.coffee#L43).
## Browser support
- Chrome 7+
- Firefox 4+
- IE 10+
- Opera 12+ (Version 12 for MacOS is disabled because their API is buggy)
- Safari 6+
For all the other browsers, dropzone provides an oldschool file input fallback.
## Why another library?
I realize that there [are](http://valums.com/ajax-upload/) [already](http://tutorialzine.com/2011/09/html5-file-upload-jquery-php/) [other](http://code.google.com/p/html5uploader/) [libraries](http://blueimp.github.com/jQuery-File-Upload/) out there but the reason I decided to write my own are the following:
- I didn't want it to be too big, and to cumbersome to dive into.
- I want to design my own elements. I only want to register callbacks so I can update my elements accordingly.
- Big files should get uploaded without a problem.
- I wanted a callback for image previews, that don't kill the browser if too many too big images are viewed.
- I want to use the latest API of browsers. I don't care if it falls back to the normal upload form if the browser is too old.
- I don't think that it's necessary anymore to depend on libraries such as jQuery (especially when providing functionality that isn't available in old browsers anyway).
## Other projects
You might also be interested in my [open source tooltip library Opentip](http://www.opentip.org/).
![Opentip](http://i.imgur.com/Zubpo.png)
License
-------
(The MIT License)
Copyright (c) 2012 Matias Meno &lt;m@tias.me&gt;<br>
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.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,16 @@
#!/bin/bash
if [ $# -gt 0 ]
then
if [ $1 != "compiled" ]
then
echo
echo "Invalid argument passed. Call './test.sh compiled' if don't want to compile the source before."
echo
exit 1
fi
else
grunt
component build --standalone Dropzone
fi
./node_modules/mocha-phantomjs/bin/mocha-phantomjs test/test.html

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,22 @@
<!DOCTYPE html>
<meta charset="utf-8">
<link rel="stylesheet" href="../node_modules/mocha/mocha.css" />
<div id="mocha"></div>
<script src="../node_modules/mocha/mocha.js"></script>
<script src="../node_modules/chai/chai.js"></script>
<script src="../node_modules/sinon/pkg/sinon-1.9.1.js"></script>
<script src="../downloads/dropzone.js"></script>
<script>
mocha.ui('bdd');
mocha.reporter('html');
expect = chai.expect;
chai.should();
</script>
<script src="test.js"></script>
<script>
if (window.mochaPhantomJS) { mochaPhantomJS.run(); }
else { mocha.run(); }
</script>

File diff suppressed because it is too large Load Diff