{"version":3,"sources":["controllers/menuentry-item.js"],"names":["angular","module","controller","customActions","$scope","MenuEntry","DeviceId","xcenterUtils","selectIconModal","xCenterConfig","API","__MenuEntry","$log","MenuEntryId","state","MenuEntryType","hasOwnProperty","CustomActionName","active","info","concat","$broadcast","$rootScope","modal","stateParams","extend","$save","deviceEntry","DisplayName","$UI","loading","markForDelete","stopPropagation","$then","editItem","event","undefined","clickMenuEntry","editMode","editItemBefore","wasEdited","changed","copy","list","length","DatapointValue","goTo","hasWindowOpen","i","Value","splice","indexOf","hasActivePlugActive","item","$buildRaw","$destroy","changeIcon","preventDefault","ImageName","then","close","data"],"mappings":"aAOAA,QAAQC,OAAO,oCAKHC,WAAIC,qBAA8BA,SAAAA,aAAa,SAAA,eAAA,kBAAA,gBAAA,MAAA,cAAA,OACzC,SAAQC,EAAUC,EAAWC,EAAQC,EAAEC,EAAAC,EAAAC,EAAAC,EAAAC,GACtB,IAAAT,EAAyBU,EAAWV,cAAEC,EAAYE,KAAQ,SAAAD,EAAAC,GAAU,IAAGD,GAAAA,YAAAA,EAAAA,YAAAA,SAAAA,EAAAA,UAAAA,GAAUS,EAAA,eACxF,GAAc,GAAdT,EAAcU,cAEtB,GAAAZ,EAAAa,eAAAX,EAAAY,kBAAA,CAGSd,IAAcE,EAAUY,EAAgBA,kBAAUC,OAEnD,YADSN,EAAAO,KAAAC,iBAAAA,OAA4BH,EAAAA,iBAAgB,uBAK1CI,GAA8B,mBAA9BA,EAAWJ,iBAE1B,YADIK,EAAAD,WAAA,oBAKK,IAAAE,EAAApB,EAAAE,EAAAY,kBAAAM,MACO,GAAAA,EAQRpB,YAAAA,EAKAW,EAAcX,EAAAE,EAAAY,kBAAAH,MAE9BU,EAAAxB,QAAAyB,OAAAD,EAAArB,EAAAE,EAAAY,kBAAAO,kBAGHV,EAAA,eAIaY,EAAaC,YAAatB,EAAAuB,YACtBC,EAAIC,GAAAA,EAAUN,IAIzBO,EAAAA,MAAgB,SAAU1B,GACvB2B,EAAgBH,IAACC,SAAA,EACbD,EAAIE,QAAgBE,MAAI,WACrC5B,EAAAwB,IAAAC,SAAA,KAKeI,EAAAA,cAAuB,SAAI7B,EAAA8B,GACnCA,EAAAH,kBACQE,EAAYE,IAAAA,eAAiBF,GAIjC7B,EAASgC,eAAiB,SAAMhC,EAAAwB,EAAAM,GACP,GAAfN,EAAIS,UACXT,EAAAU,gBAAAV,EAAAK,UAAA3B,EAAAiC,UAAAX,EAAAU,eAAAV,EAAAK,UAAA,cAAA,YAAA,OAAA,wBACWI,EAAAA,SAAeT,IAAAY,SAAA,QAEAC,GAAzBH,EAAcL,UAA0BL,EAAAK,SAAArB,aAAAR,EAAAQ,cAE7CgB,EAAAK,SAAAL,IAAAS,UAAA,GAEP,GAAAjC,EAAAwB,IAAAS,SAEHjC,EAAAwB,IAAAS,UAAA,GAIsBK,EAAKC,IAASN,UACjC,EACeO,EAAAA,SAAoBxC,EAEhBwB,EAAAU,eAAAvC,QAAA0C,KAAArC,KAGPD,EAAA0C,KAAAzC,EAAAA,EAAAC,WAQJF,EAAW2C,cAAA,SAAAJ,GAEnB,IAAA,IAAAK,EAAA,EAAAA,EAAAL,EAAAC,OAAAI,IAEH,IAAA,IAAAL,EAAAK,GAAAH,eAAAI,MAGuB,OAAA,EAGXC,OAAYC,GAExB/C,EAAAgD,oBAAA,SAAAT,GAGQtC,IAAUwB,IAAIS,EAAAA,EAAQU,EAAEL,EAAAC,OAAAI,IAE7B,IAAA,IAAAL,EAAAK,GAAAH,eAAAI,MAEMjB,OAAiB,EAGP,OAAE,GAEN5B,EAAOiB,WAAW,SAAAgC,EAAkBV,GAE1C,IAAAjC,EACJC,EAAA2C,UAAAD,GACLE,WAAAtB,MAAA,WAKPU,EAAAO,OAAAP,EAAAQ,QAAAE,GAAA,MApBMjD,EAAOoD,WAAa,SAAUnD,EAAWwB,EAAKM,GAErC9B,EAAUwB,IAAIS,WAGnBH,EAAMsB,iBACNtB,EAAMH,kBACNxB,EAAgBH,EAAUqD,WAAWC,KAAK,SAAUpC,GAChDA,EAAMqC,MAAMD,KAAK,SAAUE,GACnBA,IACAxD,EAAUqD,UAAYG,EACtBzD,EAAOiB,WAAW","file":"menuentry-item.js","sourcesContent":["// Controller Scenes\r\n//\r\n// Work in progress\r\n// => Phase 2\r\n//ModalService\r\n\r\n\r\nangular.module('app.controllers.menuentryItem', [])\r\n\r\n .controller(\"MenuEntryItemCtrl\", ['$scope', '$rootScope', '$state','xcenterUtils','selectIconModal','xCenterConfig','API','__MenuEntry','$log',\r\n function ($scope, $rootScope, $state ,xcenterUtils,selectIconModal,xCenterConfig,API,__MenuEntry,$log) {\r\n\r\n var customActions = xCenterConfig.customActions;\r\n $scope.goTo = function (MenuEntry, DeviceId) {\r\n var stateParams = {'menuEntryId': MenuEntry.MenuEntryId, 'deviceId': DeviceId,menuEntry : MenuEntry};\r\n var state = 'device.entry';\r\n if (MenuEntry.MenuEntryType == 3) {\r\n // Custom Action. check if it exists.\r\n if (customActions.hasOwnProperty(MenuEntry.CustomActionName)) {\r\n\r\n if (!customActions[MenuEntry.CustomActionName].active) {\r\n $log.info(`Custom action ${MenuEntry.CustomActionName} is not activated!`);\r\n return;\r\n }\r\n\r\n if (MenuEntry.CustomActionName === 'ChangeLanguage') {\r\n $rootScope.$broadcast('showLanguageMenu');\r\n return;\r\n }\r\n\r\n // Check for Modal\r\n var modal = customActions[MenuEntry.CustomActionName].modal;\r\n if(modal){\r\n switch(modal){\r\n case \"userLevelLogin\":\r\n\r\n break;\r\n }\r\n return;\r\n }\r\n\r\n state = customActions[MenuEntry.CustomActionName].state;\r\n\r\n stateParams = angular.extend(stateParams, customActions[MenuEntry.CustomActionName].stateParams);\r\n\r\n } else {\r\n state = 'device.entry';\r\n }\r\n }\r\n $rootScope.deviceEntry = MenuEntry.DisplayName;\r\n $state.go(state, stateParams);\r\n };\r\n\r\n $scope.$save = function (MenuEntry) {\r\n MenuEntry.$UI.loading = false;\r\n MenuEntry.$save().$then(function () {\r\n MenuEntry.$UI.loading = false;\r\n })\r\n };\r\n\r\n $scope.markForDelete = function (MenuEntry, event) {\r\n event.stopPropagation();\r\n MenuEntry.$UI.markForDelete = true;\r\n };\r\n\r\n $scope.clickMenuEntry = function (MenuEntry, $UI, event) {\r\n if ($UI.editMode == true) {\r\n if ($UI.editItemBefore && $UI.editItem && xcenterUtils.wasEdited($UI.editItemBefore, $UI.editItem, ['DisplayName', 'ImageName', 'Sort', 'ParentMenuEntryId'])) {\r\n $UI.editItem.$UI.changed = true;\r\n }\r\n if ($UI.editItem != undefined && $UI.editItem.MenuEntryId != MenuEntry.MenuEntryId) {\r\n\r\n $UI.editItem.$UI.editMode = false;\r\n }\r\n if (MenuEntry.$UI.editMode == true) {\r\n MenuEntry.$UI.editMode = false;\r\n } else {\r\n MenuEntry.$UI.editMode = true;\r\n $UI.editItem = MenuEntry;\r\n $UI.editItemBefore = angular.copy(MenuEntry);\r\n }\r\n } else {\r\n $scope.goTo(MenuEntry, MenuEntry.DeviceId);\r\n }\r\n\r\n }\r\n\r\n $scope.hasWindowOpen = function(list)\r\n {\r\n for(var i = 0; i < list.length; i++)\r\n {\r\n if(list[i].DatapointValue.Value === false)\r\n {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n $scope.hasActivePlugActive = function(list)\r\n {\r\n for(var i = 0; i < list.length; i++)\r\n {\r\n if(list[i].DatapointValue.Value === true)\r\n {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n $scope.deleteItem = function(item,list){\r\n\r\n var _API = new API();\r\n var i = __MenuEntry.$buildRaw(item);\r\n i.$destroy().$then(function(){\r\n list.splice(list.indexOf(item),1);\r\n })\r\n }\r\n $scope.changeIcon = function (MenuEntry, $UI, event) {\r\n\r\n if (!MenuEntry.$UI.editMode) {\r\n return;\r\n }\r\n event.preventDefault();\r\n event.stopPropagation();\r\n selectIconModal(MenuEntry.ImageName).then(function (modal) {\r\n modal.close.then(function (data) {\r\n if (data) {\r\n MenuEntry.ImageName = data;\r\n $scope.$broadcast('ImageNameChanged');\r\n }\r\n });\r\n });\r\n };\r\n\r\n\r\n }\r\n\r\n ]);\r\n"],"sourceRoot":"../../../app"}