['$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;
});
$('#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){
}
$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){
};
$scope.close = function(){
- angular.copy(elementMap[lastElementSelected], $scope.hpPolicyList);
$modalInstance.close('closed');
if($scope.editor) { $scope.editor.destroy(); $scope.editor = null; }
}