{"version":3,"sources":["components/factories/f_interval.js"],"names":["angular","module","factory","$timeout","_createClass","defineProperties","target","props","descriptor","i","length","enumerable","configurable","writable","defineProperty","Object","key","protoProps","Constructor","prototype","staticProps","_classCallCheck","name","instance","TypeError","this","RunStatus","value","getName","Paused","registerInterval","AppId","undefined","obj","intervals","withInitialCall","delay","runStatus","options","promise","warn","Running","fn","getOptions","debug","then","console","Unregistered","success","cancel","timeout","stopTimeout","call","setOptions","pause","hasOwnProperty","restart","Pos","splice","si","o","push","getIntervalByAppId","fi","splicer","iv","Interval","unregisterAllIntervals","unregisterInterval","unregisterIntervalByAppId","j","Continous","pauseAllRunningInvervals","restartAllInvervalsAfterPause","stopProtected"],"mappings":"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","file":"f_interval.js","sourcesContent":["\"use strict\";\r\n\r\nangular.module('app.factories.interval', []).// app.factories.info-module\r\n\r\n// -------------------------------------------//\r\n// f_Info is for Popups\r\n// -------------------------------------------//\r\n\r\nfactory('f_Interval', ['$timeout',\r\n function ($timeout) {\r\n\r\n var _createClass = function() {\r\n function defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) descriptor.writable = true;\r\n Object.defineProperty(target, descriptor.key, descriptor);\r\n }\r\n }\r\n return function(Constructor, protoProps, staticProps) {\r\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\r\n if (staticProps) defineProperties(Constructor, staticProps);\r\n return Constructor;\r\n };\r\n }();\r\n\r\n function _classCallCheck(instance, Constructor) {\r\n if (!(instance instanceof Constructor)) {\r\n throw new TypeError(\"Cannot call a class as a function\");\r\n }\r\n }\r\n var RunStatus = function () {\r\n function RunStatus(name) {\r\n _classCallCheck(this, RunStatus);\r\n\r\n this.name = name;\r\n }\r\n\r\n _createClass(RunStatus, [{\r\n key: 'toString',\r\n value: function toString() {\r\n return 'RunStatus.' + this.name;\r\n }\r\n },\r\n {\r\n key: 'getName',\r\n value: function getName() {\r\n return this.name;\r\n }\r\n }\r\n ]);\r\n\r\n return RunStatus;\r\n }();\r\n RunStatus.Paused = new RunStatus('Paused');\r\n RunStatus.Running = new RunStatus('Running');\r\n RunStatus.Unregistered = new RunStatus('Unregistered');\r\n var obj = {\r\n intervals: [],\r\n // -------------------------------------------//\r\n // Add new Info\r\n // -------------------------------------------//\r\n registerInterval: function (i, withInitialCall) {\r\n\r\n if (!i || i.AppId === undefined) {\r\n return false;\r\n }\r\n i.runStatus = false;\r\n\r\n if (i.options === undefined) {\r\n i.options = {};\r\n }\r\n i.call = function () {\r\n if (i.delay <= 0) {// console.log('Interval '+ i.AppId+' is at delay:0 => no call');\r\n return;\r\n }\r\n //console.log('call'+ i.AppId);\r\n if (i.runStatus !== RunStatus.Paused.getName()) {\r\n i.runStatus = RunStatus.Running.getName();\r\n // run interval function\r\n var promise = i.fn( i.getOptions() );\r\n // check whether return object exists\r\n\r\n if (promise) {\r\n // check whether return object is a promise\r\n if (!(!!promise.then && typeof promise.then === 'function')) {\r\n console.warn('interval return object has to be a promise');\r\n return;\r\n }\r\n // restart interval after successful callback\r\n promise.then(function () {\r\n console.debug('Promise then of'+ i.AppId+'-'+ i.runStatus);\r\n if (i.runStatus !== RunStatus.Unregistered.getName() && i.runStatus !== RunStatus.Paused.getName()) {\r\n console.debug(''+ i.AppId+'- success starting runStatus:'+ i.runStatus);\r\n i.success();\r\n }\r\n });\r\n } else {\r\n i.success();\r\n }\r\n\r\n }\r\n\r\n };\r\n\r\n i.success = function () {\r\n i.stopTimeout(function () {\r\n i.timeout = $timeout(i.call, i.delay);\r\n });\r\n };\r\n\r\n i.stopTimeout = function (fn) {\r\n\r\n $timeout.cancel(i.timeout);\r\n if (fn) fn();\r\n };\r\n\r\n i.pause = function () {\r\n i.runStatus = RunStatus.Paused.getName();\r\n $timeout.cancel(i.timeout);\r\n };\r\n\r\n i.restart = function (call) {\r\n this.runStatus = RunStatus.Running.getName();\r\n if (i.timeout) {\r\n $timeout.cancel(i.timeout);\r\n }\r\n this.timeout = $timeout(this.call, this.delay);\r\n if (call) {\r\n this.call();\r\n }\r\n };\r\n\r\n i.setOptions = function (o) {\r\n for (var key in o) {\r\n if (o.hasOwnProperty(key)) {\r\n i.options[key] = o[key];\r\n }\r\n }\r\n i.pause();\r\n i.restart();\r\n\r\n };\r\n\r\n i.getOptions = function () {\r\n return i.options;\r\n };\r\n\r\n if (obj.intervals.length > 0) {\r\n\r\n var si = obj.getIntervalByAppId(i.AppId);\r\n if (si !== undefined && si !== false) {\r\n if (obj.intervals[si.Pos]) {\r\n obj.intervals[si.Pos].stopTimeout(function () {\r\n obj.intervals.splice(si.Pos, 1);\r\n }\r\n );\r\n\r\n obj.intervals.push(i);\r\n } else {\r\n obj.intervals.push(i);\r\n }\r\n\r\n } else {\r\n obj.intervals.push(i);\r\n }\r\n } else {\r\n obj.intervals.push(i);\r\n }\r\n if (withInitialCall !== undefined && withInitialCall === true) {\r\n i.call();\r\n } else {\r\n i.timeout = $timeout(i.call, i.delay);\r\n }\r\n return i.AppId;\r\n },\r\n // -----------------------1--------------------//\r\n // Get the next Info\r\n // -------------------------------------------//\r\n pauseIntervalByAppId: function (i) {\r\n var iv = obj.getIntervalByAppId(i);\r\n if (iv && iv.Interval) {\r\n iv.Interval.pause();\r\n }\r\n return iv.Interval;\r\n },\r\n restartIntervalByAppId: function (i, call) {\r\n var iv = obj.getIntervalByAppId(i);\r\n if (iv && iv.Interval) iv.Interval.restart(call);\r\n return iv.Interval;\r\n },\r\n unregisterInterval: function (i) {\r\n i.runStatus = RunStatus.Unregistered.getName();\r\n i.stopTimeout();\r\n return obj.intervals.splice(i, 1);\r\n },\r\n unregisterAllNonContinousInterval: function () {\r\n if (obj.intervals.length > 0) {\r\n for (var j = obj.intervals.length - 1; j >= 0; j--) {\r\n if (!obj.intervals[j].Continous || obj.intervals[j].Continous === undefined) {\r\n\r\n var fi = obj.intervals[j];\r\n //console.log('Unregister inteval!!!'+fi.AppId);\r\n fi.stopTimeout();\r\n var splicer = j;\r\n obj.intervals.splice(splicer, 1);\r\n }\r\n }\r\n }\r\n },\r\n unregisterAllIntervals: function () {\r\n if (obj.intervals.length > 0) {\r\n for (var j = obj.intervals.length - 1; j >= 0; j--) {\r\n var fi = obj.intervals[j];\r\n fi.stopTimeout();\r\n var splicer = j;\r\n obj.intervals.splice(splicer, 1);\r\n }\r\n }\r\n },\r\n unregisterIntervalByAppId: function (i) {\r\n var fi;\r\n let splicer;\r\n if (obj.intervals.length > 0) {\r\n //console.log('----->unregister'+i);\r\n for (var j = 0; j < obj.intervals.length; j++) {\r\n if (obj.intervals[j].AppId === i) {\r\n obj.intervals[j].stopTimeout();\r\n obj.intervals[j].runStatus = RunStatus.Unregistered.getName();\r\n fi = obj.intervals[j];\r\n splicer = j;\r\n break;\r\n }\r\n }\r\n }\r\n if (fi !== undefined) {\r\n fi.stopTimeout(function () {\r\n\r\n obj.intervals.splice(splicer, 1);\r\n });\r\n return this;\r\n } else {\r\n return false;\r\n }\r\n },\r\n getIntervalByAppId: function (i) {\r\n if (obj.intervals.length > 0) {\r\n for (var j = 0; j < obj.intervals.length; j++) {\r\n if (obj.intervals[j].AppId === i) {\r\n var fi = obj.intervals[j];\r\n var splicer = j;\r\n return {'Interval': fi, 'Pos': splicer};\r\n }\r\n }\r\n }\r\n return false;\r\n },\r\n pauseAllRunningInvervals: function () {\r\n if (obj.intervals.length > 0) {\r\n for (var j = 0; j < obj.intervals.length; j++) {\r\n var i = obj.intervals[j];\r\n if (i && i.runStatus !== RunStatus.Paused.getName() && i.stopProtected === undefined) {\r\n if (i && i.AppId !== undefined) {\r\n i.runStatus = RunStatus.Paused.getName();\r\n }\r\n }\r\n }\r\n }\r\n },\r\n restartAllInvervalsAfterPause: function () {\r\n if (obj.intervals.length > 0) {\r\n for (var j = 0; j < obj.intervals.length; j++) {\r\n var i = obj.intervals[j];\r\n if (i.runStatus === RunStatus.Paused.getName()) {\r\n i.restart();\r\n }\r\n }\r\n }\r\n }\r\n\r\n };\r\n\r\n\r\n return obj;\r\n\r\n }]);\r\n"],"sourceRoot":"../../../../app"}