Upgrade sonar plugin
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / controller / deletionDialogController.js
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * VID\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 \r
21 "use strict";\r
22 \r
23 var deletionDialogController = function( COMPONENT, FIELD, $scope, $http, $timeout, $log,\r
24         DeletionService, UtilityService) {\r
25 \r
26     $scope.isDialogVisible = false;\r
27     $scope.summaryControl = {};\r
28     $scope.userProvidedControl = {};\r
29     \r
30     var callbackFunction = undefined;\r
31     var componentId = undefined;\r
32 \r
33     $scope.$on(COMPONENT.DELETE_COMPONENT, function(event, request) {\r
34 \r
35     $scope.isDataVisible = false;\r
36         $scope.isSpinnerVisible = false;\r
37         $scope.isErrorVisible = false;\r
38         $scope.isDialogVisible = true;\r
39         $scope.popup.isVisible = true;\r
40         $scope.isConfirmEnabled = false;\r
41 \r
42         callbackFunction = request.callbackFunction;\r
43         componentId = request.componentId;\r
44 \r
45         DeletionService.initializeComponent(request.componentId);\r
46 \r
47         $scope.componentName = DeletionService.getComponentDisplayName();\r
48 \r
49         $scope.summaryControl.setList(DeletionService.getSummaryList());\r
50         \r
51         DeletionService.getParameters(handleGetParametersResponse);\r
52 \r
53     });\r
54     \r
55     var handleGetParametersResponse = function(parameters, dontshow) {\r
56                 $scope.summaryControl.setList(parameters.summaryList);\r
57                 $scope.userProvidedControl.setList(parameters.userProvidedList);\r
58 \r
59                 $scope.isSpinnerVisible = false;\r
60                 if (dontshow)\r
61                   $scope.isDataVisible = false;\r
62                 else\r
63                         $scope.isDataVisible = true;\r
64                 $scope.isConfirmEnabled = true;\r
65         };\r
66 \r
67         $scope.userParameterChanged = function(id) {\r
68                 DeletionService.updateUserParameterList(id, $scope.userProvidedControl);\r
69         }\r
70 \r
71     $scope.confirm = function() {\r
72 \r
73         var requiredFields = $scope.userProvidedControl.getRequiredFields();\r
74                 if (requiredFields === "") {\r
75                         $scope.isErrorVisible = false;\r
76                 } else {\r
77                         showError(FIELD.ERROR.MISSING_DATA, requiredFields);\r
78                         return;\r
79                 }\r
80 \r
81                 \r
82         var requestDetails = DeletionService.getMsoRequestDetails($scope.userProvidedControl.getList());\r
83         \r
84         if(DeletionService.isMacro === true){\r
85                 requestDetails.requestParameters.aLaCarte = false;\r
86         }\r
87 \r
88         $scope.isDialogVisible = false;\r
89 \r
90         $scope.$broadcast(COMPONENT.MSO_DELETE_REQ, {\r
91             url : DeletionService.getMsoUrl(),\r
92             requestDetails : requestDetails,\r
93                 componentId: componentId,\r
94             callbackFunction : function(isSuccessful) {\r
95                 if (isSuccessful) {\r
96                     $scope.popup.isVisible = false;\r
97                     runCallback(true);\r
98                 } else {\r
99                     $scope.isDialogVisible = true;\r
100                 }\r
101             }\r
102         });\r
103 \r
104     }\r
105 \r
106     $scope.cancel = function() {\r
107         $scope.isDialogVisible = false;\r
108         $scope.popup.isVisible = false;\r
109         runCallback(false);\r
110     }\r
111 \r
112     var runCallback = function(isSuccessful) {\r
113         if (angular.isFunction(callbackFunction)) {\r
114             callbackFunction({\r
115                 isSuccessful : isSuccessful\r
116             });\r
117         }\r
118     }\r
119 }\r
120 \r
121 appDS2.controller("deletionDialogController", [ "COMPONENT", "FIELD", "$scope", "$http",\r
122                 "$timeout", "$log", "DeletionService", "UtilityService",\r
123                 deletionDialogController ]);\r