-
-
Save alexpchin/efc33fe072d8eafd7039 to your computer and use it in GitHub Desktop.
AngularJS directive for Dropzone.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* An AngularJS directive for Dropzone.js, http://www.dropzonejs.com/ | |
* | |
* Usage: | |
* | |
* <div ng-app="app" ng-controller="SomeCtrl"> | |
* <button dropzone="dropzoneConfig"> | |
* Drag and drop files here or click to upload | |
* </button> | |
* </div> | |
*/ | |
angular.module('dropzone', []).directive('dropzone', function () { | |
return function (scope, element, attrs) { | |
var config, dropzone; | |
config = scope[attrs.dropzone]; | |
// create a Dropzone for the element with the given options | |
dropzone = new Dropzone(element[0], config.options); | |
// bind the given event handlers | |
angular.forEach(config.eventHandlers, function (handler, event) { | |
dropzone.on(event, handler); | |
}); | |
}; | |
}); | |
angular.module('app', ['dropzone']); | |
angular.module('app').controller('SomeCtrl', function ($scope) { | |
$scope.dropzoneConfig = { | |
'options': { // passed into the Dropzone constructor | |
'url': 'upload.php' | |
}, | |
'eventHandlers': { | |
'sending': function (file, xhr, formData) { | |
}, | |
'success': function (file, response) { | |
} | |
} | |
}; | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I am getting Error
Cannot read property 'options' of undefined
The line I am pointed to is
dropzone = new Dropzone(element[0], config.options);
my Directive is:
my HTML is:
my Controller is:
What am I missing???