[ARVADOS] updated: 2d5c3de5600cd820e783a27e5d9ebceb6847f9c1
git at public.curoverse.com
git at public.curoverse.com
Mon Dec 8 15:26:42 EST 2014
Summary of changes:
.../app/assets/javascripts/upload_to_collection.js | 44 +++++++++++++---------
.../app/views/collections/_show_upload.html.erb | 6 +--
2 files changed, 29 insertions(+), 21 deletions(-)
via 2d5c3de5600cd820e783a27e5d9ebceb6847f9c1 (commit)
via 09cfb0083e572a6259b6e4d8dbed34a720b847aa (commit)
via 3c06d760206dd94cc7f4ef5d59cbc1f419694f8d (commit)
from f180576ff3ec675e5ad27856a83773166ac6a5ca (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 2d5c3de5600cd820e783a27e5d9ebceb6847f9c1
Author: Tom Clegg <tom at curoverse.com>
Date: Mon Dec 8 15:26:52 2014 -0500
3781: Go to "Done!" state when the last upload completes despite a late call to stop().
diff --git a/apps/workbench/app/assets/javascripts/upload_to_collection.js b/apps/workbench/app/assets/javascripts/upload_to_collection.js
index c685017..4fc24a2 100644
--- a/apps/workbench/app/assets/javascripts/upload_to_collection.js
+++ b/apps/workbench/app/assets/javascripts/upload_to_collection.js
@@ -262,7 +262,8 @@ function UploadToCollection($scope, $filter, $q, $timeout,
that.state = 'Paused';
setProgress(_readPos);
_currentUploader = null;
- _deferred.reject(reason);
+ if (_deferred)
+ _deferred.reject(reason);
}
function onUploaderProgress(sliceDone, sliceSize) {
setProgress(_readPos + sliceDone);
@@ -311,13 +312,14 @@ function UploadToCollection($scope, $filter, $q, $timeout,
$filter('date')(Date.now(), 'shortTime');
_finishTime = Date.now();
}
- _deferred.notify();
+ if (_deferred)
+ _deferred.notify();
}
}
function QueueUploader() {
$.extend(this, {
- state: 'Idle',
+ state: 'Idle', // Idle, Running, Stopped, Failed
stateReason: null,
statusSuccess: null,
go: go,
@@ -344,9 +346,6 @@ function UploadToCollection($scope, $filter, $q, $timeout,
if (_deferred) {
_deferred.reject({});
}
- if (_deferredAppend) {
- _deferredAppend.reject({});
- }
for (var i=0; i<$scope.uploadQueue.length; i++)
$scope.uploadQueue[i].stop();
onQueueProgress();
@@ -363,20 +362,28 @@ function UploadToCollection($scope, $filter, $q, $timeout,
return doQueueWork();
}
function doQueueWork() {
- if (!_deferred) {
- // Queue work has been stopped.
- return;
- }
- that.stateReason = null;
// If anything is not Done, do it.
if ($scope.uploadQueue.length > 0 &&
$scope.uploadQueue[0].state !== 'Done') {
- return $scope.uploadQueue[0].go().
- then(appendToCollection, null, onQueueProgress).
- then(doQueueWork, onQueueReject);
+ if (_deferred) {
+ that.stateReason = null;
+ return $scope.uploadQueue[0].go().
+ then(appendToCollection, null, onQueueProgress).
+ then(doQueueWork, onQueueReject);
+ } else {
+ // Queue work has been stopped. Just update the
+ // view.
+ onQueueProgress();
+ return;
+ }
}
- // If everything is Done, resolve the promise and clean up.
- return onQueueResolve();
+ // If everything is Done, resolve the promise and clean
+ // up. Note this can happen even after the _deferred
+ // promise has been rejected: specifically, when stop() is
+ // called too late to prevent completion of the last
+ // upload. In that case we want to update state to "Idle",
+ // rather than leave it at "Stopped".
+ onQueueResolve();
}
function onQueueReject(reason) {
if (!_deferred) {
@@ -399,7 +406,8 @@ function UploadToCollection($scope, $filter, $q, $timeout,
function onQueueResolve() {
that.state = 'Idle';
that.stateReason = 'Done!';
- _deferred.resolve();
+ if (_deferred)
+ _deferred.resolve();
onQueueProgress();
}
function onQueueProgress() {
commit 09cfb0083e572a6259b6e4d8dbed34a720b847aa
Author: Tom Clegg <tom at curoverse.com>
Date: Mon Dec 8 13:59:45 2014 -0500
3781: Fix use of committed flag. That is now called state==="Done".
diff --git a/apps/workbench/app/views/collections/_show_upload.html.erb b/apps/workbench/app/views/collections/_show_upload.html.erb
index be6cf77..e42c0e0 100644
--- a/apps/workbench/app/views/collections/_show_upload.html.erb
+++ b/apps/workbench/app/views/collections/_show_upload.html.erb
@@ -37,14 +37,14 @@
</div>
</div>
</div>
- <div ng-repeat="upload in uploadQueue" class="row" ng-class="{lighten: upload.committed}">
+ <div ng-repeat="upload in uploadQueue" class="row" ng-class="{lighten: upload.state==='Done'}">
<div class="col-sm-1">
<button class="btn btn-xs btn-default"
- ng-show="!upload.committed"
+ ng-show="upload.state!=='Done'"
ng-click="removeFileFromQueue($index)"
title="cancel"><i class="fa fa-fw fa-times"></i></button>
<span class="label label-success label-info"
- ng-show="upload.committed">finished</span>
+ ng-show="upload.state==='Done'">finished</span>
</div>
<div class="col-sm-4 nowrap" style="overflow-x:hidden;text-overflow:ellipsis">
<span title="{{upload.file.name}}">
commit 3c06d760206dd94cc7f4ef5d59cbc1f419694f8d
Author: Tom Clegg <tom at curoverse.com>
Date: Mon Dec 8 13:58:25 2014 -0500
3781: Fix exaggerated claims of being finished.
diff --git a/apps/workbench/app/assets/javascripts/upload_to_collection.js b/apps/workbench/app/assets/javascripts/upload_to_collection.js
index 9e20542..c685017 100644
--- a/apps/workbench/app/assets/javascripts/upload_to_collection.js
+++ b/apps/workbench/app/assets/javascripts/upload_to_collection.js
@@ -301,7 +301,7 @@ function UploadToCollection($scope, $filter, $q, $timeout,
} else {
that.statistics = that.state;
}
- if (that.state === 'Uploading' || that.state === 'Uploaded') {
+ if (that.state === 'Uploaded') {
// 'Uploaded' gets reported as 'finished', which is a
// little misleading because the collection hasn't
// been updated yet. But FileUploader's portion of the
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list