Initial OpenECOMP policy/engine commit
[policy/engine.git] / ecomp-sdk-app / src / main / webapp / app / policyApp / controller / pdpGroupPopUpController.js
diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/controller/pdpGroupPopUpController.js b/ecomp-sdk-app/src/main/webapp/app/policyApp/controller/pdpGroupPopUpController.js
new file mode 100644 (file)
index 0000000..31a094e
--- /dev/null
@@ -0,0 +1,179 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * 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=========================================================
+ */
+
+var editPDPGrouppopupController =  function ($scope, $modalInstance, message, modalService, $modal, Notification){
+       if(message.pdpGroupData==null)
+               $scope.label='Add New PDP Group'
+                       else{
+                               $scope.label='Edit PDP Group'
+                               $scope.disableCd=true;
+                               $scope.policies = message.pdpGroupData.policies;
+                       $scope.pdps = message.pdpGroupData.pdps;
+                       $scope.selectedPdp = message.pdpGroupData;
+                       }
+       $scope.editPDPGroup = message.pdpGroupData;
+
+       $scope.policiesGrid = {
+               data : 'policies',
+               enableFiltering: true,
+               columnDefs: [
+                       { field: 'root', displayName : 'Root', width : '10%'},
+                       { field: 'name', displayName : 'Name' },
+                       { field: 'version' , width : '10%'},
+                       { field: 'id' }
+               ]
+       };
+
+       $scope.pdpsGrid = {
+               data : 'pdps',
+               enableFiltering: true,
+               columnDefs: [{
+                       field: 'id', enableFiltering: false, headerCellTemplate: '' +
+                       '<button id=\'New\' ng-click="grid.appScope.createNewPDPInGroup()" class="btn btn-success">' + 'Create PDP</button>',
+                       cellTemplate:
+                       '<button  type="button"  class="btn btn-primary" ng-click="grid.appScope.editPDPInGroup(row.entity)"><i class="fa fa-pencil-square-o"></i></button> ' +
+                       '<button  type="button"  class="btn btn-danger"  ng-click="grid.appScope.deletePDPFromGroup(row.entity)" ><i class="fa fa-trash-o"></i></button> '+
+                       '<button  type="button"  class="btn btn-success" ng-click="grid.appScope.statusOfPDP(row.entity.status)" >Status</button>',  width: '15%'
+               },
+                       { field: 'id', displayName : 'PDP URL'},
+                       { field: 'jmxPort', displayName : 'JMX Port' , width : '10%' },
+                       { field: 'name' , displayName : 'PDP Name'},
+                       { field: 'description' }
+               ]
+       };
+
+       $scope.createNewPDPInGroup = function(pdpInGroup) {
+               $scope.pdpInGroup = null;
+               var modalInstance = $modal.open({
+                       backdrop: 'static', keyboard: false,
+                       templateUrl : 'create_newPDP_InGroup.html',
+                       controller: 'pdpInGroupController',
+                       resolve: {
+                               message: function () {
+                                       var message = {
+                                               data: $scope.pdpInGroup,
+                                               activePDP : $scope.selectedPdp
+                                       };
+                                       return message;
+                               }
+                       }
+               });
+               modalInstance.result.then(function(response){
+                       console.log('response', response);
+                       $scope.data=response.data;
+               });
+       };
+
+       $scope.editPDPInGroup = function(pdpInGroup) {
+               $scope.editPDPInGroupData = pdpInGroup;
+               var modalInstance = $modal.open({
+                       backdrop: 'static', keyboard: false,
+                       templateUrl: 'create_newPDP_InGroup.html',
+                       controller: 'pdpInGroupController',
+                       resolve: {
+                               message: function () {
+                                       var message = {
+                                               pdpInGroup : $scope.editPDPInGroupData,
+                                               activePDP : $scope.selectedPdp
+                                       };
+                                       return message;
+                               }
+                       }
+               });
+               modalInstance.result.then(function(response){
+                       console.log('response', response);
+                       $scope.data=response.data;
+               });
+       };
+
+       $scope.deletePDPFromGroup = function(data){
+               modalService.popupConfirmWin("Confirm","You are about to delete the PDP Group :  "+data.name+". Do you want to continue?",
+                       function(){
+                               var uuu = "pdp_Group/remove_pdpFromGroup.htm";
+                               var postData={data: data,
+                                               activePDP : $scope.selectedPdp};
+                               $.ajax({
+                                       type : 'POST',
+                                       url : uuu,
+                                       dataType: 'json',
+                                       contentType: 'application/json',
+                                       data: JSON.stringify(postData),
+                                       success : function(data){
+                                               $scope.$apply(function(){$scope.data=data.data;});
+                                               Notification.success("PDP Group Deleted Successfully");
+                                       },
+                                       error : function(data){
+                                               console.log(data);
+                                               Notification.error("Error Occured While Deleting a PDP Group")
+                                               //modalService.showFailure("Fail","Error while deleting: "+ data.responseText);
+                                       }
+                               });
+
+                       })
+       };
+
+       $scope.statusOfPDP = function(status){
+               $scope.pdpStatus = status;
+               console.log($scope.pdpStatus);
+               var modalInstance = $modal.open({
+                       backdrop: 'static', keyboard: false,
+                       templateUrl: 'pdpGroupStatusWindow.html',
+                       controller: 'pdpGroupStatusController',
+                       resolve: {
+                               message: function () {
+                                       var message = {
+                                               status : $scope.pdpStatus,
+                                               policies : $scope.policies
+                                       };
+                                       return message;
+                               }
+                       }
+               });
+               modalInstance.result.then(function(response){
+                       console.log('response', response);
+                       $scope.data=response.data;
+               });
+       };
+
+       $scope.savePDPGroup = function(pdpGroupData) {
+               var uuu = "pdp_Group/save_pdp_group.htm";
+               var postData={pdpGroupData: pdpGroupData};
+               $.ajax({
+                       type : 'POST',
+                       url : uuu,
+                       dataType: 'json',
+                       contentType: 'application/json',
+                       data: JSON.stringify(postData),
+                       success : function(data){
+                               $scope.$apply(function(){
+                               $scope.data=data.data;});
+                               console.log($scope.data);
+                               $modalInstance.close({data:$scope.data});
+                       },
+                       error : function(data){
+                               alert("Error while saving.");
+                       }
+               });
+       };
+
+       $scope.close = function() {
+               $modalInstance.close();
+       };
+}
\ No newline at end of file