diff --git a/app/components/containersNetwork/containersNetwork.html b/app/components/containersNetwork/containersNetwork.html index e9bce03de..f213de493 100644 --- a/app/components/containersNetwork/containersNetwork.html +++ b/app/components/containersNetwork/containersNetwork.html @@ -15,6 +15,7 @@ +
" + "
  • ID: " + container.Id + "
  • " + "
  • Image: " + container.Image + "
  • " + - ""}); + "", + color: (container.Running ? "#8888ff" : "#cccccc") + }); }; - this.addLinkEdgeIfExists = function(from, to) { - if (from.Links != null && from.Links[to.Name] != null) { + this.hasEdge = function(from, to) { + return this.edges.getIds({ + filter: function (item) { + return item.from == from.Id && item.to == to.Id; + } }).length > 0; + }; + + this.addLinkEdgeIfExists = function(from, to) { + if (from.Links != null && from.Links[to.Name] != null && !this.hasEdge(from, to)) { this.edges.add({ from: from.Id, to: to.Id, @@ -54,7 +64,7 @@ angular.module('containersNetwork', ['ngVis']) }; this.addVolumeEdgeIfExists = function(from, to) { - if (from.VolumesFrom != null && from.VolumesFrom[to.Id] != null) { + if (from.VolumesFrom != null && (from.VolumesFrom[to.Id] != null || from.VolumesFrom[to.Name] != null) && !this.hasEdge(from, to)) { this.edges.add({ from: from.Id, to: to.Id, @@ -240,10 +250,19 @@ angular.module('containersNetwork', ['ngVis']) $scope.network.addContainer(container); }; - Container.query({all: 0}, function(d) { - for (var i = 0; i < d.length; i++) { - Container.get({id: d[i].Id}, addContainer, showFailure); - } - }); - + var update = function (data) { + Container.query(data, function(d) { + for (var i = 0; i < d.length; i++) { + Container.get({id: d[i].Id}, addContainer, showFailure); + } + }); + }; + update({all: 0}); + + $scope.includeStopped = false; + $scope.toggleIncludeStopped = function() { + $scope.network.updateShownContainers([]); + update({all: $scope.includeStopped ? 1 : 0}); + }; + }]);