diff options
author | st782s <statta@research.att.com> | 2017-05-04 07:48:42 -0400 |
---|---|---|
committer | st782s <statta@research.att.com> | 2017-05-04 12:28:17 -0400 |
commit | b54df0ddd0c6a0372327c5aa3668e5a6458fcd64 (patch) | |
tree | e69cfa9b314a801bd187cf0145d1d4306436229c /ecomp-portal-FE/client/app/views/header/header.controller.js | |
parent | 39d1e62c84041831bfc52cca73b5ed5efaf57d27 (diff) |
[PORTAL-7] Rebase
This rebasing includes common libraries and common overlays projects
abstraction of components
Change-Id: I9a24a338665c7cd058978e8636bc412d9e2fdce8
Signed-off-by: st782s <statta@research.att.com>
Diffstat (limited to 'ecomp-portal-FE/client/app/views/header/header.controller.js')
-rw-r--r-- | ecomp-portal-FE/client/app/views/header/header.controller.js | 419 |
1 files changed, 0 insertions, 419 deletions
diff --git a/ecomp-portal-FE/client/app/views/header/header.controller.js b/ecomp-portal-FE/client/app/views/header/header.controller.js deleted file mode 100644 index 8d3cab29..00000000 --- a/ecomp-portal-FE/client/app/views/header/header.controller.js +++ /dev/null @@ -1,419 +0,0 @@ -/*- - * ================================================================================ - * 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. - * 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. - * ================================================================================ - */ -'use strict'; -(function () { - class HeaderCtrl { - constructor($log, $window, userProfileService, menusService, $scope, ECOMP_URL_REGEX, $cookies, $state) { - this.firstName = ''; - this.lastName = ''; - this.$log = $log; - this.menusService = menusService; - this.$scope = $scope; - this.favoritesMenuItems = ''; - $scope.favoriteItemsCount = 0; - $scope.favoritesMenuItems = ''; - $scope.showFavorites = false; - $scope.emptyFavorites = false; - $scope.favoritesWindow = false; - - $scope.showNotification = true; - - $scope.hideMenus = false; - - $scope.menuItems = []; - $scope.activeClickSubMenu = { - x: '' - }; - $scope.activeClickMenu = { - x: '' - }; - $scope.megaMenuDataObject =[]; - - this.isLoading = true; - this.ECOMP_URL_REGEX = ECOMP_URL_REGEX; - - var menuStructureConvert = function(menuItems) { - $scope.megaMenuDataObjectTemp = [ - { - text: "Manage/Functions", - children: [], - }, - { - text: "Help", - children: [{ - restrictedApp: true, - text:"Contact Us", - url:"" - }, - { - text:"Get Access", - url:"root.access" - }] - } - - ]; - return $scope.megaMenuDataObjectTemp; - }; - - var unflatten = function( array, parent, tree ){ - - tree = typeof tree !== 'undefined' ? tree : []; - parent = typeof parent !== 'undefined' ? parent : { menuId: null }; - var children = _.filter( array, function(child){ return child.parentMenuId == parent.menuId; }); - - if( !_.isEmpty( children ) ){ - if( parent.menuId === null ){ - tree = children; - }else{ - parent['children'] = children - } - _.each( children, function( child ){ unflatten( array, child ) } ); - } - - return tree; - } - - var self = this; - $scope.$on('handleUpdateUserInfo', function () { - userProfileService.resetFunctionalMenuStaticInfo() - .then(reset_res=> { - userProfileService.getFunctionalMenuStaticInfo() - .then(res=> { - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: getting Functional Menu Static Info init'); - if(res==null || res.firstName==null || res.firstName=='' || res.lastName==null || res.lastName=='' ){ - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: failed getting userinfo from shared context.. '); - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: getting userinfo from session '); - userProfileService.getUserProfile() - .then(profile=> { - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: getting userinfo from session success'); - self.firstName = profile.firstName; - self.lastName = profile.lastName; - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: user has the following roles: ' + profile.roles); - }).catch(err=> { - $log.error('Header Controller:: getUserProfile() failed: ' + err); - }); - }else{ - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: getting Functional Menu Static Info successfully',res); - self.firstName = res.firstName; - self.lastName = res.lastName; - $scope.contactUsURL = res.contact_us_link; - } - - menusService.GetFunctionalMenuForUser() - .then(jsonHeaderMenu=> { - $scope.menuItems = unflatten( jsonHeaderMenu ); - $scope.megaMenuDataObject = $scope.menuItems; - }).catch(err=> { - $scope.megaMenuDataObject = menuStructureConvert(''); - $log.error('HeaderCtrl::GetFunctionalMenuForUser: HeaderCtrl json returned: ' + err); - }); - - userProfileService.refreshUserBusinessCard(); - - }).catch(err=> { - $log.error('HeaderCtrl::getFunctionalMenuStaticInfo failed: ' + err); - }); - }).catch(err=> { - $log.error('HeaderCtrl::resetFunctionalMenuStaticInfo failed: ' + err); - }) - - - }); - - userProfileService.getFunctionalMenuStaticInfo() - .then(res=> { - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: getting Functional Menu Static Info init'); - if(res==null || res.firstName==null || res.firstName=='' || res.lastName==null || res.lastName=='' ){ - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: failed getting userinfo from shared context.. '); - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: getting userinfo from session '); - userProfileService.getUserProfile() - .then(profile=> { - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: getting userinfo from session success'); - this.firstName = profile.firstName; - this.lastName = profile.lastName; - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: user has the following roles: ' + profile.roles); - }).catch(err=> { - $log.error('Header Controller:: getUserProfile() failed: ' + err); - }); - }else{ - $log.info('HeaderCtrl::getFunctionalMenuStaticInfo: getting Functional Menu Static Info successfully',res); - this.firstName = res.firstName; - this.lastName = res.lastName; - $scope.contactUsURL = res.contact_us_link; - } - - menusService.GetFunctionalMenuForUser() - .then(jsonHeaderMenu=> { - $scope.menuItems = unflatten( jsonHeaderMenu ); - $scope.megaMenuDataObject = $scope.menuItems; - }).catch(err=> { - $scope.megaMenuDataObject = menuStructureConvert(''); - $log.error('HeaderCtrl::GetFunctionalMenuForUser: HeaderCtrl json returned: ' + err); - }); - - }).catch(err=> { - $log.error('HeaderCtrl::getFunctionalMenuStaticInfo failed: ' + err); - }); - - - $scope.loadFavorites = function () { - $scope.hideMenus = false; - $log.debug('HeaderCtrl::loadFavorites: loadFavorites has happened.'); - if ($scope.favoritesMenuItems == '') { - generateFavoriteItems(); - $log.debug('HeaderCtrl::loadFavorites: loadFavorites is calling generateFavoriteItems()'); - } else { - $log.debug('HeaderCtrl::loadFavorites: loadFavorites is NOT calling generateFavoriteItems()'); - } - } - - $scope.goToUrl = (item) => { - $log.info('HeaderCtrl::goToUrl has started'); - let url = item.url; - let restrictedApp = item.restrictedApp; - if (!url) { - $log.info('HeaderCtrl::goToUrl: No url found for this application, doing nothing..'); - return; - } - if (restrictedApp) { - $window.open(url, '_blank'); - } else { - if(item.url=="getAccess" || item.url=="contactUs"){ - // if (url = window.location.href) - $state.go("root."+url); - var tabContent = { id: new Date(), title: 'Home', url: item.url }; - $cookies.putObject('addTab', tabContent ); - } else { - var tabContent = { id: new Date(), title: item.text, url: item.url }; - $cookies.putObject('addTab', tabContent ); - } - $log.debug('HeaderCtrl::goToUrl: url = ', url); - } - $scope.hideMenus = true; - } - - - - $scope.submenuLevelAction = function(index, column) { - if ($scope.favoritesMenuItems == '') { - generateFavoriteItems(); - $log.debug('HeaderCtrl::submenuLevelAction: submenuLevelAction is calling generateFavoriteItems()'); - } - if (index=='Favorites' && $scope.favoriteItemsCount != 0) { - $log.debug('HeaderCtrl::submenuLevelAction: Showing Favorites window'); - $scope.favoritesWindow = true; - $scope.showFavorites = true; - $scope.emptyFavorites = false; - } - if (index=='Favorites' && $scope.favoriteItemsCount == 0) { - $log.debug('HeaderCtrl::submenuLevelAction: Hiding Favorites window in favor of No Favorites Window'); - $scope.favoritesWindow = true; - $scope.showFavorites = false; - $scope.emptyFavorites = true; - } - if (index!='Favorites' ) { - $scope.favoritesWindow = false; - $scope.showFavorites = false; - $scope.emptyFavorites = false; - } - - }; - - $scope.hideFavoritesWindow = function() { - $scope.showFavorites = false; - $scope.emptyFavorites = false; - } - - $scope.isUrlFavorite = function (menuId) { - var jsonMenu = JSON.stringify($scope.favoritesMenuItems); - var isMenuFavorite = jsonMenu.indexOf('menuId\":' + menuId); - if (isMenuFavorite==-1) { - return false; - } else { - return true; - } - - } - - let generateFavoriteItems = () => { - menusService.getFavoriteItems() - .then(favorites=> { - $scope.favoritesMenuItems = favorites; - $scope.favoriteItemsCount = Object.keys(favorites).length; - $log.info('HeaderCtrl.getFavoriteItems:: number of favorite menus: ' + $scope.favoriteItemsCount); - }).catch(err=> { - $log.error('HeaderCtrl.getFavoriteItems:: Error retrieving Favorites menus: ' + err); - }); - } - - $scope.setAsFavoriteItem = function(event, menuId){ - var jsonMenuID = angular.toJson({'menuId': + menuId }); - $log.debug('HeaderCtrl::setFavoriteItems: ' + jsonMenuID + " - " + event.target.id); - - menusService.setFavoriteItem(jsonMenuID) - .then(() => { - angular.element('#' + event.target.id).css('color', '#fbb313'); - generateFavoriteItems(); - }).catch(err=> { - $log.error('HeaderCtrl::setFavoriteItems:: API setFavoriteItem error: ' + err); - }); - }; - - $scope.removeAsFavoriteItem = function(event, menuId){ - $log.debug('-----------------------------removeAsFavoriteItem: ' + menuId + " - " + event.target.id); - menusService.removeFavoriteItem(menuId) - .then(() => { - angular.element('#' + event.target.id).css('color', '#666666'); - generateFavoriteItems(); - }).catch(err=> { - $log.error('HeaderCtrl::removeAsFavoriteItem: API removeFavoriteItem error: ' + err); - }); - }; - - $scope.goToPortal = (headerText, url) => { - if (!url) { - $log.info('HeaderCtrl::goToPortal: No url found for this application, doing nothing..'); - return; - } - if (!ECOMP_URL_REGEX.test(url)) { - url = 'http://' + url; - } - - if(headerText.startsWith("vUSP")) { - window.open(url, '_blank'); - } - else { - var tabContent = { id: new Date(), title: headerText, url: url }; - $cookies.putObject('addTab', tabContent ); - } - }; - - } - } - class LoginSnippetCtrl { - constructor($log, $scope, $cookies, $timeout, userProfileService, sessionService,ngDialog) { - $scope.firstName=""; - $scope.lastName=""; - - $scope.allAppsLogout = function(){ - - var cookieTabs = $cookies.getObject('visInVisCookieTabs'); - if(cookieTabs!=null){ - for(var t in cookieTabs){ - - var url = cookieTabs[t].content; - if(url != "") { - sessionService.logout(url); - } - } - } - // wait for individular applications to logoutout before the portal logout - $timeout(function() { - window.location = "logout.htm"; - }, 2000); - } - - $scope.openEditUserModal = function(){ - - var data = { - loginId : $scope.loginSnippetUserId, - updateRemoteApp : false, - appId : $scope.selectedApp!=null?$scope.selectedApp.id:'' - } - var modalInstance = ngDialog.open({ - templateUrl: 'app/views/header/user-edit/edit-user.tpl.html', - controller: 'editUserController', - data: data, - resolve: { - message: function message() { - var message = { - type: 'Contact', - }; - return message; - } - } - }).closePromise.then(needUpdate => { - //updateContactUsTable(); - }); - - } - - try { - userProfileService.getFunctionalMenuStaticInfo() - .then(res=> { - $log.info('HeaderCtrl::LoginSnippetCtrl: Login information: ' + JSON.stringify(res)); - $scope.firstName = res.firstName; - $scope.lastName = res.lastName; - $scope.loginSnippetEmail = res.email; - $scope.loginSnippetUserId = res.userId; - $scope.lastLogin = res.last_login; - }).catch(err=> { - $log.error('HeaderCtrl::LoginSnippetCtrl: User Profile error: ' + err); - }); - } catch (err) { - $log.error('HeaderCtrl::LoginSnippetCtrl:getFunctionalMenuStaticInfo failed: ' + err); - } - - $scope.$on('refreshUserBusinessCard', function () { - try { - userProfileService.getFunctionalMenuStaticInfo() - .then(res=> { - $log.info('HeaderCtrl::LoginSnippetCtrl: Login information: ' + JSON.stringify(res)); - $scope.firstName = res.firstName; - $scope.lastName = res.lastName; - $scope.loginSnippetEmail = res.email; - $scope.loginSnippetUserId = res.userId; - $scope.lastLogin = res.last_login; - }).catch(err=> { - $log.error('HeaderCtrl::LoginSnippetCtrl: User Profile error: ' + err); - }); - } catch (err) { - $log.error('HeaderCtrl::LoginSnippetCtrl:getFunctionalMenuStaticInfo failed: ' + err); - } - }); - - - } - } - class NotificationCtrl{ - constructor($log, $scope, $cookies, $timeout, sessionService) { - $scope.notifications=[]; - for(var i=0;i<6;i++){ - var data ={ - content:'Notification '+i, - time:'10:0'+i+'AM' - }; - $scope.notifications.push(data); - } - - $scope.deleteNotification = function(index){ - - $scope.notifications.splice(index,1); - } - } - } - NotificationCtrl.$inject = ['$log', '$scope', '$cookies', '$timeout','userProfileService', 'sessionService']; - LoginSnippetCtrl.$inject = ['$log', '$scope', '$cookies', '$timeout','userProfileService', 'sessionService','ngDialog']; - HeaderCtrl.$inject = ['$log', '$window', 'userProfileService', 'menusService', '$scope', 'ECOMP_URL_REGEX','$cookies','$state']; - angular.module('ecompApp').controller('HeaderCtrl', HeaderCtrl); - angular.module('ecompApp').controller('loginSnippetCtrl', LoginSnippetCtrl); - angular.module('ecompApp').controller('notificationCtrl', NotificationCtrl); - -})(); |