aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/webapp/app/vid/scripts/controller/AddNetworkNodeController.js
blob: 458da3f758adc711474359b28ee3b1222fa3c94d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*-
* ============LICENSE_START=======================================================
* VID
* ================================================================================
* 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=========================================================
*/

/**
 * The Instantiation (or View/Edit) Controller controls the instantiation/removal of
 * deployable objects (Services, VNFs, VF-Modules, Networks, and Volume-Groups)
 */

"use strict";

appDS2.controller("AddNetworkNodeController", ["COMPONENT", "FIELD", "PARAMETER", "DataService", "CreationService", "$scope", "$window", "$location",
    function (COMPONENT, FIELD, PARAMETER, DataService, CreationService, $scope, $window, $location) {

        $scope.serviceMetadataFields = [];
        $scope.tenantList = [];
        $scope.nodeTemplateFields = {};
        
        $scope.regexInstanceName = /^([a-z])+([0-9a-z\-_\.]*)$/i;
        $scope.errorMsg = FIELD.ERROR.INSTANCE_NAME_VALIDATE;

        var handleGetParametersResponse = function(parameters) {
            $scope.serviceMetadataFields = parameters.summaryList;
            $scope.tenantList = DataService.getCloudRegionTenantList();

        if(DataService.getPortMirroningConfigFields()){
            $scope.nodeTemplateFields =DataService.getPortMirroningConfigFields();
        }else {
            $scope.nodeTemplateFields = angular.copy(_.keyBy(parameters.userProvidedList, 'id'));
        }

           $scope.modelName = DataService.getModelInfo(COMPONENT.VNF).modelCustomizationName;
        };

        CreationService.initializeComponent(COMPONENT.VNF);

        CreationService.getParameters(handleGetParametersResponse);

        $scope.setTenant = function(field)  {
            $scope.nodeTemplateFields.tenant.optionList = _.filter($scope.tenantList, {'cloudRegionId': field.value, 'isPermitted': true});
        };

        $scope.cancel = function()  {
            $window.history.back();
        };

        $scope.next = function()  {
            // DataService.setLcpRegion($scope.nodeTemplateFields.lcpRegion.value);
            // DataService.setModelInstanceName($scope.nodeTemplateFields.instanceName.value);
            // DataService.setTenant($scope.nodeTemplateFields.tenant.value);
            // var suppressRollback = ($scope.nodeTemplateFields.suppressRollback.value) ? true : false;
            // DataService.setSuppressRollback(suppressRollback);
            DataService.setPortMirroningConfigFields($scope.nodeTemplateFields);
            $location.path("/serviceProxyConfig");
        };

        $scope.$on('$routeChangeStart', function (event, next, current) {
            if(next.$$route.originalPath !=="/serviceProxyConfig"){
                DataService.setPortMirroningConfigFields(null);
            }
        });
    }]);