2020-04-10 21:54:53 +00:00
|
|
|
angular.module('portainer.docker').controller('DashboardController', [
|
|
|
|
'$scope',
|
|
|
|
'$q',
|
|
|
|
'ContainerService',
|
|
|
|
'ImageService',
|
|
|
|
'NetworkService',
|
|
|
|
'VolumeService',
|
|
|
|
'SystemService',
|
|
|
|
'ServiceService',
|
|
|
|
'StackService',
|
|
|
|
'EndpointService',
|
|
|
|
'Notifications',
|
|
|
|
'EndpointProvider',
|
|
|
|
'StateManager',
|
|
|
|
function (
|
|
|
|
$scope,
|
|
|
|
$q,
|
|
|
|
ContainerService,
|
|
|
|
ImageService,
|
|
|
|
NetworkService,
|
|
|
|
VolumeService,
|
|
|
|
SystemService,
|
|
|
|
ServiceService,
|
|
|
|
StackService,
|
|
|
|
EndpointService,
|
|
|
|
Notifications,
|
|
|
|
EndpointProvider,
|
|
|
|
StateManager
|
|
|
|
) {
|
|
|
|
$scope.dismissInformationPanel = function (id) {
|
|
|
|
StateManager.dismissInformationPanel(id);
|
|
|
|
};
|
2018-08-21 18:40:42 +00:00
|
|
|
|
2020-04-10 21:54:53 +00:00
|
|
|
$scope.offlineMode = false;
|
2016-07-13 22:58:39 +00:00
|
|
|
|
2020-04-10 21:54:53 +00:00
|
|
|
function initView() {
|
|
|
|
var endpointMode = $scope.applicationState.endpoint.mode;
|
|
|
|
var endpointId = EndpointProvider.endpointID();
|
2018-10-28 09:27:06 +00:00
|
|
|
|
2020-04-10 21:54:53 +00:00
|
|
|
$q.all({
|
|
|
|
containers: ContainerService.containers(1),
|
|
|
|
images: ImageService.images(false),
|
|
|
|
volumes: VolumeService.volumes(),
|
|
|
|
networks: NetworkService.networks(true, true, true),
|
|
|
|
services: endpointMode.provider === 'DOCKER_SWARM_MODE' && endpointMode.role === 'MANAGER' ? ServiceService.services() : [],
|
|
|
|
stacks: StackService.stacks(true, endpointMode.provider === 'DOCKER_SWARM_MODE' && endpointMode.role === 'MANAGER', endpointId),
|
|
|
|
info: SystemService.info(),
|
|
|
|
endpoint: EndpointService.endpoint(endpointId),
|
|
|
|
})
|
|
|
|
.then(function success(data) {
|
|
|
|
$scope.containers = data.containers;
|
|
|
|
$scope.images = data.images;
|
|
|
|
$scope.volumeCount = data.volumes.length;
|
|
|
|
$scope.networkCount = data.networks.length;
|
|
|
|
$scope.serviceCount = data.services.length;
|
|
|
|
$scope.stackCount = data.stacks.length;
|
|
|
|
$scope.info = data.info;
|
|
|
|
$scope.endpoint = data.endpoint;
|
|
|
|
$scope.offlineMode = EndpointProvider.offlineMode();
|
|
|
|
})
|
|
|
|
.catch(function error(err) {
|
|
|
|
Notifications.error('Failure', err, 'Unable to load dashboard data');
|
|
|
|
});
|
|
|
|
}
|
2017-10-15 17:24:40 +00:00
|
|
|
|
2020-04-10 21:54:53 +00:00
|
|
|
initView();
|
|
|
|
},
|
|
|
|
]);
|