/** * An element which displays a single layer representing an image in the image view. */ angular.module('quay').directive('imageViewLayer', function () { var directiveDefinitionObject = { priority: 0, templateUrl: '/static/directives/image-view-layer.html', replace: false, transclude: true, restrict: 'C', scope: { 'repository': '=repository', 'image': '=image', 'images': '=images' }, controller: function($scope, $element) { $scope.getDockerfileCommand = function(command) { if (!command) { return ''; } // ["/bin/sh", "-c", "#(nop) RUN foo"] var commandPrefix = '#(nop)' if (command.length != 3) { return ''; } if (command[0] != '/bin/sh' || command[1] != '-c') { return ''; } var cmd = command[2]; if (cmd.substring(0, commandPrefix.length) != commandPrefix) { return 'RUN ' + cmd; } return command[2].substr(commandPrefix.length + 1); }; $scope.getClass = function() { var index = $.inArray($scope.image, $scope.images); if (index < 0) { return 'first'; } if (index == $scope.images.length - 1) { return 'last'; } return ''; }; } }; return directiveDefinitionObject; });