login and Certman AAF Integration changes
[portal.git] / ecomp-portal-FE-common / client / app / views / tabs / tabs.controller.js
index bab9ba5..3e15144 100644 (file)
@@ -1,27 +1,45 @@
 /*-
- * ================================================================================
- * eCOMP Portal
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
+ * ============LICENSE_START==========================================
+ * ONAP Portal
+ * ===================================================================
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software except in compliance with the License.
  * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
+ *             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.
- * ================================================================================
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *             https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * 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';
 (function () {
     const HTTP_PROTOCOL_RGX = /https?:\/\//;
     class  TabsCtrl {
-        constructor(applicationsService, $log, $window, conf, userProfileService, userbarUpdateService, $scope,$cookies,$rootScope,confirmBoxService,auditLogService) {                
+        constructor(applicationsService, $log, $window, conf, userProfileService, userbarUpdateService, $scope,$cookies,$rootScope,confirmBoxService,auditLogService,schedulerService) {               
                // Tab counter
             var counter = 1;
             var tabLimit = 6;
@@ -59,6 +77,7 @@
             }
             // Add tab to the end of the array
             var addTab = function (title, content) {
+               
                if($scope.tabs.length===tabLimit){
                        //alert
                        confirmBoxService.showInformation('You have reached your maximum limit of tabs allowed.').then(isConfirmed => {});
                        $cookies.remove('addTab');
                }
             });
+            
+            /*Listening on partner applications */
+            var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
+           var eventer = window[eventMethod];
+           var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
+           eventer(messageEvent,function(e) {
+                 $scope.openModal(e.data);
+               },false);
+           
+           $scope.openModal = function(data){
+               if(data!=null && data!='' && data.widgetData!=null)
+                       schedulerService.showWidget(data.widgetName,data.widgetData,data.widgetParameter).then(isConfirmed => {});
+           }
         }
     }
-    TabsCtrl.$inject = ['applicationsService', '$log', '$window', 'conf', 'userProfileService', 'userbarUpdateService', '$scope','$cookies','$rootScope','confirmBoxService','auditLogService'];
+    TabsCtrl.$inject = ['applicationsService', '$log', '$window', 'conf', 'userProfileService', 'userbarUpdateService', '$scope','$cookies','$rootScope','confirmBoxService','auditLogService','schedulerService'];
     angular.module('ecompApp').controller('TabsCtrl', TabsCtrl);
     
     angular.module('ecompApp').directive('mainArea', function() {
             restrict: "E",
             templateUrl: 'app/views/tabs/tabframe.html',
             link: function(scope, element) {
-                               
-               //var iframeId = "#tabframe-" + scope.$parent.tab.title.split(' ').join('-');
+       
+               var iframeId = "tabframe-" + scope.$parent.tab.title.split(' ').join('-');
+               var iframeVal = scope.$parent.tab.content;// +  "| trusted";
+               if(iframeId != 'tabframe-Home') {
+                       sessionStorage.setItem("currentTabFrameId",iframeId);
+                       sessionStorage.setItem("currentTabFrameVal",iframeVal);
+               }
+               //console.log(document.getElementById(sessionStorage.getItem("currentTabFrameId")));
+               
                // jQuery(iframeId).load(function() {
-               //        alert("hello");
-               //    }); //.attr("src",'{{tab.content | trusted}}' ); //src='{{tab.content | trusted}}'
+                 //      alert("hello");
+               //   }); //.attr("src",'{{tab.content | trusted}}' ); //src='{{tab.content | trusted}}'
                // jQuery(iframeId).attr('src', '{{tab.content | trusted}}');
                 
                //element.childNodes[0].on('load', function() {
@@ -319,3 +358,20 @@ function isCascadeFrame(ref) {
                   window.location = "unKnownError";
                   }
 }
+
+function loadFrame() {
+       
+               var interval = setInterval(function() {
+                       
+                       if(sessionStorage.getItem("currentTabFrameId") == null && sessionStorage.getItem("currentTabFrameVal") == null)
+                               clearInterval(interval);
+                       else if(document.getElementById(sessionStorage.getItem("currentTabFrameId")).src != sessionStorage.getItem("currentTabFrameVal")) {
+               document.getElementById(sessionStorage.getItem("currentTabFrameId")).src = sessionStorage.getItem("currentTabFrameVal");
+                               sessionStorage.removeItem("currentTabFrameId");
+               sessionStorage.removeItem("currentTabFrameVal");
+               clearInterval(interval);
+                       }
+                       },1000);
+
+       
+       }