2 * ============LICENSE_START=======================================================
\r
4 * ================================================================================
\r
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
\r
6 * ================================================================================
\r
7 * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * you may not use this file except in compliance with the License.
\r
9 * You may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * Unless required by applicable law or agreed to in writing, software
\r
14 * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * See the License for the specific language governing permissions and
\r
17 * limitations under the License.
\r
18 * ============LICENSE_END=========================================================
\r
23 var creationDialogController = function( COMPONENT, FIELD, $scope, $http, $timeout, $log,
\r
24 CreationService, UtilityService, DataService) {
\r
26 $scope.isDialogVisible = false;
\r
27 $scope.summaryControl = {};
\r
28 $scope.userProvidedControl = {};
\r
30 var callbackFunction = undefined;
\r
31 var componentId = undefined;
\r
33 $scope.$on(COMPONENT.CREATE_COMPONENT, function(event, request) {
\r
35 $scope.isSpinnerVisible = true;
\r
36 $scope.isErrorVisible = false;
\r
37 $scope.isDataVisible = false;
\r
38 $scope.isConfirmEnabled = false;
\r
39 $scope.isDialogVisible = true;
\r
40 $scope.popup.isVisible = true;
\r
42 callbackFunction = request.callbackFunction;
\r
43 componentId = request.componentId;
\r
44 CreationService.initializeComponent(request.componentId);
\r
46 CreationService.setHttpErrorHandler(function(response) {
\r
47 showError(FIELD.ERROR.SYSTEM_FAILURE, UtilityService
\r
48 .getHttpErrorMessage(response));
\r
51 $scope.componentName = CreationService.getComponentDisplayName();
\r
53 CreationService.getParameters(handleGetParametersResponse);
\r
57 var handleGetParametersResponse = function(parameters) {
\r
58 $scope.summaryControl.setList(parameters.summaryList);
\r
59 $scope.userProvidedControl.setList(parameters.userProvidedList);
\r
61 $scope.isSpinnerVisible = false;
\r
62 $scope.isDataVisible = true;
\r
63 $scope.isConfirmEnabled = true;
\r
66 var validateInstanceName = function(iname) {
\r
67 var patt1 = /^([a-z])+([0-9a-z\-_\.]*)$/i;
\r
69 if ( iname == null ){
\r
72 if ( !iname.match(patt1) ) {
\r
78 $scope.userParameterChanged = function(id) {
\r
79 CreationService.updateUserParameterList(id, $scope.userProvidedControl);
\r
82 $scope.confirm = function() {
\r
84 var requiredFields = $scope.userProvidedControl.getRequiredFields();
\r
85 if (requiredFields !== "") {
\r
86 showError(FIELD.ERROR.MISSING_DATA, requiredFields);
\r
90 var paramList = $scope.userProvidedControl.getList();
\r
91 var instanceName = "";
\r
93 if ( DataService.getALaCarte() ) {
\r
94 if ( paramList != null ) {
\r
95 for (var i = 0; i < paramList.length; i++) {
\r
96 if (paramList[i].id === FIELD.ID.INSTANCE_NAME) {
\r
97 instanceName = paramList[i].value;
\r
102 var isValid = validateInstanceName (instanceName);
\r
104 $scope.isErrorVisible = false;
\r
106 showError(FIELD.ERROR.INVALID_INSTANCE_NAME + instanceName,
\r
107 FIELD.ERROR.INSTANCE_NAME_VALIDATE);
\r
112 var requestDetails = CreationService
\r
113 .getMsoRequestDetails($scope.userProvidedControl.getList());
\r
115 $scope.isDialogVisible = false;
\r
117 $scope.$broadcast(COMPONENT.MSO_CREATE_REQ, {
\r
118 url : CreationService.getMsoUrl(),
\r
119 requestDetails : requestDetails,
\r
120 componentId: componentId,
\r
121 callbackFunction : function(response) {
\r
122 if (response.isSuccessful) {
\r
123 $scope.popup.isVisible = false;
\r
124 runCallback(response);
\r
126 $scope.isDialogVisible = false;
\r
127 $scope.popup.isVisible = false;
\r
133 $scope.cancel = function() {
\r
134 $scope.isDialogVisible = false;
\r
135 $scope.popup.isVisible = false;
\r
136 runCallback(false);
\r
139 var runCallback = function(response) {
\r
140 if (angular.isFunction(callbackFunction)) {
\r
142 isSuccessful : response.isSuccessful,
\r
143 control : $scope.userProvidedControl.getList(),
\r
144 instanceId : response.instanceId
\r
149 var showError = function(summary, details) {
\r
150 var message = summary;
\r
151 if (UtilityService.hasContents(details)) {
\r
152 message += " (" + details + ")";
\r
154 $scope.isSpinnerVisible = false;
\r
155 $scope.isErrorVisible = true;
\r
156 $scope.error = message;
\r
161 appDS2.controller("creationDialogController", [ "COMPONENT", "FIELD", "$scope", "$http",
\r
162 "$timeout", "$log", "CreationService", "UtilityService", "DataService",
\r
163 creationDialogController ]);
\r