Get a nice dropdown of tags working on the visualize tags tab
This commit is contained in:
parent
be9906167a
commit
5741656411
8 changed files with 431 additions and 18 deletions
|
@ -96,20 +96,24 @@ angular.module('quay').directive('repoPanelChanges', function () {
|
|||
'isEnabled': '=isEnabled'
|
||||
},
|
||||
controller: function($scope, $element, $timeout, ApiService, UtilService, ImageMetadataService) {
|
||||
$scope.tagNames = [];
|
||||
|
||||
var update = function() {
|
||||
if (!$scope.repository || !$scope.selectedTags) { return; }
|
||||
if (!$scope.repository || !$scope.isEnabled) { return; }
|
||||
|
||||
$scope.tagNames = Object.keys($scope.repository.tags);
|
||||
$scope.currentImage = null;
|
||||
$scope.currentTag = null;
|
||||
|
||||
if (!$scope.tracker) {
|
||||
if ($scope.tracker) {
|
||||
refreshTree();
|
||||
} else {
|
||||
updateImages();
|
||||
}
|
||||
};
|
||||
|
||||
var updateImages = function() {
|
||||
if (!$scope.repository || !$scope.images) { return; }
|
||||
if (!$scope.repository || !$scope.images || !$scope.isEnabled) { return; }
|
||||
|
||||
$scope.tracker = new RepositoryImageTracker($scope.repository, $scope.images);
|
||||
|
||||
|
@ -120,16 +124,17 @@ angular.module('quay').directive('repoPanelChanges', function () {
|
|||
|
||||
$scope.$watch('selectedTags', update)
|
||||
$scope.$watch('repository', update);
|
||||
$scope.$watch('isEnabled', update);
|
||||
|
||||
$scope.$watch('images', updateImages);
|
||||
|
||||
$scope.$watch('isEnabled', function(isEnabled) {
|
||||
if (isEnabled) {
|
||||
refreshTree();
|
||||
}
|
||||
});
|
||||
$scope.updateState = function() {
|
||||
update();
|
||||
};
|
||||
|
||||
var refreshTree = function() {
|
||||
if (!$scope.repository || !$scope.images) { return; }
|
||||
if (!$scope.repository || !$scope.images || !$scope.isEnabled) { return; }
|
||||
if ($scope.selectedTags.length < 1) { return; }
|
||||
|
||||
$('#image-history-container').empty();
|
||||
|
||||
|
@ -149,6 +154,7 @@ angular.module('quay').directive('repoPanelChanges', function () {
|
|||
// Give enough time for the UI to be drawn before we resize the tree.
|
||||
$timeout(function() {
|
||||
$scope.tree.notifyResized();
|
||||
$scope.setTag($scope.selectedTags[0]);
|
||||
}, 100);
|
||||
|
||||
// Listen for changes to the selected tag and image in the tree.
|
||||
|
|
Reference in a new issue