{"version":3,"sources":["components/factories/f_ENUM.js"],"names":["angular","module","factory","$rootScope","__Enum","enums","resolveMostUsed","$build","FilterConfigurations","EnumName","FilterProfile","getEnum","$save","data","e","filter","getDeviceTypesByFilter","$collection","$fetch","$then","filterProfile","getProtocols","updateAll","undefined","parseFloat","allEnums","enumName","isNaN","isFinite","charAt","localeCompare","length","parseInt","$broadcast"],"mappings":"aAAAA,QAAAC,OAAA,yBAKAC,QAAA,QAAA,aAAA,SACA,SAAAC,EAAAC,GAEQ,IAAAC,KAMA,OACIC,gBAAiB,WACNF,OAAOG,EAAOA,QACjBC,uBAGyBC,SAAA,gBAErBC,cAAA,IAMAD,SAAA,gBACIC,cAAA,IAOYD,SAAe,gBACVC,cAAA,IASrBD,SAAA,gBACgBC,cAAa,IAO7BD,SAAA,gBACIC,cAAA,IARAD,SAAY,cAalBC,cAAA,IAAAD,SAAA,eAKWC,cAAgB,IAI5BC,SAAmB,gBACHD,cAAE,MAQVE,QAAUC,MAAM,SAAAA,GACbR,EAAOQ,KAG1BF,QAAA,SAAAG,EAAAC,GACDC,OAAAA,GAAwBX,EAAAS,GACDT,EAAAS,GAEZV,EAAAa,cAAAC,QACWD,uBACVT,SAAuBM,EACPJ,cAAeK,IAAA,MAE9BI,MAAA,SAAAN,GACIR,EAAUQ,GAAMA,KAErBR,uBAAuBe,SAAaA,GACtC,OAAAf,GAAAA,EAAA,eAAAA,EAAA,cAAAe,GACNf,EAAA,cAAAe,GAEUC,EAAAA,cAAYH,QACJV,uBACDC,SAAiB,gBAClCC,cAAAU,MAEOD,MAAAG,SAAYT,QACnBU,GAAAlB,EAAA,gBAAAA,EAAA,kBACiBA,EAAA,cAAAe,GAAAP,KAILQ,aAAWG,WACPC,GAAAA,GAAcpB,EAAA,aAAAA,EAAA,YAAA,GACV,OAAUA,EAAU,YAAA,IAG5BiB,UAAA,WAER,IAAAG,KACJ,IAAA,IAAAC,KAAArB,EACA,IAAAsB,MAAAH,WAAAE,MAAAE,SAAAF,KAAA,MAAAA,EAAAG,OAAA,IAAA,IAAAH,EAAAI,cAAA,wBACYC,IAAU,IAAEX,KAAAf,EAAAqB,IACCC,MAAAH,WAAAJ,KAAAQ,SAAAR,IAAwBK,EAAAA,MAAoCZ,SAAMa,EACvEhB,cAAAsB,SAAAZ,KAO3B,OAAAK,EAAAM,OAAA,EACF3B,EAAAG,QAAAC,qBAAAiB,IAAAb,QAAAO,MAAA,SAAAN,GARiBR,EAAQQ,EACRV,EAAW8B,WAAW,wBAG1B","file":"f_ENUM.js","sourcesContent":["// \"use strict\";\r\n\r\nangular.module('app.factories.enum', []).// app.factories.enum-module\r\n\r\n// -------------------------------------------//\r\n// f_Info is for Popups\r\n// -------------------------------------------//\r\n\r\nfactory('ENUM', ['$rootScope', '__Enum',\r\n function ($rootScope, __Enum) {\r\n\r\n var enums = {}; // = new Array();\r\n\r\n\r\n return {\r\n resolveMostUsed: function () {\r\n return __Enum.$build({\r\n FilterConfigurations: [\r\n {\r\n \"EnumName\": \"BMSDeviceType\",\r\n \"FilterProfile\": 1\r\n },\r\n {\r\n // with SceneConditions\r\n \"EnumName\": \"BMSDeviceType\",\r\n \"FilterProfile\": 4\r\n\r\n },\r\n {\r\n // with SceneActions\r\n \"EnumName\": \"BMSDeviceType\",\r\n \"FilterProfile\": 3\r\n\r\n },\r\n {\r\n // with adress\r\n \"EnumName\": \"BMSDeviceType\",\r\n \"FilterProfile\": 6\r\n\r\n },\r\n {\r\n // passive devices\r\n \"EnumName\": \"BMSDeviceType\",\r\n \"FilterProfile\": 7\r\n },\r\n\r\n {\r\n \"EnumName\": \"BMSProtocol\",\r\n \"FilterProfile\": 1\r\n },\r\n {\r\n \"EnumName\": \"BMSUserLevel\",\r\n \"FilterProfile\": 1\r\n },\r\n {\r\n // passive devices\r\n \"EnumName\": \"BMSDeviceType\",\r\n \"FilterProfile\": 9\r\n }\r\n\r\n /* {\r\n \"EnumName\": \"BMSDeviceType\",\r\n \"FilterProfile\": 8\r\n }*/\r\n ]\r\n }).$save().$then(function (data) {\r\n enums = data;\r\n });\r\n },\r\n getEnum: function (e, filter) {\r\n if (enums && enums[e]) {\r\n return enums[e];\r\n } else {\r\n return __Enum.$collection().$fetch({\r\n FilterConfigurations: [{\r\n \"EnumName\":e,\r\n \"FilterProfile\": (filter ? filter : -1)\r\n }]\r\n }).$then(function (data) {\r\n enums[e] = data;\r\n });\r\n }\r\n },\r\n getDeviceTypesByFilter: function (filterProfile) {\r\n if (enums && enums['BMSDeviceType'] && enums['BMSDeviceType'][filterProfile]) {\r\n return enums['BMSDeviceType'][filterProfile];\r\n } else {\r\n return __Enum.$collection().$fetch({\r\n FilterConfigurations: [{\r\n \"EnumName\": \"BMSDeviceType\",\r\n \"FilterProfile\": filterProfile\r\n }]\r\n }).$then(function (data) {\r\n if(enums['BMSDeviceType'] == undefined){ enums['BMSDeviceType'] = {} }\r\n enums['BMSDeviceType'][filterProfile] = data;\r\n });\r\n }\r\n },\r\n getProtocols: function () {\r\n if (enums && enums['BMSProtocol'] && enums['BMSProtocol'][1]) {\r\n return enums['BMSProtocol'][1];\r\n }\r\n },\r\n updateAll: function () {\r\n // build all enums array\r\n var allEnums = [];\r\n for (var enumName in enums) {\r\n if (!(!isNaN(parseFloat(enumName)) && isFinite(enumName)) && enumName.charAt(0) !== '$' && enumName.localeCompare('FilterConfigurations') !== 0) {\r\n for (var filterProfile in enums[enumName]) {\r\n if (!isNaN(parseFloat(filterProfile)) && isFinite(filterProfile)) {\r\n allEnums.push({\r\n \"EnumName\": enumName,\r\n \"FilterProfile\": parseInt(filterProfile)\r\n });\r\n }\r\n }\r\n }\r\n }\r\n // update enums\r\n if(allEnums.length > 0) {\r\n return __Enum.$build({ FilterConfigurations: allEnums }).$save().$then(function (data) {\r\n enums = data;\r\n $rootScope.$broadcast('$enumsUpdated');\r\n });\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n };\r\n }]);\r\n"],"sourceRoot":"../../../../app"}