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/partials/repo-view.html
Kenny Lee Sin Cheong 8b25d5b77b
Fix UI rendering issue when creating/deleting tags from the UI (#3269)
### Description of Changes

Tag operations in UI would not be rendered properly when using the paginated tags endpoint.
When a user would create/delete a tag from the repo-panel-tags, `digest` would be called. This caused the `$scope.repository.tags` to be removed.

To fix this:
* Bind the tags directly to the scope instead of the repository
* Change references to scope.repository.tags to use scope.repositoryTags

---
2018-10-23 13:26:40 -04:00

118 lines
4.7 KiB
HTML

<div class="resource-view repository-view"
resource="repositoryResource"
error-message="'Repository not found'">
<div class="page-content">
<!-- Application repository error -->
<div class="co-main-content-panel" ng-if="viewScope.repository.kind == 'application'">
<div class="error-view-element">
<h2><span class="repo-circle no-background" repo="viewScope.repository"></span>{{ viewScope.repository.namespace }}/{{ viewScope.repository.name }}</h2>
<h3>This name refers to an <strong>application</strong> repository</h3>
<div style="margin-bottom: 20px;">
View the <a href="/application/{{ viewScope.repository.namespace }}/{{ viewScope.repository.name }}/">{{ viewScope.repository.namespace }}/{{ viewScope.repository.name }} application</a>
</div>
</div>
</div>
<!-- Image repository view -->
<div ng-if="viewScope.repository.kind == 'image'">
<div class="cor-title">
<span class="cor-title-link">
<a class="back-link" href="/repository">
Repositories
</a>
</span>
<span class="cor-title-content">
<span class="repo-circle no-background hidden-xs" repo="viewScope.repository"></span>
{{ namespace }} / {{ name }}
<span class="repo-star hidden-xs" repository="viewScope.repository" ng-if="!user.anonymous"></span>
</span>
</div>
<cor-tab-panel orientation="vertical" cor-nav-tabs>
<cor-tabs>
<cor-tab tab-title="Information" tab-id="info"
tab-init="showInfo()">
<i class="fa fa-info-circle"></i>
</cor-tab>
<cor-tab tab-title="Tags" tab-id="tags" id="tagsTab"
tab-init="showTags()">
<i class="fa fa-tags"></i>
</cor-tab>
<cor-tab tab-title="Tag History" tab-id="history" id="tagHistoryTab"
tab-init="showHistory()">
<i class="fa fa-history"></i>
</cor-tab>
<cor-tab tab-title="Builds" tab-id="builds" id="buildsTab"
tab-init="showBuilds()"
quay-show="viewScope.repository.can_write && Features.BUILD_SUPPORT">
<i class="fa fa-tasks"></i>
</cor-tab>
<!-- Admin Only Tabs -->
<cor-tab tab-title="Usage Logs" tab-id="logs" tab-init="showLogs()"
ng-show="viewScope.repository.can_admin">
<i class="fa fa-bar-chart"></i>
</cor-tab>
<cor-tab tab-title="Settings" tab-id="settings" id="settingsTab"
tab-init="showSettings()"
ng-show="viewScope.repository.can_admin">
<i class="fa fa-gear"></i>
</cor-tab>
</cor-tabs>
<cor-tab-content>
<!-- Information -->
<cor-tab-pane id="info">
<div class="repo-panel-info"
repository="viewScope.repository"
builds="viewScope.builds"
is-enabled="infoShown"></div>
</cor-tab-pane>
<!-- Tags -->
<cor-tab-pane id="tags">
<div class="repo-panel-tags"
repository="viewScope.repository"
repository-tags="viewScope.repositoryTags"
image-loader="viewScope.imageLoader"
selected-tags="viewScope.selectedTags"
history-filter="viewScope.historyFilter"
is-enabled="tagsShown"></div>
</cor-tab-pane>
<!-- Tag History -->
<cor-tab-pane id="history">
<h3 class="tab-header">Tag History</h3>
<div class="repo-tag-history"
repository="viewScope.repository"
filter="viewScope.historyFilter"
image-loader="viewScope.imageLoader"
is-enabled="historyShown"></div>
</cor-tab-pane>
<!-- Builds -->
<cor-tab-pane id="builds">
<div class="repo-panel-builds"
repository="viewScope.repository"
builds="viewScope.builds"
is-enabled="buildsShown"></div>
</cor-tab-pane>
<!-- Usage Logs -->
<cor-tab-pane id="logs" ng-if="viewScope.repository.can_admin">
<div class="logs-view" repository="viewScope.repository" makevisible="logsShown"></div>
</cor-tab-pane>
<!-- Settings -->
<cor-tab-pane id="settings" ng-if="viewScope.repository.can_admin">
<div class="repo-panel-settings" repository="viewScope.repository"
is-enabled="settingsShown"></div>
</cor-tab-pane>
</cor-tab-content>
</cor-tab-panel>
</div>
</div>
</div>