2015-03-12 00:47:12 +00:00
|
|
|
<div class="tag-operations-dialog-element">
|
2015-05-07 19:51:49 +00:00
|
|
|
<!-- Loading Images Dialog -->
|
|
|
|
<div class="modal fade" id="loadingImagesModal">
|
|
|
|
<div class="modal-dialog">
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
|
|
|
<h4 class="modal-title">Loading Repository Images</h4>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body">
|
|
|
|
<div class="loader-container">
|
|
|
|
<div class="cor-loader"></div>
|
|
|
|
</div>
|
|
|
|
<div style="text-align: center;">
|
|
|
|
Please wait while we load the repository's full image list
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div><!-- /.modal-content -->
|
|
|
|
</div><!-- /.modal-dialog -->
|
|
|
|
</div><!-- /.modal -->
|
|
|
|
|
2017-03-10 00:04:35 +00:00
|
|
|
<!-- Edit Labels Dialog -->
|
|
|
|
<div class="cor-confirm-dialog"
|
|
|
|
dialog-context="editLabelsInfo"
|
|
|
|
dialog-action="editLabels(info, callback)"
|
|
|
|
dialog-title="Edit Manifest Labels"
|
|
|
|
dialog-action-title="Edit Labels">
|
|
|
|
|
|
|
|
<div class="cor-loader" ng-if="editLabelsInfo.loading"></div>
|
|
|
|
<div ng-if="!editLabelsInfo.loading && editLabelsInfo.labels">
|
|
|
|
<div><strong>Read-only labels:</strong></div>
|
|
|
|
<div class="label-section">
|
|
|
|
<div class="label-list" labels="editLabelsInfo.readonly_labels"></div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div><strong>Mutable labels:</strong></div>
|
|
|
|
<div class="label-section">
|
|
|
|
<div class="label-input" labels="editLabelsInfo.mutable_labels"
|
|
|
|
updated-labels="editLabelsInfo.updated_labels"></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2015-05-07 19:51:49 +00:00
|
|
|
|
2015-03-12 00:47:12 +00:00
|
|
|
<!-- Add Tag Dialog -->
|
|
|
|
<div class="modal fade" id="createOrMoveTagModal">
|
|
|
|
<div class="modal-dialog">
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
|
|
|
<button type="button" class="close" data-dismiss="modal"
|
|
|
|
aria-hidden="true" ng-show="!addingTag">×</button>
|
|
|
|
<h4 class="modal-title">{{ isAnotherImageTag(toTagImage, tagToCreate) ? 'Move' : 'Add' }} Tag to Image {{ toTagImage.substr(0, 12) }}</h4>
|
|
|
|
</div>
|
|
|
|
<form name="addTagForm" ng-submit="createOrMoveTag(toTagImage, tagToCreate);">
|
|
|
|
<div class="modal-body">
|
|
|
|
<div class="cor-loader" ng-show="addingTag"></div>
|
|
|
|
<div ng-show="!addingTag">
|
|
|
|
<input type="text" class="form-control" id="tagName"
|
|
|
|
placeholder="Enter tag name"
|
2015-10-05 20:36:33 +00:00
|
|
|
ng-model="tagToCreate" ng-pattern="/^[\w][\w\.-]{0,127}$/"
|
2015-03-12 00:47:12 +00:00
|
|
|
ng-disabled="creatingTag" autofocus required>
|
|
|
|
|
|
|
|
<div style="margin: 10px; margin-top: 20px;"
|
|
|
|
ng-show="isOwnedTag(toTagImage, tagToCreate)">
|
|
|
|
Note: <span class="label tag label-default">{{ tagToCreate }}</span> is already applied to this image.
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div style="margin: 10px; margin-top: 20px;"
|
|
|
|
ng-show="isAnotherImageTag(toTagImage, tagToCreate)">
|
|
|
|
Note: <span class="label tag label-default">{{ tagToCreate }}</span> is already applied to another image. This will <b>move</b> the tag.
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="tag-specific-images-view"
|
|
|
|
tag="tagToCreate"
|
2015-11-03 23:15:23 +00:00
|
|
|
repository="repository"
|
2015-03-12 00:47:12 +00:00
|
|
|
image-cutoff="toTagImage"
|
|
|
|
style="margin: 10px; margin-top: 20px; margin-bottom: -10px;"
|
2015-11-03 23:15:23 +00:00
|
|
|
ng-show="isAnotherImageTag(toTagImage, tagToCreate)"
|
|
|
|
image-loader="imageLoader">
|
2015-04-01 18:21:19 +00:00
|
|
|
This will also delete any unattached images and delete the following images:
|
2015-03-12 00:47:12 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer" ng-show="!addingTag">
|
|
|
|
<button type="submit" class="btn btn-primary"
|
|
|
|
ng-disabled="addTagForm.$invalid || isOwnedTag(toTagImage, tagToCreate)"
|
|
|
|
ng-class="isAnotherImageTag(toTagImage, tagToCreate) ? 'btn-warning' : 'btn-primary'"
|
|
|
|
ng-show="!creatingTag">
|
|
|
|
{{ isAnotherImageTag(toTagImage, tagToCreate) ? 'Move Tag' : 'Create Tag' }}
|
|
|
|
</button>
|
|
|
|
<button class="btn btn-default" data-dismiss="modal" ng-show="!addingTag">Cancel</button>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div><!-- /.modal-content -->
|
|
|
|
</div><!-- /.modal-dialog -->
|
|
|
|
</div><!-- /.modal -->
|
|
|
|
|
|
|
|
<!-- Delete Tags Confirm -->
|
|
|
|
<div class="cor-confirm-dialog"
|
|
|
|
dialog-context="deleteMultipleTagsInfo"
|
|
|
|
dialog-action="deleteMultipleTags(info.tags, callback)"
|
|
|
|
dialog-title="Delete Tags"
|
|
|
|
dialog-action-title="Delete Tags">
|
|
|
|
Are you sure you want to delete the following tags:
|
2015-06-25 20:16:19 +00:00
|
|
|
<ul class="delete-tag-list">
|
2015-03-12 00:47:12 +00:00
|
|
|
<li ng-repeat="tag_info in deleteMultipleTagsInfo.tags">
|
|
|
|
<span class="label label-default tag">{{ tag_info.name }}</span>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<div style="margin-top: 20px">
|
|
|
|
<strong>Note: </strong>This operation can take several minutes.
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- Delete Tag Confirm -->
|
|
|
|
<div class="cor-confirm-dialog"
|
|
|
|
dialog-context="deleteTagInfo"
|
|
|
|
dialog-action="deleteTag(info.tag, callback)"
|
|
|
|
dialog-title="Delete Tag"
|
|
|
|
dialog-action-title="Delete Tag">
|
|
|
|
Are you sure you want to delete tag
|
|
|
|
<span class="label label-default tag">{{ deleteTagInfo.tag }}</span>?
|
|
|
|
|
|
|
|
<div class="tag-specific-images-view" tag="deleteTagInfo.tag" repository="repository"
|
2015-11-03 23:15:23 +00:00
|
|
|
image-loader="imageLoader" style="margin-top: 20px">
|
2015-03-12 00:47:12 +00:00
|
|
|
The following images and any other images not referenced by a tag will be deleted:
|
|
|
|
</div>
|
|
|
|
</div>
|
2015-04-01 18:21:19 +00:00
|
|
|
</div>
|
2015-04-16 21:18:00 +00:00
|
|
|
|
2017-03-03 23:41:26 +00:00
|
|
|
<!-- Restore Tag Confirm -->
|
2015-04-16 21:18:00 +00:00
|
|
|
<div class="cor-confirm-dialog"
|
2017-03-03 23:41:26 +00:00
|
|
|
dialog-context="restoreTagInfo"
|
|
|
|
dialog-action="restoreTag(info.tag, info.image_id, info.manifest_digest, callback)"
|
|
|
|
dialog-title="Restore Tag"
|
|
|
|
dialog-action-title="Restore Tag">
|
2015-04-16 21:18:00 +00:00
|
|
|
|
|
|
|
<div class="co-alert co-alert-warning">
|
|
|
|
This will change the image to which the tag points.
|
|
|
|
</div>
|
|
|
|
|
2017-03-03 23:41:26 +00:00
|
|
|
Are you sure you want to restore tag
|
|
|
|
<span class="label label-default tag">{{ restoreTagInfo.tag.name }}</span> to image
|
|
|
|
<span class="image-link" repository="repository"
|
|
|
|
image-id="restoreTagInfo.image_id"
|
|
|
|
manifest-digest="restoreTagInfo.manifest_digest"></span>?
|
2015-04-16 21:18:00 +00:00
|
|
|
</div>
|
2015-10-05 20:36:33 +00:00
|
|
|
</div>
|