Skip to content

Commit 6cba375

Browse files
committed
Evoculçao plugin de Upload
1 parent 84a7bbd commit 6cba375

File tree

6 files changed

+409
-369
lines changed

6 files changed

+409
-369
lines changed

bower.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
"checklist-model": "^0.11.0",
5151
"moment-duration-format": "^2.2.1",
5252
"angular-bootstrap-toggle": "^0.1.3",
53-
"ng-dropzone": "https://github.com/thatisuday/ng-dropzone.git#v2.0.2",
5453
"swangular": "^1.4.3",
5554
"angular-bootstrap-colorpicker": "^3.0.32",
5655
"angularjs-dropdown-multiselect": "^1.11.8"

dist/lets.min.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/directives/crud/lets-crud-form.directive.js

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,6 @@
1111
replace: false,
1212
link: function (scope, $el) {
1313

14-
/* Dropzone */
15-
//Set options for dropzone
16-
for (var y in scope.headers.fields) {
17-
var field = scope.headers.fields[y];
18-
if (field.customOptions.file) {
19-
scope.dzOptions = {
20-
url: appSettings.API_URL + 'upload/' + field.customOptions.file.container + '/upload',
21-
acceptedFiles: field.customOptions.file.acceptedFiles,
22-
maxFilesize: '25',
23-
maxFiles: '1',
24-
uploadMultiple: false,
25-
addRemoveLinks: true,
26-
};
27-
}
28-
}
29-
//Apply methods for dropzone
30-
scope.dzMethods = {};
31-
scope.removeNewFile = function () {
32-
scope.dzMethods.removeFile(scope.newFile); //We got $scope.newFile from 'addedfile' event callback
33-
}
34-
/* Dropzone */
35-
36-
3714
jQuery($el).on('click', '.button-new', function () {
3815
var detail = jQuery(this).attr('detail');
3916
var origin = jQuery(this).attr('origin');

src/directives/framework/lets-fw-upload.directive.js

Lines changed: 52 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -4,82 +4,87 @@
44
angular.module('letsAngular')
55
.directive('fwUpload', fwUpload);
66

7-
fwUpload.$inject = ['$timeout'];
7+
fwUpload.$inject = ['$timeout', 'appSettings'];
88

9-
function fwUpload($timeout) {
9+
function fwUpload($timeout, appSettings) {
1010
return {
1111
restrict: 'A',
1212
scope: true,
13-
link: function ($scope, $rootScope, element) {
13+
link: function ($scope, element) {
1414

15-
$scope.defaultProgress = 0;
16-
$scope.alreadySent = false;
17-
var controll = true;
15+
$scope.f = {};
16+
17+
var _input = element.find('input[type="hidden"]');
18+
19+
var STORAGE_URL = appSettings.STORAGE_URL;
20+
if ($scope.field.customOptions.file.container != undefined) {
21+
STORAGE_URL +=$scope.field.customOptions.file.container+"/";
22+
}
1823

1924
$scope.$on('setProgressFile', function () {
20-
if ($scope.data[$scope.field.name] != undefined && $scope.data[$scope.field.name] != null && ($scope.fileName && $scope.fileName != 'fileName')) {
21-
$scope.defaultProgress = 100;
22-
$scope.alreadySent = true;
25+
if ($scope.data[$scope.field.name]) {
26+
$scope.f = {
27+
name:$scope.data[$scope.field.name],
28+
progress:100,
29+
alreadySent:true
30+
};
31+
32+
$scope.f.fileURL = STORAGE_URL+$scope.f.name;
2333
}
2434
});
2535

26-
$scope.pushName = function () {
27-
$timeout(function () {
28-
if (document.getElementsByClassName('dz-filename')[0] && controll) {
29-
controll = false;
30-
document.getElementsByClassName('dropzone')[0].style.width = '192px';
31-
if (document.getElementsByClassName('file-preview')[0]) {
32-
document.getElementsByClassName('file-preview')[0].style.display = 'none';
33-
}
34-
document.getElementsByName('temp_filename')[0].value = document.getElementsByClassName('dz-filename')[0].firstElementChild.innerText;
35-
var _input = element.find('input[type="hidden"]');
36-
_input.controller('ngModel').$setViewValue(document.getElementsByName('temp_filename')[0].value);
37-
}
38-
});
39-
};
40-
41-
$scope.remove = function () {
42-
$scope.alreadySent = false;
43-
var _input = element.find('input[type="hidden"]');
44-
document.getElementsByName('temp_filename')[0].value = null;
36+
$scope.removeFile = function(){
37+
$scope.f = {};
4538
_input.controller('ngModel').$setViewValue(null);
46-
};
39+
}
4740

4841
$scope.upload = function (file, errFiles) {
49-
$scope.f = file;
50-
$scope.errFile = errFiles && errFiles[0];
42+
43+
if(errFiles.length > 0 ){
44+
$scope.errFile = errFiles && errFiles[0];
45+
errFiles.forEach(function(err){
46+
if (err.$error=="pattern"){
47+
$scope.field.error = "O formato do arquivo não é permitido.";
48+
}
49+
});
50+
}
51+
5152
if (file) {
5253

53-
file.upload = $scope._upload($scope.field, file);
54-
file.upload.then(function (response, err) {
54+
$scope.field.error = null;
55+
$scope.f.name = file.name
56+
$scope.f.uploading = true;
57+
58+
$scope._upload($scope.field, file).then(function (response, err) {
5559
$scope.$emit('upload-complete', response);
60+
5661
$timeout(function () {
57-
file.result = response.data;
58-
if (element.$$element) {
59-
var _input = element.$$element.find('input[type="hidden"]');
60-
} else {
61-
var _input = element.find('input[type="hidden"]');
62-
}
63-
64-
file.newName = response.data.result.files.file[0].name;
62+
$scope.f.alreadySent = true;
63+
$scope.f.uploading = false;
64+
$scope.f.name = response.data.result.files.file[0].name;
65+
$scope.f.fileURL = STORAGE_URL+$scope.f.name;
66+
_input.controller('ngModel').$setViewValue($scope.f.name);
67+
});
6568

66-
_input.controller('ngModel').$setViewValue(file.newName);
6769

68-
});
6970
}, function (response) {
70-
7171
if (response.status > 0) {
7272
$scope.errorMsg = response.status + ': ' + response.data;
7373
}
74-
$scope.$emit('upload-error', response);
74+
$scope.$emit('upload-error', response);
7575

7676
}, function (evt) {
77-
file.progress = Math.min(100, parseInt(100.0 *
78-
evt.loaded / evt.total));
77+
$timeout(function(){
78+
$scope.f.progress = Math.min(100, parseInt(100.0 *evt.loaded / evt.total));
79+
})
7980
})
8081
}
8182
};
8283

84+
$scope.dropFile = function($file, errFiles){
85+
$scope.upload($file, errFiles)
86+
}
87+
8388
}
8489
}
8590
}

src/lets.module.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
'ngSanitize',
1818
'colorpicker-dr',
1919
'ckeditor',
20-
'thatisuday.dropzone',
2120
'swangular',
2221
'colorpicker.module',
2322
'angularjs-dropdown-multiselect'

0 commit comments

Comments
 (0)