1 <%# Copyright (C) The Arvados Authors. All rights reserved.
3 SPDX-License-Identifier: AGPL-3.0 %>
5 <div class="arv-log-refresh-control"
6 data-load-throttle="86486400000" <%# 1001 nights (in milliseconds) %>
8 <div ng-cloak ng-controller="UploadToCollection" arv-uuid="<%= @object.uuid %>">
9 <div class="panel panel-primary">
10 <div class="panel-body">
12 <div class="col-sm-4">
13 <input type="file" multiple id="file_selector" ng-model="incoming" onchange="angular.element(this).scope().addFilesToQueue(this.files); $(this).val('');">
14 <div class="btn-group btn-group-sm" role="group" style="margin-top: 1.5em">
15 <button type="button" class="btn btn-default" ng-click="stop()" ng-disabled="uploader.state !== 'Running'"><i class="fa fa-fw fa-pause"></i> Pause</button>
16 <button type="button" class="btn btn-primary" ng-click="go()" ng-disabled="uploader.state === 'Running' || countInStates(['Paused', 'Queued']) === 0"><i class="fa fa-fw fa-play"></i> Start</button>
19 <div class="col-sm-8">
20 <div ng-show="uploader.state === 'Running'"
21 class="alert alert-info"
22 ><i class="fa fa-gear"></i>
24 <span ng-show="countInStates(['Done']) > 0">
25 {{countInStates(['Done'])}} file{{countInStates(['Done'])>1?'s':''}} finished.
28 <div ng-show="uploader.state === 'Idle' && uploader.stateReason"
29 class="alert alert-success"
30 ><i class="fa fa-fw fa-flag-checkered"></i> {{uploader.stateReason}}
32 <div ng-show="uploader.state === 'Failed'"
33 class="alert alert-danger"
34 ><i class="fa fa-fw fa-warning"></i> {{uploader.stateReason}}
36 <div ng-show="uploader.state === 'Stopped'"
37 class="alert alert-info"
38 ><i class="fa fa-fw fa-info"></i> Paused. Click the Start button to resume uploading.
44 <div ng-repeat="upload in uploadQueue" class="row" ng-class="{lighten: upload.state==='Done'}">
45 <div class="col-sm-1">
46 <button class="btn btn-xs btn-default"
47 ng-show="upload.state!=='Done'"
48 ng-click="removeFileFromQueue($index)"
49 title="cancel"><i class="fa fa-fw fa-times"></i></button>
50 <span class="label label-success label-info"
51 ng-show="upload.state==='Done'">finished</span>
53 <div class="col-sm-4 nowrap" style="overflow-x:hidden;text-overflow:ellipsis">
54 <span title="{{upload.file.name}}">
58 <div class="col-sm-1" style="text-align: right">
59 {{upload.file.size/1024 | number:0}} KiB
61 <div class="col-sm-2">
62 <div class="progress">
63 <span class="progress-bar" style="width: {{upload.progress}}%"></span>
66 <div class="col-sm-4" ng-class="{lighten: upload.state !== 'Uploading'}">