{"version":3,"sources":["components/viewMenuBar/viewMenuBar.js"],"names":["angular","module","shownButtons","breadcrumbService","favorite","getShownButtons","setButtons","buttons","this","button","$broadcast","buttonFunctions","changeButtons","executeFunction","$rootScope","setFavorite","fav","withBack","getFavorite","withHome","isBack","controller","$scope","directive","shouldReload","$state","viewMenuBarService","frontEndSettingsService","current","templateUrl","inputErrorMap","buttonFunction","showBack","goToMain","name","go","undefined","reload","showBackButton","goBack","showColorBar","showButton","showHome","$on","inputErrorOccured","e","data","error","bottomBarColor","$id","stillError","input","hasOwnProperty","getFrontendSettings","then","settings","OrgId"],"mappings":"aAGAA,QAFAC,OAAY,sBAEZD,QAAQC,sBAA0B,aAErB,oBAGGC,SAAAA,EAAiBC,GAEjBC,IAGOF,EAHCA,KAEPG,KAIAC,KAAAA,gBAAuBC,WACxBL,OAAiBA,GAGZM,KAAIC,WAAUF,SAASA,GAIpBL,IAAAA,IAAaO,KAHdF,KAGwBA,GAC3B,IAAAA,EAAAE,GAEgBA,EAAUF,GAAQE,OAE3BC,EAAWD,IAAA,EAIbA,EAAmBA,GAAAF,EAAAE,GAExBE,EAAgBF,WAAUF,4BAGjCC,KAAAI,cAAA,SAAAL,GAEIM,IAAAA,IAAeJ,KAAGF,EACnBI,EAAyBF,GAAAF,EAAAE,GAC5BE,EAAAF,GAAAF,EAAAE,GAEDK,EAAAJ,WAAA,4BAGKK,KAAAA,gBAAwBC,SAAKP,GACtBE,EAAeF,MAD3BD,KAAKO,YAAc,SAAUC,GAS7BZ,EAAAY,IAAA,EACKC,EAAWP,WAAU,8BAGtBF,KAAAU,YAAA,WACMf,OAAAA,IAA8BD,GAInCiB,KAAQF,SAAG,WAST,OAAAd,EAAAiB,UAAA,QAAAlB,EAAA,YAKHM,KAAAW,SAAA,WACU,OAAAhB,EAAEkB,UAAkB,QAARC,EAAQ,eARzCC,UAgBuBC,eAAe,aAAK,SAAA,oBAAA,qBAAA,0BAfxC,SAgBgBV,EAAAW,EAAAtB,EAAAuB,EAAAC,GACxB,OAC4BF,SAAOG,IACPJ,SACJK,YAAA,qCAEsDR,YAAA,SAAA,SAAAC,GACzDA,EAAAQ,iBAGG3B,EAAiB4B,eAAS,SAAAtB,GAC7BiB,EAAAb,gBAAAJ,IAGMuB,EAAWC,SAAY,WACnBP,IAAAA,GAAmBT,EAG9B,cAAAQ,EAAAG,QAAAM,OACkBV,GAAY,GAIfC,EAAAU,GAAA,YAAAC,GAAsBC,OAAYb,KAItCc,EAAAA,OAAiBnC,WACjB2B,EAAkBS,UAIlBjB,EAAAU,SAAA,WACIQ,OAAYd,EAAQT,YAKxBwB,EAAUC,SAAGhB,WACtB,OAAAA,EAAAP,YAIAL,EAAA6B,IAAA,qBAAA,WAGarB,EAAAmB,WAAqBf,EAAmBrB,kBACrCiB,EAAElB,SAAAsB,EAAAR,cAEL0B,EAAAA,eAAwBzC,EAAAiB,SAE9BE,EAAAQ,iBACMA,EAAAA,mBAA+B,EAChB,SAARL,EAAQG,QAAAM,KACNZ,EAAIA,cAAoB,EAEnBA,EAAGA,cAAoB,IAIpCR,EAAA6B,IAAA,0BAAA,WACJrB,EAAAmB,WAAAf,EAAArB,oBAIRS,EAAA6B,IAAA,4BAAA,WAIFrB,EAAAlB,SAAAsB,EAAAR,gBAMSJ,EAAA6B,IAAA,oBAAA,SAAAE,EAAAC,GACH,GAAAA,EAAAC,MACOC,EAAclB,cAAGgB,EAAAG,MAAA,EAC5B3B,EAAAsB,mBAAA,MAEP,CACJtB,EAAAQ,cAAAgB,EAAAG,MAAA,EAEP,IAAAC,GAAA,EAEF,IAAA,IAAAC,KAAA7B,EAAAQ,cA9B4B,GAAIR,EAAOQ,cAAcsB,eAAeD,KAEpB,IADA7B,EAAOQ,cAAcqB,GACf,CAClBD,GAAa,EACb,MAKZ5B,EAAOsB,kBAAoBM,KAOnCvB,EAAwB0B,sBACvBC,KAAK,SAASC,GACY,QAAnBA,EAASC,MACTlC,EAAO0B,eAAiB,oBAGxB1B,EAAO0B,eAAiB","file":"viewMenuBar.js","sourcesContent":["(function () {\r\n'use strict';\r\n\r\nangular.module(\"app.viewMenuBar\", [])\r\n\r\n .service(\"viewMenuBarService\", ['$rootScope', 'breadcrumbService',\r\n function ($rootScope, breadcrumbService) {\r\n\r\n var shownButtons = [];\r\n var buttonFunctions = [];\r\n var favorite;\r\n\r\n this.getShownButtons = function () {\r\n return shownButtons;\r\n };\r\n\r\n this.setButtons = function (buttons) {\r\n shownButtons = [];\r\n // init Home and Backbutton if not set as false\r\n\r\n for (var button in buttons) {\r\n if(buttons[button] === false){\r\n shownButtons[button] = 'hide';\r\n }else{\r\n shownButtons[button] = true;\r\n }\r\n\r\n buttonFunctions[button] = buttons[button];\r\n }\r\n $rootScope.$broadcast('viewMenuBarButtonChange');\r\n };\r\n\r\n this.changeButtons = function (buttons) {\r\n for (var button in buttons) {\r\n shownButtons[button] = buttons[button];\r\n buttonFunctions[button] = buttons[button];\r\n }\r\n $rootScope.$broadcast('viewMenuBarButtonChange');\r\n };\r\n\r\n this.executeFunction = function (button) {\r\n buttonFunctions[button]();\r\n };\r\n\r\n // favoriteObject: object\r\n // favoriteType:string e.g. 'Datapoint'\r\n // Favorite should be {favoriteObect:{...} , favoriteType:'..'}\r\n this.setFavorite = function (fav) {\r\n favorite = fav ? fav : false;\r\n $rootScope.$broadcast('viewMenuBarFavoriteChange');\r\n };\r\n\r\n this.getFavorite = function () {\r\n return favorite ? favorite : false;\r\n };\r\n\r\n // Do we show/hide the BackButton\r\n this.withBack = function(){\r\n // Back button should be available at:\r\n // BreadCrumb filled\r\n // Not forced to hide\r\n return breadcrumbService.isBack() && shownButtons['homeButton'] != 'hide' ;\r\n };\r\n\r\n // Do we show/hide the HomeButton\r\n this.withHome = function(){\r\n return breadcrumbService.isBack() && shownButtons['homeButton'] != 'hide';\r\n };\r\n\r\n }\r\n ])\r\n\r\n .directive('viewMenuBar', ['$rootScope', '$state', 'breadcrumbService', 'viewMenuBarService', 'frontEndSettingsService',\r\n function ($rootScope, $state, breadcrumbService, viewMenuBarService, frontEndSettingsService) {\r\n return {\r\n restrict: 'A',\r\n scope: {},\r\n templateUrl: 'views/viewMenuBar/viewMenuBar.html',\r\n\r\n /* @ngInject */\r\n controller: function ($scope) {\r\n $scope.inputErrorMap = {};\r\n\r\n $scope.buttonFunction = function (button) {\r\n viewMenuBarService.executeFunction(button);\r\n };\r\n\r\n $scope.goToMain = function () {\r\n let shouldReload = false;\r\n /* Reload needed for a fresh favorites to be loaded on the main page.\r\n Otherwise an old icon or an old favorite text can be displayed. */\r\n if ($state.current.name === 'favorites') {\r\n shouldReload = true;\r\n }\r\n\r\n $state.go('main', undefined, { reload: shouldReload });\r\n };\r\n\r\n $scope.goBack = function () {\r\n breadcrumbService.goBack();\r\n };\r\n\r\n // Show Back Button?\r\n $scope.showBack = function () {\r\n return viewMenuBarService.withBack();\r\n };\r\n\r\n // Show Home Button?\r\n $scope.showHome = function () {\r\n return viewMenuBarService.withHome();\r\n };\r\n\r\n $rootScope.$on('$viewContentLoaded', function () {\r\n $scope.showButton = viewMenuBarService.getShownButtons();\r\n $scope.favorite = viewMenuBarService.getFavorite();\r\n\r\n $scope.showBackButton = breadcrumbService.isBack();\r\n $scope.inputErrorMap = {};\r\n $scope.inputErrorOccured = false;\r\n if ($state.current.name === 'main') {\r\n $scope.showColorBar = true;\r\n } else {\r\n $scope.showColorBar = false;\r\n }\r\n });\r\n\r\n $rootScope.$on('viewMenuBarButtonChange', function () {\r\n $scope.showButton = viewMenuBarService.getShownButtons();\r\n });\r\n\r\n $rootScope.$on('viewMenuBarFavoriteChange', function () {\r\n $scope.favorite = viewMenuBarService.getFavorite();\r\n });\r\n\r\n\r\n $rootScope.$on('inputErrorOccured', function (e, data) {\r\n if (data.error) {\r\n $scope.inputErrorMap[data.$id] = true;\r\n $scope.inputErrorOccured = true;\r\n }\r\n else {\r\n $scope.inputErrorMap[data.$id] = false;\r\n let stillError = false;\r\n for (const input in $scope.inputErrorMap) {\r\n if ($scope.inputErrorMap.hasOwnProperty(input)) {\r\n const element = $scope.inputErrorMap[input];\r\n if (element === true) {\r\n stillError = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n $scope.inputErrorOccured = stillError;\r\n }\r\n \r\n \r\n \r\n });\r\n\r\n frontEndSettingsService.getFrontendSettings()\r\n .then(function(settings) {\r\n if (settings.OrgId === 'boe') {\r\n $scope.bottomBarColor = '2px solid #00B0F0';\r\n } else {\r\n /* $green */\r\n $scope.bottomBarColor = '2px solid rgb(168,203,47)';\r\n }\r\n })\r\n }\r\n };\r\n }\r\n ]);\r\n\r\n})();\r\n"],"sourceRoot":"../../../../app"}