Skip to content

Commit

Permalink
refactor(uploads): add callbacks for success and error
Browse files Browse the repository at this point in the history
  • Loading branch information
Rob McGuinness committed Jan 17, 2018
1 parent 23ebf45 commit 0bed02f
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/ui/uploads/upload-progress-bar.html
@@ -1,5 +1,5 @@
<div ng-class="completed ? 'progress progress-complete' : 'progress'">
<div class="progress-bar" role="progressbar" aria-valuenow="{{percentage}}" aria-valuemin="0" aria-valuemax="100" ng-style="{'width': percentage + '%'}">
<div ng-class="{progress: true, 'progress-complete': completed}">
<div ng-class="{'progress-bar progress-bar-success': true, 'progress-bar-danger': error}" role="progressbar" aria-valuenow="{{percentage}}" aria-valuemin="0" aria-valuemax="100" ng-style="{'width': percentage + '%'}">
<span class="sr-only">{{percentage}}% Complete</span>
</div>
</div>
14 changes: 13 additions & 1 deletion src/ui/uploads/upload-progress-bar.js
Expand Up @@ -9,11 +9,23 @@ ngModule.directive('avUploadProgressBar', () => ({
templateUrl,
link(scope) {
scope.percentage = 0;
scope.completed = false;

const update = () => {
scope.percentage = scope.upload.percentage;
scope.completed = scope.percentage === 100;
};

const error = () => {
scope.error = true;
};

const success = () => {
scope.percentage = 100;
scope.completed = true;
};

scope.upload.onProgress.push(() => scope.$applyAsync(update));
scope.upload.onSuccess.push(() => scope.$applyAsync(success));
scope.upload.onError.push(() => scope.$applyAsync(error));
}
}));

0 comments on commit 0bed02f

Please sign in to comment.