Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .directive('pluploader', ($log,dialogsSvc) ->
- d = {
- restrict: 'E'
- scope: {
- uploaderName: '@'
- browseButtonId: '@'
- onFileAdded: '&'
- upload: '&'
- removeAttachment: '&'
- }
- templateUrl: 'assets/utility/pluploader_directive.html'
- controller: ($scope, $element, $attrs) ->
- $scope.attachments = []
- $scope.uploadError = (up, args) =>
- $log.log('[uploadError]: ' + JSON.stringify(args))
- switch args.code
- when plupload.FILE_SIZE_ERROR
- dialogsSvc.alert("La dimensione del file " + args.file.name + " รจ superiore al massimo consentito!")
- $scope.$apply($scope.removeAttachment(args.file))
- $scope.uploadProgress = (up, file) =>
- #$log.log('[uploadProgress]: ' + JSON.stringify(file))
- $scope.$apply()
- $scope.uploadComplete = (up, files) =>
- #$log.log('[uploadComplete]: ' + JSON.stringify(files))
- $scope.$apply()
- $scope.fileAdded = (up, files) =>
- $scope.$apply(
- if !$scope.onFileAdded?
- $scope.onFileAdded({file: files[0]})
- $scope.attachments.push {id: f.id, name: f.name, size: plupload.formatSize(f.size)} for f in files
- )
- $scope.removeAttachment = (file) ->
- $log.log('[removeAttachment]: ' + JSON.stringify(file))
- $scope.uploader.removeFile(file)
- $scope.attachments = []
- $scope.attachments.push f for f in $scope.uploader.files
- $scope.upload = ->
- $scope.uploader.start()
- $attrs.$observe('uploaderName', (value) =>
- return if !value?
- $scope.uploader = new plupload.Uploader({
- runtimes: "html5",
- url: "api/v1/media/upload.json",
- container: $attrs.uploaderName,
- browse_button: $attrs.browseButtonId,
- max_file_size: $attrs.maxFileSize,
- chunk_size: $attrs.chunkSize,
- multipart: true,
- multipart_params: {
- authenticity_token: $("meta[name='csrf-token']").attr('content')
- }
- init: {
- Error: $scope.uploadError
- UploadProgress: $scope.uploadProgress
- UploadComplete: $scope.uploadComplete
- }
- })
- $scope.uploader.bind('FilesAdded', $scope.fileAdded)
- $scope.uploader.init()
- )
- }
- return d
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement