{"version":3,"sources":["components/directives/d_loggingButton.js"],"names":["angular","module","restrict","template","$filter","__Device","__DeviceLogSettings","deviceLogSettingsModal","$stateParams","f_Devices","scope","Datapoint","Device","link","property","isDatapoint","undefined","isVisible","$UI","LoggingEnabledByUserlevel","visible","getClass","$get","setLogSettingsForDevice","configurationDatapoint","Title","Name","DeviceId","logDatapoint","$then","data","LogSettings","DatapointsToLog","splice","i","DatapointValue","DatapointConfigId","DatapointConfig","point","length","oneLeft","newLogSettings","LoggingServerEnabled","StatisticLoggingEnabled","DisplayName","ReadInterval","params","then","modal","close","DatapointLogSettings","LoggingLocalEnabled","push","setReadFlags","indexOf","addOrUpdateDevice","$save","$read","StatisticEnabled","Flags","ForceLoggingInterval","$dispatch","extend","DeviceLogSettings","$byId","$emit","setLogSettings","a","dp","Hysteresis","$finally"],"mappings":"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","file":"d_loggingButton.js","sourcesContent":["\"use strict\";\r\n\r\nangular.module('app.directives.logButton', [])\r\n\r\n .directive(\"logButton\", [\"$filter\", \"__Device\", \"__DeviceLogSettings\", \"deviceLogSettingsModal\",\"$stateParams\",'f_Devices',\r\n function ($filter, __Device, __DeviceLogSettings, deviceLogSettingsModal,$stateParams,f_Devices) {\r\n return {\r\n restrict: 'A',\r\n template: \"
\",\r\n scope: {\r\n Datapoint: '=?datapoint',\r\n // Device For Logging\r\n Device: '=device',\r\n visible: '=visible',\r\n property: '@property',\r\n },\r\n link: function (scope) {\r\n // set log object\r\n var isDatapoint = scope.Datapoint !== undefined;\r\n // set visibility\r\n scope.isVisible = !isDatapoint || scope.Device.$UI.LoggingEnabledByUserlevel || scope.visible;\r\n\r\n scope.getClass = function () {\r\n // Decision: In fact the flag for DP and Device only supports Loggging Enabled and not spereately Local/Server\r\n // We have to check for Logging EnabledByUserLevel wich ist processed by $dispatch('resolve-flags')\r\n // <10 LVL only checks for StatisticEnabled, >10 Checking for LoggingEnabled (Which is also StatisticEnabled serverSide)\r\n // Server handles automaticly if DeviceLoggingIsEnabled\r\n if (isDatapoint\r\n && scope.Device.$UI['LoggingEnabledByUserlevel']\r\n && scope.Datapoint.$UI['LoggingEnabledByUserlevel']) {\r\n return 'green';\r\n }\r\n\r\n if (!isDatapoint\r\n && scope.Device.$UI['LoggingEnabledByUserlevel']) {\r\n return 'green';\r\n }\r\n\r\n return '';\r\n };\r\n\r\n scope.setLogSettingsForDevice = function () {\r\n var params = {\r\n \"Title\": scope.Device.Name\r\n };\r\n\r\n var logDatapoint = {\r\n \"DeviceId\": scope.Device.DeviceId\r\n };\r\n\r\n\r\n __DeviceLogSettings.$get(logDatapoint).$then(function (data) {\r\n scope.Device.LogSettings = data;\r\n\r\n // for datapoint configuration\r\n var configurationDatapoint = null;\r\n if (isDatapoint) {\r\n var newLogSettings;\r\n // Search for Datapoints in LogSettings\r\n var point = ( $filter('filter')(scope.Device.LogSettings.DatapointsToLog, {DatapointValue: {DatapointConfigId: scope.Datapoint.DatapointConfig.DatapointConfigId}}) );\r\n if (point && point.length > 0) {\r\n // Found some points\r\n configurationDatapoint = point[0];\r\n if (point.length > 1) {\r\n var oneLeft;\r\n for (var i = scope.Device.LogSettings.DatapointsToLog.length; i >= 0; i--) {\r\n if (scope.Device.LogSettings.DatapointsToLog[i].DatapointValue.DatapointConfigId === scope.Datapoint.DatapointConfig.DatapointConfigId) {\r\n if (oneLeft) {\r\n scope.Device.LogSettings.DatapointsToLog.splice(i, 1);\r\n } else {\r\n oneLeft = true;\r\n }\r\n }\r\n }\r\n\r\n }\r\n } else {\r\n configurationDatapoint = {\r\n DatapointValue: scope.Datapoint.DatapointValue\r\n };\r\n newLogSettings = true;\r\n }\r\n\r\n params = {\r\n\r\n \"Title\": scope.Device.Name + ' ' + scope.Datapoint.DatapointConfig.DisplayName,\r\n \"Device\": scope.Device\r\n };\r\n }\r\n\r\n deviceLogSettingsModal(scope.Device.LogSettings, configurationDatapoint, params).then(function (modal) {\r\n modal.close.then(function (data) {\r\n if (data) {\r\n // Save Log Settings\r\n if (isDatapoint) {\r\n var DatapointLogSettings = {\r\n LoggingServerEnabled: data.LoggingServerEnabled,\r\n LoggingLocalEnabled: data.LoggingLocalEnabled,\r\n StatisticLoggingEnabled: data.StatisticLoggingEnabled,\r\n ReadInterval: data.ReadInterval,\r\n Hysteresis: data.Hysteresis,\r\n DatapointValue: configurationDatapoint.DatapointValue\r\n };\r\n //configurationDatapointconfigurationDatapoint.DatapointValue;\r\n if (newLogSettings) {\r\n scope.Device.LogSettings.DatapointsToLog.push(DatapointLogSettings);\r\n } else {\r\n // Find Datapoint\r\n var point = ( $filter('filter')(scope.Device.LogSettings.DatapointsToLog, {DatapointValue: {DatapointConfigId: scope.Datapoint.DatapointConfig.DatapointConfigId}}) );\r\n var i = scope.Device.LogSettings.DatapointsToLog.indexOf(point[0]);\r\n scope.Device.LogSettings.DatapointsToLog[i] = DatapointLogSettings;\r\n }\r\n scope.Device.LogSettings.$save().$then(function () {\r\n\r\n scope.Datapoint.DatapointValue.$read().$then(function (data) {\r\n console.log('Flags', scope.Datapoint);\r\n\r\n scope.Datapoint.DatapointValue.Flags = data.Flags;\r\n scope.Datapoint.$dispatch('resolve-flags');\r\n scope.Datapoint.setReadFlags();\r\n scope.Device.$dispatch('resolve-flags');\r\n f_Devices.addOrUpdateDevice( scope.Device );\r\n });\r\n });\r\n } else {\r\n var DeviceLogSettings = {\r\n LoggingServerEnabled: data.LoggingServerEnabled,\r\n LoggingLocalEnabled: data.LoggingLocalEnabled,\r\n StatisticEnabled: data.StatisticEnabled,\r\n ForceLoggingInterval: data.ForceLoggingInterval\r\n };\r\n // alert(data.StatisticEnabled);\r\n\r\n scope.Device.LogSettings = angular.extend(scope.Device.LogSettings, DeviceLogSettings);\r\n scope.Device.LogSettings.$save().$then(function () {\r\n\r\n __Device.$byId(scope.Device.DeviceId).$then(function (data) {\r\n\r\n scope.Device.Flags = data.Flags;\r\n scope.Device.$dispatch('resolve-flags');\r\n f_Devices.addOrUpdateDevice( scope.Device );\r\n\r\n scope.$emit('HeadDevice_Flags',{device:scope.Device});\r\n scope.$emit('childentries-refresh-values');\r\n });\r\n });\r\n }\r\n }\r\n });\r\n });\r\n });\r\n\r\n };\r\n\r\n scope.setLogSettings = function (Device, Datapoint) {\r\n var a = {\r\n \"DeviceId\": Device.DeviceId\r\n };\r\n\r\n Device.LogSettings = __DeviceLogSettings.$get(a).$then(function (data) {\r\n\r\n Device.LogSettings = data;\r\n Device.$dispatch('resolve-flags');\r\n var dp;\r\n //Device.LogSettings = data;\r\n\r\n // Search for Datapoints in Logsettings\r\n var point = ( $filter('filter')(Device.LogSettings.DatapointsToLog, {DatapointValue: {DatapointConfigId: Datapoint.DatapointConfig.DatapointConfigId}}) );\r\n if (point && point.length > 0) {\r\n // Found some points\r\n dp = point[0];\r\n if (point.length > 1) {\r\n var oneLeft;\r\n for (var i = Device.LogSettings.DatapointsToLog.length; i >= 0; i--) {\r\n if (Device.LogSettings.DatapointsToLog[i].DatapointValue.DatapointConfigId === Datapoint.DatapointConfig.DatapointConfigId) {\r\n if (oneLeft) {\r\n Device.LogSettings.DatapointsToLog.splice(i, 1);\r\n } else {\r\n oneLeft = true;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n } else {\r\n dp = {\r\n DatapointValue: Datapoint.DatapointValue\r\n };\r\n var newLogSettings = true;\r\n }\r\n var params = {\r\n\r\n \"Title\": Device.Name + ' ' + Datapoint.DatapointConfig.DisplayName,\r\n \"Device\": Device\r\n };\r\n deviceLogSettingsModal(Device.LogSettings, dp, params).then(function (modal) {\r\n modal.close.then(function (data) {\r\n if (data) {\r\n // Save Log Settings\r\n var LogSettings = {\r\n LoggingServerEnabled: data.LoggingServerEnabled,\r\n LoggingLocalEnabled: data.LoggingLocalEnabled,\r\n StatisticLoggingEnabled: data.StatisticLoggingEnabled,\r\n ReadInterval: data.ReadInterval,\r\n Hysteresis: data.Hysteresis,\r\n\r\n DatapointValue: dp.DatapointValue\r\n\r\n };\r\n //data\r\n if (newLogSettings) {\r\n Device.LogSettings.DatapointsToLog.push(LogSettings);\r\n } else {\r\n // Find Datapoint\r\n var point = ( $filter('filter')(Device.LogSettings.DatapointsToLog, {DatapointValue: {DatapointConfigId: Datapoint.DatapointConfig.DatapointConfigId}}) );\r\n var i = Device.LogSettings.DatapointsToLog.indexOf(point[0]);\r\n Device.LogSettings.DatapointsToLog[i] = LogSettings;\r\n }\r\n Device.LogSettings.$save().$finally(function () {\r\n\r\n Datapoint.DatapointValue.$read().$finally(function (data) {\r\n\r\n Datapoint.DatapointValue.Flags = data.Flags;\r\n Datapoint.$dispatch('resolve-flags');\r\n Datapoint.setReadFlags();\r\n });\r\n });\r\n }\r\n });\r\n });\r\n\r\n });\r\n\r\n };\r\n }\r\n };\r\n }\r\n ]);\r\n"],"sourceRoot":"../../../../app"}