Rework deploy/undeploy UI
[clamp.git] / src / main / resources / META-INF / resources / designer / scripts / ToscaModelCtrl.js
index f78ad1e..2ef866c 100644 (file)
@@ -24,21 +24,23 @@ app.controller('ToscaModelCtrl',
     ['$scope', '$rootScope', '$modalInstance', '$location', 'dialogs', 'toscaModelService',
     function($scope, $rootScope, $modalInstance, $location, dialogs, toscaModelService) {
 
-        $scope.jsonByPolicyType = function(selectedPolicy, oldSelectedPolicy, editorData){
+        $scope.jsonByPolicyType = function(selectedPolicy, oldSelectedPolicy){
                if (selectedPolicy && selectedPolicy != '') {
-                       toscaModelService.getHpModelJsonByPolicyType(selectedPolicy).then(function(response) {
+
                                $('#editor').empty();
 
-                               var toscaModel = JSON.parse(response.toscaModelJson);
-                               if($scope.policyList && toscaModel.schema.properties && toscaModel.schema.properties.policyList){
-                                       toscaModel.schema.properties.policyList.enum = $scope.policyList;
+                               var toscaModel = getMsUI(selectedPolicy);
+                               if (toscaModel == null) {
+                                       $modalInstance.close('closed');
+                                       return;
                                }
+                               var editorData = getMsProperty(selectedPolicy);
 
-                               JSONEditor.defaults.options.theme = 'bootstrap3';
-                               JSONEditor.defaults.options.iconlib = 'bootstrap2';
+                               JSONEditor.defaults.options.theme = 'bootstrap4';
+                               //JSONEditor.defaults.options.iconlib = 'bootstrap2';
                                JSONEditor.defaults.options.object_layout = 'grid';
                                JSONEditor.defaults.options.disable_properties = true;
-                               JSONEditor.defaults.options.disable_edit_json = true;
+                               JSONEditor.defaults.options.disable_edit_json = false;
                                JSONEditor.defaults.options.disable_array_reorder = true;
                                JSONEditor.defaults.options.disable_array_delete_last_row = true;
                                JSONEditor.defaults.options.disable_array_delete_all_rows = false;
@@ -51,22 +53,20 @@ app.controller('ToscaModelCtrl',
 
                                });
                                $('#form1').show();
-                       });
+
                } else {
                                $('#editor').empty();
                                $('#form1').hide();
                        }
         }
 
-        if($rootScope.selectedBoxName) {
-               var policyType = $rootScope.selectedBoxName.split('_')[0].toLowerCase();
-               $scope.toscaModelName = policyType.toUpperCase() + " Microservice";
-               if(elementMap[lastElementSelected]) {
-                       $scope.jsonByPolicyType(policyType, '', elementMap[lastElementSelected][policyType]);
-               }else{
-                       $scope.jsonByPolicyType(policyType, '', '');
-               }
-           }
+       $scope.$watch('name', function() {
+            if($rootScope.selectedBoxName) {
+               var policyType = $rootScope.selectedBoxName.split('_')[0].toLowerCase();
+               $scope.toscaModelName = policyType.toUpperCase() + " Microservice";
+               $scope.jsonByPolicyType($rootScope.selectedBoxName, '', '');
+            }
+       });
 
         $scope.getEditorData = function(){
                if(!$scope.editor){
@@ -86,15 +86,18 @@ app.controller('ToscaModelCtrl',
         }
 
         $scope.saveToscaProps = function(){
-               var policyType = $rootScope.selectedBoxName.split('_')[0].toLowerCase();
-               var data = $scope.getEditorData();
-
+               var policyType = $rootScope.selectedBoxName;
+            var data = $scope.getEditorData();
             if(data !== null) {
-               data = {[policyType]: data};
-                       saveProperties(data);
-                       if($scope.editor) { $scope.editor.destroy(); $scope.editor = null; }
-                       $modalInstance.close('closed');
-               }
+               var msJson = getMsJson(policyType);
+               msJson["properties"] = data[0];
+               toscaModelService.saveMsProperties(msJson).then(function(pars) {
+                       updateMsProperties(policyType, msJson);
+               }, function(data) {
+               });
+               if($scope.editor) { $scope.editor.destroy(); $scope.editor = null; }
+               $modalInstance.close('closed');
+            }
         }
 
         $scope.displayErrorMessage = function(errors){
@@ -109,7 +112,6 @@ app.controller('ToscaModelCtrl',
         };
 
         $scope.close = function(){
-               angular.copy(elementMap[lastElementSelected], $scope.hpPolicyList);
                        $modalInstance.close('closed');
                        if($scope.editor) { $scope.editor.destroy(); $scope.editor = null; }
         }