Current File : //usr/local/jetapps/var/www/jetbackup5/docroot/app/views/downloads.htm |
<div ng-controller="downloads" class="controller-box">
<h1>{{ lang.t("Downloads") }}</h1>
<p>{{ lang.t("For help finding a specific download, please visit the")}} <a href="{{const.DOCS_ADMIN_URL}}/downloads.html" style="color: #fd6b2b;" target="_blank">{{ lang.t("Downloads documentation.") }}</a></p><br>
<div class="row search-page-container">
<div class="col-xs-12 col-sm-5 col-md-4 col-lg-6">
<button class="btn btn-default" ng-click="fetch()" title="{{ lang.t('Refresh Records') }}">
<em aria-hidden="true" class="fas fa-redo"></em>
</button>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 col-lg-2">
<filter-box
box-options="filterOptions"
ng-model="filter"
ng-change="fetch()">
</filter-box>
</div>
<div class="col-xs-12 col-sm-3 col-md-4 col-lg-4">
<search ng-model="metaData.filterValue" ng-change="fetch()"></search>
</div>
</div>
<div class="table-responsive">
<table class="table table-striped content-table">
<thead>
<tr>
<th class="col-sm-2 col-md-2 col-lg-2 column-title">
<button sort-by sort-meta="meta" sort-field="created" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Created')) }}">{{ lang.t("Created") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="backup_type" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Type')) }}">{{ lang.t("Type") }}</button>
</th>
<th class="col-sm-2 col-md-2 col-lg-2 column-title">
<button sort-by sort-meta="meta" sort-field="account" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Account')) }}">{{ lang.t("Account") }}</button>
</th>
<th class="col-sm-2 col-md-2 col-lg-2 column-title">
{{ lang.t("Contains") }}
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title">
<button sort-by sort-meta="meta" sort-field="size" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Size')) }}">{{ lang.t("Size") }}</button>
</th>
<th class="col-sm-3 col-md-3 col-lg-3 column-title">
<button sort-by sort-meta="meta" sort-field="notes" onSort="fetch()" title="{{ lang.t('Sort by %s.', lang.t('Notes')) }}">{{ lang.t("Notes") }}</button>
</th>
<th class="col-sm-1 col-md-1 col-lg-1 column-title"></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="download in downloads">
<td data-title="{{ lang.t('Created') }}">
{{ lang.d(download.created, 'shorttime') }}
</td>
<td data-title="{{ lang.t('Type') }}">
{{ const.BACKUP_TYPE_NAMES[download.backup_type] }}
</td>
<td data-title="{{ lang.t('Account') }}">
<span ng-show="download.backup_type == const.BACKUP_TYPE_ACCOUNT">
{{ download.account_name ? download.account_name : lang.t("%s - Deleted", download.account) }}
<span style="font-size: 11px; display: block;">{{lang.t("ID: %s", download.account_id)}}</span>
</span>
<span ng-hide="download.backup_type == const.BACKUP_TYPE_ACCOUNT">-</span>
</td>
<td data-title="{{ lang.t('Contains') }}">
{{lang.t("Total %s items", download.items.length)}}
<span class="fas fa-question-circle" uib-tooltip-template="'itemsList.htm'" tooltip-trigger="'click outsideClick'" tooltip-placement="auto" tooltip-class="backups-tooltip"></span>
</td>
<td data-title="{{ lang.t('Size') }}">
{{ util.sizeToHumanReadable(download.size) }}
</td>
<td data-title="{{ lang.t('Notes') }}" ng-dblclick="download.editing = true;">
<div class="editable" ng-hide="download.editing">{{ download.notes ? download.notes : lang.t("Double click to add notes...") }}</div>
<input ng-show="download.editing" type="text" style="font-weight: normal;" class="form-control" ng-model="download.notes" ng-keypress="saveNotes(download, $event)" ng-blur="saveNotes(download)" placeholder="{{ lang.t('Enter Notes...') }}" value="" />
</td>
<td style="text-align: center;">
<button class="btn btn-xs btn-primary" ng-click="directDownload(download)">{{lang.t("Download")}}</button>
</td>
</tr>
<tr ng-hide="!loading">
<td colspan="10">
<loading-box><span>{{ lang.t("Loading Downloads") }}</span></loading-box>
</td>
</tr>
<tr ng-hide="downloads.length > 0 || loading">
<td colspan="10"><span>{{ lang.t("No Downloads Found") }}</span></td>
</tr>
</tbody>
</table>
</div>
<pagination fetch="fetch" meta="meta"></pagination>
</div>
<script type="text/ng-template" id="itemsList.htm">
<div style="text-align: left; margin: 10px;">
<ul style="margin: 0 0 0 10px; padding: 0;">
<li ng-repeat="item in download.items" style="white-space: nowrap;">
{{ lang.t("%s created on %s", lang.t(item.backup_type == const.BACKUP_TYPE_ACCOUNT ? const.BACKUP_ITEMS_TEXT[item.backup_contains] : (item.backup_type == const.BACKUP_TYPE_DIRECTORY ? const.BACKUP_DIRECTORY_ITEMS_TEXT[item.backup_contains] : const.BACKUP_DR_ITEMS_TEXT[item.backup_contains]), item.name), lang.d(item.created, 'shorttime'))}}
</li>
</ul>
</div>
</script>