Pony.fm/public/scripts/app/controllers/upload.coffee

32 lines
1 KiB
CoffeeScript
Raw Normal View History

2013-07-25 23:33:04 +02:00
angular.module('ponyfm').controller "upload", [
'$scope', 'auth', 'upload', '$state'
($scope, auth, upload, $state) ->
$scope.$on 'upload-queue-started', () ->
$scope.state = 'uploading'
$scope.uploadDialogOpen = true
$scope.uploads = {}
$scope.progress = 0
$scope.uploadedFiles = 0
$scope.totalFiles = 0
$scope.$on 'upload-added', (e, upload) ->
$scope.uploads[upload.index] = upload
$scope.totalFiles++
$scope.$on 'upload-queue-ended', () ->
$scope.state = 'finished'
$scope.uploadDialogOpen = false if _.each upload.queue, (u) -> u.error == null
$state.transitionTo 'account-content.tracks'
$scope.uploadDialogOpen = false if !(_.size $scope.uploads)
$scope.$on 'upload-finished', (e, upload) ->
$scope.uploadedFiles++
delete $scope.uploads[upload.index] if upload.success
$scope.$on 'upload-progress', () ->
$scope.progress = upload.totalBytesUploaded / upload.totalBytes * 100
$scope.state = 'processing' if $scope.progress >= 100
$scope.close = () ->
$scope.uploadDialogOpen = false
]