From ff76b5ed0aa91d5fdf9dc4f95e8b20f91ed9d072 Mon Sep 17 00:00:00 2001 From: "Sonsino, Ofir (os0695)" Date: Tue, 10 Jul 2018 15:57:37 +0300 Subject: New Angular UI from 1806 Change-Id: I39c160db0e0a6ec2e587ccf007ee1b23c6a08666 Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) --- .../app/vid/scripts/controller/iframeController.js | 7 +++ .../scripts/controller/iframeDialogController.js | 71 ++++++++++++++++++++++ .../webapp/app/vid/scripts/services/crService.js | 31 ++++++++++ 3 files changed, 109 insertions(+) create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeController.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeDialogController.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/services/crService.js (limited to 'vid-app-common') diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeController.js new file mode 100644 index 000000000..007ed0570 --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeController.js @@ -0,0 +1,7 @@ +"use strict"; + +var iframeController = function($scope, $location) { + $scope.url = "app/ui/#" + $location.$$url; +} + +app.controller("iframeController", [ "$scope", "$location", iframeController ]); \ No newline at end of file diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeDialogController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeDialogController.js new file mode 100644 index 000000000..ab3320697 --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeDialogController.js @@ -0,0 +1,71 @@ +/*- + * ============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========================================================= + */ + +"use strict"; + +var iframeDialogController = function (COMPONENT, FIELD, PARAMETER, $scope, $http, $timeout, $log, + CreationService, UtilityService, DataService, $routeParams) { + + $scope.isDialogVisible = false; + + function receiveMessage(event) { + window.removeEventListener("message", receiveMessage, false); + $scope.isDialogVisible = false; + $scope.popup.isVisible = false; + + if (event.data.eventId == 'submitIframe') { + CreationService.initializeComponent(COMPONENT.VNF); + var instanceId = $routeParams.serviceInstanceId; + DataService.setServiceInstanceId(instanceId); + console.log(event.data.data); + + $scope.$broadcast(COMPONENT.MSO_CREATE_REQ, { + url: CreationService.getMsoUrl(), + requestDetails: event.data.data, + componentId: COMPONENT.VNF, + callbackFunction: function (response) { + // if (response.isSuccessful) { + // $scope.popup.shouldShowIframePopup = false; + // } else { + $scope.isDialogVisible = false; + $scope.popup.isVisible = false; + // } + } + }) + } + $scope.$apply(); + } + + + $scope.$on(COMPONENT.IFRAME_DIALOG, function (event, data) { + var queryString = Object.keys(data).map(function(key) { + return key + '=' + data[key] + }).join('&'); + $scope.url = COMPONENT.SUB_INTERFACE_POPUP_IFRAME_URL + queryString; + $scope.isDialogVisible = true; + $scope.popup.isVisible = true; + + window.addEventListener("message", receiveMessage, false); + }); +}; + +appDS2.controller("iframeDialogController", ["COMPONENT", "FIELD", "PARAMETER", "$scope", "$http", + "$timeout", "$log", "CreationService", "UtilityService", "DataService", "$routeParams", + iframeDialogController]); diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/services/crService.js b/vid-app-common/src/main/webapp/app/vid/scripts/services/crService.js new file mode 100644 index 000000000..ee45596d0 --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/scripts/services/crService.js @@ -0,0 +1,31 @@ +/*- + * ============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========================================================= + */ + +"use strict"; + +var CrService = function (AaiService) { + return { + getCr: function (instance) { + return AaiService.getCRInformationByInstanceId(instance.serviceInstanceId); + } + }; +}; + +appDS2.factory("CrService", ["AaiService", CrService]); -- cgit 1.2.3-korg