This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/static/directives/repo-list-table.html
Joseph Schorr f9e6110f73 Add basic user interface for application repos
Adds support for creating app repos, viewing app repos and seeing the list of app repos in the Quay UI.
2017-04-05 11:30:09 -04:00

76 lines
3.7 KiB
HTML

<div class="repo-list-table-element">
<div class="cor-loader" ng-if="isLoading"></div>
<div class="co-top-bar">
<span class="co-filter-box">
<span class="page-controls" total-count="orderedRepositories.entries.length" current-page="options.page" page-size="reposPerPage" style="vertical-align: top"></span>
<input class="form-control" type="text" ng-model="options.filter" placeholder="Filter Repositories..." style="margin-right: 10px;">
</span>
</div>
<div ng-if="orderedRepositories.entries.length == 0 && !isLoading && !options.filter">
<div class="empty-primary-msg" ng-if="namespaces.length != 1">You do not have any viewable repositories.</div>
<div class="empty-primary-msg" ng-if="namespaces.length == 1">This namespace doesn't have any viewable repositories.</div>
<div class="empty-secondary-msg">Either no repositories exist yet or you may not have permission to view any. If you have permission, try <a href="/new">creating a new repository</a>.</div>
</div>
<div ng-if="orderedRepositories.entries.length == 0 && !isLoading && options.filter">
<div class="empty-primary-msg">No matching repositories</div>
<div class="empty-secondary-msg">There are not matching repositories for the entered filter</div>
</div>
<table class="co-table" ng-if="orderedRepositories.entries.length && !isLoading">
<thead>
<td class="hidden-xs"
ng-class="tablePredicateClass('full_name', options.predicate, options.reverse)">
<a ng-click="orderBy('full_name')">Repository Name</a>
</td>
<td class="hidden-xs"
ng-class="tablePredicateClass('last_modified_datetime', options.predicate, options.reverse)"
style="min-width: 120px;">
<a ng-click="orderBy('last_modified_datetime')">Last Modified</a>
</td>
<td class="hidden-xs"
ng-class="tablePredicateClass('popularity', options.predicate, options.reverse)"
style="min-width: 20px;">
<a ng-click="orderBy('popularity')">Activity</a>
</td>
<td class="hidden-xs"
ng-class="tablePredicateClass('is_starred', options.predicate, options.reverse)"
style="width: 70px"
ng-if="loggedIn && repoKind != 'application'">
<a ng-click="orderBy('is_starred')">Star</a>
</td>
</thead>
<tbody>
<tr ng-repeat="repository in orderedRepositories.entries | slice:(reposPerPage * options.page):(reposPerPage * (options.page + 1))">
<td class="repo-name-icon">
<span class="avatar" size="24" data="::getAvatarData(repository.namespace)"></span>
<a href="/repository/{{ ::repository.namespace }}/{{ ::repository.name }}" ng-if="repoKind != 'application'">
<span class="namespace">{{ ::repository.namespace }}</span>
<span class="name">{{ ::repository.name }}</span>
</a>
<a href="/application/{{ ::repository.namespace }}/{{ ::repository.name }}" ng-if="repoKind == 'application'">
<span class="namespace">{{ ::repository.namespace }}</span>
<span class="name">{{ ::repository.name }}</span>
</a>
</td>
<td class="last-modified">
<span ng-if="::repository.last_modified">
{{ ::repository.last_modified * 1000 | amCalendar }}
</span>
<span class="empty" ng-if="::!repository.last_modified">(Empty Repository)</span>
</td>
<td class="popularity hidden-xs">
<span class="strength-indicator" value="::repository.popularity" maximum="::maxPopularity"
log-base="10"></span>
</td>
<td ng-show="loggedIn && repoKind != 'application'">
<span class="repo-star" repository="::repository"
star-toggled="starToggled({'repository': repository})"></span>
</td>
</tr>
</tbody>
</table>
</div>