diff options
Diffstat (limited to 'src/main/resources/META-INF/resources/designer/scripts/OperationalPolicyCtrl.js')
-rw-r--r-- | src/main/resources/META-INF/resources/designer/scripts/OperationalPolicyCtrl.js | 439 |
1 files changed, 0 insertions, 439 deletions
diff --git a/src/main/resources/META-INF/resources/designer/scripts/OperationalPolicyCtrl.js b/src/main/resources/META-INF/resources/designer/scripts/OperationalPolicyCtrl.js deleted file mode 100644 index 806cfea9..00000000 --- a/src/main/resources/META-INF/resources/designer/scripts/OperationalPolicyCtrl.js +++ /dev/null @@ -1,439 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2017-2019 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============================================ - * =================================================================== - * - */ -app -.controller( -'operationalPolicyCtrl', -[ - '$scope', - '$rootScope', - '$uibModalInstance', - 'data', - 'operationalPolicyService', - 'dialogs', - function($scope, $rootScope, $uibModalInstance, data, operationalPolicyService, dialogs) { - - console.log("//////operationalPolicyCtrl"); - $scope.policy_ids = [] - var allPolicies = {}; - $scope.guardType = "GUARD_MIN_MAX"; - $scope.number = 0; - $scope.clname = ""; - $scope.guard_ids = []; - $scope.duplicated = false; - - function getAllFormId() { - - return Array.from(document.getElementsByClassName("formId")); - } - function searchActiveFormId() { - - var formArray = getAllFormId(); - for (var i = 0, max = formArray.length; i < max; i++) { - console.log("Search active FormId, current element " + formArray[i].id); - if (formArray[i].style.display !== "none") { - console.log("Active form is:" + formArray[i].id); - return formArray[i]; - } - } - console.log("No active formId found !"); - } - function add_one_more() { - - console.log("add one more"); - $("#nav_Tabs li").removeClass("active"); - // FormSpan contains a block of the form that is not being - // displayed. We will create clones of that and add them to tabs - var form = $("#formSpan").clone(true, true) - var count = 0; - // Each new tab will have the formId class attached to it. This way - // we can track how many forms we currently have out there and - // assign listeners to them - if ($(".formId").length > 0) { - var greatest = 0; - var s = $(".formId"); - for (var i = 0; i < s.length; i++) { - if (parseInt($(s[i]).attr("id").substring(6)) > greatest) { - greatest = parseInt($(s[i]).attr("id").substring(6)) - } - } - count = greatest + 1; - $("#properties_tab").append(('<span class="formId" id="formId' + count + '"></span>')); - } else { - count++; - $("#properties_tab").append('<span class="formId" id="formId1"></span>'); - } - $("#add_one_more") - .parent() - .before( - ' <li class="active"><a id="go_properties_tab' - + count - + '">new</a><button id="tab_close' - + count - + '" type="button" class="close tab-close-popup" aria-hidden="true" style="margin-top: -30px;margin-right: 5px">×</button></li>'); - $("#formId" + count).append(form.children()); - $(".formId").not($("#formId" + count)).css("display", "none"); - addCustListen(count); - $("#formId" + count + " #id").val("new"); - $("#formId" + count + " #clname").val($scope.clname); - return count; - } - function addCustListen(count) { - - $('#go_properties_tab' + count).click(function(event) { - - $("#nav_Tabs li").removeClass("active"); - $(this).parent().addClass("active"); - $("#formId" + count).css("display", "") - $(".formId").not($("#formId" + count)).css("display", "none") - }) - $('#tab_close' + count).click(function(event) { - - $(this).parent().remove(); - $scope.policy_ids.splice($scope.policy_ids.indexOf($("#formId" + count + " #id").val()), 1); - $("#formId" + count).remove(); - }) - } - function greatestIdNum() { - - var greatest = 0; - var s = $(".formId"); - for (var i = 0; i < s.length; i++) { - if (parseInt($(s[i]).attr("id").substring(6)) > greatest) { - greatest = parseInt($(s[i]).attr("id").substring(6)) - } - } - return greatest; - } - function serializeElement(element) { - - var o = {}; - var a = element.serializeArray(); - $.each(a, function() { - - if (o[this.name]) { - if (!o[this.name].push) { - o[this.name] = [ o[this.name] ]; - } - o[this.name].push(this.value || ''); - } else { - o[this.name] = this.value || ''; - } - }); - return o; - } - function savePolicyLocally() { - - var polForm = {}; - var clPolForm = {}; - clPolForm = serializeElement($("#operationalPolicyHeaderForm")); - allPolicies['guard_policies'] = {}; - var policiesArray = [] - $.each($(".formId"), function() { - - var policyProperties = serializeElement($("#" + this.id + " .policyProperties")); - policyProperties["target"] = serializeElement($("#" + this.id + " .policyTarget")) - policiesArray.push(policyProperties); - // Now get the Guard - if ($("#" + this.id + " #enableGuardPolicy").is(':checked')) { - var guardPolicyBody = serializeElement($("#" + this.id + " .guardProperties")); - var guardPolicyId = guardPolicyBody['id']; - delete guardPolicyBody['id']; - allPolicies['guard_policies'][guardPolicyId] = guardPolicyBody; - $scope.guard_ids.push(guardPolicyId); - } - }); - polForm['controlLoop'] = clPolForm; - polForm['policies'] = policiesArray; - allPolicies['operational_policy'] = polForm; - } - function add_new_policy() { - - console.log("add new policy"); - // remove old gui forms - for (var i = 1; i < ($(".formId").length + 1); i++) { - $("#go_properties_tab" + i).parent().remove(); - } - $(".formId").remove(); - $("#add_one_more").click(); - } - function configureComponents(allPolicies) { - - console.log("load properties to op policy"); - // Set the header - $.each($('#operationalPolicyHeaderForm').find('.form-control'), function() { - $(this).val(allPolicies['operational_policy']['controlLoop'][this.id]); - }); - // Set the sub-policies - $.each(allPolicies['operational_policy']['policies'], function(opPolicyElemIndex, opPolicyElemValue) { - - var formNum = add_one_more(); - $.each($('.policyProperties').find('.form-control'), function(opPolicyPropIndex, opPolicyPropValue) { - - $("#formId" + formNum + " .policyProperties").find("#" + opPolicyPropValue.id).val( - allPolicies['operational_policy']['policies'][opPolicyElemIndex][opPolicyPropValue.id]); - }); - - // Initial TargetResourceId options - initTargetResourceIdOptions(allPolicies['operational_policy']['policies'][opPolicyElemIndex]['target']['type'], formNum); - $.each($('.policyTarget').find('.form-control'), function(opPolicyTargetPropIndex, opPolicyTargetPropValue) { - - $("#formId" + formNum + " .policyTarget").find("#" + opPolicyTargetPropValue.id).val( - allPolicies['operational_policy']['policies'][opPolicyElemIndex]['target'][opPolicyTargetPropValue.id]); - }); - - // update the current tab label - $("#go_properties_tab" + formNum).text( - allPolicies['operational_policy']['policies'][opPolicyElemIndex]['id']); - // Check if there is a guard set for it - $.each(allPolicies['guard_policies'], function(guardElemId, guardElemValue) { - - if (guardElemValue.recipe === $($("#formId" + formNum + " #recipe")[0]).val()) { - // Found one, set all guard prop - $.each($('.guardProperties').find('.form-control'), function(guardPropElemIndex, - guardPropElemValue) { - - guardElemValue['id'] = guardElemId; - $("#formId" + formNum + " .guardProperties").find("#" + guardPropElemValue.id).val( - guardElemValue[guardPropElemValue.id]); - }); - iniGuardPolicyType(guardElemId, formNum); - // And finally enable the flag - $("#formId" + formNum + " #enableGuardPolicy").prop("checked", true); - } - }); - }); - } - function iniGuardPolicyType (guardPolicyId, formNum) { - if(guardPolicyId.indexOf('guard.minmax.') !== -1) { - $("#formId" + formNum + " #minMaxGuardPolicyDiv").show(); - $("#formId" + formNum + " #frequencyLimiterGuardPolicyDiv").hide(); - $("#formId" + formNum + " #guardPolicyType").val("GUARD_MIN_MAX"); - } else if (guardPolicyId.indexOf('guard.frequency.') !== -1) { - $("#formId" + formNum + " #minMaxGuardPolicyDiv").hide(); - $("#formId" + formNum + " #frequencyLimiterGuardPolicyDiv").show(); - $("#formId" + formNum + " #guardPolicyType").val("GUARD_YAML"); - } - } - function initTargetResourceIdOptions (targetType, formNum) { - var recipe = $("#formId" + formNum + "#recipe").val(); - $("#formId" + formNum + " #resourceID").empty(); - $("#formId" + formNum + " #resourceID").append($('<option></option>').val("").html("-- choose an option --")); - - var resourceVnf = getResourceDetailsVfProperty(); - if (targetType == "VNF" && (null !== resourceVnf || undefined !== resourceVnf)) { - for ( var prop in resourceVnf) { - var name = resourceVnf[prop]["name"]; - $("#formId" + formNum + " #resourceID").append($('<option></option>').val(name).html(name)); - } - } - var resourceVFModule = getResourceDetailsVfModuleProperty(); - if (targetType == "VFMODULE" && (null !== resourceVFModule || undefined !== resourceVFModule)) { - if (recipe == 'VF Module Create' || recipe == 'VF Module Delete') { - for ( var prop in resourceVFModule) { - if (resourceVFModule[prop]["isBase"] == false) { - $("#formId" + formNum + " #resourceID").append($('<option></option>').val(resourceVFModule[prop]["vfModuleModelName"]).html(resourceVFModule[prop]["vfModuleModelName"])); - } - } - } else { - for ( var prop in resourceVFModule) { - $("#formId" + formNum + " #resourceID").append($('<option></option>').val(resourceVFModule[prop]["vfModuleModelName"]).html(resourceVFModule[prop]["vfModuleModelName"])); - } - } - } - } - - function initTargetModelAttributes (formNum) { - $("#formId" + formNum + " #modelName").val(""); - $("#formId" + formNum + " #modelInvariantId").val(""); - $("#formId" + formNum + " #modelVersionId").val(""); - $("#formId" + formNum + " #modelVersion").val(""); - $("#formId" + formNum + " #modelCustomizationId").val(""); - } - - $scope.initTargetResourceId = function(event) { - var formNum = $(event.target).closest('.formId').attr('id').substring(6); - initTargetModelAttributes(formNum); - var type = $(event.target).val(); - initTargetResourceIdOptions(type, formNum); - } - - $scope.changeGuardId = function(formItemActive) { - if (formItemActive === undefined) { - formItemActive = searchActiveFormId(); - if (formItemActive === undefined) { - return; - } - } - var oldValue = $("#" + formItemActive.id + " .guardProperties #id").val(); - // remove old prefix - if(oldValue.indexOf('guard.minmax.') !== -1) { - oldValue = oldValue.substr(oldValue.indexOf('guard.minmax.') + 13); - } else if (oldValue.indexOf('guard.frequency.') !== -1) { - oldValue = oldValue.substr(oldValue.indexOf('guard.frequency.') + 16); - } - - var prefix = "guard."; - if ($("#" + formItemActive.id + " #guardPolicyType").val() === "GUARD_MIN_MAX") { - prefix = prefix + "minmax."; - } else if ($("#" + formItemActive.id + " #guardPolicyType").val() === "GUARD_YAML") { - prefix = prefix + "frequency."; - } - $("#" + formItemActive.id + " .guardProperties #id").val(prefix+oldValue); - } - - $scope.changeTargetResourceId = function(event) { - var formNum = $(event.target).closest('.formId').attr('id').substring(6); - initTargetModelAttributes(formNum); - - var resourceVFModule = getResourceDetailsVfModuleProperty(); - var type = $("#formId" + formNum +" #type").val(); - var recipe = $("#formId" + formNum +" #recipe").val(); - if (type == "VFMODULE" && (null !== resourceVFModule || undefined !== resourceVFModule) - && (recipe == 'VF Module Create' || recipe == 'VF Module Delete')) { - for ( var prop in resourceVFModule) { - if (prop == $(event.target).val()) { - $("#formId" + formNum +" #modelName").val(resourceVFModule[prop]["vfModuleModelName"]); - $("#formId" + formNum +" #modelInvariantId").val(resourceVFModule[prop]["vfModuleModelInvariantUUID"]); - $("#formId" + formNum +" #modelVersionId").val(resourceVFModule[prop]["vfModuleModelUUID"]); - $("#formId" + formNum +" #modelVersion").val(resourceVFModule[prop]["vfModuleModelVersion"]); - $("#formId" + formNum +" #modelCustomizationId").val(resourceVFModule[prop]["vfModuleModelCustomizationUUID"]); - $("#formId" + formNum +" #metadata *").prop('disabled', false); - } - } - } else { - $("#formId" + formNum +" #metadata *").prop('disabled', true); - } - } - $scope.changeGuardPolicyType = function() { - - var formItemActive = searchActiveFormId(); - if (formItemActive === undefined) - return; - if ($("#" + formItemActive.id + " #guardPolicyType").val() === "GUARD_MIN_MAX") { - $("#" + formItemActive.id + " #minMaxGuardPolicyDiv").show(); - $("#" + formItemActive.id + " #frequencyLimiterGuardPolicyDiv").hide(); - } else if ($("#" + formItemActive.id + " #guardPolicyType").val() === "GUARD_YAML") { - $("#" + formItemActive.id + " #minMaxGuardPolicyDiv").hide(); - $("#" + formItemActive.id + " #frequencyLimiterGuardPolicyDiv").show(); - } - $scope.changeGuardId(formItemActive); - } - $scope.initPolicySelect = function() { - - if (allPolicies['operational_policy'] === undefined || allPolicies['operational_policy'] === null) { - allPolicies = getOperationalPolicyProperty(); - } - // Provision all policies ID first - if ($scope.policy_ids.length == 0 && allPolicies['operational_policy'] != undefined) { - $.each(allPolicies['operational_policy']['policies'], function() { - - $scope.policy_ids.push(this['id']); - }); - } - } - $scope.init = function() { - - $(function() { - - $scope.clname = getLoopName(); - $("#add_one_more").click(function(event) { - - console.log("add one more"); - event.preventDefault(); - $scope.policy_ids.push($("#formId" + add_one_more() + " #id").val()); - }); - if (allPolicies['operational_policy'] !== undefined && allPolicies['operational_policy'] !== null) { - // load properties - console.log("load properties"); - configureComponents(allPolicies); - } else { - console.log("create new policy"); - add_new_policy(); - } - $("#savePropsBtn").click(function(event) { - - console.log("save properties triggered"); - savePolicyLocally(); - for (var i = 0; i <= $scope.guard_ids.length; i++) { - for (var j = i; j <= $scope.guard_ids.length; j++) { - if (i != j && $scope.guard_ids[i] == $scope.guard_ids[j]) { - // duplacated guard policy id exist - alert("The guard policy ID should be unique."); - return; - } - } - } - angular.element(document.getElementById('formSpan')).scope().submitForm(allPolicies); - $("#close_button").click(); - }); - }); - } - $scope.init(); - $scope.updateGuardRecipe = function(event) { - - var formNum = $(event.target).closest('.formId').attr('id').substring(6); - // Get the second recipe (guard one) and update it - $($("#formId" + formNum + " #recipe")[1]).val($(event.target).val()); - } - $scope.updateGuardActor = function(event) { - - var formNum = $(event.target).closest('.formId').attr('id').substring(6); - // Get the second actor (guard one) and update it - $($("#formId" + formNum + " #actor")[1]).val($(event.target).val()); - } - // When we change the name of a policy - $scope.updateTabLabel = function (event) { - - // update policy id structure - var formNum = $(event.target).closest('.formId').attr('id').substring(6); - var policyId = $(event.target).val(); - if ($scope.policy_ids.includes(policyId)) { - console.log("Duplicated ID, cannot proceed"); - $scope.duplicated = true; - } else { - $scope.duplicated = false; - $scope.policy_ids.splice($scope.policy_ids.indexOf($("#formId" + formNum + " #id").val()), 1); - $scope.policy_ids.push($(event.target).val()); - // Update the tab now - $("#go_properties_tab" + formNum).text($(event.target).val()); - } - }; - $scope.close = function() { - - console.log("close"); - $uibModalInstance.close("closed"); - }; - $scope.submitForm = function(obj) { - - var operationalPolicies = getOperationalPolicies(); - if (obj !== null) { - operationalPolicies[0]["configurationsJson"] = obj; - } - operationalPolicyService.saveOpPolicyProperties(operationalPolicies).then(function(pars) { - - updateOpPolicyProperties(operationalPolicies); - }, function(data) { - - }); - }; - } ]); |