{"version":3,"sources":["components/classes/scene-augmenter.js"],"names":["angular","module","service","augmentScenes","f_User","SceneId","DisplayName","api","Enabled","Settings","this","UpdateSceneSettings","Priority","$updateSceneSettings","call","params","$promise","userLevel","getUserLevel","forEach","scene","$execute","$UI","canView","UserLevelRead","canWrite","UserLevelWrite","$enableDisable","self","ExecuteScene","ConditionIsTrue","ActionIsRunning","kickedOff","$timeout","bind"],"mappings":"aACIA,QAGKC,OAAO,iCADLC,QACK,yBAAA,MAAiC,WAChC,SAED,SAASC,EAAaA,EAAUC,GAsCpBC,SAAcA,IACdC,IAAaC,EAAKD,IAAAA,EACJE,GACAC,WACjBJ,QAAAK,KAAAL,QACJC,YAAAI,KAAAJ,YACgBK,QAAAA,KAAmBH,QACxCI,SAAAF,KAAAE,YAIWC,OAAAA,EAAAA,MAAqBC,oBAAUC,GAAAC,SAG1C,OACIb,cApDMc,SAAmBC,GAEfC,IAAQF,EAASG,EAAOF,eAExBG,EAAWA,QAAa,SAAOD,IASzC,SAAAA,EAAAH,GACiBG,EAASE,MACRF,EAAIA,QAGjBC,EAAWC,IAAAC,QAAAH,EAAAI,eAAAP,EACHG,EAAIE,IAAAG,WAAAL,EAAAM,eAAAT,GAdPJ,CAAuBA,EAAAA,GACvBc,EAAcN,SAeA,WAAgB,IAAAO,EAAAlB,KACvBmB,EAAAA,IAAad,EAEjBe,GAAkBzB,QAAIK,KAAAL,SACtB0B,OAAAA,EAAAA,MAAkBF,aAAId,GAAAC,SACtBgB,KAAS,WACTJ,EAAYN,IAAAQ,iBAAA,EACRE,EAASV,IAAGS,iBAAK,EACtBH,EAAAN,IAAAU,WAAA,EACVC,EAAA,WACNL,EAAAN,IAAAU,WAAA,GAESnB,QA3ByCqB,KAACd,GAC7CA,EAAAP,qBAAAA,EAAAqB,KAAAd,GACNA,EAAAO,eA4CIxB,WAGV,OAFOO,KAAAF,SAAAE,KAAAF,QAEPK,EAAAC,KAAAJ,OA/CMwB,KAAAd","file":"scene-augmenter.js","sourcesContent":["(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.classes.sceneAugmenter', [])\r\n .service(\"sceneAugmenterService\", ['API', '$timeout', 'f_User',\r\n function(API, $timeout, f_User) {\r\n function augmentScenes(scenesArr) {\r\n const userLevel = f_User.getUserLevel();\r\n\r\n scenesArr.forEach(function(scene) {\r\n assignRights(scene, userLevel);\r\n scene.$execute = $execute.bind(scene);\r\n scene.$updateSceneSettings = $updateSceneSettings.bind(scene);\r\n scene.$enableDisable = $enableDisable.bind(scene);\r\n });\r\n }\r\n\r\n function assignRights(scene, userLevel) {\r\n if (!scene.$UI) {\r\n scene.$UI = {};\r\n }\r\n scene.$UI.canView = (scene.UserLevelRead >= userLevel ? true : false);\r\n scene.$UI.canWrite = (scene.UserLevelWrite > userLevel ? false : true);\r\n }\r\n\r\n function $execute() {\r\n const self = this;\r\n const api = new API();\r\n const params = { SceneId: this.SceneId };\r\n return api.Scene.ExecuteScene(params).$promise\r\n .then(function() {\r\n self.$UI.ConditionIsTrue = true;\r\n self.$UI.ActionIsRunning = true;\r\n self.$UI.kickedOff = true;\r\n $timeout(function () {\r\n self.$UI.kickedOff = false;\r\n }, 2000);\r\n });\r\n }\r\n\r\n function $updateSceneSettings() {\r\n const api = new API();\r\n const params = {\r\n Settings: [{\r\n SceneId: this.SceneId,\r\n DisplayName: this.DisplayName,\r\n Enabled: this.Enabled,\r\n Priority: this.Priority\r\n }]\r\n };\r\n return api.Scene.UpdateSceneSettings(params).$promise;\r\n }\r\n\r\n function $enableDisable() {\r\n this.Enabled = !this.Enabled;\r\n return $updateSceneSettings.call(this);\r\n }\r\n\r\n return {\r\n augmentScenes: augmentScenes\r\n };\r\n }\r\n ]);\r\n\r\n})();\r\n"],"sourceRoot":"../../../../app"}