aboutsummaryrefslogtreecommitdiffstats
path: root/ecd-app-overlay/src/main/webapp/app/ecdapp/home/executions-view-controller.js
blob: 4b28fed937b34dca7919aae36b56a83bf421cbc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/*******************************************************************************
 * =============LICENSE_START=========================================================
 *
 * =================================================================================
 *  Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
 * ================================================================================
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *  
 *      http://www.apache.org/licenses/LICENSE-2.0
 *  
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 * ============LICENSE_END=========================================================
 *
 *  ECOMP is a trademark and service mark of AT&T Intellectual Property.
 *******************************************************************************/
appDS2.controller('executionsViewController', function($scope, $rootScope, ControllerService, $modal, ExecutionService, $log) {
	
	$scope.parent = { 'blueprint_id': 'Root', 'parent': 'parent' };
	$scope.ecdapp = {};
	$scope.ecdapp.isDataLoading = false;
	$scope.controllersList = [];
	$scope.controllerCall;
	var debug = false;
	
	var getControllers = function(){
		$scope.ecdapp.isDataLoading = true;
		ControllerService.getControllers().then(function(jsonObj) {
			if (debug)
				$log.debug("verticalComponentController.getControllers succeeded: " + JSON.stringify(jsonObj));
			// Empty
			$scope.controllersList.length = 0;
			// Refill
			jsonObj.filter(function(d) {
				$scope.controllersList.push(d);
				if (d.selected){
					$scope.parent.blueprint_id = d.name;
					$scope.controllerCallDone = true;
				}
				return;
			});
			$scope.ecdapp.isDataLoading = false;
		}, function(error) {
			$scope.ecdapp.isDataLoading = false;
			alert('Failed to load controllers. Please retry.');
			$log.error("verticalComponentController.getControllers failed: " + error);
		});
	};
	
	$rootScope.$on('controllerChange', function(e, d){
		$scope.parent.blueprint_id = d.name;
	});
	
	$scope.ecdapp.loadTable = function(status) {
		$scope.ecdapp.isDataLoading = true;
		
		// Empty list and create the root controller item
		$scope.orgChartData = [];
		
		ExecutionService.getExecutionsByStatus(status).then(
			function(jsonObj) {
				
				if (jsonObj.error) {
					$log.error("verticalComponentController.loadTable failed: "
							+ jsonObj.error);
					$scope.ecdapp.isRequestFailed = true;
					$scope.ecdapp.errMsg = jsonObj.error;
				} else {
					$scope.ecdapp.isRequestFailed = false;
					$scope.ecdapp.errMsg = null;
					for (var i=0; i < jsonObj.items.length; i++) {
						$scope.orgChartData.push(jsonObj.items[i]);				
					}
					$scope.$broadcast('listenEvent', {data: $scope.orgChartData} );
					setTimeout(function(){$('.child-item').popover()}, 0);
				}
				$scope.status = status;
				$scope.ecdapp.isDataLoading = false;
			},
			function(error) {
				$log.error("verticalComponentController.loadTable failed: "
						+ error);
				$scope.ecdapp.isRequestFailed = true;
				$scope.ecdapp.errMsg =  error;
				$scope.ecdapp.isDataLoading = false;
			});
	};
	
	$scope.showEcompCInstancesModalPopup = function() {
		var modalInstance = $modal.open({
			templateUrl : 'ecompc_instances_popup.html',
			controller : 'selectEcompcController',
			windowClass: 'modal-docked',
			sizeClass: 'modal-medium',
			resolve : {
				message : function() {
					return { items: $scope.controllersList }
				}
			}
		});
	};

	$scope.showsubDropdown = function(e){
		$('#submenu').toggle();
		e.stopPropagation();
	    e.preventDefault();
	}
	
	$scope.closeSubMenu = function(){
		$('#submenu').css({display:'none'})
	}
	
	// Initialize the page
	getControllers();
	$scope.ecdapp.loadTable('active');
	$scope.showOrgTable = true;
});