From 36c86ad506206ed1a038f1129b1bde37efa0eaaa Mon Sep 17 00:00:00 2001 From: jimmydot Date: Thu, 8 Jun 2017 11:54:45 -0400 Subject: [VID-15] fixes for various issues Change-Id: I392a0427078d337a5d501a813dff73c1959481e2 Signed-off-by: jimmydot --- .../scripts/controller/creationDialogController.js | 261 +++++++++++++++------ 1 file changed, 190 insertions(+), 71 deletions(-) (limited to 'vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js') diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js index eb170915..b400cc6e 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js @@ -107,91 +107,210 @@ var creationDialogController = function( COMPONENT, FIELD, PARAMETER, $scope, $h showError(FIELD.ERROR.MISSING_DATA, requiredFields); return; } - + + var isUploadAvailable = false; + var uploadIndex =0; var paramList = $scope.userProvidedControl.getList(); - var instanceName = ""; - - if ( DataService.getALaCarte() ) { - if ( paramList != null ) { - for (var i = 0; i < paramList.length; i++) { - if (paramList[i].id === FIELD.ID.INSTANCE_NAME) { - instanceName = paramList[i].value; - break; + + for (var i = 0; i < paramList.length; i++) { + if (paramList[i].id === FIELD.ID.SUPPLEMENTORY_DATA_FILE) { + isUploadAvailable = true; + uploadIndex=i; + break; + } + } + + if(isUploadAvailable){ + var errorMsg = ""; + var fileInput = document.getElementById(FIELD.ID.SUPPLEMENTORY_DATA_FILE); + var file = fileInput.files[0]; + var reader = new FileReader(); + reader.onload = function(e) { + try{ + paramList[uploadIndex].value = JSON.parse(reader.result); + FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value'] = JSON.stringify(paramList[uploadIndex].value); + $scope.userProvidedControl.updateList([ FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE ]); + + var instanceName = ""; + + if ( DataService.getALaCarte() ) { + if ( paramList != null ) { + for (var i = 0; i < paramList.length; i++) { + if (paramList[i].id === FIELD.ID.INSTANCE_NAME) { + instanceName = paramList[i].value; + break; + } + } + } + var isValid = validateInstanceName (instanceName); + if ( isValid ) { + $scope.isErrorVisible = false; + } else { + showError(FIELD.ERROR.INVALID_INSTANCE_NAME + instanceName, + FIELD.ERROR.INSTANCE_NAME_VALIDATE); + return; + } } - } + var arbitraryParametersList = DataService.getArbitraryParameters(); + var p = null; + if (UtilityService.hasContents (arbitraryParametersList)) { + for (var i = 0; i < arbitraryParametersList.length; i++) { + p = arbitraryParametersList[i]; + if (p.type === PARAMETER.MAP) { + //validate a map: { : , ... , : } + // need to find the value in paramList + for (var j = 0; j < paramList.length; j++) { + if (paramList[j].id === p.id) { + p.value = paramList[j].value; + var isValid = validateMap (p.value); + if ( isValid ) { + $scope.isErrorVisible = false; + break; + } + else { + showError(FIELD.ERROR.INVALID_MAP + p.id, + FIELD.ERROR.MAP_VALIDATE); + return; + } + } + } + } else if (p.type === PARAMETER.LIST) { + //validate a list: { value or a list of comma separated values } + // need to find the value in paramList + for (var j = 0; j < paramList.length; j++) { + if (paramList[j].id === p.id) { + p.value = paramList[j].value; + var isValid = validateList (p.value); + if ( isValid ) { + $scope.isErrorVisible = false; + break; + } + else { + showError(FIELD.ERROR.INVALID_LIST + p.id, + FIELD.ERROR.LIST_VALIDATE); + return; + } + } + } + } + } + } + var requestDetails = CreationService + .getMsoRequestDetails($scope.userProvidedControl.getList()); + + $scope.isDialogVisible = false; + + $scope.$broadcast(COMPONENT.MSO_CREATE_REQ, { + url : CreationService.getMsoUrl(), + requestDetails : requestDetails, + componentId: componentId, + callbackFunction : function(response) { + if (response.isSuccessful) { + $scope.popup.isVisible = false; + runCallback(response); + } else { + $scope.isDialogVisible = false; + $scope.popup.isVisible = false; + } + } + }); + + }catch(e){ + errorMsg = errorMsg+ FIELD.ERROR.INVALID_DATA_FORMAT; } - var isValid = validateInstanceName (instanceName); - if ( isValid ) { - $scope.isErrorVisible = false; - } else { - showError(FIELD.ERROR.INVALID_INSTANCE_NAME + instanceName, - FIELD.ERROR.INSTANCE_NAME_VALIDATE); + if (errorMsg !== "") { + showError(FIELD.ERROR.SYSTEM_FAILURE, errorMsg); return; } - } - var arbitraryParametersList = DataService.getArbitraryParameters(); - var p = null; - if (UtilityService.hasContents (arbitraryParametersList)) { - for (var i = 0; i < arbitraryParametersList.length; i++) { - p = arbitraryParametersList[i]; - if (p.type === PARAMETER.MAP) { - //validate a map: { : , ... , : } - // need to find the value in paramList - for (var j = 0; j < paramList.length; j++) { - if (paramList[j].id === p.id) { - p.value = paramList[j].value; - var isValid = validateMap (p.value); - if ( isValid ) { - $scope.isErrorVisible = false; - break; - } - else { - showError(FIELD.ERROR.INVALID_MAP + p.id, - FIELD.ERROR.MAP_VALIDATE); - return; - } + } + reader.readAsText(file); + }else{ + + var paramList = $scope.userProvidedControl.getList(); + var instanceName = ""; + + if ( DataService.getALaCarte() ) { + if ( paramList != null ) { + for (var i = 0; i < paramList.length; i++) { + if (paramList[i].id === FIELD.ID.INSTANCE_NAME) { + instanceName = paramList[i].value; + break; } } - } else if (p.type === PARAMETER.LIST) { - //validate a list: { value or a list of comma separated values } - // need to find the value in paramList - for (var j = 0; j < paramList.length; j++) { - if (paramList[j].id === p.id) { - p.value = paramList[j].value; - var isValid = validateList (p.value); - if ( isValid ) { - $scope.isErrorVisible = false; - break; - } - else { - showError(FIELD.ERROR.INVALID_LIST + p.id, - FIELD.ERROR.LIST_VALIDATE); - return; - } + } + var isValid = validateInstanceName (instanceName); + if ( isValid ) { + $scope.isErrorVisible = false; + } else { + showError(FIELD.ERROR.INVALID_INSTANCE_NAME + instanceName, + FIELD.ERROR.INSTANCE_NAME_VALIDATE); + return; + } + } + var arbitraryParametersList = DataService.getArbitraryParameters(); + var p = null; + if (UtilityService.hasContents (arbitraryParametersList)) { + for (var i = 0; i < arbitraryParametersList.length; i++) { + p = arbitraryParametersList[i]; + if (p.type === PARAMETER.MAP) { + //validate a map: { : , ... , : } + // need to find the value in paramList + for (var j = 0; j < paramList.length; j++) { + if (paramList[j].id === p.id) { + p.value = paramList[j].value; + var isValid = validateMap (p.value); + if ( isValid ) { + $scope.isErrorVisible = false; + break; + } + else { + showError(FIELD.ERROR.INVALID_MAP + p.id, + FIELD.ERROR.MAP_VALIDATE); + return; + } + } + } + } else if (p.type === PARAMETER.LIST) { + //validate a list: { value or a list of comma separated values } + // need to find the value in paramList + for (var j = 0; j < paramList.length; j++) { + if (paramList[j].id === p.id) { + p.value = paramList[j].value; + var isValid = validateList (p.value); + if ( isValid ) { + $scope.isErrorVisible = false; + break; + } + else { + showError(FIELD.ERROR.INVALID_LIST + p.id, + FIELD.ERROR.LIST_VALIDATE); + return; + } + } } } } } - } - var requestDetails = CreationService - .getMsoRequestDetails($scope.userProvidedControl.getList()); + var requestDetails = CreationService + .getMsoRequestDetails($scope.userProvidedControl.getList()); - $scope.isDialogVisible = false; + $scope.isDialogVisible = false; - $scope.$broadcast(COMPONENT.MSO_CREATE_REQ, { - url : CreationService.getMsoUrl(), - requestDetails : requestDetails, - componentId: componentId, - callbackFunction : function(response) { - if (response.isSuccessful) { - $scope.popup.isVisible = false; - runCallback(response); - } else { - $scope.isDialogVisible = false; - $scope.popup.isVisible = false; + $scope.$broadcast(COMPONENT.MSO_CREATE_REQ, { + url : CreationService.getMsoUrl(), + requestDetails : requestDetails, + componentId: componentId, + callbackFunction : function(response) { + if (response.isSuccessful) { + $scope.popup.isVisible = false; + runCallback(response); + } else { + $scope.isDialogVisible = false; + $scope.popup.isVisible = false; + } } - } - }); + }); + } } $scope.cancel = function() { -- cgit 1.2.3-korg