forked from danialfarid/ng-file-upload
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathangular-file-upload.min.js
More file actions
9 lines (9 loc) · 1.77 KB
/
angular-file-upload.min.js
File metadata and controls
9 lines (9 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
/**!
* AngularJS file upload/drop directive with http post and progress
* @author Danial <danial.farid@gmail.com>
* @version 1.1.2
*/
(function(){var k=angular.module("angularFileUpload",[]);k.service("$upload",["$http",function(d){this.upload=function(a){a.method=a.method||"POST";a.headers=a.headers||{};a.headers["Content-Type"]=void 0;a.transformRequest=angular.identity;var c=new FormData;if(a.data)for(key in a.data)c.append(key,a.data[key]);c.append(a.fileFormDataName||"file",a.file,a.file.name);c.__uploadProgress_=function(c){c&&a.progress(c)};a.data=c;var b=d(a);b.abort=function(){throw"upload is not started yet";};c.__setAbortFunction_=
function(c){b.abort=c};return b}}]);k.directive("ngFileSelect",["$parse","$http",function(d,a){return function(c,a,f){var h=d(f.ngFileSelect);a.bind("change",function(a){var b=[],g,e;g=a.target.files;if(null!=g)for(e=0;e<g.length;e++)b.push(g.item(e));c.$apply(function(){h(c,{$files:b,$event:a})})});a.bind("click",function(){this.value=null})}}]);k.directive("ngFileDropAvailable",["$parse","$http",function(d,a){return function(a,b,f){if("draggable"in document.createElement("span")){var h=d(f.ngFileDropAvailable);
a.$$phase?h(a):a.$apply(function(){h(a)})}}}]);k.directive("ngFileDrop",["$parse","$http",function(d,a){return function(a,b,f){if("draggable"in document.createElement("span")){var h=d(f.ngFileDrop);b[0].addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault();b.addClass("dragover")},!1);b[0].addEventListener("dragleave",function(a){b.removeClass("dragover")},!1);b[0].addEventListener("drop",function(d){d.stopPropagation();d.preventDefault();b.removeClass("dragover");var f=[],
g=d.dataTransfer.files,e;if(null!=g)for(e=0;e<g.length;e++)f.push(g.item(e));a.$apply(function(){h(a,{$files:f,$event:d})})},!1)}}}])})();