@c8y/ng1-modules 1018.0.194 → 1018.0.201

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -98,7 +98,7 @@
98
98
  </ul>
99
99
  </div>
100
100
  <div class="col-sm-4">
101
- <c8y-if-allowed any-role="['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE']">
101
+ <c8y-if-allowed any-role="['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE', 'ROLE_BINARY_ADMIN', 'ROLE_BINARY_CREATE']">
102
102
  <file-picker
103
103
  files="vm.appArchives"
104
104
  multiple="false"
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,i,t){var a=t("Management"),n=t("Files repository"),r="files";e.addNavigation({parent:a,name:n,priority:1e3,path:r,icon:"c8y-archive",showIfPermissions:{anyRole:["ROLE_INVENTORY_READ","ROLE_INVENTORY_ADMIN"]}}),i.when("/".concat(r),{name:n,templateUrl:":::PLUGIN_PATH:::/views/list.html"})}e.$inject=["c8yNavigatorProvider","c8yViewsProvider","gettext"],angular.module("c8y.binaryArtefactsManagement",[]).config(e)}();
1
+ "use strict";!function(){function e(e,n,a){var t=a("Management"),i=a("Files repository"),o="files";e.addNavigation({parent:t,name:i,priority:1e3,path:o,icon:"c8y-archive",showIf:["$q","c8yPermissions",function(e,n){return e.all({inventoryReadRole:n.hasAnyRole(["ROLE_INVENTORY_READ"]),binaryAndMoReadRole:n.hasAllRoles(["ROLE_BINARY_READ","ROLE_MANAGED_OBJECT_READ"])}).then(function(e){var n=e.inventoryReadRole,a=e.binaryAndMoReadRole;return n||a})}]}),n.when("/".concat(o),{name:i,templateUrl:":::PLUGIN_PATH:::/views/list.html"})}e.$inject=["c8yNavigatorProvider","c8yViewsProvider","gettext"],angular.module("c8y.binaryArtefactsManagement",[]).config(e)}();
@@ -34,7 +34,10 @@
34
34
  </div>
35
35
  </li>
36
36
 
37
- <li c8y-if-allowed any-role="['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE']">
37
+ <li
38
+ c8y-if-allowed
39
+ any-role="['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE', 'ROLE_BINARY_ADMIN', 'ROLE_BINARY_CREATE']"
40
+ >
38
41
  <button
39
42
  class="btn btn-link"
40
43
  title="{{ 'Upload file' | translate }}"
@@ -1 +1 @@
1
- "use strict";!function(){a.$inject=["c8yUiUtil","c8yNavigator"],e.$inject=["c8yNavigatorProvider","c8yViewsProvider","c8yTitleProvider","c8yBreadcrumbsProvider","smartRulesTemplateBasePath","gettext"],angular.module("c8y.smartRulesUI",["c8y.smartRules"]).config(e).run(a);var m="rules";function e(e,a,t,n,i,r){d.$inject=["$q","c8yPermissions","c8ySmartRulesAvailability"];var l=i,o="/device/:deviceId",c=[o];function s(e){return{title:e}}function u(e){a.when(e,{priority:1e3,name:r("Smart rules"),icon:"c8y-smart-rules",showIf:["c8ySmartRulesAvailability",function(e){return e.shouldShowLocalSmartRules()}],templateUrl:"".concat(l,"list.html"),featureId:"smartRules"})}function d(e,a,t){var n={hasInventoryReadAdminCreate:a.isAllowed({anyRole:["ROLE_INVENTORY_READ","ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE"]}),hasSmartRuleReadAdmin:a.isAllowed({anyRole:["ROLE_SMARTRULE_READ","ROLE_SMARTRULE_ADMIN"]}),hasCepManagementAdmin:a.isAllowed({anyRole:["ROLE_CEP_MANAGEMENT_ADMIN"]}),isApplicationAvailable:t.isApplicationAvailable()};return e.all(n).then(function(e){return e.hasInventoryReadAdminCreate&&e.isApplicationAvailable&&(e.hasSmartRuleReadAdmin||e.hasCepManagementAdmin)})}t.addTitle(o,{data:["$routeParams","c8yBase","c8yDevices",function(e,a,t){var n=e.deviceId;return n?t.detailCached(n).then(a.getResData).then(t.properName).then(s):{}}]}),a.when("/".concat(m),{templateUrl:"".concat(l,"list.html")}),c.forEach(u),e.addNavigation({parent:{name:r("Configuration"),icon:"c8y-tools"},name:r("Global smart rules"),path:m,icon:"c8y-smart-rules",showIf:d,featureId:"globalSmartRules"}),n.addBreadcrumbs(o,{data:["$routeParams","c8yDevices",function(e,a){var t=e.deviceId;return a.getBreadcrumbsData(t)}]})}function a(e,a){e.shouldShowSmartRules().then(function(e){e||a.removeNavigation(a.findNode(function(e){return e.path===m}))})}}();
1
+ "use strict";!function(){a.$inject=["c8yUiUtil","c8yNavigator"],e.$inject=["c8yNavigatorProvider","c8yViewsProvider","c8yTitleProvider","c8yBreadcrumbsProvider","smartRulesTemplateBasePath","gettext"],angular.module("c8y.smartRulesUI",["c8y.smartRules"]).config(e).run(a);var m="rules";function e(e,a,t,n,i,r){d.$inject=["$q","c8yPermissions","c8ySmartRulesAvailability"];var l=i,o="/device/:deviceId",c=[o];function s(e){return{title:e}}function u(e){a.when(e,{priority:1e3,name:r("Smart rules"),icon:"c8y-smart-rules",showIf:["c8ySmartRulesAvailability",function(e){return e.shouldShowLocalSmartRules()}],templateUrl:"".concat(l,"list.html"),featureId:"smartRules"})}function d(e,a,t){var n={hasInventoryReadAdminCreate:a.isAllowed({anyRole:["ROLE_INVENTORY_READ","ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE","ROLE_MANAGED_OBJECT_ADMIN","ROLE_MANAGED_OBJECT_CREATE","ROLE_MANAGED_OBJECT_READ"]}),hasSmartRuleReadAdmin:a.isAllowed({anyRole:["ROLE_SMARTRULE_READ","ROLE_SMARTRULE_ADMIN"]}),hasCepManagementAdmin:a.isAllowed({anyRole:["ROLE_CEP_MANAGEMENT_ADMIN"]}),isApplicationAvailable:t.isApplicationAvailable()};return e.all(n).then(function(e){return e.hasInventoryReadAdminCreate&&e.isApplicationAvailable&&(e.hasSmartRuleReadAdmin||e.hasCepManagementAdmin)})}t.addTitle(o,{data:["$routeParams","c8yBase","c8yDevices",function(e,a,t){var n=e.deviceId;return n?t.detailCached(n).then(a.getResData).then(t.properName).then(s):{}}]}),a.when("/".concat(m),{templateUrl:"".concat(l,"list.html")}),c.forEach(u),e.addNavigation({parent:{name:r("Configuration"),icon:"c8y-tools"},name:r("Global smart rules"),path:m,icon:"c8y-smart-rules",showIf:d,featureId:"globalSmartRules"}),n.addBreadcrumbs(o,{data:["$routeParams","c8yDevices",function(e,a){var t=e.deviceId;return a.getBreadcrumbsData(t)}]})}function a(e,a){e.shouldShowSmartRules().then(function(e){e||a.removeNavigation(a.findNode(function(e){return e.path===m}))})}}();
@@ -1 +1 @@
1
- "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof(t)?t:String(t)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);var n=r.call(e,t||"default");if("object"!==_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}!function(){function e(e,t,r,n,a,o,i,l){var m,y,c=this,u=[],d=n.getDeliveryTypes().defaultDeliveryType,s=n.getDeliveryTypes().standardDeliveryTypes;function p(e){u.length=0,_.forEach(e,function(e){var t=!!e.id;u.push({name:t?e.name:l.getString(e.name),command:e.command,category:t?e.category:l.getString(e.category),deliveryTypes:e.deliveryTypes,id:e.id})})}function f(e){c.result.commandTemplate=e,_.difference(e.deliveryTypes,s)||c.standardDeliveryTypes.push(e.deliveryType),c.commandDeliveryType=_.first(e.deliveryTypes)||d}_.assign(c,{commandTemplates:u,standardDeliveryTypes:s,defaultDeliveryType:d,commandDeliveryTypesSelected:{},validateSelectedDeliveryTypes:function(){return _.isEmpty(_.pickBy(c.commandDeliveryTypesSelected))},result:{action:null,commandTemplate:null},forms:{},onTemplateSelected:f,use:function(e){c.result.action="USE",c.result.deliveryType=e!==d&&e,c.result.commandTemplate=_.clone(c.result.commandTemplate);var t=c.result.commandTemplate;t.text=t.text||t.command,c.close(c.result)},execute:function(e){c.result.action="EXECUTE",c.result.deliveryType=e!==d&&e,c.result.commandTemplate=_.clone(c.result.commandTemplate);var t=c.result.commandTemplate;t.text=t.command,c.close(c.result)},cancel:function(){c.newCommandTemplate?delete c.newCommandTemplate:c.dismiss()},save:function(){c.newCommandTemplate.deliveryTypes=_.keys(_.pickBy(c.commandDeliveryTypesSelected)),n.saveTemplate(c.newCommandTemplate).then(t.getResData).then(function(e){var t=_.pick(e,["id","name","category","command","text","deliveryTypes"]),r=_.find(u,{id:t.id});r?_.assign(r,t):u.unshift(t),f(c.result.commandTemplate=t),delete c.newCommandTemplate})},addNew:function(){c.newCommandTemplate={deviceType:m},c.commandDeliveryTypesSelected=_defineProperty({},d,!0)},hideAddButton:function(){return!!c.newCommandTemplate},edit:function(e){var t;t=_.isEmpty(e.deliveryTypes)?s:e.deliveryTypes;_.forEach(t,function(e){_.assign(c.commandDeliveryTypesSelected,_defineProperty({},e,!0))}),c.newCommandTemplate=e},remove:function(e){c.result.commandTemplate===e&&delete c.result.commandTemplate;n.removeTemplate(e).then(function(){_.pull(u,e)}).then(function(){o.success(i("Shell command template deleted."))})},isDeliveryTypeSupported:function(e,t){var r=_.get(t,"deliveryTypes");return _.isEmpty(r)||_.includes(r,e)},getExecuteButtonLabel:function(e){return e!==d?l.getString("Execute (via {{ deliveryType | translate }})",{deliveryType:e}):l.getString("Execute")},appendToEl:document.getElementsByClassName("modal"),getCommandPlaceholder:function(){return l.getString("e.g. {{ example }}",{example:"ls"})}}),(y=e.deviceId,r.detailCached(y).then(t.getResData).then(function(e){return m=_.concat(e.type,e.c8y_DeviceTypes||[]),n.getCommandTemplatesForDeviceType.apply(n,_toConsumableArray(m))})).then(p),n.canSendCommandsViaSMS().then(function(e){c.smsEnabled=e}),a.hasAnyRole(["ROLE_INVENTORY_ADMIN"]).then(function(e){c.canWrite=e})}e.$inject=["$routeParams","c8yBase","c8yDevices","c8yDeviceShell","c8yPermissions","c8yAlert","gettext","gettextCatalog"],angular.module("c8y.commandTemplates").controller("commandTemplatesCtrl",e)}();
1
+ "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof(t)?t:String(t)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);var n=r.call(e,t||"default");if("object"!==_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}!function(){function e(e,t,r,n,a,o,i,l){var m,y,c=this,u=[],d=n.getDeliveryTypes().defaultDeliveryType,s=n.getDeliveryTypes().standardDeliveryTypes;function p(e){u.length=0,_.forEach(e,function(e){var t=!!e.id;u.push({name:t?e.name:l.getString(e.name),command:e.command,category:t?e.category:l.getString(e.category),deliveryTypes:e.deliveryTypes,id:e.id})})}function f(e){c.result.commandTemplate=e,_.difference(e.deliveryTypes,s)||c.standardDeliveryTypes.push(e.deliveryType),c.commandDeliveryType=_.first(e.deliveryTypes)||d}_.assign(c,{commandTemplates:u,standardDeliveryTypes:s,defaultDeliveryType:d,commandDeliveryTypesSelected:{},validateSelectedDeliveryTypes:function(){return _.isEmpty(_.pickBy(c.commandDeliveryTypesSelected))},result:{action:null,commandTemplate:null},forms:{},onTemplateSelected:f,use:function(e){c.result.action="USE",c.result.deliveryType=e!==d&&e,c.result.commandTemplate=_.clone(c.result.commandTemplate);var t=c.result.commandTemplate;t.text=t.text||t.command,c.close(c.result)},execute:function(e){c.result.action="EXECUTE",c.result.deliveryType=e!==d&&e,c.result.commandTemplate=_.clone(c.result.commandTemplate);var t=c.result.commandTemplate;t.text=t.command,c.close(c.result)},cancel:function(){c.newCommandTemplate?delete c.newCommandTemplate:c.dismiss()},save:function(){c.newCommandTemplate.deliveryTypes=_.keys(_.pickBy(c.commandDeliveryTypesSelected)),n.saveTemplate(c.newCommandTemplate).then(t.getResData).then(function(e){var t=_.pick(e,["id","name","category","command","text","deliveryTypes"]),r=_.find(u,{id:t.id});r?_.assign(r,t):u.unshift(t),f(c.result.commandTemplate=t),delete c.newCommandTemplate})},addNew:function(){c.newCommandTemplate={deviceType:m},c.commandDeliveryTypesSelected=_defineProperty({},d,!0)},hideAddButton:function(){return!!c.newCommandTemplate},edit:function(e){var t;t=_.isEmpty(e.deliveryTypes)?s:e.deliveryTypes;_.forEach(t,function(e){_.assign(c.commandDeliveryTypesSelected,_defineProperty({},e,!0))}),c.newCommandTemplate=e},remove:function(e){c.result.commandTemplate===e&&delete c.result.commandTemplate;n.removeTemplate(e).then(function(){_.pull(u,e)}).then(function(){o.success(i("Shell command template deleted."))})},isDeliveryTypeSupported:function(e,t){var r=_.get(t,"deliveryTypes");return _.isEmpty(r)||_.includes(r,e)},getExecuteButtonLabel:function(e){return e!==d?l.getString("Execute (via {{ deliveryType | translate }})",{deliveryType:e}):l.getString("Execute")},appendToEl:document.getElementsByClassName("modal"),getCommandPlaceholder:function(){return l.getString("e.g. {{ example }}",{example:"ls"})}}),(y=e.deviceId,r.detailCached(y).then(t.getResData).then(function(e){return m=_.concat(e.type,e.c8y_DeviceTypes||[]),n.getCommandTemplatesForDeviceType.apply(n,_toConsumableArray(m))})).then(p),n.canSendCommandsViaSMS().then(function(e){c.smsEnabled=e}),a.hasAnyRole(["ROLE_INVENTORY_ADMIN","ROLE_MANAGED_OBJECT_ADMIN"]).then(function(e){c.canWrite=e})}e.$inject=["$routeParams","c8yBase","c8yDevices","c8yDeviceShell","c8yPermissions","c8yAlert","gettext","gettextCatalog"],angular.module("c8y.commandTemplates").controller("commandTemplatesCtrl",e)}();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,i,t,n,c,r){var u="c8y_DeviceShellTemplate";function o(e,t,n){return _.map(e||[],function(e){return _.assign(e,{syntax:t,deviceType:n})})}return{getCommandTemplatesForDeviceType:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=function(e){var n=[];return _.forEach(e,function(e){var t=function(e){return _.get(window.c8y,"collections.devicecommands",{})[e]}(e);t&&n.push(function(t,e){var n;return n=_.isArray(e)?_(e).map(function(e){return o(e.templates,e.syntax,t)}).flatten().value():o(e.templates,e.syntax,t),i.when(n)}(e,t))}),i.all(n).then(_.flatten)}(t),a=function(e){var t={__filter:{type:u,deviceType:{__in:e}},__orderby:[{creationTime:-1}]};return c.listQuery(t,{pageSize:1e3},!0)}(t);return i.all([r,a]).then(_.flatten)},canSendCommandsViaSMS:function(){return n.getSystemOptionValue({category:"messaging",key:"provider"},!1).then(function(e){return!!e})},saveTemplate:function(e){var t=_.assign({type:u,c8y_Global:{}},e);return c.save(t)},getDeliveryTypes:function(){return{defaultDeliveryType:r("Default"),standardDeliveryTypes:[r("Default"),r("SMS")]}},removeTemplate:c.remove}}e.$inject=["$http","$q","c8yBase","c8ySettings","c8yInventory","gettext"],angular.module("c8y.core").factory("c8yDeviceShell",e)}();
1
+ "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _regeneratorRuntime(){_regeneratorRuntime=function(){return a};var a={},t=Object.prototype,l=t.hasOwnProperty,c=Object.defineProperty||function(t,e,r){t[e]=r.value},e="function"==typeof Symbol?Symbol:{},o=e.iterator||"@@iterator",r=e.asyncIterator||"@@asyncIterator",n=e.toStringTag||"@@toStringTag";function i(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{i({},"")}catch(t){i=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),a=new L(n||[]);return c(i,"_invoke",{value:function(i,a,c){var u="suspendedStart";return function(t,e){if("executing"===u)throw new Error("Generator is already running");if("completed"===u){if("throw"===t)throw e;return j()}for(c.method=t,c.arg=e;;){var r=c.delegate;if(r){var n=_(r,c);if(n){if(n===f)continue;return n}}if("next"===c.method)c.sent=c._sent=c.arg;else if("throw"===c.method){if("suspendedStart"===u)throw u="completed",c.arg;c.dispatchException(c.arg)}else"return"===c.method&&c.abrupt("return",c.arg);u="executing";var o=s(i,a,c);if("normal"===o.type){if(u=c.done?"completed":"suspendedYield",o.arg===f)continue;return{value:o.arg,done:c.done}}"throw"===o.type&&(u="completed",c.method="throw",c.arg=o.arg)}}}(t,r,a)}),i}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=u;var f={};function y(){}function h(){}function p(){}var v={};i(v,o,function(){return this});var d=Object.getPrototypeOf,m=d&&d(d(E([])));m&&m!==t&&l.call(m,o)&&(v=m);var g=p.prototype=y.prototype=Object.create(v);function w(t){["next","throw","return"].forEach(function(e){i(t,e,function(t){return this._invoke(e,t)})})}function b(u,f){var e;c(this,"_invoke",{value:function(r,n){function t(){return new f(function(t,e){!function e(t,r,n,o){var i=s(u[t],u,r);if("throw"!==i.type){var a=i.arg,c=a.value;return c&&"object"==_typeof(c)&&l.call(c,"__await")?f.resolve(c.__await).then(function(t){e("next",t,n,o)},function(t){e("throw",t,n,o)}):f.resolve(c).then(function(t){a.value=t,n(a)},function(t){return e("throw",t,n,o)})}o(i.arg)}(r,n,t,e)})}return e=e?e.then(t,t):t()}})}function _(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,_(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function E(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r<e.length;)if(l.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:j}}function j(){return{value:void 0,done:!0}}return c(g,"constructor",{value:h.prototype=p,configurable:!0}),c(p,"constructor",{value:h,configurable:!0}),h.displayName=i(p,n,"GeneratorFunction"),a.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,i(t,n,"GeneratorFunction")),t.prototype=Object.create(g),t},a.awrap=function(t){return{__await:t}},w(b.prototype),i(b.prototype,r,function(){return this}),a.AsyncIterator=b,a.async=function(t,e,r,n,o){void 0===o&&(o=Promise);var i=new b(u(t,e,r,n),o);return a.isGeneratorFunction(e)?i:i.next().then(function(t){return t.done?t.value:i.next()})},w(g),i(g,n,"Generator"),i(g,o,function(){return this}),i(g,"toString",function(){return"[object Generator]"}),a.keys=function(t){var r=Object(t),n=[];for(var e in r)n.push(e);return n.reverse(),function t(){for(;n.length;){var e=n.pop();if(e in r)return t.value=e,t.done=!1,t}return t.done=!0,t}},a.values=E,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)"t"===e.charAt(0)&&l.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function t(t,e){return i.type="throw",i.arg=r,n.next=t,e&&(n.method="next",n.arg=void 0),!!e}for(var e=this.tryEntries.length-1;0<=e;--e){var o=this.tryEntries[e],i=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var a=l.call(o,"catchLoc"),c=l.call(o,"finallyLoc");if(a&&c){if(this.prev<o.catchLoc)return t(o.catchLoc,!0);if(this.prev<o.finallyLoc)return t(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return t(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return t(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;0<=r;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&l.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),S(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:E(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},a}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})),n.forEach(function(t){_defineProperty(e,t,r[t])})}return e}function _defineProperty(t,e,r){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _toPropertyKey(t){var e=_toPrimitive(t,"string");return"symbol"===_typeof(e)?e:String(e)}function _toPrimitive(t,e){if("object"!==_typeof(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0===r)return("string"===e?String:Number)(t);var n=r.call(t,e||"default");if("object"!==_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}function asyncGeneratorStep(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function _asyncToGenerator(c){return function(){var t=this,a=arguments;return new Promise(function(e,r){var n=c.apply(t,a);function o(t){asyncGeneratorStep(n,e,r,o,i,"next",t)}function i(t){asyncGeneratorStep(n,e,r,o,i,"throw",t)}o(void 0)})}}!function(){function t(i,t,a,o,e){var c="c8y_DeviceShellTemplate";function u(t,e,r){return _.map(t||[],function(t){return _.assign(t,{syntax:e,deviceType:r})})}function r(){return(r=_asyncToGenerator(_regeneratorRuntime().mark(function t(e){var r,n;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,o.getGlobalParam(c);case 2:return r=t.sent,n=_.assign(_objectSpread({type:c},r&&{c8y_Global:{}}),e),t.abrupt("return",a.save(n));case 5:case"end":return t.stop()}},t)}))).apply(this,arguments)}return{getCommandTemplatesForDeviceType:function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var n=function(t){var r=[];return _.forEach(t,function(t){var e=function(t){return _.get(window.c8y,"collections.devicecommands",{})[t]}(t);e&&r.push(function(e,t){var r;return r=_.isArray(t)?_(t).map(function(t){return u(t.templates,t.syntax,e)}).flatten().value():u(t.templates,t.syntax,e),i.when(r)}(t,e))}),i.all(r).then(_.flatten)}(e),o=function(t){var e={__filter:{type:c,deviceType:{__in:t}},__orderby:[{creationTime:-1}]};return a.listQuery(e,{pageSize:1e3},!0)}(e);return i.all([n,o]).then(_.flatten)},canSendCommandsViaSMS:function(){return t.getSystemOptionValue({category:"messaging",key:"provider"},!1).then(function(t){return!!t})},saveTemplate:function(t){return r.apply(this,arguments)},getDeliveryTypes:function(){return{defaultDeliveryType:e("Default"),standardDeliveryTypes:[e("Default"),e("SMS")]}},removeTemplate:a.remove}}t.$inject=["$q","c8ySettings","c8yInventory","c8yGlobalConfigService","gettext"],angular.module("c8y.core").factory("c8yDeviceShell",t)}();
@@ -1 +1 @@
1
- "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?Object(arguments[e]):{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),n.forEach(function(e){_defineProperty(t,e,r[e])})}return t}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof(t)?t:String(t)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);var n=r.call(e,t||"default");if("object"!==_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}!function(){function e(e,u,r,n,o,i,p){var y={c8y_BrokerSourceInactive:{icon:"c8y-group-remote-inactive",iconOpen:"c8y-group-remote-inactive"},c8y_BrokerSource:{icon:"c8y-group-remote",iconOpen:"c8y-group-remote-open"},c8y_DeviceGroup:{icon:"c8y-group",iconOpen:"c8y-group-open"},c8y_DynamicGroup:{icon:"c8y-group-smart",iconOpen:"c8y-group-smart-open"},other:{icon:"circle",iconClass:"statusUnknown"}};return{getGroupItems:c,getItemsCount:function(e){return n.children(e,"childAssets",{skipDetail:!0,params:{pageSize:1,withTotalPages:!0,withChildren:!1}}).then(function(e){var t=e.data.statistics.totalPages;return t})},getGroupAssetsAndDevices:function(n){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t=r.createListFilter(function(e){var t=e.id,r=_.map(_.get(n,"childAdditions.references"),_.property("managedObject.id"));return!_.includes(r,t)});return c(n,e).then(t)},getGroupTypeItems:function(t){return o.getLookup().then(function(e){return[e[t]]}).then(s)},getTopLevelGroups:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=e||!1;return t.onlyRoots=!0,i.mustHaveAllRoles(["ROLE_INVENTORY_READ"]).then(function(){return o.get().then(_.property("groups")).then(function(e){return r?function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};e.push({type:p.getType()});var r=s(e,t);return t.skipChildCount||(r=r.then(function(e){return p.addChildCountProperty(e,t)})),r}(e,t):s(e,t)})},a)},isGroup:f,getGroupInfo:t,getIconSpecs:function(e){return t(e).iconSpecs},getIconSpecsForType:function(e){return _.get(y,e,{})}};function c(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return n.listQuery(function(e){return{__bygroupid:r.getId(e)}}(e),_objectSpread({withParents:!0},t),!0)}function s(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r={__filter:{__and:[{__not:{__has:"c8y_IsDynamicGroup.invisible"}},{type:{__in:_.map(e,"type")}}]}};return n.listQuery(r,t,!0)}function a(){return n.list({fragmentType:"c8y_IsDeviceGroup",pageSize:1e3,onlyRoots:!0})}function f(e){return!!e.c8y_IsDeviceGroup||"c8y_DeviceGroup"===e.type}function t(e){var t,r=f(e),n=u.get("c8yDevices").isDevice(e),o=p.isDynamicGroup(e),i=u.get("c8yDeviceGroup"),c=i.hasBrokerSource(e);return r?t=c?i.isBrokerSourceActive(e)?"c8y_BrokerSource":"c8y_BrokerSourceInactive":p.isDynamicGroup(e)?"c8y_DynamicGroup":"c8y_DeviceGroup":o?t="c8y_DynamicGroup":n||(t="other"),{isGroup:r,isDynamicGroup:o,hasBrokerSource:c,iconSpecs:_.get(y,t,{})}}}e.$inject=["$q","$injector","c8yBase","c8yInventory","c8yGroupTypesConfig","c8yPermissions","c8yDynamicGroups"],angular.module("c8y.core").factory("c8yGroups",e)}();
1
+ "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?Object(arguments[e]):{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),n.forEach(function(e){_defineProperty(t,e,r[e])})}return t}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof(t)?t:String(t)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);var n=r.call(e,t||"default");if("object"!==_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}!function(){function e(e,u,r,n,o,i,p){var y={c8y_BrokerSourceInactive:{icon:"c8y-group-remote-inactive",iconOpen:"c8y-group-remote-inactive"},c8y_BrokerSource:{icon:"c8y-group-remote",iconOpen:"c8y-group-remote-open"},c8y_DeviceGroup:{icon:"c8y-group",iconOpen:"c8y-group-open"},c8y_DynamicGroup:{icon:"c8y-group-smart",iconOpen:"c8y-group-smart-open"},other:{icon:"circle",iconClass:"statusUnknown"}};return{getGroupItems:c,getItemsCount:function(e){return n.children(e,"childAssets",{skipDetail:!0,params:{pageSize:1,withTotalPages:!0,withChildren:!1}}).then(function(e){var t=e.data.statistics.totalPages;return t})},getGroupAssetsAndDevices:function(n){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t=r.createListFilter(function(e){var t=e.id,r=_.map(_.get(n,"childAdditions.references"),_.property("managedObject.id"));return!_.includes(r,t)});return c(n,e).then(t)},getGroupTypeItems:function(t){return o.getLookup().then(function(e){return[e[t]]}).then(s)},getTopLevelGroups:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=e||!1;return t.onlyRoots=!0,i.mustHaveAnyRole(["ROLE_INVENTORY_READ","ROLE_MANAGED_OBJECT_READ"]).then(function(){return o.get().then(_.property("groups")).then(function(e){return r?function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};e.push({type:p.getType()});var r=s(e,t);return t.skipChildCount||(r=r.then(function(e){return p.addChildCountProperty(e,t)})),r}(e,t):s(e,t)})},a)},isGroup:f,getGroupInfo:t,getIconSpecs:function(e){return t(e).iconSpecs},getIconSpecsForType:function(e){return _.get(y,e,{})}};function c(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return n.listQuery(function(e){return{__bygroupid:r.getId(e)}}(e),_objectSpread({withParents:!0},t),!0)}function s(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r={__filter:{__and:[{__not:{__has:"c8y_IsDynamicGroup.invisible"}},{type:{__in:_.map(e,"type")}}]}};return n.listQuery(r,t,!0)}function a(){return n.list({fragmentType:"c8y_IsDeviceGroup",pageSize:1e3,onlyRoots:!0})}function f(e){return!!e.c8y_IsDeviceGroup||"c8y_DeviceGroup"===e.type}function t(e){var t,r=f(e),n=u.get("c8yDevices").isDevice(e),o=p.isDynamicGroup(e),i=u.get("c8yDeviceGroup"),c=i.hasBrokerSource(e);return r?t=c?i.isBrokerSourceActive(e)?"c8y_BrokerSource":"c8y_BrokerSourceInactive":p.isDynamicGroup(e)?"c8y_DynamicGroup":"c8y_DeviceGroup":o?t="c8y_DynamicGroup":n||(t="other"),{isGroup:r,isDynamicGroup:o,hasBrokerSource:c,iconSpecs:_.get(y,t,{})}}}e.$inject=["$q","$injector","c8yBase","c8yInventory","c8yGroupTypesConfig","c8yPermissions","c8yDynamicGroups"],angular.module("c8y.core").factory("c8yGroups",e)}();
@@ -1 +1 @@
1
- "use strict";function _slicedToArray(e,n){return _arrayWithHoles(e)||_iterableToArrayLimit(e,n)||_unsupportedIterableToArray(e,n)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,n){if(e){if("string"==typeof e)return _arrayLikeToArray(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,n):void 0}}function _arrayLikeToArray(e,n){(null==n||n>e.length)&&(n=e.length);for(var r=0,t=new Array(n);r<n;r++)t[r]=e[r];return t}function _iterableToArrayLimit(e,n){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var t,u,i,o,a=[],s=!0,c=!1;try{if(i=(r=r.call(e)).next,0===n){if(Object(r)!==r)return;s=!1}else for(;!(s=(t=i.call(r)).done)&&(a.push(t.value),a.length!==n);s=!0);}catch(e){c=!0,u=e}finally{try{if(!s&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw u}}return a}}function _arrayWithHoles(e){if(Array.isArray(e))return e}!function(){function e(n,i,o,a,s,e,c,r){var l="user/devicePermissions",t=a.createEnum([{name:"ALARM",value:"ALARM",label:r("Alarms")},{name:"AUDIT",value:"AUDIT",label:r("Audits")},{name:"EVENT",value:"EVENT",label:r("Events")},{name:"MANAGED_OBJECT",value:"MANAGED_OBJECT",label:r("Inventory")},{name:"MEASUREMENT",value:"MEASUREMENT",label:r("Measurements")},{name:"OPERATION",value:"OPERATION",label:r("Device control")},{name:"SUPPORT",value:"SUPPORT",label:r("Support")},{name:"ALL",value:"*",label:r("Full access")}]),u=a.createEnum([{name:"READ",value:"READ",label:r("Read")},{name:"CHANGE",value:"ADMIN",label:r("Change")},{name:"ALL",value:"*",label:r("All")}]);function f(e,n){var r=function(e,n){var r=!1;e.roles&&e.roles.references&&_.forEach(e.roles.references,function(e){e.role.id===n&&(r=!0)});return r}(e,n);return r||(r=function(e,n){var r=!1;e.groups&&e.groups.references&&_.forEach(e.groups.references,function(e){_.forEach(e.group.roles.references,function(e){e.role.id===n&&(r=!0)})});return r}(e,n)),r}function p(e,n,r,t,u){var i=function(e,n,r,t,u){var i=!1;e.devicePermissions&&e.devicePermissions[n]&&(i=m(e.devicePermissions[n],r,t,u));return i}(e,n,r,t,u);return i||(i=function(e,n,r,t,u){var i=!1;e.groups&&e.groups.references&&_.forEach(e.groups.references,function(e){e.group.devicePermissions&&e.group.devicePermissions[n]&&(i=m(e.group.devicePermissions[n],r,t,u))});return i}(e,n,r,t,u)),i}function m(e,n,r,t){return _.some(e,_.partial(v,n,r,t))}function v(e,n,r,t){var u=!1,i=_slicedToArray(t.split(":"),3),o=i[0],a=i[1],s=i[2];return d(o,e)&&d(a,n)&&d(s,r)&&(u=!0),u}function d(e,n){return"*"===e||e===n}function h(n,e){return(e?i.when(e):s.current()).then(function(e){return _.some(n,_.partial(f,e))})}function y(n,e){return(e?i.when(e):s.current()).then(function(e){return _.every(n,_.partial(f,e))})}function A(e,n){return i.all(_.map(_.filter(e,_.identity),_.partialRight(E,n))).then(N)}function E(r,e){var t=r.id||r,n=!e;function u(e){return e||g(t,"read")}return(n?s.current():i.when(e)).then(function(e){return h(["ROLE_INVENTORY_READ"],e).then(function(n){return function(e){return e||p(n,t,"MANAGED_OBJECT","*","READ")}}(e)).then(function(n){return function(e){return e||c.isOwnerCached(r,n)}}(e)).then(n?u:_.identity)})}var g=_.memoize(function(e,n){var r=a.url("inventory/managedObjects/".concat(e)),t=R(n);return o({method:t,data:"PUT"===t?{}:void 0,headers:{"content-type":"application/json",accept:void 0},silentError:!0,url:r}).then(_.constant(!0),_.constant(!1))},function(e,n){return e+R(n)});function R(e){return"admin"===e?"PUT":"HEAD"}function O(e,n){return i.all(_.map(_.filter(e,_.identity),_.partialRight(b,n))).then(N)}function b(r,e){var t=r.id||r,n=!e;function u(e){return e||g(t,"admin")}return(n?s.current():i.when(e)).then(function(e){return h(["ROLE_INVENTORY_ADMIN"],e).then(function(n){return function(e){return e||p(n,t,"MANAGED_OBJECT","*","ADMIN")}}(e)).then(function(n){return function(e){return e||c.isOwnerCached(r,n)}}(e)).then(n?u:_.identity)})}function T(e,n){var r=[];return e.anyRole&&r.push(h(e.anyRole,n)),e.allRoles&&r.push(y(e.allRoles,n)),e.readMOs&&r.push(A(P(e.readMOs),n)),e.adminMOs&&r.push(O(P(e.adminMOs),n)),i.all(r).then(N)}function P(e){return _.filter(_.map(e,function(e){return function(e){return _.isString(e)&&/^:/.test(e)}(e)?function(e){return n[e.replace(/^:/,"")]}(e):e}),_.identity)}function M(e){return e.then(function(e){return e?i.when(e):i.reject(e)})}function N(e){return _.every(e)}function I(e,n){var r={groups:[],users:[]};return _.forEach(n.groups,_.partial(D,r,e)),_.forEach(n.users,_.partial(S,r,e)),r}function D(t,e,u){_.forEach(u.devicePermissions[e],function(e){var n=L(e),r={group:{id:u.id,name:u.name},scope:n.scope,type:n.type,access:n.access};t.groups.push(r)})}function S(t,e,u){_.forEach(u.devicePermissions[e],function(e){var n=L(e),r={username:u.userName,scope:n.scope,type:n.type,access:n.access};t.users.push(r)})}function L(e){var n=e.split(":");return{scope:n[0],type:n[1],access:n[2]}}function w(e){return[e.scope,e.type,e.access].join(":")}function j(e){return _.map(e,function(e){var n=e.id.split("_").filter(function(e,n,r){return!("ROLE"===e&&0===n&&1<r.length)}),r=1<n.length?n.pop():void 0,t=n.join("_");return{id:e.id,category:t,access:r}})}return{hasRole:f,hasDevicePermission:p,hasAnyRole:h,mustHaveAnyRole:function(e,n){return M(h(e,n))},hasAllRoles:y,mustHaveAllRoles:function(e,n){return M(y(e,n))},canReadMOs:A,mustHaveReadMOs:function(e,n){return M(A(e,n))},canAdminMOs:O,mustHaveAdminMOs:function(e,n){return M(O(e,n))},isAllowed:T,mustBeAllowed:function(e,n){return M(T(e,n))},getMOPermissions:function(e){var n=e.id||e,r=a.url("".concat(l,"/").concat(n));return _.isObjectLike(n)?i.when({groups:[],users:[]}):o.get(r).then(a.getResData).then(_.partial(I,n))},setMOPermissions:function(e,n){var r=e.id||e,t=a.url("".concat(l,"/").concat(r)),u=function(e,n){var r={groups:[],users:[]};return function(t,u,e){var n=_.groupBy(e,function(e){return e.group.id});_.forEach(n,function(e,n){var r={id:n,devicePermissions:{}};r.devicePermissions[u]=_.map(e,function(e){return w(e)}),t.push(r)})}(r.groups,e,n.groups),function(t,u,e){var n=_.groupBy(e,function(e){return e.userName});_.forEach(n,function(e,n){var r={userName:n,devicePermissions:{}};r.devicePermissions[u]=_.map(e,function(e){return w(e)}),t.push(r)})}(r.users,e,n.users),r}(r,n);return o.put(t,u)},getAccessTypes:function(){return["READ","ADMIN","*"]},convertServerPermissionsToUI:j,listGlobal:function(){return e.listRoles({pageSize:2e3}).then(j)},SCOPES:t,ACCESS_TYPES:u}}e.$inject=["$routeParams","$q","$http","c8yBase","c8yUser","c8yUserGroup","c8yInventory","gettext"],angular.module("c8y.core").factory("c8yPermissions",e)}();
1
+ "use strict";function _slicedToArray(e,n){return _arrayWithHoles(e)||_iterableToArrayLimit(e,n)||_unsupportedIterableToArray(e,n)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,n){if(e){if("string"==typeof e)return _arrayLikeToArray(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,n):void 0}}function _arrayLikeToArray(e,n){(null==n||n>e.length)&&(n=e.length);for(var r=0,t=new Array(n);r<n;r++)t[r]=e[r];return t}function _iterableToArrayLimit(e,n){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var t,u,i,o,a=[],s=!0,c=!1;try{if(i=(r=r.call(e)).next,0===n){if(Object(r)!==r)return;s=!1}else for(;!(s=(t=i.call(r)).done)&&(a.push(t.value),a.length!==n);s=!0);}catch(e){c=!0,u=e}finally{try{if(!s&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw u}}return a}}function _arrayWithHoles(e){if(Array.isArray(e))return e}!function(){function e(n,i,o,a,s,e,c,r){var l="user/devicePermissions",t=a.createEnum([{name:"ALARM",value:"ALARM",label:r("Alarms")},{name:"AUDIT",value:"AUDIT",label:r("Audits")},{name:"EVENT",value:"EVENT",label:r("Events")},{name:"MANAGED_OBJECT",value:"MANAGED_OBJECT",label:r("Inventory")},{name:"MEASUREMENT",value:"MEASUREMENT",label:r("Measurements")},{name:"OPERATION",value:"OPERATION",label:r("Device control")},{name:"SUPPORT",value:"SUPPORT",label:r("Support")},{name:"ALL",value:"*",label:r("Full access")}]),u=a.createEnum([{name:"READ",value:"READ",label:r("Read")},{name:"CHANGE",value:"ADMIN",label:r("Change")},{name:"ALL",value:"*",label:r("All")}]);function f(e,n){var r=function(e,n){var r=!1;e.roles&&e.roles.references&&_.forEach(e.roles.references,function(e){e.role.id===n&&(r=!0)});return r}(e,n);return r||(r=function(e,n){var r=!1;e.groups&&e.groups.references&&_.forEach(e.groups.references,function(e){_.forEach(e.group.roles.references,function(e){e.role.id===n&&(r=!0)})});return r}(e,n)),r}function p(e,n,r,t,u){var i=function(e,n,r,t,u){var i=!1;e.devicePermissions&&e.devicePermissions[n]&&(i=m(e.devicePermissions[n],r,t,u));return i}(e,n,r,t,u);return i||(i=function(e,n,r,t,u){var i=!1;e.groups&&e.groups.references&&_.forEach(e.groups.references,function(e){e.group.devicePermissions&&e.group.devicePermissions[n]&&(i=m(e.group.devicePermissions[n],r,t,u))});return i}(e,n,r,t,u)),i}function m(e,n,r,t){return _.some(e,_.partial(v,n,r,t))}function v(e,n,r,t){var u=!1,i=_slicedToArray(t.split(":"),3),o=i[0],a=i[1],s=i[2];return d(o,e)&&d(a,n)&&d(s,r)&&(u=!0),u}function d(e,n){return"*"===e||e===n}function h(n,e){return(e?i.when(e):s.current()).then(function(e){return _.some(n,_.partial(f,e))})}function A(n,e){return(e?i.when(e):s.current()).then(function(e){return _.every(n,_.partial(f,e))})}function y(e,n){return i.all(_.map(_.filter(e,_.identity),_.partialRight(E,n))).then(N)}function E(r,e){var t=r.id||r,n=!e;function u(e){return e||g(t,"read")}return(n?s.current():i.when(e)).then(function(e){return h(["ROLE_INVENTORY_READ","ROLE_MANAGED_OBJECT_READ"],e).then(function(n){return function(e){return e||p(n,t,"MANAGED_OBJECT","*","READ")}}(e)).then(function(n){return function(e){return e||c.isOwnerCached(r,n)}}(e)).then(n?u:_.identity)})}var g=_.memoize(function(e,n){var r=a.url("inventory/managedObjects/".concat(e)),t=R(n);return o({method:t,data:"PUT"===t?{}:void 0,headers:{"content-type":"application/json",accept:void 0},silentError:!0,url:r}).then(_.constant(!0),_.constant(!1))},function(e,n){return e+R(n)});function R(e){return"admin"===e?"PUT":"HEAD"}function O(e,n){return i.all(_.map(_.filter(e,_.identity),_.partialRight(T,n))).then(N)}function T(r,e){var t=r.id||r,n=!e;function u(e){return e||g(t,"admin")}return(n?s.current():i.when(e)).then(function(e){return h(["ROLE_INVENTORY_ADMIN","ROLE_MANAGED_OBJECT_ADMIN"],e).then(function(n){return function(e){return e||p(n,t,"MANAGED_OBJECT","*","ADMIN")}}(e)).then(function(n){return function(e){return e||c.isOwnerCached(r,n)}}(e)).then(n?u:_.identity)})}function b(e,n){var r=[];return e.anyRole&&r.push(h(e.anyRole,n)),e.allRoles&&r.push(A(e.allRoles,n)),e.readMOs&&r.push(y(M(e.readMOs),n)),e.adminMOs&&r.push(O(M(e.adminMOs),n)),i.all(r).then(N)}function M(e){return _.filter(_.map(e,function(e){return function(e){return _.isString(e)&&/^:/.test(e)}(e)?function(e){return n[e.replace(/^:/,"")]}(e):e}),_.identity)}function P(e){return e.then(function(e){return e?i.when(e):i.reject(e)})}function N(e){return _.every(e)}function D(e,n){var r={groups:[],users:[]};return _.forEach(n.groups,_.partial(I,r,e)),_.forEach(n.users,_.partial(S,r,e)),r}function I(t,e,u){_.forEach(u.devicePermissions[e],function(e){var n=L(e),r={group:{id:u.id,name:u.name},scope:n.scope,type:n.type,access:n.access};t.groups.push(r)})}function S(t,e,u){_.forEach(u.devicePermissions[e],function(e){var n=L(e),r={username:u.userName,scope:n.scope,type:n.type,access:n.access};t.users.push(r)})}function L(e){var n=e.split(":");return{scope:n[0],type:n[1],access:n[2]}}function w(e){return[e.scope,e.type,e.access].join(":")}function C(e){return _.map(e,function(e){var n=e.id.split("_").filter(function(e,n,r){return!("ROLE"===e&&0===n&&1<r.length)}),r=1<n.length?n.pop():void 0,t=n.join("_");return{id:e.id,category:t,access:r}})}return{hasRole:f,hasDevicePermission:p,hasAnyRole:h,mustHaveAnyRole:function(e,n){return P(h(e,n))},hasAllRoles:A,mustHaveAllRoles:function(e,n){return P(A(e,n))},canReadMOs:y,mustHaveReadMOs:function(e,n){return P(y(e,n))},canAdminMOs:O,mustHaveAdminMOs:function(e,n){return P(O(e,n))},isAllowed:b,mustBeAllowed:function(e,n){return P(b(e,n))},getMOPermissions:function(e){var n=e.id||e,r=a.url("".concat(l,"/").concat(n));return _.isObjectLike(n)?i.when({groups:[],users:[]}):o.get(r).then(a.getResData).then(_.partial(D,n))},setMOPermissions:function(e,n){var r=e.id||e,t=a.url("".concat(l,"/").concat(r)),u=function(e,n){var r={groups:[],users:[]};return function(t,u,e){var n=_.groupBy(e,function(e){return e.group.id});_.forEach(n,function(e,n){var r={id:n,devicePermissions:{}};r.devicePermissions[u]=_.map(e,function(e){return w(e)}),t.push(r)})}(r.groups,e,n.groups),function(t,u,e){var n=_.groupBy(e,function(e){return e.userName});_.forEach(n,function(e,n){var r={userName:n,devicePermissions:{}};r.devicePermissions[u]=_.map(e,function(e){return w(e)}),t.push(r)})}(r.users,e,n.users),r}(r,n);return o.put(t,u)},getAccessTypes:function(){return["READ","ADMIN","*"]},convertServerPermissionsToUI:C,listGlobal:function(){return e.listRoles({pageSize:2e3}).then(C)},SCOPES:t,ACCESS_TYPES:u}}e.$inject=["$routeParams","$q","$http","c8yBase","c8yUser","c8yUserGroup","c8yInventory","gettext"],angular.module("c8y.core").factory("c8yPermissions",e)}();
@@ -1 +1 @@
1
- "use strict";!function(){function r(c,a,n){var i="userPreferences";function e(r,e){var n=u(r,e);return o(e,n).then(_.partial(t,n))}function u(r,e){return r+e.userName.replace(/\./g,"__")}function o(r,e){if(l(r))return a.list({fragmentType:e}).then(function(r){return r.length?r[0]:{type:"c8y_UserPreference"}});var n=y(),t={};return t[e]=n[e],c.when(t)}function t(r,e){return e[r]}function f(r,e,n){var t=u(r,n);return o(n,t).then(_.partial(s,t,e,n))}function s(r,e,n,t){if(l(n))return t[r]=e,a.save(t);var u=y();return u[r]=e,function(r){window.localStorage.setItem(i,JSON.stringify(r))}(u),c.resolve()}function l(r){return n.hasRole(r,"ROLE_INVENTORY_READ")&&n.hasRole(r,"ROLE_INVENTORY_ADMIN")}function y(){var e=window.localStorage.getItem(i);try{e=JSON.parse(e)}catch(r){e={}}return e||{}}return{get:function(r){return n.current().then(_.partial(e,r))},set:function(r,e){return n.current().then(_.partial(f,r,e))}}}r.$inject=["$q","c8yInventory","c8yUser"],angular.module("c8y.core").factory("c8yUserPreferences",r)}();
1
+ "use strict";!function(){function e(c,a,n){var o="userPreferences";function r(e,r){var n=u(e,r);return i(r,n).then(_.partial(t,n))}function u(e,r){return e+r.userName.replace(/\./g,"__")}function i(e,r){if(l(e))return a.list({fragmentType:r}).then(function(e){return e.length?e[0]:{type:"c8y_UserPreference"}});var n=h(),t={};return t[r]=n[r],c.when(t)}function t(e,r){return r[e]}function f(e,r,n){var t=u(e,n);return i(n,t).then(_.partial(s,t,r,n))}function s(e,r,n,t){if(l(n))return t[e]=r,a.save(t);var u=h();return u[e]=r,function(e){window.localStorage.setItem(o,JSON.stringify(e))}(u),c.resolve()}function l(e){return n.hasRole(e,"ROLE_INVENTORY_READ")&&n.hasRole(e,"ROLE_INVENTORY_ADMIN")||n.hasRole(e,"ROLE_MANAGED_OBJECT_READ")&&n.hasRole(e,"ROLE_MANAGED_OBJECT_ADMIN")}function h(){var r=window.localStorage.getItem(o);try{r=JSON.parse(r)}catch(e){r={}}return r||{}}return{get:function(e){return n.current().then(_.partial(r,e))},set:function(e,r){return n.current().then(_.partial(f,e,r))}}}e.$inject=["$q","c8yInventory","c8yUser"],angular.module("c8y.core").factory("c8yUserPreferences",e)}();
@@ -1 +1 @@
1
- "use strict";!function(){function e(t,e,n,i){var r,s=this,u=e.createEnum([{name:"NO_CONVERSION",label:i("No conversion"),value:""},{name:"IMPERIAL",label:i("Imperial"),value:"imperial"},{name:"METRIC",label:i("Metric"),value:"metric"}]);_.assign(s,{UNIT_TYPES:u.values(),$doCheck:function(){_.isEqual(s.user,r)||(s.loading=!0,t.current().then(function(e){var n=_.isEqual(e.userName,_.get(s,"user.userName"));_.set(s,"visible",function(e){return t.hasRole(e,"ROLE_INVENTORY_READ")&&t.hasRole(e,"ROLE_INVENTORY_ADMIN")}(e)&&n)}),n.get("unit",s.user).then(function(e){_.isUndefined(e)?_.set(s.user,"measurementUnit",u.NO_CONVERSION):_.set(s.user,"measurementUnit",_.find(u.values(),{value:e}))}).finally(function(){s.loading=!1}),r=s.user)},tooltip:i('Selected unit conversion will be used for displaying data. Select "No conversion" to see original units sent by devices.'),loading:!1})}e.$inject=["c8yUser","c8yBase","c8yUserPreferences","gettext"],angular.module("c8y.ui").component("c8yMeasurementUnitPreference",{controller:e,controllerAs:"vm",templateUrl:":::PLUGIN_PATH:::/ui/user/measurementUnitPreference.html",bindings:{user:"="}})}();
1
+ "use strict";!function(){function e(t,e,n,i){var s,r=this,a=e.createEnum([{name:"NO_CONVERSION",label:i("No conversion"),value:""},{name:"IMPERIAL",label:i("Imperial"),value:"imperial"},{name:"METRIC",label:i("Metric"),value:"metric"}]);_.assign(r,{UNIT_TYPES:a.values(),$doCheck:function(){_.isEqual(r.user,s)||(r.loading=!0,t.current().then(function(e){var n=_.isEqual(e.userName,_.get(r,"user.userName"));_.set(r,"visible",function(e){return t.hasRole(e,"ROLE_INVENTORY_READ")&&t.hasRole(e,"ROLE_INVENTORY_ADMIN")||t.hasRole(e,"ROLE_MANAGED_OBJECT_READ")&&t.hasRole(e,"ROLE_MANAGED_OBJECT_ADMIN")}(e)&&n)}),n.get("unit",r.user).then(function(e){_.isUndefined(e)?_.set(r.user,"measurementUnit",a.NO_CONVERSION):_.set(r.user,"measurementUnit",_.find(a.values(),{value:e}))}).finally(function(){r.loading=!1}),s=r.user)},tooltip:i('Selected unit conversion will be used for displaying data. Select "No conversion" to see original units sent by devices.'),loading:!1})}e.$inject=["c8yUser","c8yBase","c8yUserPreferences","gettext"],angular.module("c8y.ui").component("c8yMeasurementUnitPreference",{controller:e,controllerAs:"vm",templateUrl:":::PLUGIN_PATH:::/ui/user/measurementUnitPreference.html",bindings:{user:"="}})}();
@@ -1 +1 @@
1
- "use strict";function _slicedToArray(n,e){return _arrayWithHoles(n)||_iterableToArrayLimit(n,e)||_unsupportedIterableToArray(n,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(n,e){if(n){if("string"==typeof n)return _arrayLikeToArray(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(n,e):void 0}}function _arrayLikeToArray(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function _iterableToArrayLimit(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,o,i,a,c=[],u=!0,d=!1;try{if(i=(t=t.call(n)).next,0===e){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=i.call(t)).done)&&(c.push(r.value),c.length!==e);u=!0);}catch(n){d=!0,o=n}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(d)throw o}}return c}}function _arrayWithHoles(n){if(Array.isArray(n))return n}!function(){function ln(n,e,o,i,a,c,u,d,l,t,r,s,f,h,p,g){var v=n("dashboards"),m=n("dashboardLists"),b="c8y_Dashboard",y={welcome:{icon:"cloud",name:p.getString("Welcome")},home:{icon:"home",name:p.getString("Home")}};function C(n){return _.map(n,function(n){return _.assign(_.get(n,b,{}),{id:n.id})})}function x(n){var e=n||{},t=_.assign(_.get(e,b,{}),{id:e.id},function(n){var t=/^c8y_Dashboard!(.+)$/;return _.pickBy(n,function(n,e){return t.test(e)})}(e));return _.set(t,"global",!!_.get(e,"c8y_Global")),function(n){var e=["templateUrl","configTemplateUrl"],t=_.map(n.children,function(n){return c.all(_.map(e,_.partial(L,n)))});return c.all(t).then(function(){return n})}(t).then(T)}function T(e){return e.children?function(n){return r.list().then(function(e){return _(n).mapValues(function(n){return R(n,e,!1)}).value()})}(e.children).then(function(n){return e.children=n,e}):e}function R(n,e,t){var r=_.cloneDeep(n),o=_.find(e,function(n){var e=n.name&&n.name===r.name,t=n.templateUrl&&n.templateUrl===r.templateUrl;return e||t});if(o){var i=o.replaceWith;return i&&(r.config=u.invoke(i.config,void 0,{oldConfig:r.config}),o=_.find(e,{name:i.component})),r.name=o.name,o.transformConfigWithContext&&(r.componentTransformConfigWithContext=o.transformConfigWithContext),o.widgetComponent?(r.widgetComponent=o.widgetComponent,delete r.templateUrl):r.templateUrl=o.templateUrl,o.configComponent?(r.configComponent=o.configComponent,delete r.configTemplateUrl):r.configTemplateUrl=o.configTemplateUrl,r}return t?null:r}function A(e){return s.canAdminMOs([e]).then(function(n){return n||(e.isFrozen=!n),e.readOnly=!n,e})}function D(n){return _.get(n,"isFrozen")}function I(n){return O(n,!0)}function E(n){return O(n,!1)}function O(n,e){return n.isFrozen=e,dn.saveAndWait(n).then(ln.clearCacheList)}function L(e,t){var n=e[t];return f.verifyPluginViewPath(n).then(function(n){return e[t]=n,e})}function w(t){return function(n){var e=_.isObjectLike(n)?n.id:n;return[b,t,e].join("!")}}var U=w("device"),P=w("group"),S=w("name"),N=w("type");function k(n){return v.put(W(n),_.cloneDeep(n))}function W(n){return _.isObjectLike(n)?n.id:n}function $(n,e){var t,r=_.assign(n||{},{fragmentType:e||b}),o=l.list(r).then(C);return e&&!n&&(t=m.get(e),o.then(function(n){0<n.length&&m.put(e,n)})),t?c.when(t):o}function j(){m.removeAll(),e.$emit("dashboard:refresh")}function G(n,e,t){var r=v.get(W(n)),o=!(t&&r)&&l.detail(n).then(d.getResData).then(x).then(A).then(k);return(r?c.when(r):o).then(V).then(M(e))}function M(t){return function(n){var e=n;return(e.deviceType||t)&&(e=function(n){return cn().then(_.partial(z,n))}(_.cloneDeep(e))),e}}function z(n,e){return c.all(_.map(n.children,function(n){return H(e,n.config)})).then(_.constant(n))}function H(e,n){var t=function(n){n.__target={id:e.id,name:e.name}};return n&&(n.device={id:e.id,name:e.name},n.datapoints&&_.forEach(n.datapoints,t),n.alarmsEventsConfigs&&_.forEach(n.alarmsEventsConfigs,t),n.options&&n.options.dataPoints&&_.forEach(n.options.dataPoints,t),n.datapointsGauge&&_.forEach(n.datapointsGauge,t),n.datapointsLabels&&_.forEach(n.datapointsLabels,t)),n}function V(t){return cn().then(function(e){return c.all(_.map(t.children,function(n){return F(e,t,n)}))}).then(_.constant(t))}function F(t,r,e){var n=e.config||{},o=_.compact([e.transformConfigWithContext,e.componentTransformConfigWithContext]);return _.reduce(o,function(n,e){return n.then(function(n){return u.invoke(e,null,{config:n,context:t,dashboard:r})})},c.resolve(n)).then(function(n){return _.assign(e,{config:n})})}function B(n){return r.list().then(function(e){return _(n).map(function(n){return R(n,e,!0)}).compact().value()})}function Y(t,n){_.forEach(n,function(n,e){t[e]&&(t[e]=n(t[e]))})}function q(n,e,t){return _.forEach(n,function(n){n.__target=J(n.__target,e,t)}),n}function J(n,e,t){return n&&n.id===t.id&&_.assign(n,_.pick(e,["id","name"])),n}function K(n){var t=["id","creationContext","readOnly"],r=/^c8y_Dashboard!/,e=_.cloneDeep(n);e.global=!!e.deviceType||e.global;var o,i=e.id,a={id:i},c=i?"update":"createConfirm";a[b]=_.pickBy(e,function(n,e){return!r.test(e)&&!_.includes(t,e)}),function(n){n[b].global&&_.assign(n,{c8y_Global:{}})}(a);var u=e.deviceType?{}:e.creationContext;return o=l[c](a,u),"update"==c&&(o=o.then(function(){return n})),"createConfirm"==c&&(o=o.then(d.getResData).then(x)),o.then(k)}function Q(n,e,t,r){var o={id:t.id},i=n(e);return o[i]=r?null:{},v.get(i)&&v.remove(i),l.save(o)}function X(n,e){return $(null,n(e))}function Z(){if(dn.forcedContext)return dn.forcedContext;var t=null,r=null;return _.forEach(["report","device","group"],function(n){var e=_.get(o,"".concat(n,"Id"));e&&(t=n,r=e)}),{context:t,id:r}}function nn(n,e){var t={templateUrl:":::PLUGIN_PATH:::/dashboardWidget/config.html",controller:"DashboardWidgetConfigController",size:"lg",resolve:{dashboard:function(){return e||{}},component:function(){return n||{}},hideTarget:function(){return e&&e.deviceType}}};return i.open(t).result}function en(n,r){var e={template:'<div ng-include="\':::PLUGIN_PATH:::/dashboard/new.html\'" ng-controller="DashboardEditCtrl"></div>',controller:["$scope","$uibModalInstance","config",function(n,e,t){n.dashboardId="new",n.modalInstance=e,n.config=t||{},n.creationContext=r}],size:"lg",resolve:{config:_.constant(n)}};return i.open(e).result}function tn(n,e){return function(n){var e={templateUrl:":::PLUGIN_PATH:::/dashboard/select.html",controller:"DashboardSelectController",size:"lg",resolve:{config:_.constant(n)}};return i.open(e).result}(angular.extend({title:h("Select dashboard"),preventNew:!0,selectLabel:h("Select"),useReports:!0},e)).then(function(t){return n.templateUrl?on(t,n):B([n]).then(function(n){var e=_slicedToArray(n,1)[0];return on(t,e)})})}var rn={};function on(n,e,t){var r=n.id||n;rn[r]=rn[r]||{children:[]};var o=rn[r],i=o.promise;return o.children.push({child:e,remove:t}),i||(o.promise=a(function(){return c.all({dashboard:G(n,!1,!0),contextObject:cn()}).then(function(n){var t=n.dashboard,r=n.contextObject;return c.all(_.map(o.children,function(e){return(e.remove?c.resolve(e.child):F(r,t,e.child)).then(function(n){t.children=an(t.children||{},n,e.remove)})})).then(_.constant(t))}).then(K)}),(i=o.promise).finally(function(){delete rn[r]})),i}function an(n,e,t){return e.id||(e.id=String(Math.random()).substr(2)),t?delete n[e.id]:n[e.id]=e,function(n){var e=0;return _(n).sortBy("position").forEach(function(n){n.position=e,e+=1}),_.cloneDeep(n)}(n)}function cn(){var e=Z();return e.id?t.detailCached(e.id,{withChildren:!1}).then(d.getResData).then(function(n){return n||{id:e.id}}):c.when({})}var un=[];var dn={list:$,save:K,saveAndWait:_.partialRight(K,!0),detail:G,detailPredefinedReadOnly:function(n,e){var t={children:{},isFrozen:!0,readOnly:!0};return B(n).then(function(n){return _.forEach(n,function(n){an(t.children,n)}),t}).then(V).then(M(e))},named:function(e,r,o){var i=function(n){return K(n).then(_.partial(Q,S,e)).then(d.getResData).then(function(n){return G(n,o)})};return $(null,S(e)).then(function(n){var e;if(n.length)e=G(_.head(n).id,o);else{var t={children:{}};e=B(r).then(function(n){return _.forEach(n,function(n){an(t.children,n)}),s.hasAnyRole(["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE"]).then(function(n){return!!n||c.reject()}).then(_.partial(i,t)).catch(_.partial(_.identity,t))})}return e})},isNamed:function(n){return _.some(_.keys(n),function(n){return/^c8y_Dashboard!name!/.test(n)})},remove:function(n){return v.remove(W(n)),e.$emit("dashboard:remove",W(n)),l.remove(n)},isLocked:D,toggleLock:function(n){return D(n)?E(n):I(n)},lock:I,unlock:E,deviceAdd:_.partial(Q,U),deviceRemove:_.partialRight(_.partial(Q,U),!0),deviceList:_.partial(X,U),deviceTypeAdd:_.partial(Q,N),deviceTypeRemove:_.partialRight(_.partial(Q,N),!0),deviceTypeList:function(n){return c.all([X(U,n.id),X(N,n.type)]).then(_.flattenDeep)},groupAdd:_.partial(Q,P),groupRemove:_.partialRight(_.partial(Q,P),!0),groupList:_.partial(X,P),getContextObject:cn,transformChildWithContext:F,updateConfigTargetsWithContext:H,addDashboard:en,copyDashboard:function(n){var e,t=function(n){var e=Z(),r=e.id;function o(n){return n.__target.id!==r}if("device"!==e.context&&"group"!==e.context)return h("Only dashboards from devices or groups can be copied");if(!_.every(n.children,function(n){var e=n.config||{},t=!0;return e.device&&e.device.id!==r&&(t=!1),e.datapoints&&_.some(e.datapoints,o)&&(t=!1),t})){if("device"===e.context)return h("Only dashboards with widgets referencing the current device can be copied.");if("group"===e.context)return h("Only dashboards with widgets referencing the current group can be copied.")}return!1}(n);if(t)return g.warning(t),!1;un=[];var r=Z();return un.push({dashboard:_.cloneDeep(n),context:r}),"device"===r.context&&(e=h('Dashboard copied. Navigate to the desired device and select "Paste dashboard"')),"group"===r.context&&(e=h('Dashboard copied. Navigate to the desired group and select "Paste dashboard"')),g.success(e),!0},pasteDashboard:function(){if(un&&un.length)return cn().then(function(n){if(!function(n){var e,t=Z(),r=n.context.context;return t.context!==r&&("device"===r&&(e=h("Device dashboards can only be copied into a device.")),"group"===r&&(e=h("Group dashboards can only be copied into a group."))),e&&g.warning(e),!e}(_.last(un)))return!1;var e=un.pop(),t=e.dashboard,r=Z();r.name=n.name;var o=dn["".concat(r.context,"Add")];_.forEach(t,function(n,e){e.match(/!/)&&delete t[e]});var i=r.context;r.context===e.context.context&&["device","group"].includes(i)&&(t=function(n,i,a){var e=_.reduce(n.children,function(n,e){var t=e.id,r=e.config,o={device:function(n){return J(n,i,a)},datapoints:function(n){return q(n,i,a)},dataPoints:function(n){return q(n,i,a)},datapointsGauge:function(n){return q(n,i,a)},datapointsLabels:function(n){return q(n,i,a)}};return r&&(Y(r,o),r.options&&Y(r.options,o)),n[t]=e,n},{});return n.children=e,n}(t,r,e.context)),t.creationContext=r,delete t.id;var a=K(t);return a.then(function(n){return o(r.id,n)}).finally(j),a})},dashboardToPaste:function(){var n=un&&un[0];return n&&n.dashboard},selectDashboard:en,editCurrentDashboard:function(t){var n={template:'<div ng-include="\':::PLUGIN_PATH:::/dashboard/new.html\'" ng-controller="DashboardEditCtrl"></div>',controller:["$scope","$uibModalInstance",function(n,e){n.modalInstance=e,n.dashboardId=_.get(t,"dashboardId")}],size:"lg"};return i.open(n).result},editChildUI:nn,addChildUI:_.partial(nn,null),restoreDefaultChildren:function(t,n,r){return B(n).then(function(n){var e=t.children;return _.forEach(_.keys(e),function(n){an(e,e[n],!0)}),_.forEach(n,function(n){an(e,n)}),K(t).then(function(n){return G(n,r)})})},getContext:Z,getContextPath:function(){var n=Z(),e="";return"group"===n.context&&(e="/group/".concat(n.id)),"device"===n.context&&(e="/device/".concat(n.id)),e},appendChild:_.partialRight(on,!1),updateChild:_.partialRight(on,!1),removeChild:_.partialRight(on,!0),clearCacheList:j,addWidgetToSelectedDashboard:tn,addWidgetToSelectedDashboardInContext:function(n){return tn(n,{inContext:!0,preventCreate:!0,useReports:!1})},addWidgetToSelectedReport:function(n){return tn(n,{onlyReports:!0,useReports:!0,title:h("Select report"),preventCreate:!0})},getIconNameObj:function(n){var e={icon:n.icon||"th",name:n.name||p.getString("Dashboard")},t=function(n){var t=/^c8y_Dashboard!name!(.+?)[-_].+$/,e=_.pickBy(n,function(n,e){return t.test(e)}),r=_.keys(e);if(0<r.length){var o=r[0].match(t);return o[1]}return null}(n),r=d.getPluginService("c8yReports");if(t){var o=y[t];o&&(e.icon=o.icon||e.icon,e.name=o.name||e.name)}return"report"===t&&r&&(e=r.getReportFromDashboard(n).then(function(n){return _.pick(n,["icon","name"])})),c.resolve(e)},hasWritePermissions:function(n){return d.hasId(n)?s.canAdminMOs([n]):s.hasAnyRole(["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE"])},VERSION:2};return _.assign(dn)}ln.$inject=["$cacheFactory","$rootScope","$routeParams","$uibModal","$timeout","$q","$injector","c8yBase","dashboardInventorySvc","c8yInventory","c8yComponents","c8yPermissions","c8yUiUtil","gettext","gettextCatalog","c8yAlert"],angular.module("c8y.parts.dashboard2").factory("dashboardSvc",ln)}();
1
+ "use strict";function _slicedToArray(n,e){return _arrayWithHoles(n)||_iterableToArrayLimit(n,e)||_unsupportedIterableToArray(n,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(n,e){if(n){if("string"==typeof n)return _arrayLikeToArray(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(n,e):void 0}}function _arrayLikeToArray(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function _iterableToArrayLimit(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,o,i,a,c=[],u=!0,d=!1;try{if(i=(t=t.call(n)).next,0===e){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=i.call(t)).done)&&(c.push(r.value),c.length!==e);u=!0);}catch(n){d=!0,o=n}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(d)throw o}}return c}}function _arrayWithHoles(n){if(Array.isArray(n))return n}!function(){function ln(n,e,o,i,a,c,u,d,l,t,r,s,f,h,p,g){var v=n("dashboards"),m=n("dashboardLists"),b="c8y_Dashboard",y={welcome:{icon:"cloud",name:p.getString("Welcome")},home:{icon:"home",name:p.getString("Home")}};function C(n){return _.map(n,function(n){return _.assign(_.get(n,b,{}),{id:n.id})})}function E(n){var e=n||{},t=_.assign(_.get(e,b,{}),{id:e.id},function(n){var t=/^c8y_Dashboard!(.+)$/;return _.pickBy(n,function(n,e){return t.test(e)})}(e));return _.set(t,"global",!!_.get(e,"c8y_Global")),function(n){var e=["templateUrl","configTemplateUrl"],t=_.map(n.children,function(n){return c.all(_.map(e,_.partial(L,n)))});return c.all(t).then(function(){return n})}(t).then(A)}function A(e){return e.children?function(n){return r.list().then(function(e){return _(n).mapValues(function(n){return T(n,e,!1)}).value()})}(e.children).then(function(n){return e.children=n,e}):e}function T(n,e,t){var r=_.cloneDeep(n),o=_.find(e,function(n){var e=n.name&&n.name===r.name,t=n.templateUrl&&n.templateUrl===r.templateUrl;return e||t});if(o){var i=o.replaceWith;return i&&(r.config=u.invoke(i.config,void 0,{oldConfig:r.config}),o=_.find(e,{name:i.component})),r.name=o.name,o.transformConfigWithContext&&(r.componentTransformConfigWithContext=o.transformConfigWithContext),o.widgetComponent?(r.widgetComponent=o.widgetComponent,delete r.templateUrl):r.templateUrl=o.templateUrl,o.configComponent?(r.configComponent=o.configComponent,delete r.configTemplateUrl):r.configTemplateUrl=o.configTemplateUrl,r}return t?null:r}function x(e){return s.canAdminMOs([e]).then(function(n){return n||(e.isFrozen=!n),e.readOnly=!n,e})}function R(n){return _.get(n,"isFrozen")}function D(n){return I(n,!0)}function O(n){return I(n,!1)}function I(n,e){return n.isFrozen=e,dn.saveAndWait(n).then(ln.clearCacheList)}function L(e,t){var n=e[t];return f.verifyPluginViewPath(n).then(function(n){return e[t]=n,e})}function N(t){return function(n){var e=_.isObjectLike(n)?n.id:n;return[b,t,e].join("!")}}var w=N("device"),U=N("group"),P=N("name"),S=N("type");function k(n){return v.put(W(n),_.cloneDeep(n))}function W(n){return _.isObjectLike(n)?n.id:n}function $(n,e){var t,r=_.assign(n||{},{fragmentType:e||b}),o=l.list(r).then(C);return e&&!n&&(t=m.get(e),o.then(function(n){0<n.length&&m.put(e,n)})),t?c.when(t):o}function j(){m.removeAll(),e.$emit("dashboard:refresh")}function M(n,e,t){var r=v.get(W(n)),o=!(t&&r)&&l.detail(n).then(d.getResData).then(E).then(x).then(k);return(r?c.when(r):o).then(H).then(G(e))}function G(t){return function(n){var e=n;return(e.deviceType||t)&&(e=function(n){return cn().then(_.partial(B,n))}(_.cloneDeep(e))),e}}function B(n,e){return c.all(_.map(n.children,function(n){return z(e,n.config)})).then(_.constant(n))}function z(e,n){var t=function(n){n.__target={id:e.id,name:e.name}};return n&&(n.device={id:e.id,name:e.name},n.datapoints&&_.forEach(n.datapoints,t),n.alarmsEventsConfigs&&_.forEach(n.alarmsEventsConfigs,t),n.options&&n.options.dataPoints&&_.forEach(n.options.dataPoints,t),n.datapointsGauge&&_.forEach(n.datapointsGauge,t),n.datapointsLabels&&_.forEach(n.datapointsLabels,t)),n}function H(t){return cn().then(function(e){return c.all(_.map(t.children,function(n){return V(e,t,n)}))}).then(_.constant(t))}function V(t,r,e){var n=e.config||{},o=_.compact([e.transformConfigWithContext,e.componentTransformConfigWithContext]);return _.reduce(o,function(n,e){return n.then(function(n){return u.invoke(e,null,{config:n,context:t,dashboard:r})})},c.resolve(n)).then(function(n){return _.assign(e,{config:n})})}function F(n){return r.list().then(function(e){return _(n).map(function(n){return T(n,e,!0)}).compact().value()})}function J(t,n){_.forEach(n,function(n,e){t[e]&&(t[e]=n(t[e]))})}function Y(n,e,t){return _.forEach(n,function(n){n.__target=q(n.__target,e,t)}),n}function q(n,e,t){return n&&n.id===t.id&&_.assign(n,_.pick(e,["id","name"])),n}function K(n){var t=["id","creationContext","readOnly"],r=/^c8y_Dashboard!/,e=_.cloneDeep(n);e.global=!!e.deviceType||e.global;var o,i=e.id,a={id:i},c=i?"update":"createConfirm";a[b]=_.pickBy(e,function(n,e){return!r.test(e)&&!_.includes(t,e)}),function(n){n[b].global&&_.assign(n,{c8y_Global:{}})}(a);var u=e.deviceType?{}:e.creationContext;return o=l[c](a,u),"update"==c&&(o=o.then(function(){return n})),"createConfirm"==c&&(o=o.then(d.getResData).then(E)),o.then(k)}function Q(n,e,t,r){var o={id:t.id},i=n(e);return o[i]=r?null:{},v.get(i)&&v.remove(i),l.save(o)}function X(n,e){return $(null,n(e))}function Z(){if(dn.forcedContext)return dn.forcedContext;var t=null,r=null;return _.forEach(["report","device","group"],function(n){var e=_.get(o,"".concat(n,"Id"));e&&(t=n,r=e)}),{context:t,id:r}}function nn(n,e){var t={templateUrl:":::PLUGIN_PATH:::/dashboardWidget/config.html",controller:"DashboardWidgetConfigController",size:"lg",resolve:{dashboard:function(){return e||{}},component:function(){return n||{}},hideTarget:function(){return e&&e.deviceType}}};return i.open(t).result}function en(n,r){var e={template:'<div ng-include="\':::PLUGIN_PATH:::/dashboard/new.html\'" ng-controller="DashboardEditCtrl"></div>',controller:["$scope","$uibModalInstance","config",function(n,e,t){n.dashboardId="new",n.modalInstance=e,n.config=t||{},n.creationContext=r}],size:"lg",resolve:{config:_.constant(n)}};return i.open(e).result}function tn(n,e){return function(n){var e={templateUrl:":::PLUGIN_PATH:::/dashboard/select.html",controller:"DashboardSelectController",size:"lg",resolve:{config:_.constant(n)}};return i.open(e).result}(angular.extend({title:h("Select dashboard"),preventNew:!0,selectLabel:h("Select"),useReports:!0},e)).then(function(t){return n.templateUrl?on(t,n):F([n]).then(function(n){var e=_slicedToArray(n,1)[0];return on(t,e)})})}var rn={};function on(n,e,t){var r=n.id||n;rn[r]=rn[r]||{children:[]};var o=rn[r],i=o.promise;return o.children.push({child:e,remove:t}),i||(o.promise=a(function(){return c.all({dashboard:M(n,!1,!0),contextObject:cn()}).then(function(n){var t=n.dashboard,r=n.contextObject;return c.all(_.map(o.children,function(e){return(e.remove?c.resolve(e.child):V(r,t,e.child)).then(function(n){t.children=an(t.children||{},n,e.remove)})})).then(_.constant(t))}).then(K)}),(i=o.promise).finally(function(){delete rn[r]})),i}function an(n,e,t){return e.id||(e.id=String(Math.random()).substr(2)),t?delete n[e.id]:n[e.id]=e,function(n){var e=0;return _(n).sortBy("position").forEach(function(n){n.position=e,e+=1}),_.cloneDeep(n)}(n)}function cn(){var e=Z();return e.id?t.detailCached(e.id,{withChildren:!1}).then(d.getResData).then(function(n){return n||{id:e.id}}):c.when({})}var un=[];var dn={list:$,save:K,saveAndWait:_.partialRight(K,!0),detail:M,detailPredefinedReadOnly:function(n,e){var t={children:{},isFrozen:!0,readOnly:!0};return F(n).then(function(n){return _.forEach(n,function(n){an(t.children,n)}),t}).then(H).then(G(e))},named:function(e,r,o){var i=function(n){return K(n).then(_.partial(Q,P,e)).then(d.getResData).then(function(n){return M(n,o)})};return $(null,P(e)).then(function(n){var e;if(n.length)e=M(_.head(n).id,o);else{var t={children:{}};e=F(r).then(function(n){return _.forEach(n,function(n){an(t.children,n)}),s.hasAnyRole(["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE","ROLE_MANAGED_OBJECT_ADMIN","ROLE_MANAGED_OBJECT_CREATE"]).then(function(n){return!!n||c.reject()}).then(_.partial(i,t)).catch(_.partial(_.identity,t))})}return e})},isNamed:function(n){return _.some(_.keys(n),function(n){return/^c8y_Dashboard!name!/.test(n)})},remove:function(n){return v.remove(W(n)),e.$emit("dashboard:remove",W(n)),l.remove(n)},isLocked:R,toggleLock:function(n){return R(n)?O(n):D(n)},lock:D,unlock:O,deviceAdd:_.partial(Q,w),deviceRemove:_.partialRight(_.partial(Q,w),!0),deviceList:_.partial(X,w),deviceTypeAdd:_.partial(Q,S),deviceTypeRemove:_.partialRight(_.partial(Q,S),!0),deviceTypeList:function(n){return c.all([X(w,n.id),X(S,n.type)]).then(_.flattenDeep)},groupAdd:_.partial(Q,U),groupRemove:_.partialRight(_.partial(Q,U),!0),groupList:_.partial(X,U),getContextObject:cn,transformChildWithContext:V,updateConfigTargetsWithContext:z,addDashboard:en,copyDashboard:function(n){var e,t=function(n){var e=Z(),r=e.id;function o(n){return n.__target.id!==r}if("device"!==e.context&&"group"!==e.context)return h("Only dashboards from devices or groups can be copied");if(!_.every(n.children,function(n){var e=n.config||{},t=!0;return e.device&&e.device.id!==r&&(t=!1),e.datapoints&&_.some(e.datapoints,o)&&(t=!1),t})){if("device"===e.context)return h("Only dashboards with widgets referencing the current device can be copied.");if("group"===e.context)return h("Only dashboards with widgets referencing the current group can be copied.")}return!1}(n);if(t)return g.warning(t),!1;un=[];var r=Z();return un.push({dashboard:_.cloneDeep(n),context:r}),"device"===r.context&&(e=h('Dashboard copied. Navigate to the desired device and select "Paste dashboard"')),"group"===r.context&&(e=h('Dashboard copied. Navigate to the desired group and select "Paste dashboard"')),g.success(e),!0},pasteDashboard:function(){if(un&&un.length)return cn().then(function(n){if(!function(n){var e,t=Z(),r=n.context.context;return t.context!==r&&("device"===r&&(e=h("Device dashboards can only be copied into a device.")),"group"===r&&(e=h("Group dashboards can only be copied into a group."))),e&&g.warning(e),!e}(_.last(un)))return!1;var e=un.pop(),t=e.dashboard,r=Z();r.name=n.name;var o=dn["".concat(r.context,"Add")];_.forEach(t,function(n,e){e.match(/!/)&&delete t[e]});var i=r.context;r.context===e.context.context&&["device","group"].includes(i)&&(t=function(n,i,a){var e=_.reduce(n.children,function(n,e){var t=e.id,r=e.config,o={device:function(n){return q(n,i,a)},datapoints:function(n){return Y(n,i,a)},dataPoints:function(n){return Y(n,i,a)},datapointsGauge:function(n){return Y(n,i,a)},datapointsLabels:function(n){return Y(n,i,a)}};return r&&(J(r,o),r.options&&J(r.options,o)),n[t]=e,n},{});return n.children=e,n}(t,r,e.context)),t.creationContext=r,delete t.id;var a=K(t);return a.then(function(n){return o(r.id,n)}).finally(j),a})},dashboardToPaste:function(){var n=un&&un[0];return n&&n.dashboard},selectDashboard:en,editCurrentDashboard:function(t){var n={template:'<div ng-include="\':::PLUGIN_PATH:::/dashboard/new.html\'" ng-controller="DashboardEditCtrl"></div>',controller:["$scope","$uibModalInstance",function(n,e){n.modalInstance=e,n.dashboardId=_.get(t,"dashboardId")}],size:"lg"};return i.open(n).result},editChildUI:nn,addChildUI:_.partial(nn,null),restoreDefaultChildren:function(t,n,r){return F(n).then(function(n){var e=t.children;return _.forEach(_.keys(e),function(n){an(e,e[n],!0)}),_.forEach(n,function(n){an(e,n)}),K(t).then(function(n){return M(n,r)})})},getContext:Z,getContextPath:function(){var n=Z(),e="";return"group"===n.context&&(e="/group/".concat(n.id)),"device"===n.context&&(e="/device/".concat(n.id)),e},appendChild:_.partialRight(on,!1),updateChild:_.partialRight(on,!1),removeChild:_.partialRight(on,!0),clearCacheList:j,addWidgetToSelectedDashboard:tn,addWidgetToSelectedDashboardInContext:function(n){return tn(n,{inContext:!0,preventCreate:!0,useReports:!1})},addWidgetToSelectedReport:function(n){return tn(n,{onlyReports:!0,useReports:!0,title:h("Select report"),preventCreate:!0})},getIconNameObj:function(n){var e={icon:n.icon||"th",name:n.name||p.getString("Dashboard")},t=function(n){var t=/^c8y_Dashboard!name!(.+?)[-_].+$/,e=_.pickBy(n,function(n,e){return t.test(e)}),r=_.keys(e);if(0<r.length){var o=r[0].match(t);return o[1]}return null}(n),r=d.getPluginService("c8yReports");if(t){var o=y[t];o&&(e.icon=o.icon||e.icon,e.name=o.name||e.name)}return"report"===t&&r&&(e=r.getReportFromDashboard(n).then(function(n){return _.pick(n,["icon","name"])})),c.resolve(e)},hasWritePermissions:function(n){return d.hasId(n)?s.canAdminMOs([n]):s.hasAnyRole(["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE","ROLE_MANAGED_OBJECT_ADMIN","ROLE_MANAGED_OBJECT_CREATE"])},VERSION:2};return _.assign(dn)}ln.$inject=["$cacheFactory","$rootScope","$routeParams","$uibModal","$timeout","$q","$injector","c8yBase","dashboardInventorySvc","c8yInventory","c8yComponents","c8yPermissions","c8yUiUtil","gettext","gettextCatalog","c8yAlert"],angular.module("c8y.parts.dashboard2").factory("dashboardSvc",ln)}();
@@ -1 +1 @@
1
- "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _regeneratorRuntime(){_regeneratorRuntime=function(){return u};var u={},e=Object.prototype,p=e.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},t="function"==typeof Symbol?Symbol:{},a=t.iterator||"@@iterator",n=t.asyncIterator||"@@asyncIterator",r=t.toStringTag||"@@toStringTag";function i(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{i({},"")}catch(e){i=function(e,t,n){return e[t]=n}}function s(e,t,n,r){var a=t&&t.prototype instanceof m?t:m,i=Object.create(a.prototype),u=new w(r||[]);return o(i,"_invoke",{value:function(i,u,o){var s="suspendedStart";return function(e,t){if("executing"===s)throw new Error("Generator is already running");if("completed"===s){if("throw"===e)throw t;return E()}for(o.method=e,o.arg=t;;){var n=o.delegate;if(n){var r=T(n,o);if(r){if(r===c)continue;return r}}if("next"===o.method)o.sent=o._sent=o.arg;else if("throw"===o.method){if("suspendedStart"===s)throw s="completed",o.arg;o.dispatchException(o.arg)}else"return"===o.method&&o.abrupt("return",o.arg);s="executing";var a=l(i,u,o);if("normal"===a.type){if(s=o.done?"completed":"suspendedYield",a.arg===c)continue;return{value:a.arg,done:o.done}}"throw"===a.type&&(s="completed",o.method="throw",o.arg=a.arg)}}}(e,n,u)}),i}function l(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}u.wrap=s;var c={};function m(){}function f(){}function d(){}var y={};i(y,a,function(){return this});var g=Object.getPrototypeOf,_=g&&g(g(R([])));_&&_!==e&&p.call(_,a)&&(y=_);var v=d.prototype=m.prototype=Object.create(y);function h(e){["next","throw","return"].forEach(function(t){i(e,t,function(e){return this._invoke(t,e)})})}function b(s,c){var t;o(this,"_invoke",{value:function(n,r){function e(){return new c(function(e,t){!function t(e,n,r,a){var i=l(s[e],s,n);if("throw"!==i.type){var u=i.arg,o=u.value;return o&&"object"==_typeof(o)&&p.call(o,"__await")?c.resolve(o.__await).then(function(e){t("next",e,r,a)},function(e){t("throw",e,r,a)}):c.resolve(o).then(function(e){u.value=e,r(u)},function(e){return t("throw",e,r,a)})}a(i.arg)}(n,r,e,t)})}return t=t?t.then(e,e):e()}})}function T(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,T(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),c;var a=l(r,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,c;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,c):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,c)}function M(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(M,this),this.reset(!0)}function R(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n<t.length;)if(p.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return o(v,"constructor",{value:f.prototype=d,configurable:!0}),o(d,"constructor",{value:f,configurable:!0}),f.displayName=i(d,r,"GeneratorFunction"),u.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===f||"GeneratorFunction"===(t.displayName||t.name))},u.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,i(e,r,"GeneratorFunction")),e.prototype=Object.create(v),e},u.awrap=function(e){return{__await:e}},h(b.prototype),i(b.prototype,n,function(){return this}),u.AsyncIterator=b,u.async=function(e,t,n,r,a){void 0===a&&(a=Promise);var i=new b(s(e,t,n,r),a);return u.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},h(v),i(v,r,"Generator"),i(v,a,function(){return this}),i(v,"toString",function(){return"[object Generator]"}),u.keys=function(e){var n=Object(e),r=[];for(var t in n)r.push(t);return r.reverse(),function e(){for(;r.length;){var t=r.pop();if(t in n)return e.value=t,e.done=!1,e}return e.done=!0,e}},u.values=R,w.prototype={constructor:w,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&p.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function e(e,t){return i.type="throw",i.arg=n,r.next=e,t&&(r.method="next",r.arg=void 0),!!t}for(var t=this.tryEntries.length-1;0<=t;--t){var a=this.tryEntries[t],i=a.completion;if("root"===a.tryLoc)return e("end");if(a.tryLoc<=this.prev){var u=p.call(a,"catchLoc"),o=p.call(a,"finallyLoc");if(u&&o){if(this.prev<a.catchLoc)return e(a.catchLoc,!0);if(this.prev<a.finallyLoc)return e(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return e(a.catchLoc,!0)}else{if(!o)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return e(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;0<=n;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&p.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var a=r;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,c):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),c},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),S(n),c}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;S(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:R(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),c}},u}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,u,o=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw a}}return o}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function asyncGeneratorStep(e,t,n,r,a,i,u){try{var o=e[i](u),s=o.value}catch(e){return void n(e)}o.done?t(s):Promise.resolve(s).then(r,a)}function _asyncToGenerator(o){return function(){var e=this,u=arguments;return new Promise(function(t,n){var r=o.apply(e,u);function a(e){asyncGeneratorStep(r,t,n,a,i,"next",e)}function i(e){asyncGeneratorStep(r,t,n,a,i,"throw",e)}a(void 0)})}}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?Object(arguments[e]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&r.push.apply(r,Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),r.forEach(function(e){_defineProperty(t,e,n[e])})}return t}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof(t)?t:String(t)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);var r=n.call(e,t||"default");if("object"!==_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}!function(){function e(u,s,e,c,t,p,a,r,n,o,i){var l={name:"feature-fieldbus4"},m=e.has("FIELDBUS_UI_VERSION")?e.get("FIELDBUS_UI_VERSION"):4,f="c8y_IsDeviceType",d="c8y_ModbusDeviceType",y="%%",g=c.createEnum(["DISCRETE_IO","REGISTER"]),v=c.createEnum([{name:"FPORT",label:"FPort"},{name:"PAYLOAD",label:"Payload"}]),h=c.dataFilePath("devicetypes"),b={common:{name:null},deviceType:{c8y_Coils:[],c8y_Registers:[]},element:{number:null},discreteIO:{},discreteOutput:{input:!1},discreteInput:{input:!0},register:{multiplier:1,divisor:1,offset:0,decimalPlaces:0,startBit:0,noBits:16,unit:"",signed:!1},canbusRegister:{noBits:64,offset:0},canopenRegister:{},holdingRegister:{input:!1},inputRegister:{input:!0}},T=[],M=[];return{ElementType:g,MessageIdSources:v,metaDefaults:{discreteIO:{enumValues:[{value:0,label:"0"},{value:1,label:"1"}]}},registerFeaturesManifest:function(e){var t=u.resolve(e);T.push(t),t.then(function(e){e&&M.push(e)})},areAnyFeaturesManifestsRegistered:function(){return S().then(function(e){return 0<e.length})},getFeaturesManifestsAsync:S,getFeaturesManifests:function(){return M},getDeviceTypeFeatures:Ye,getElementTypeLabel:function(e,t){var n,r=_.get(e,"meta.type");if(r){var a=_.get(e,"input");if(r===g.DISCRETE_IO)n=o(a?"Discrete input":"Coil (discrete output)");else if(r===g.REGISTER)if(a)n=o("Input register");else{var i=Ye(t);n=_.get(i,"holdingRegisters.elementTypeLabel",o("Holding register"))}}return n},getFieldbusVersion:L,getEmptyDeviceType:function(){var e=b.common,t=b.deviceType;return _.cloneDeep(_objectSpread({},e,t))},getAvailableDeviceTypes:function(e){return w.apply(this,arguments)},getDeviceTypeFromDevice:function(e){var t=_.flatten(_.map(M,"deviceFragments")),n=_.head(_.compact(_.at(e,t))),r=_.get(n,"type"),a=r&&r.match(/\/inventory\/managedObjects\/(\d+)/),i=_.nth(a,1);if(i)return R(i);return u.resolve(null)},getFieldbusVersionFromDevice:function(e){var t=_.map(M,"deviceConfiguration.fragment"),n=_.head(_.compact(_.at(e,t)));return _.get(n,"maxFieldbusVersion",4)},getDeviceType:R,save:A,exportDeviceTypeAndSaveAs:function(e){var t="".concat(e.name,".json"),n=JSON.stringify(function(e){return e.c8y_ModbusDeviceTypeInfo=function(e){return _.omit(_objectSpread({},_.get(e,"c8y_ModbusDeviceTypeInfo",{}),{name:e.name,minFieldbusUI:m,fieldbusType:e.fieldbusType}),["id","category","description"])}(e),e.c8y_Coils=_.map(e.c8y_Coils,ae),e.c8y_Registers=_.map(e.c8y_Registers,ae),_.pick(e,["c8y_ModbusDeviceTypeInfo","c8y_Coils","c8y_Registers","c8y_useServerTime","c8y_MessageIdConfiguration"])}(e),null,2),r=new Blob([n],{type:"application/json"});window.saveAs(r,t)},importDeviceTypeWithUI:function(){return n({component:"c8yImportDeviceTypeModal"}).then(A)},getPredefinedDeviceTypeInfos:function(){return ie.apply(this,arguments)},isDeviceTypeSupported:se,isDeviceTypeSupportedAsync:function(n){return S().then(function(e){return _.map(e,"fieldbusType")}).then(function(e){var t=Ke(n);return _.includes(e,t)})},getPredefinedDeviceType:Ze,downloadPredefinedDeviceTypeAndSaveAs:function(e){return ce.apply(this,arguments)},upgradeDeviceType:I,getElementsWithMeta:function(t){var e=_.get(t,"c8y_Coils",[]),n=_.get(t,"c8y_Registers",[]);return _.union(_.map(e,function(e){return pe(e)}),_.map(n,function(e){return Te(e,t)}))},addDiscreteIOsMeta:function(e){if(e)return e.c8y_Coils=_.map(e.c8y_Coils,pe),e;return},addDiscreteIOMeta:pe,removeDiscreteIOMeta:function(e){var t=e;t.meta&&(t=_.flow([ge,_e,ve,he,be])(t),_.unset(t,"meta"));return t},addRegistersMeta:function(t){if(t)return t.c8y_Registers=_.map(t.c8y_Registers,function(e){return Te(e,t)}),t;return},addRegisterMeta:Te,removeRegisterMeta:function(e){var t=e;e.meta&&(t=_.flow([Ue,ke,Ne,Le,Pe,Ve,Be,Fe,Ge,$e])(e),_.unset(t,"meta"));return t},removeAllElements:function(e){e.c8y_Registers=[],e.c8y_Coils=[]},getElementRefId:function(e){var t=_.compact(We(e));return _.head(t)},findElementBestMatchingRefId:function(e,t,n){return _(e).chain().map(function(e){return{score:function(e,t,n){var r=e.meta.type.value===n,a=We(e),i=_.findIndex(a,_.negate(_.isUndefined)),u=_.indexOf(a,t);return r&&0<=u?i-u:void 0}(e,t,n),element:e}}).reject(function(e){return _.isUndefined(e.score)}).orderBy("score").head().get("element").value()},getDiscreteOutputsCategorized:function(e){return _(e.c8y_Coils).reject("input").groupBy(Je).value()},getDiscreteInputsCategorized:function(e){return _(e.c8y_Coils).filter("input").groupBy(Je).value()},getHoldingRegistersCategorized:function(e){return _(e.c8y_Registers).reject("input").groupBy(Je).value()},getInputRegistersCategorized:function(e){return _(e.c8y_Registers).filter("input").groupBy(Je).value()},getEmptyDiscreteOutput:function(){return _.cloneDeep(_objectSpread({},b.common,b.element,b.discreteIO,b.discreteOutput))},getEmptyDiscreteInput:function(){return _.cloneDeep(_objectSpread({},b.common,b.element,b.discreteIO,b.discreteInput))},getEmptyHoldingRegister:function(e){return"canbus"!==e.fieldbusType?"canopen"!==e.fieldbusType?_.cloneDeep(_objectSpread({},b.common,b.element,b.register,b.holdingRegister)):_.cloneDeep(_objectSpread({},b.common,b.canopenRegister)):_.cloneDeep(_objectSpread({},b.common,b.element,b.register,b.canbusRegister,b.holdingRegister))},getEmptyInputRegister:function(){return _.cloneDeep(_objectSpread({},b.common,b.element,b.register,b.inputRegister))},editDiscreteIOWithUI:function(e,t){return n({component:"c8yConfigureDiscreteIOModal",title:ze(e),resolve:_objectSpread({title:function(){return ze(e)}},qe(e,t.c8y_Coils,t))})},editRegisterWithUI:function(e,t){return n({component:"c8yConfigureRegisterModal",resolve:_objectSpread({title:function(){return function(e,t){var n=Ye(t);if(e.input)return e.name?i.getString('Edit input register: "{{name}}"',e):o("New input register");if(e.name)return i.getString(_.get(n,"holdingRegisters.editRegisterModalTitle",o('Edit holding register: "{{name}}"')),e);return _.get(n,"holdingRegisters.newRegisterModalTitle",o("New holding register"))}(e,t)}},qe(e,t.c8y_Registers,t))})},addEmptyEnumValue:function(e){e.meta.enumValues=e.meta.enumValues||[],e.meta.enumValues.push({value:null,label:null})},removeEnumValue:function(e,t){e.meta.enumValues=_.without(e.meta.enumValues,t)},areOverlappingRegisters:function(e,t,n){var r=Qe(e,n),a=Qe(t,n),i=Math.max(r.start,a.start),u=Math.min(r.end,a.end);return i<=u},getValuesRange:Ae,openFieldbusSelector:function(e){return n({component:"c8ySelectFieldbusPropertyModal",resolve:{modalParams:function(){return _.defaults(e,{})}}})},downloadPredefinedDeviceTypeHref:function(e){return Xe.apply(this,arguments)},predefinedDeviceTypeHrefFilename:function(e){return"".concat(e.id,".json")},isFieldbusDevice:function(t){return _.some(M,function(e){return _.some(e.deviceFragments,function(e){return _.has(t,e)})})},isFeatureFieldbus4Available:function(){return t.isSubscribed(l)},addElementId:V};function S(){return u.all(T).then(_.compact)}function w(){return(w=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var n,r,a,i,u,o=arguments;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=1<o.length&&void 0!==o[1]?o[1]:{},r=2<o.length?o[2]:void 0,!0,a={__and:[{__or:[{__has:f},{type:d}]},{fieldbusType:{__in:_.map(M,"fieldbusType")}}]},_.isEmpty(t)||(a.__and=[].concat(_toConsumableArray(a.__and),[t])),i=c.createListMapper(function(e){return I(e)}),e.next=8,p.listQuery(a,n,!0,r).then(i);case 8:return u=e.sent,e.abrupt("return",u);case 10:case"end":return e.stop()}},e)}))).apply(this,arguments)}function R(e){return E.apply(this,arguments)}function E(){return(E=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var n;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=c,e.next=3,p.detail(t);case 3:return e.t1=e.sent,n=e.t0.getResData.call(e.t0,e.t1),e.abrupt("return",I(n));case 6:case"end":return e.stop()}},e)}))).apply(this,arguments)}function I(e){return _.flow([O,D,j,k,N])(e)}function O(e){return _.forEach(e.c8y_Coils,function(e){!e.enumValues&&e.statusMapping&&_.isArray(e.statusMapping.enumValues)&&(e.enumValues={0:e.statusMapping.enumValues[0],1:e.statusMapping.enumValues[1]},_.unset(e,"statusMapping.enumValues")),_.isUndefined(e.input)&&(e.input=b.discreteOutput.input)}),e}function D(e){var r=Ye(e);return _.forEach(e.c8y_Registers,function(e){var t=e.input?"inputRegisters":"holdingRegisters",n=_.get(r,t,{});_.get(n,"startBit")&&_.defaults(e,{startBit:b.register.startBit}),_.get(n,"noBits")&&_.defaults(e,{noBits:b.register.noBits}),_.get(n,"options.signed")&&_.defaults(e,{signed:b.register.signed}),!e.unit&&e.measurementMapping&&e.measurementMapping.unit&&(e.unit=e.measurementMapping.unit,_.unset(e,"measurementMapping.unit")),_.isUndefined(e.input)&&(e.input=b.holdingRegister.input)}),e}function j(e){return e.fieldbusType=Ke(e),e}function A(e){return x.apply(this,arguments)}function x(){return(x=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var n;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=_.flow([U,k,P,B,F,G,N,C])(t),e.abrupt("return",p.save(n).then(c.getResData).then(function(e){return t.id?e:ne(e).then(function(){return e})}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function C(e){return p.addGlobalFlag(e,!0)}function U(e){if(!e.type){var t=Ye(e);e.type=_.get(t,"type",d)}return e}function k(e){return _.set(e,f,{})}function N(e){return _.set(e,"fieldbusVersion",L(e))}function L(t){var e=Ye(t).versions,n=_.findLast(e,function(e){return _.some(e.checks,function(e){return e(t)})});return _.get(n,"number",4)}function P(e){return e.c8y_Coils=_.map(e.c8y_Coils,V),e.c8y_Registers=_.map(e.c8y_Registers,V),e}function V(e){return e.id||(e.id=String(Math.random()).substr(2)),e}function B(e){return e.c8y_Coils=_.orderBy(e.c8y_Coils,["input","number"]),e.c8y_Registers=_.orderBy(e.c8y_Registers,["input","number","startBit","index","subIndex"]),e}function F(e){var t=Ye(e);return!!_.get(t,"configuration.messageIdConfiguration.length")&&(e.c8y_MessageTypes=function(n){return _.reduce(["c8y_Registers","c8y_Coils"],function(e,t){return _.merge(e,function(t,r){var e=_.groupBy(t[r],"messageTypeId"),n=_.mapValues(e,function(e){return _.map(e,function(e){return _.indexOf(t[r],e)})});return _.reduce(n,function(e,t,n){return e[n]={},e[n][r]=t,e},{})}(n,t))},{})}(e)),e}function G(e){var t=function(e){var t=Ye(e).customizeSmartRestTemplates||_.identity,n={requestTemplates:_.flattenDeep([function(e){return{msgId:100,method:"PUT",contentType:"application/vnd.com.nsn.cumulocity.managedObject+json",placeholder:y,resourceUri:"/inventory/managedObjects/".concat(y),templateString:X([{key:"c8y_CoilStatus",value:new te($(e.c8y_Coils).map(function(e){return{key:e.name,value:y,raw:!0}}).value())}]),values:["UNSIGNED"].concat(_toConsumableArray($(e.c8y_Coils).map(function(){return"UNSIGNED"}).value()))}}(e),function(e){return{msgId:101,method:"PUT",contentType:"application/vnd.com.nsn.cumulocity.managedObject+json",placeholder:y,resourceUri:"/inventory/managedObjects/".concat(y),templateString:X([{key:"c8y_RegisterStatus",value:new te($(e.c8y_Registers).map(function(e){return{key:e.name,value:y,raw:!0}}).value())}]),values:["UNSIGNED"].concat(_toConsumableArray($(e.c8y_Registers).map(function(){return"NUMBER"}).value()))}}(e),[W(102,"EXECUTING"),W(103,"SUCCESSFUL"),W(104,"FAILED")],function(e){return _.flow([H,Y,K])({deviceType:e,msgId:300,templates:[]}).templates}(e)]),responseTemplates:_.flattenDeep([{msgId:200,condition:"$.c8y_SetCoil",pattern:["$.id","$.c8y_SetCoil.address","$.c8y_SetCoil.input","$.c8y_SetCoil.coil","$.c8y_SetCoil.value"]},{msgId:201,condition:"$.c8y_SetRegister",pattern:["$.id","$.c8y_SetRegister.ipAddress","$.c8y_SetRegister.address","$.c8y_SetRegister.input","$.c8y_SetRegister.register","$.c8y_SetRegister.startBit","$.c8y_SetRegister.noBits","$.c8y_SetRegister.value"]},{msgId:202,condition:"$.c8y_ModbusDevice",pattern:["$.id","$.deviceId","$.c8y_ModbusDevice.id","$.c8y_ModbusDevice.address","$.c8y_ModbusDevice.type","$.c8y_ModbusDevice.protocol"]},{msgId:203,condition:"$.c8y_ModbusSource",pattern:["$.id"]}])};return t(n,e)}(e);return _.set(e,"com_cumulocity_model_smartrest_SmartRestTemplate",t)}function $(e){return _(e).filter("statusMapping.status")}function W(e,t){return{msgId:e,method:"PUT",contentType:"application/vnd.com.nsn.cumulocity.operation+json",placeholder:y,resourceUri:"/devicecontrol/operations/".concat(y),templateString:X({status:t}),values:["UNSIGNED"]}}function H(e){var t=e.deviceType,n=e.msgId,r=e.templates,a=_.filter(t.c8y_Coils,"alarmMapping"),i=_.filter(t.c8y_Registers,"alarmMapping"),u=Ye(t),o=u.getCoilSource||z,s=u.getRegisterSource||q,c=n;return _.forEach(a,function(e){r.push(J(c,t,e.alarmMapping,o(e))),e.alarmMapping.raiseAlarmTemplate=c,c+=1}),_.forEach(i,function(e){r.push(J(c,t,e.alarmMapping,s(e))),e.alarmMapping.raiseAlarmTemplate=c,c+=1}),{deviceType:t,templates:r,msgId:c}}function J(e,t,n,r){return{msgId:e,method:"POST",contentType:"application/vnd.com.nsn.cumulocity.alarm+json",accept:"application/vnd.com.nsn.cumulocity.alarm+json",placeholder:y,resourceUri:"/alarm/alarms",templateString:X([{key:"source",value:{id:y}},{key:"type",value:n.type},{key:"status",value:a.status.ACTIVE},{key:"severity",value:n.severity},{key:"time",value:y},{key:"text",value:n.text},{key:r.key,value:r.value}]),values:["UNSIGNED",Q(t)]}}function z(e){return{key:"c8y_ModbusSource",value:{coil:_.pick(e,"input","number")}}}function q(e){return{key:"c8y_ModbusSource",value:{register:_.pick(e,["input","number","startBit","noBits"])}}}function Y(e){var r=e.deviceType,t=e.msgId,a=e.templates,n=_([].concat(_toConsumableArray(r.c8y_Coils),_toConsumableArray(r.c8y_Registers))).filter("measurementMapping").groupBy("measurementMapping.type").value(),i=t;return _.forEach(n,function(e,t){var n=_.map(e,function(e){return _.set(e.measurementMapping,"unit",e.unit||e.measurementMapping.unit)});a.push(function(e,t,n,i){return{msgId:e,method:"POST",contentType:"application/vnd.com.nsn.cumulocity.measurement+json",placeholder:y,resourceUri:"/measurement/measurements",templateString:X(function(){var r=n,a=_defineProperty({source:{id:y},time:y,type:r},r,{});return _.forEach(i,function(e){var t=e.series,n=e.unit;a[r][t]={value:"%n",unit:n}}),a}()),values:["UNSIGNED",Q(t)].concat(_toConsumableArray(_.map(i,function(){return"NUMBER"})))}}(i,r,t,n)),_.forEach(n,function(e){e.sendMeasurementTemplate=i,_.unset(e,"unit")}),i+=1}),{deviceType:r,templates:a,msgId:i}}function K(e){var t=e.deviceType,n=e.msgId,r=e.templates,a=[].concat(_toConsumableArray(t.c8y_Coils),_toConsumableArray(t.c8y_Registers)),i=n;return _.forEach(a,function(e){_.isUndefined(e.eventMapping)||(r.push(function(e,t,n,r){return{msgId:e,method:"POST",contentType:"application/vnd.com.nsn.cumulocity.event+json",placeholder:y,resourceUri:"/event/events",templateString:X([{key:"source",value:{id:y}},{key:"time",value:y},{key:"type",value:r.type},{key:"text",value:r.text},{key:n.name,value:y,raw:!0}]),values:["UNSIGNED",Q(t),"NUMBER"]}}(i,t,e,e.eventMapping)),e.eventMapping.eventTemplate=i,i+=1)}),{deviceType:t,templates:r,msgId:i}}function Q(e){return e.c8y_useServerTime?"NOW":"DATE"}function X(e,t){var n;return e instanceof te?n=Z(e.kvObj):_.isArray(e)?n=Z(e):_.isObjectLike(e)&&(n=angular.toJson(e)),n=n.replace(/"%n"/g,t||y)}function Z(e){var t=_.map(e,ee);return"{".concat(t.join(","),"}")}function ee(e){var t,n=e.key,r=e.value,a=e.raw,i={};return(t=r instanceof te?(i[n]=":::INNER_OBJECT_STRING:::",JSON.stringify(i).replace('":::INNER_OBJECT_STRING:::"',Z(r.kvObj))):a?(i[n]=":::RAW_VALUE:::",JSON.stringify(i).replace('":::RAW_VALUE:::"',r)):(i[n]=r,JSON.stringify(i))).substr(1,t.length-2)}function te(e){this.kvObj=e}function ne(e){return re.apply(this,arguments)}function re(){return(re=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var n;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,r.createIdentity(t,{type:"c8y_SmartRestDeviceIdentifier",externalId:t.name},{silentError:!0});case 3:return e.abrupt("return",e.sent);case 6:return e.prev=6,e.t0=e.catch(0),n=u.reject.bind(u,{errorMessage:e.t0.data.message}),e.abrupt("return",p.remove(t).then(n,n));case 10:case"end":return e.stop()}},e,null,[[0,6]])}))).apply(this,arguments)}function ae(e){return e.eventMapping&&(e.eventMapping=_.omit(e.eventMapping,["eventTemplate"])),e.alarmMapping&&(e.alarmMapping=_.omit(e.alarmMapping,["raiseAlarmTemplate"])),e.measurementMapping&&(e.measurementMapping=_.omit(e.measurementMapping,["sendMeasurementTemplate"])),_.omit(e,["id","originalName","originalNumber","originalStartBit","meta"])}function ie(){return(ie=_asyncToGenerator(_regeneratorRuntime().mark(function e(){var n,r;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0,t=tt(),n=t&&_.map(t)){e.next=8;break}return r="".concat(h,"/index.json"),e.t0=c,e.next=6,s.get(r);case 6:e.t1=e.sent,n=e.t0.getResData.call(e.t0,e.t1);case 8:return e.abrupt("return",_.flow([ue,oe])(n));case 9:case"end":return e.stop()}var t},e)}))).apply(this,arguments)}function ue(e){return _.filter(e,function(e){return se(e)})}function oe(e){return _.filter(e,function(e){return e.minFieldbusUI<=m})}function se(e){var t=_.map(M,"fieldbusType"),n=Ke(e);return _.includes(t,n)}function ce(){return(ce=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var n,r,a,i,u,o;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n="".concat(t,".json"),r="predefinedDeviceTypesUrl/".concat(n),e.next=4,s.get(r);case 4:a=e.sent,i=JSON.stringify(a.data,null,2),u=a.headers("Content-Type"),o=new Blob([i],{type:u}),window.saveAs(o,n);case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}function pe(e){return e.meta=e.meta||{},_.flow([le,me,fe,de,ye])(e)}function le(e){return e.meta.type=e.meta.type||g.DISCRETE_IO,e}function me(e){return e.meta.enumType=e.meta.enumType||!!e.enumValues,e.meta.enumValues=e.meta.enumValues||e.enumValues&&_.map(e.enumValues,we),e}function fe(e){var t=_.get(e,"statusMapping.status");return e.meta.showStatus=e.meta.showStatus||"read"===t||"write"===t,e.meta.updateStatus=e.meta.updateStatus||"write"===t,e}function de(e){var t=_.get(e,"alarmMapping.raiseAlarmTemplate");return e.meta.raiseAlarm=e.meta.raiseAlarm||!_.isUndefined(t),e}function ye(e){var t=_.get(e,"eventMapping.eventTemplate");return e.meta.sendEvent=e.meta.sendEvent||!_.isUndefined(t),e}function ge(e){return e.meta.type=void 0,e}function _e(r){return r.meta.enumType?(r.enumValues={},_.forEach(r.meta.enumValues,function(e){var t=e.value,n=e.label;r.enumValues[t]=n})):r.enumValues=void 0,r}function ve(e){return e.meta.showStatus||e.meta.updateStatus?(e.statusMapping=e.statusMapping||{},e.meta.showStatus&&(e.statusMapping.status="read"),e.meta.updateStatus&&(e.statusMapping.status="write")):e.statusMapping=void 0,e}function he(e){return e.meta.raiseAlarm?(e.alarmMapping=e.alarmMapping||{},e.alarmMapping.raiseAlarmTemplate=null):e.alarmMapping=void 0,e}function be(e){return e.meta.sendEvent?(e.eventMapping=e.eventMapping||{},e.eventMapping.eventTemplate=null):e.eventMapping=void 0,e}function Te(e,t){return e.meta=e.meta||{},_.flow([Me,Se,Re,Ee,Ie,Oe,De,function(e){return function(e,t){var n=Ye(t)[e.input?"inputRegisters":"holdingRegisters"],r=_.get(n,"dataType.choices",[]);return e.meta.dataType=e.meta.dataType||_.find(r.values(),{value:e.dataType}),e}(e,t)},function(e){return function(e,t){var n=Ye(t)[e.input?"inputRegisters":"holdingRegisters"],r=_.get(n,"accessType.choices",[]);return e.meta.accessType=e.meta.accessType||_.find(r.values(),{value:e.accessType}),e}(e,t)},je])(e)}function Me(e){return e.meta.type=e.meta.type||g.REGISTER,e}function Se(e){return e.meta.enumType=e.meta.enumType||!!e.enumValues,e.meta.enumValues=e.meta.enumValues||e.enumValues&&_.map(e.enumValues,we),e}function we(e,t){return{label:e,value:parseFloat(t)}}function Re(e){var t=_.get(e,"statusMapping.status");return e.meta.showStatus=e.meta.showStatus||"read"===t||"write"===t,e.meta.updateStatus=e.meta.updateStatus||"write"===t,e}function Ee(e){var t=_.get(e,"measurementMapping.sendMeasurementTemplate");return e.meta.sendMeasurement=e.meta.sendMeasurement||!_.isUndefined(t),e}function Ie(e){var t=_.get(e,"alarmMapping.raiseAlarmTemplate");return e.meta.raiseAlarm=e.meta.raiseAlarm||!_.isUndefined(t),e}function Oe(e){var t=_.get(e,"eventMapping.eventTemplate");return e.meta.sendEvent=e.meta.sendEvent||!_.isUndefined(t),e}function De(e){return e.meta.sendManagedObjectUpdate=e.meta.sendManagedObjectUpdate||!!e.managedObjectMapping,e}function je(e){return e.meta.valuesRange=e.meta.valuesRange||Ae(e),e}function Ae(e){var t,n=_.get(e.meta,"dataType",{}),r=_.get(n,"baseValuesRange",{}),a=xe([n.divisor,e.divisor,1]),i=xe([n.multiplier,e.multiplier,1]),u=xe([n.decimalPlaces,e.decimalPlaces,0]),o=xe([n.noBits,e.noBits]),s=xe([n.signed,e.signed,!1]),c=r.min,p=r.max;return _.isUndefined(u)||null===u||_.isUndefined(i)||_.isUndefined(a)||(t=Ce(i*Math.pow(10,-u)/a)),_.isUndefined(s)||_.isUndefined(o)||_.isUndefined(t)||(_.isUndefined(c)&&(c=Ce((s?-Math.pow(2,o-1):0)*t)),_.isUndefined(p)&&(p=Ce((s?Math.pow(2,o-1)-1:Math.pow(2,o)-1)*t))),{base:{decimalPlaces:_.isNull(u)?void 0:u,step:t,min:c,max:p},custom:{decimalPlaces:_.isNull(u)?void 0:u,step:t,min:Math.max(c,e.min||c),max:Math.min(p,e.max||p)},mask:{min:0,max:Math.pow(2,o)},possiblePrecisionLoss:function(e,t){var n=53<e,r=!_.isUndefined(t)&&10<=function(e){return Math.floor(e)!==e?(_slicedToArray(e.toString().split("."),2)[1]||"").length:0}(t);return n||r}(o,t)}}function xe(e){return _.head(_.reject(e,_.isUndefined))}function Ce(e){var t=Math.pow(10,10);return Math.round(e*t)/t}function Ue(e){return e.meta.type=void 0,e}function ke(r){return r.meta.enumType?(r.enumValues={},_.forEach(r.meta.enumValues,function(e){var t=e.value,n=e.label;r.enumValues[t]=n})):r.enumValues=void 0,r}function Ne(e){return e.meta.showStatus||e.meta.updateStatus?(e.statusMapping=e.statusMapping||{},e.meta.showStatus&&(e.statusMapping.status="read"),e.meta.updateStatus&&(e.statusMapping.status="write")):e.statusMapping=void 0,e}function Le(e){return e.meta.sendMeasurement?(e.measurementMapping=e.measurementMapping||{},e.measurementMapping.sendMeasurementTemplate=null):e.measurementMapping=void 0,e}function Pe(e){return e.meta.raiseAlarm?(e.alarmMapping=e.alarmMapping||{},e.alarmMapping.raiseAlarmTemplate=null):e.alarmMapping=void 0,e}function Ve(e){return e.meta.sendEvent?(e.eventMapping=e.eventMapping||{},e.eventMapping.eventTemplate=null):e.eventMapping=void 0,e}function Be(e){return e.meta.sendManagedObjectUpdate?e.managedObjectMapping=e.managedObjectMapping||{}:e.managedObjectMapping=void 0,e}function Fe(e){return e.meta.dataType?e.dataType=e.meta.dataType.value:e.dataType=void 0,e}function Ge(e){return e.meta.accessType?e.accessType=e.meta.accessType.value:e.accessType=void 0,e}function $e(e){return e.meta.valuesRange=void 0,e}function We(e){return[function(e){return _.get(e,"id")}(e),function(e){return He(e,["input","number","startBit"])}(e),function(e){return He(e,["input","number"])}(e),function(e){return He(e,["number"])}(e)]}function He(e,t){var n=_.map(t,_.propertyOf(e));if(_.every(n,_.negate(_.isUndefined)))return n.join(",")}function Je(e){return e.category||""}function ze(e){return e.input?e.name?i.getString('Edit discrete input: "{{name}}"',e):o("New discrete input"):e.name?i.getString('Edit coil: "{{name}}"',e):o("New coil")}function qe(e,t,n){return{element:function(){return _.cloneDeep(function(e){if(e)return _objectSpread({},e,{meta:{original:_.cloneDeep(e)}});return}(e))},existingElements:function(){return _.cloneDeep(t)},existingCategories:function(){return _.cloneDeep(function(e){return _([].concat(_toConsumableArray(_.get(e,"c8y_Coils",[])),_toConsumableArray(_.get(e,"c8y_Registers",[])))).filter("category").map("category").uniq().map(function(e){return{name:e}}).value()}(n))},deviceType:function(){return _.cloneDeep(n)},fieldbusType:function(){return Ke(n)},features:function(){return Ye(n)}}}function Ye(e){return _.find(M,{fieldbusType:Ke(e)})||{}}function Ke(e){return e.fieldbusType||"modbus"}function Qe(e,t){var n=e.number,r=e.startBit,a=e.noBits,i=n*_.get(t,"noBits.base",_.get(t,"noBits.max"))+r;return{start:i,end:i+a-1}}function Xe(){return(Xe=_asyncToGenerator(_regeneratorRuntime().mark(function e(n){var r,a;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.id||n,e.next=3,Ze(r);case 3:return a=e.sent,e.abrupt("return",(t=a,window.btoa(unescape(encodeURIComponent(JSON.stringify(t,null,2))))));case 5:case"end":return e.stop()}var t},e)}))).apply(this,arguments)}function Ze(e){return et.apply(this,arguments)}function et(){return(et=_asyncToGenerator(_regeneratorRuntime().mark(function e(r){var a,i;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r,void 0,n=(tt()||{})[t],a=n&&_.clone(n._item)){e.next=8;break}return i="".concat(h,"/").concat(r,".json"),e.t0=c,e.next=6,s.get(i);case 6:return e.t1=e.sent,e.abrupt("return",e.t0.getResData.call(e.t0,e.t1));case 8:return e.abrupt("return",a);case 9:case"end":return e.stop()}var t,n},e)}))).apply(this,arguments)}function tt(){return _.get(window,"c8y.collections.devicetypes")}}e.$inject=["$q","$http","$injector","c8yBase","c8yTenant","c8yInventory","c8yAlarms","c8yIdentity","c8yModal","gettext","gettextCatalog"],angular.module("c8y.deviceDatabase4").factory("c8yDeviceDatabase",e)}();
1
+ "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _regeneratorRuntime(){_regeneratorRuntime=function(){return u};var u={},e=Object.prototype,p=e.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},t="function"==typeof Symbol?Symbol:{},a=t.iterator||"@@iterator",n=t.asyncIterator||"@@asyncIterator",r=t.toStringTag||"@@toStringTag";function i(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{i({},"")}catch(e){i=function(e,t,n){return e[t]=n}}function s(e,t,n,r){var a=t&&t.prototype instanceof m?t:m,i=Object.create(a.prototype),u=new w(r||[]);return o(i,"_invoke",{value:function(i,u,o){var s="suspendedStart";return function(e,t){if("executing"===s)throw new Error("Generator is already running");if("completed"===s){if("throw"===e)throw t;return E()}for(o.method=e,o.arg=t;;){var n=o.delegate;if(n){var r=T(n,o);if(r){if(r===c)continue;return r}}if("next"===o.method)o.sent=o._sent=o.arg;else if("throw"===o.method){if("suspendedStart"===s)throw s="completed",o.arg;o.dispatchException(o.arg)}else"return"===o.method&&o.abrupt("return",o.arg);s="executing";var a=l(i,u,o);if("normal"===a.type){if(s=o.done?"completed":"suspendedYield",a.arg===c)continue;return{value:a.arg,done:o.done}}"throw"===a.type&&(s="completed",o.method="throw",o.arg=a.arg)}}}(e,n,u)}),i}function l(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}u.wrap=s;var c={};function m(){}function f(){}function d(){}var y={};i(y,a,function(){return this});var g=Object.getPrototypeOf,_=g&&g(g(R([])));_&&_!==e&&p.call(_,a)&&(y=_);var v=d.prototype=m.prototype=Object.create(y);function h(e){["next","throw","return"].forEach(function(t){i(e,t,function(e){return this._invoke(t,e)})})}function b(s,c){var t;o(this,"_invoke",{value:function(n,r){function e(){return new c(function(e,t){!function t(e,n,r,a){var i=l(s[e],s,n);if("throw"!==i.type){var u=i.arg,o=u.value;return o&&"object"==_typeof(o)&&p.call(o,"__await")?c.resolve(o.__await).then(function(e){t("next",e,r,a)},function(e){t("throw",e,r,a)}):c.resolve(o).then(function(e){u.value=e,r(u)},function(e){return t("throw",e,r,a)})}a(i.arg)}(n,r,e,t)})}return t=t?t.then(e,e):e()}})}function T(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,T(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),c;var a=l(r,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,c;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,c):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,c)}function M(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(M,this),this.reset(!0)}function R(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n<t.length;)if(p.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return o(v,"constructor",{value:f.prototype=d,configurable:!0}),o(d,"constructor",{value:f,configurable:!0}),f.displayName=i(d,r,"GeneratorFunction"),u.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===f||"GeneratorFunction"===(t.displayName||t.name))},u.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,i(e,r,"GeneratorFunction")),e.prototype=Object.create(v),e},u.awrap=function(e){return{__await:e}},h(b.prototype),i(b.prototype,n,function(){return this}),u.AsyncIterator=b,u.async=function(e,t,n,r,a){void 0===a&&(a=Promise);var i=new b(s(e,t,n,r),a);return u.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},h(v),i(v,r,"Generator"),i(v,a,function(){return this}),i(v,"toString",function(){return"[object Generator]"}),u.keys=function(e){var n=Object(e),r=[];for(var t in n)r.push(t);return r.reverse(),function e(){for(;r.length;){var t=r.pop();if(t in n)return e.value=t,e.done=!1,e}return e.done=!0,e}},u.values=R,w.prototype={constructor:w,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&p.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function e(e,t){return i.type="throw",i.arg=n,r.next=e,t&&(r.method="next",r.arg=void 0),!!t}for(var t=this.tryEntries.length-1;0<=t;--t){var a=this.tryEntries[t],i=a.completion;if("root"===a.tryLoc)return e("end");if(a.tryLoc<=this.prev){var u=p.call(a,"catchLoc"),o=p.call(a,"finallyLoc");if(u&&o){if(this.prev<a.catchLoc)return e(a.catchLoc,!0);if(this.prev<a.finallyLoc)return e(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return e(a.catchLoc,!0)}else{if(!o)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return e(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;0<=n;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&p.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var a=r;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,c):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),c},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),S(n),c}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;S(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:R(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),c}},u}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,u,o=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw a}}return o}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function asyncGeneratorStep(e,t,n,r,a,i,u){try{var o=e[i](u),s=o.value}catch(e){return void n(e)}o.done?t(s):Promise.resolve(s).then(r,a)}function _asyncToGenerator(o){return function(){var e=this,u=arguments;return new Promise(function(t,n){var r=o.apply(e,u);function a(e){asyncGeneratorStep(r,t,n,a,i,"next",e)}function i(e){asyncGeneratorStep(r,t,n,a,i,"throw",e)}a(void 0)})}}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?Object(arguments[e]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&r.push.apply(r,Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),r.forEach(function(e){_defineProperty(t,e,n[e])})}return t}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof(t)?t:String(t)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);var r=n.call(e,t||"default");if("object"!==_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}!function(){function e(u,s,e,c,t,p,a,r,n,i,o,l){var m={name:"feature-fieldbus4"},f=e.has("FIELDBUS_UI_VERSION")?e.get("FIELDBUS_UI_VERSION"):4,d="c8y_IsDeviceType",y="c8y_ModbusDeviceType",g="%%",v=c.createEnum(["DISCRETE_IO","REGISTER"]),h=c.createEnum([{name:"FPORT",label:"FPort"},{name:"PAYLOAD",label:"Payload"}]),b=c.dataFilePath("devicetypes"),T={common:{name:null},deviceType:{c8y_Coils:[],c8y_Registers:[]},element:{number:null},discreteIO:{},discreteOutput:{input:!1},discreteInput:{input:!0},register:{multiplier:1,divisor:1,offset:0,decimalPlaces:0,startBit:0,noBits:16,unit:"",signed:!1},canbusRegister:{noBits:64,offset:0},canopenRegister:{},holdingRegister:{input:!1},inputRegister:{input:!0}},M=[],S=[];return{ElementType:v,MessageIdSources:h,metaDefaults:{discreteIO:{enumValues:[{value:0,label:"0"},{value:1,label:"1"}]}},registerFeaturesManifest:function(e){var t=u.resolve(e);M.push(t),t.then(function(e){e&&S.push(e)})},areAnyFeaturesManifestsRegistered:function(){return w().then(function(e){return 0<e.length})},getFeaturesManifestsAsync:w,getFeaturesManifests:function(){return S},getDeviceTypeFeatures:Qe,getElementTypeLabel:function(e,t){var n,r=_.get(e,"meta.type");if(r){var a=_.get(e,"input");if(r===v.DISCRETE_IO)n=o(a?"Discrete input":"Coil (discrete output)");else if(r===v.REGISTER)if(a)n=o("Input register");else{var i=Qe(t);n=_.get(i,"holdingRegisters.elementTypeLabel",o("Holding register"))}}return n},getFieldbusVersion:V,getEmptyDeviceType:function(){var e=T.common,t=T.deviceType;return _.cloneDeep(_objectSpread({},e,t))},getAvailableDeviceTypes:function(e){return R.apply(this,arguments)},getDeviceTypeFromDevice:function(e){var t=_.flatten(_.map(S,"deviceFragments")),n=_.head(_.compact(_.at(e,t))),r=_.get(n,"type"),a=r&&r.match(/\/inventory\/managedObjects\/(\d+)/),i=_.nth(a,1);if(i)return E(i);return u.resolve(null)},getFieldbusVersionFromDevice:function(e){var t=_.map(S,"deviceConfiguration.fragment"),n=_.head(_.compact(_.at(e,t)));return _.get(n,"maxFieldbusVersion",4)},getDeviceType:E,save:A,exportDeviceTypeAndSaveAs:function(e){var t="".concat(e.name,".json"),n=JSON.stringify(function(e){return e.c8y_ModbusDeviceTypeInfo=function(e){return _.omit(_objectSpread({},_.get(e,"c8y_ModbusDeviceTypeInfo",{}),{name:e.name,minFieldbusUI:f,fieldbusType:e.fieldbusType}),["id","category","description"])}(e),e.c8y_Coils=_.map(e.c8y_Coils,ue),e.c8y_Registers=_.map(e.c8y_Registers,ue),_.pick(e,["c8y_ModbusDeviceTypeInfo","c8y_Coils","c8y_Registers","c8y_useServerTime","c8y_MessageIdConfiguration"])}(e),null,2),r=new Blob([n],{type:"application/json"});window.saveAs(r,t)},importDeviceTypeWithUI:function(){return i({component:"c8yImportDeviceTypeModal"}).then(A)},getPredefinedDeviceTypeInfos:function(){return oe.apply(this,arguments)},isDeviceTypeSupported:pe,isDeviceTypeSupportedAsync:function(n){return w().then(function(e){return _.map(e,"fieldbusType")}).then(function(e){var t=Xe(n);return _.includes(e,t)})},getPredefinedDeviceType:tt,downloadPredefinedDeviceTypeAndSaveAs:function(e){return le.apply(this,arguments)},upgradeDeviceType:O,getElementsWithMeta:function(t){var e=_.get(t,"c8y_Coils",[]),n=_.get(t,"c8y_Registers",[]);return _.union(_.map(e,function(e){return me(e)}),_.map(n,function(e){return Se(e,t)}))},addDiscreteIOsMeta:function(e){if(e)return e.c8y_Coils=_.map(e.c8y_Coils,me),e;return},addDiscreteIOMeta:me,removeDiscreteIOMeta:function(e){var t=e;t.meta&&(t=_.flow([ve,he,be,Te,Me])(t),_.unset(t,"meta"));return t},addRegistersMeta:function(t){if(t)return t.c8y_Registers=_.map(t.c8y_Registers,function(e){return Se(e,t)}),t;return},addRegisterMeta:Se,removeRegisterMeta:function(e){var t=e;e.meta&&(t=_.flow([Ne,Le,Pe,Ve,Be,Ge,Fe,$e,We,He])(e),_.unset(t,"meta"));return t},removeAllElements:function(e){e.c8y_Registers=[],e.c8y_Coils=[]},getElementRefId:function(e){var t=_.compact(Je(e));return _.head(t)},findElementBestMatchingRefId:function(e,t,n){return _(e).chain().map(function(e){return{score:function(e,t,n){var r=e.meta.type.value===n,a=Je(e),i=_.findIndex(a,_.negate(_.isUndefined)),u=_.indexOf(a,t);return r&&0<=u?i-u:void 0}(e,t,n),element:e}}).reject(function(e){return _.isUndefined(e.score)}).orderBy("score").head().get("element").value()},getDiscreteOutputsCategorized:function(e){return _(e.c8y_Coils).reject("input").groupBy(qe).value()},getDiscreteInputsCategorized:function(e){return _(e.c8y_Coils).filter("input").groupBy(qe).value()},getHoldingRegistersCategorized:function(e){return _(e.c8y_Registers).reject("input").groupBy(qe).value()},getInputRegistersCategorized:function(e){return _(e.c8y_Registers).filter("input").groupBy(qe).value()},getEmptyDiscreteOutput:function(){return _.cloneDeep(_objectSpread({},T.common,T.element,T.discreteIO,T.discreteOutput))},getEmptyDiscreteInput:function(){return _.cloneDeep(_objectSpread({},T.common,T.element,T.discreteIO,T.discreteInput))},getEmptyHoldingRegister:function(e){return"canbus"!==e.fieldbusType?"canopen"!==e.fieldbusType?_.cloneDeep(_objectSpread({},T.common,T.element,T.register,T.holdingRegister)):_.cloneDeep(_objectSpread({},T.common,T.canopenRegister)):_.cloneDeep(_objectSpread({},T.common,T.element,T.register,T.canbusRegister,T.holdingRegister))},getEmptyInputRegister:function(){return _.cloneDeep(_objectSpread({},T.common,T.element,T.register,T.inputRegister))},editDiscreteIOWithUI:function(e,t){return i({component:"c8yConfigureDiscreteIOModal",title:Ye(e),resolve:_objectSpread({title:function(){return Ye(e)}},Ke(e,t.c8y_Coils,t))})},editRegisterWithUI:function(e,t){return i({component:"c8yConfigureRegisterModal",resolve:_objectSpread({title:function(){return function(e,t){var n=Qe(t);if(e.input)return e.name?l.getString('Edit input register: "{{name}}"',e):o("New input register");if(e.name)return l.getString(_.get(n,"holdingRegisters.editRegisterModalTitle",o('Edit holding register: "{{name}}"')),e);return _.get(n,"holdingRegisters.newRegisterModalTitle",o("New holding register"))}(e,t)}},Ke(e,t.c8y_Registers,t))})},addEmptyEnumValue:function(e){e.meta.enumValues=e.meta.enumValues||[],e.meta.enumValues.push({value:null,label:null})},removeEnumValue:function(e,t){e.meta.enumValues=_.without(e.meta.enumValues,t)},areOverlappingRegisters:function(e,t,n){var r=Ze(e,n),a=Ze(t,n),i=Math.max(r.start,a.start),u=Math.min(r.end,a.end);return i<=u},getValuesRange:Ce,openFieldbusSelector:function(e){return i({component:"c8ySelectFieldbusPropertyModal",resolve:{modalParams:function(){return _.defaults(e,{})}}})},downloadPredefinedDeviceTypeHref:function(e){return et.apply(this,arguments)},predefinedDeviceTypeHrefFilename:function(e){return"".concat(e.id,".json")},isFieldbusDevice:function(t){return _.some(S,function(e){return _.some(e.deviceFragments,function(e){return _.has(t,e)})})},isFeatureFieldbus4Available:function(){return t.isSubscribed(m)},addElementId:G};function w(){return u.all(M).then(_.compact)}function R(){return(R=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var n,r,a,i,u,o=arguments;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=1<o.length&&void 0!==o[1]?o[1]:{},r=2<o.length?o[2]:void 0,!0,a={__and:[{__or:[{__has:d},{type:y}]},{fieldbusType:{__in:_.map(S,"fieldbusType")}}]},_.isEmpty(t)||(a.__and=[].concat(_toConsumableArray(a.__and),[t])),i=c.createListMapper(function(e){return O(e)}),e.next=8,p.listQuery(a,n,!0,r).then(i);case 8:return u=e.sent,e.abrupt("return",u);case 10:case"end":return e.stop()}},e)}))).apply(this,arguments)}function E(e){return I.apply(this,arguments)}function I(){return(I=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var n;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=c,e.next=3,p.detail(t);case 3:return e.t1=e.sent,n=e.t0.getResData.call(e.t0,e.t1),e.abrupt("return",O(n));case 6:case"end":return e.stop()}},e)}))).apply(this,arguments)}function O(e){return _.flow([D,j,x,L,P])(e)}function D(e){return _.forEach(e.c8y_Coils,function(e){!e.enumValues&&e.statusMapping&&_.isArray(e.statusMapping.enumValues)&&(e.enumValues={0:e.statusMapping.enumValues[0],1:e.statusMapping.enumValues[1]},_.unset(e,"statusMapping.enumValues")),_.isUndefined(e.input)&&(e.input=T.discreteOutput.input)}),e}function j(e){var r=Qe(e);return _.forEach(e.c8y_Registers,function(e){var t=e.input?"inputRegisters":"holdingRegisters",n=_.get(r,t,{});_.get(n,"startBit")&&_.defaults(e,{startBit:T.register.startBit}),_.get(n,"noBits")&&_.defaults(e,{noBits:T.register.noBits}),_.get(n,"options.signed")&&_.defaults(e,{signed:T.register.signed}),!e.unit&&e.measurementMapping&&e.measurementMapping.unit&&(e.unit=e.measurementMapping.unit,_.unset(e,"measurementMapping.unit")),_.isUndefined(e.input)&&(e.input=T.holdingRegister.input)}),e}function x(e){return e.fieldbusType=Xe(e),e}function A(e){return C.apply(this,arguments)}function C(){return(C=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var n,r;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=_.flow([N,L,B,F,$,W,P])(t),e.next=3,U(n);case 3:return r=e.sent,e.abrupt("return",p.save(r).then(c.getResData).then(function(e){return t.id?e:ae(e).then(function(){return e})}));case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function U(e){return k.apply(this,arguments)}function k(){return(k=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=p,e.t1=t,e.next=4,n.getGlobalParam(t.type);case 4:return e.t2=e.sent,e.abrupt("return",e.t0.addGlobalFlag.call(e.t0,e.t1,e.t2));case 6:case"end":return e.stop()}},e)}))).apply(this,arguments)}function N(e){if(!e.type){var t=Qe(e);e.type=_.get(t,"type",y)}return e}function L(e){return _.set(e,d,{})}function P(e){return _.set(e,"fieldbusVersion",V(e))}function V(t){var e=Qe(t).versions,n=_.findLast(e,function(e){return _.some(e.checks,function(e){return e(t)})});return _.get(n,"number",4)}function B(e){return e.c8y_Coils=_.map(e.c8y_Coils,G),e.c8y_Registers=_.map(e.c8y_Registers,G),e}function G(e){return e.id||(e.id=String(Math.random()).substr(2)),e}function F(e){return e.c8y_Coils=_.orderBy(e.c8y_Coils,["input","number"]),e.c8y_Registers=_.orderBy(e.c8y_Registers,["input","number","startBit","index","subIndex"]),e}function $(e){var t=Qe(e);return!!_.get(t,"configuration.messageIdConfiguration.length")&&(e.c8y_MessageTypes=function(n){return _.reduce(["c8y_Registers","c8y_Coils"],function(e,t){return _.merge(e,function(t,r){var e=_.groupBy(t[r],"messageTypeId"),n=_.mapValues(e,function(e){return _.map(e,function(e){return _.indexOf(t[r],e)})});return _.reduce(n,function(e,t,n){return e[n]={},e[n][r]=t,e},{})}(n,t))},{})}(e)),e}function W(e){var t=function(e){var t=Qe(e).customizeSmartRestTemplates||_.identity,n={requestTemplates:_.flattenDeep([function(e){return{msgId:100,method:"PUT",contentType:"application/vnd.com.nsn.cumulocity.managedObject+json",placeholder:g,resourceUri:"/inventory/managedObjects/".concat(g),templateString:ee([{key:"c8y_CoilStatus",value:new re(H(e.c8y_Coils).map(function(e){return{key:e.name,value:g,raw:!0}}).value())}]),values:["UNSIGNED"].concat(_toConsumableArray(H(e.c8y_Coils).map(function(){return"UNSIGNED"}).value()))}}(e),function(e){return{msgId:101,method:"PUT",contentType:"application/vnd.com.nsn.cumulocity.managedObject+json",placeholder:g,resourceUri:"/inventory/managedObjects/".concat(g),templateString:ee([{key:"c8y_RegisterStatus",value:new re(H(e.c8y_Registers).map(function(e){return{key:e.name,value:g,raw:!0}}).value())}]),values:["UNSIGNED"].concat(_toConsumableArray(H(e.c8y_Registers).map(function(){return"NUMBER"}).value()))}}(e),[J(102,"EXECUTING"),J(103,"SUCCESSFUL"),J(104,"FAILED")],function(e){return _.flow([z,Q,X])({deviceType:e,msgId:300,templates:[]}).templates}(e)]),responseTemplates:_.flattenDeep([{msgId:200,condition:"$.c8y_SetCoil",pattern:["$.id","$.c8y_SetCoil.address","$.c8y_SetCoil.input","$.c8y_SetCoil.coil","$.c8y_SetCoil.value"]},{msgId:201,condition:"$.c8y_SetRegister",pattern:["$.id","$.c8y_SetRegister.ipAddress","$.c8y_SetRegister.address","$.c8y_SetRegister.input","$.c8y_SetRegister.register","$.c8y_SetRegister.startBit","$.c8y_SetRegister.noBits","$.c8y_SetRegister.value"]},{msgId:202,condition:"$.c8y_ModbusDevice",pattern:["$.id","$.deviceId","$.c8y_ModbusDevice.id","$.c8y_ModbusDevice.address","$.c8y_ModbusDevice.type","$.c8y_ModbusDevice.protocol"]},{msgId:203,condition:"$.c8y_ModbusSource",pattern:["$.id"]}])};return t(n,e)}(e);return _.set(e,"com_cumulocity_model_smartrest_SmartRestTemplate",t)}function H(e){return _(e).filter("statusMapping.status")}function J(e,t){return{msgId:e,method:"PUT",contentType:"application/vnd.com.nsn.cumulocity.operation+json",placeholder:g,resourceUri:"/devicecontrol/operations/".concat(g),templateString:ee({status:t}),values:["UNSIGNED"]}}function z(e){var t=e.deviceType,n=e.msgId,r=e.templates,a=_.filter(t.c8y_Coils,"alarmMapping"),i=_.filter(t.c8y_Registers,"alarmMapping"),u=Qe(t),o=u.getCoilSource||Y,s=u.getRegisterSource||K,c=n;return _.forEach(a,function(e){r.push(q(c,t,e.alarmMapping,o(e))),e.alarmMapping.raiseAlarmTemplate=c,c+=1}),_.forEach(i,function(e){r.push(q(c,t,e.alarmMapping,s(e))),e.alarmMapping.raiseAlarmTemplate=c,c+=1}),{deviceType:t,templates:r,msgId:c}}function q(e,t,n,r){return{msgId:e,method:"POST",contentType:"application/vnd.com.nsn.cumulocity.alarm+json",accept:"application/vnd.com.nsn.cumulocity.alarm+json",placeholder:g,resourceUri:"/alarm/alarms",templateString:ee([{key:"source",value:{id:g}},{key:"type",value:n.type},{key:"status",value:a.status.ACTIVE},{key:"severity",value:n.severity},{key:"time",value:g},{key:"text",value:n.text},{key:r.key,value:r.value}]),values:["UNSIGNED",Z(t)]}}function Y(e){return{key:"c8y_ModbusSource",value:{coil:_.pick(e,"input","number")}}}function K(e){return{key:"c8y_ModbusSource",value:{register:_.pick(e,["input","number","startBit","noBits"])}}}function Q(e){var r=e.deviceType,t=e.msgId,a=e.templates,n=_([].concat(_toConsumableArray(r.c8y_Coils),_toConsumableArray(r.c8y_Registers))).filter("measurementMapping").groupBy("measurementMapping.type").value(),i=t;return _.forEach(n,function(e,t){var n=_.map(e,function(e){return _.set(e.measurementMapping,"unit",e.unit||e.measurementMapping.unit)});a.push(function(e,t,n,i){return{msgId:e,method:"POST",contentType:"application/vnd.com.nsn.cumulocity.measurement+json",placeholder:g,resourceUri:"/measurement/measurements",templateString:ee(function(){var r=n,a=_defineProperty({source:{id:g},time:g,type:r},r,{});return _.forEach(i,function(e){var t=e.series,n=e.unit;a[r][t]={value:"%n",unit:n}}),a}()),values:["UNSIGNED",Z(t)].concat(_toConsumableArray(_.map(i,function(){return"NUMBER"})))}}(i,r,t,n)),_.forEach(n,function(e){e.sendMeasurementTemplate=i,_.unset(e,"unit")}),i+=1}),{deviceType:r,templates:a,msgId:i}}function X(e){var t=e.deviceType,n=e.msgId,r=e.templates,a=[].concat(_toConsumableArray(t.c8y_Coils),_toConsumableArray(t.c8y_Registers)),i=n;return _.forEach(a,function(e){_.isUndefined(e.eventMapping)||(r.push(function(e,t,n,r){return{msgId:e,method:"POST",contentType:"application/vnd.com.nsn.cumulocity.event+json",placeholder:g,resourceUri:"/event/events",templateString:ee([{key:"source",value:{id:g}},{key:"time",value:g},{key:"type",value:r.type},{key:"text",value:r.text},{key:n.name,value:g,raw:!0}]),values:["UNSIGNED",Z(t),"NUMBER"]}}(i,t,e,e.eventMapping)),e.eventMapping.eventTemplate=i,i+=1)}),{deviceType:t,templates:r,msgId:i}}function Z(e){return e.c8y_useServerTime?"NOW":"DATE"}function ee(e,t){var n;return e instanceof re?n=te(e.kvObj):_.isArray(e)?n=te(e):_.isObjectLike(e)&&(n=angular.toJson(e)),n=n.replace(/"%n"/g,t||g)}function te(e){var t=_.map(e,ne);return"{".concat(t.join(","),"}")}function ne(e){var t,n=e.key,r=e.value,a=e.raw,i={};return(t=r instanceof re?(i[n]=":::INNER_OBJECT_STRING:::",JSON.stringify(i).replace('":::INNER_OBJECT_STRING:::"',te(r.kvObj))):a?(i[n]=":::RAW_VALUE:::",JSON.stringify(i).replace('":::RAW_VALUE:::"',r)):(i[n]=r,JSON.stringify(i))).substr(1,t.length-2)}function re(e){this.kvObj=e}function ae(e){return ie.apply(this,arguments)}function ie(){return(ie=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var n;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,r.createIdentity(t,{type:"c8y_SmartRestDeviceIdentifier",externalId:t.name},{silentError:!0});case 3:return e.abrupt("return",e.sent);case 6:return e.prev=6,e.t0=e.catch(0),n=u.reject.bind(u,{errorMessage:e.t0.data.message}),e.abrupt("return",p.remove(t).then(n,n));case 10:case"end":return e.stop()}},e,null,[[0,6]])}))).apply(this,arguments)}function ue(e){return e.eventMapping&&(e.eventMapping=_.omit(e.eventMapping,["eventTemplate"])),e.alarmMapping&&(e.alarmMapping=_.omit(e.alarmMapping,["raiseAlarmTemplate"])),e.measurementMapping&&(e.measurementMapping=_.omit(e.measurementMapping,["sendMeasurementTemplate"])),_.omit(e,["id","originalName","originalNumber","originalStartBit","meta"])}function oe(){return(oe=_asyncToGenerator(_regeneratorRuntime().mark(function e(){var n,r;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0,t=rt(),n=t&&_.map(t)){e.next=8;break}return r="".concat(b,"/index.json"),e.t0=c,e.next=6,s.get(r);case 6:e.t1=e.sent,n=e.t0.getResData.call(e.t0,e.t1);case 8:return e.abrupt("return",_.flow([se,ce])(n));case 9:case"end":return e.stop()}var t},e)}))).apply(this,arguments)}function se(e){return _.filter(e,function(e){return pe(e)})}function ce(e){return _.filter(e,function(e){return e.minFieldbusUI<=f})}function pe(e){var t=_.map(S,"fieldbusType"),n=Xe(e);return _.includes(t,n)}function le(){return(le=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var n,r,a,i,u,o;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n="".concat(t,".json"),r="predefinedDeviceTypesUrl/".concat(n),e.next=4,s.get(r);case 4:a=e.sent,i=JSON.stringify(a.data,null,2),u=a.headers("Content-Type"),o=new Blob([i],{type:u}),window.saveAs(o,n);case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}function me(e){return e.meta=e.meta||{},_.flow([fe,de,ye,ge,_e])(e)}function fe(e){return e.meta.type=e.meta.type||v.DISCRETE_IO,e}function de(e){return e.meta.enumType=e.meta.enumType||!!e.enumValues,e.meta.enumValues=e.meta.enumValues||e.enumValues&&_.map(e.enumValues,Ee),e}function ye(e){var t=_.get(e,"statusMapping.status");return e.meta.showStatus=e.meta.showStatus||"read"===t||"write"===t,e.meta.updateStatus=e.meta.updateStatus||"write"===t,e}function ge(e){var t=_.get(e,"alarmMapping.raiseAlarmTemplate");return e.meta.raiseAlarm=e.meta.raiseAlarm||!_.isUndefined(t),e}function _e(e){var t=_.get(e,"eventMapping.eventTemplate");return e.meta.sendEvent=e.meta.sendEvent||!_.isUndefined(t),e}function ve(e){return e.meta.type=void 0,e}function he(r){return r.meta.enumType?(r.enumValues={},_.forEach(r.meta.enumValues,function(e){var t=e.value,n=e.label;r.enumValues[t]=n})):r.enumValues=void 0,r}function be(e){return e.meta.showStatus||e.meta.updateStatus?(e.statusMapping=e.statusMapping||{},e.meta.showStatus&&(e.statusMapping.status="read"),e.meta.updateStatus&&(e.statusMapping.status="write")):e.statusMapping=void 0,e}function Te(e){return e.meta.raiseAlarm?(e.alarmMapping=e.alarmMapping||{},e.alarmMapping.raiseAlarmTemplate=null):e.alarmMapping=void 0,e}function Me(e){return e.meta.sendEvent?(e.eventMapping=e.eventMapping||{},e.eventMapping.eventTemplate=null):e.eventMapping=void 0,e}function Se(e,t){return e.meta=e.meta||{},_.flow([we,Re,Ie,Oe,De,je,xe,function(e){return function(e,t){var n=Qe(t)[e.input?"inputRegisters":"holdingRegisters"],r=_.get(n,"dataType.choices",[]);return e.meta.dataType=e.meta.dataType||_.find(r.values(),{value:e.dataType}),e}(e,t)},function(e){return function(e,t){var n=Qe(t)[e.input?"inputRegisters":"holdingRegisters"],r=_.get(n,"accessType.choices",[]);return e.meta.accessType=e.meta.accessType||_.find(r.values(),{value:e.accessType}),e}(e,t)},Ae])(e)}function we(e){return e.meta.type=e.meta.type||v.REGISTER,e}function Re(e){return e.meta.enumType=e.meta.enumType||!!e.enumValues,e.meta.enumValues=e.meta.enumValues||e.enumValues&&_.map(e.enumValues,Ee),e}function Ee(e,t){return{label:e,value:parseFloat(t)}}function Ie(e){var t=_.get(e,"statusMapping.status");return e.meta.showStatus=e.meta.showStatus||"read"===t||"write"===t,e.meta.updateStatus=e.meta.updateStatus||"write"===t,e}function Oe(e){var t=_.get(e,"measurementMapping.sendMeasurementTemplate");return e.meta.sendMeasurement=e.meta.sendMeasurement||!_.isUndefined(t),e}function De(e){var t=_.get(e,"alarmMapping.raiseAlarmTemplate");return e.meta.raiseAlarm=e.meta.raiseAlarm||!_.isUndefined(t),e}function je(e){var t=_.get(e,"eventMapping.eventTemplate");return e.meta.sendEvent=e.meta.sendEvent||!_.isUndefined(t),e}function xe(e){return e.meta.sendManagedObjectUpdate=e.meta.sendManagedObjectUpdate||!!e.managedObjectMapping,e}function Ae(e){return e.meta.valuesRange=e.meta.valuesRange||Ce(e),e}function Ce(e){var t,n=_.get(e.meta,"dataType",{}),r=_.get(n,"baseValuesRange",{}),a=Ue([n.divisor,e.divisor,1]),i=Ue([n.multiplier,e.multiplier,1]),u=Ue([n.decimalPlaces,e.decimalPlaces,0]),o=Ue([n.noBits,e.noBits]),s=Ue([n.signed,e.signed,!1]),c=r.min,p=r.max;return _.isUndefined(u)||null===u||_.isUndefined(i)||_.isUndefined(a)||(t=ke(i*Math.pow(10,-u)/a)),_.isUndefined(s)||_.isUndefined(o)||_.isUndefined(t)||(_.isUndefined(c)&&(c=ke((s?-Math.pow(2,o-1):0)*t)),_.isUndefined(p)&&(p=ke((s?Math.pow(2,o-1)-1:Math.pow(2,o)-1)*t))),{base:{decimalPlaces:_.isNull(u)?void 0:u,step:t,min:c,max:p},custom:{decimalPlaces:_.isNull(u)?void 0:u,step:t,min:Math.max(c,e.min||c),max:Math.min(p,e.max||p)},mask:{min:0,max:Math.pow(2,o)},possiblePrecisionLoss:function(e,t){var n=53<e,r=!_.isUndefined(t)&&10<=function(e){return Math.floor(e)!==e?(_slicedToArray(e.toString().split("."),2)[1]||"").length:0}(t);return n||r}(o,t)}}function Ue(e){return _.head(_.reject(e,_.isUndefined))}function ke(e){var t=Math.pow(10,10);return Math.round(e*t)/t}function Ne(e){return e.meta.type=void 0,e}function Le(r){return r.meta.enumType?(r.enumValues={},_.forEach(r.meta.enumValues,function(e){var t=e.value,n=e.label;r.enumValues[t]=n})):r.enumValues=void 0,r}function Pe(e){return e.meta.showStatus||e.meta.updateStatus?(e.statusMapping=e.statusMapping||{},e.meta.showStatus&&(e.statusMapping.status="read"),e.meta.updateStatus&&(e.statusMapping.status="write")):e.statusMapping=void 0,e}function Ve(e){return e.meta.sendMeasurement?(e.measurementMapping=e.measurementMapping||{},e.measurementMapping.sendMeasurementTemplate=null):e.measurementMapping=void 0,e}function Be(e){return e.meta.raiseAlarm?(e.alarmMapping=e.alarmMapping||{},e.alarmMapping.raiseAlarmTemplate=null):e.alarmMapping=void 0,e}function Ge(e){return e.meta.sendEvent?(e.eventMapping=e.eventMapping||{},e.eventMapping.eventTemplate=null):e.eventMapping=void 0,e}function Fe(e){return e.meta.sendManagedObjectUpdate?e.managedObjectMapping=e.managedObjectMapping||{}:e.managedObjectMapping=void 0,e}function $e(e){return e.meta.dataType?e.dataType=e.meta.dataType.value:e.dataType=void 0,e}function We(e){return e.meta.accessType?e.accessType=e.meta.accessType.value:e.accessType=void 0,e}function He(e){return e.meta.valuesRange=void 0,e}function Je(e){return[function(e){return _.get(e,"id")}(e),function(e){return ze(e,["input","number","startBit"])}(e),function(e){return ze(e,["input","number"])}(e),function(e){return ze(e,["number"])}(e)]}function ze(e,t){var n=_.map(t,_.propertyOf(e));if(_.every(n,_.negate(_.isUndefined)))return n.join(",")}function qe(e){return e.category||""}function Ye(e){return e.input?e.name?l.getString('Edit discrete input: "{{name}}"',e):o("New discrete input"):e.name?l.getString('Edit coil: "{{name}}"',e):o("New coil")}function Ke(e,t,n){return{element:function(){return _.cloneDeep(function(e){if(e)return _objectSpread({},e,{meta:{original:_.cloneDeep(e)}});return}(e))},existingElements:function(){return _.cloneDeep(t)},existingCategories:function(){return _.cloneDeep(function(e){return _([].concat(_toConsumableArray(_.get(e,"c8y_Coils",[])),_toConsumableArray(_.get(e,"c8y_Registers",[])))).filter("category").map("category").uniq().map(function(e){return{name:e}}).value()}(n))},deviceType:function(){return _.cloneDeep(n)},fieldbusType:function(){return Xe(n)},features:function(){return Qe(n)}}}function Qe(e){return _.find(S,{fieldbusType:Xe(e)})||{}}function Xe(e){return e.fieldbusType||"modbus"}function Ze(e,t){var n=e.number,r=e.startBit,a=e.noBits,i=n*_.get(t,"noBits.base",_.get(t,"noBits.max"))+r;return{start:i,end:i+a-1}}function et(){return(et=_asyncToGenerator(_regeneratorRuntime().mark(function e(n){var r,a;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.id||n,e.next=3,tt(r);case 3:return a=e.sent,e.abrupt("return",(t=a,window.btoa(unescape(encodeURIComponent(JSON.stringify(t,null,2))))));case 5:case"end":return e.stop()}var t},e)}))).apply(this,arguments)}function tt(e){return nt.apply(this,arguments)}function nt(){return(nt=_asyncToGenerator(_regeneratorRuntime().mark(function e(r){var a,i;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r,void 0,n=(rt()||{})[t],a=n&&_.clone(n._item)){e.next=8;break}return i="".concat(b,"/").concat(r,".json"),e.t0=c,e.next=6,s.get(i);case 6:return e.t1=e.sent,e.abrupt("return",e.t0.getResData.call(e.t0,e.t1));case 8:return e.abrupt("return",a);case 9:case"end":return e.stop()}var t,n},e)}))).apply(this,arguments)}function rt(){return _.get(window,"c8y.collections.devicetypes")}}e.$inject=["$q","$http","$injector","c8yBase","c8yTenant","c8yInventory","c8yAlarms","c8yIdentity","c8yGlobalConfigService","c8yModal","gettext","gettextCatalog"],angular.module("c8y.deviceDatabase4").factory("c8yDeviceDatabase",e)}();
@@ -1,5 +1,5 @@
1
1
  <c8y-ui-action-bar-set>
2
- <c8y-if-allowed any-role="['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE']">
2
+ <c8y-if-allowed any-role="['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE', 'ROLE_MANAGED_OBJECT_ADMIN', 'ROLE_MANAGED_OBJECT_CREATE']">
3
3
  <button
4
4
  title="{{ 'Import' | translate }}"
5
5
  class="btn btn-link"
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,n,t,r,o,i,u,c,s,a,d,p,l,g){var f,h=this,m="c8y_DeviceGroup",v="c8y_IsDeviceGroup";function y(){return o.directParentAssets(f,m,v,{withChildren:!1}).then(G)}function G(e){h.currentGroups=e,o.clearBreadcrumbsCache(f),i.$emit("update")}function A(){return y().then(function(){return u.success(a("Device added to group"))})}_.assign(h,{group:{},$onInit:function(){if(!_.get(h.config,"device.id"))return;f=_.get(h.config,"device.id"),y(),d.hasAnyRole(["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE"]).then(function(e){h.isCreateNewGroupAllowed=e})},addToGroup:function(e){return function(e){return function(e){return!_.isUndefined(e.newGroup)}(e)?function(e){return t({title:a("Create new group and assign device"),body:l.getString('You are about to create a new group "{{name}}" and assign the device to it. Do you want to proceed?',{name:e}),labels:{ok:a("Create and assign")},status:"warning",size:"sm"}).then(function(){return function(e){return p.create(e).then(c.getResData)}({name:e})}).then(function(e){return function(e){g.addGroupNavigation(e)}(e),e})}(e.name):n.resolve(e)}(e).then(function(e){return function(t){return o.detailCached(f).then(function(e){var n=e.data;return r.addChildAsset(t,n)})}(e)}).then(A)},removeFromGroup:function(t){return o.detailCached(f).then(function(e){var n=e.data;return s.unassignDevice(t,n)}).then(y).then(function(){return u.success(a("Device removed from group."))})},isCreateNewGroupAllowed:!1})}function n(t,e,n,r,o){var i=[];function u(e){return n.detail(e).then(function(e){var n=e.data;return r.getGroupItems(n).then(function(e){t.items=e,i.push(n)})})}t.title=o("Select group"),t.drillDown=u,t.upToGroup=function(e){for(;i[i.length-1]!==e;)i.pop();i.pop(),u(e.id)},t.select=e.close,t.dismiss=e.dismiss,t.isGroup=r.isGroup,r.getTopLevelGroups().then(function(e){t.items=e}),t.breadcrumbs=i,t.currentManagedObjectId=t.device.id}e.$inject=["$scope","$q","c8yModal","c8yInventory","c8yDevices","c8yBreadcrumbs","c8yAlert","c8yBase","groupsHierarchySvc","gettext","c8yPermissions","c8yDeviceGroup","gettextCatalog","groupTypesHierarchyNavigator"],n.$inject=["$scope","$uibModalInstance","c8yInventory","c8yGroups","gettext"],angular.module("c8y.deviceGroupAssignment").controller("GroupSelectModalCtrl",n).component("groupAssignment",{controller:e,controllerAs:"vm",templateUrl:":::PLUGIN_PATH:::/groupAssignment.component.html",bindings:{config:"<"}})}();
1
+ "use strict";!function(){function e(e,n,t,r,o,i,u,c,s,a,d,p,l,g){var f,h=this,m="c8y_DeviceGroup",v="c8y_IsDeviceGroup";function y(){return o.directParentAssets(f,m,v,{withChildren:!1}).then(G)}function G(e){h.currentGroups=e,o.clearBreadcrumbsCache(f),i.$emit("update")}function A(){return y().then(function(){return u.success(a("Device added to group"))})}_.assign(h,{group:{},$onInit:function(){if(!_.get(h.config,"device.id"))return;f=_.get(h.config,"device.id"),y(),d.hasAnyRole(["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE","ROLE_MANAGED_OBJECT_ADMIN","ROLE_MANAGED_OBJECT_CREATE"]).then(function(e){h.isCreateNewGroupAllowed=e})},addToGroup:function(e){return function(e){return function(e){return!_.isUndefined(e.newGroup)}(e)?function(e){return t({title:a("Create new group and assign device"),body:l.getString('You are about to create a new group "{{name}}" and assign the device to it. Do you want to proceed?',{name:e}),labels:{ok:a("Create and assign")},status:"warning",size:"sm"}).then(function(){return function(e){return p.create(e).then(c.getResData)}({name:e})}).then(function(e){return function(e){g.addGroupNavigation(e)}(e),e})}(e.name):n.resolve(e)}(e).then(function(e){return function(t){return o.detailCached(f).then(function(e){var n=e.data;return r.addChildAsset(t,n)})}(e)}).then(A)},removeFromGroup:function(t){return o.detailCached(f).then(function(e){var n=e.data;return s.unassignDevice(t,n)}).then(y).then(function(){return u.success(a("Device removed from group."))})},isCreateNewGroupAllowed:!1})}function n(t,e,n,r,o){var i=[];function u(e){return n.detail(e).then(function(e){var n=e.data;return r.getGroupItems(n).then(function(e){t.items=e,i.push(n)})})}t.title=o("Select group"),t.drillDown=u,t.upToGroup=function(e){for(;i[i.length-1]!==e;)i.pop();i.pop(),u(e.id)},t.select=e.close,t.dismiss=e.dismiss,t.isGroup=r.isGroup,r.getTopLevelGroups().then(function(e){t.items=e}),t.breadcrumbs=i,t.currentManagedObjectId=t.device.id}e.$inject=["$scope","$q","c8yModal","c8yInventory","c8yDevices","c8yBreadcrumbs","c8yAlert","c8yBase","groupsHierarchySvc","gettext","c8yPermissions","c8yDeviceGroup","gettextCatalog","groupTypesHierarchyNavigator"],n.$inject=["$scope","$uibModalInstance","c8yInventory","c8yGroups","gettext"],angular.module("c8y.deviceGroupAssignment").controller("GroupSelectModalCtrl",n).component("groupAssignment",{controller:e,controllerAs:"vm",templateUrl:":::PLUGIN_PATH:::/groupAssignment.component.html",bindings:{config:"<"}})}();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.parts.availability",["nvd3ChartDirectives"]).config(["c8yViewsProvider","c8yNavigatorProvider","c8yTitleProvider","gettext",function(i,e,a,t){var l="signal",n={name:t("Availability"),icon:l,templateUrl:"".concat(":::PLUGIN_PATH:::/views/","detail.html"),controller:"availabilityReportCtrl",showIfPermissions:{allRoles:["ROLE_ALARM_READ","ROLE_INVENTORY_READ"]}},o="availability";e.addNavigation({parent:t("Devices"),name:t("Availability"),icon:l,path:o,showIfPermissions:{allRoles:["ROLE_ALARM_READ","ROLE_INVENTORY_READ"]}}),i.when("/device/:deviceId",_.cloneDeep(n)),i.when("/".concat(o),_.cloneDeep(n)),a.addTitle("/".concat(o),{data:function(){return{title:t("Availability")}}})}]);
1
+ "use strict";angular.module("c8y.parts.availability",["nvd3ChartDirectives"]).config(["c8yViewsProvider","c8yNavigatorProvider","c8yTitleProvider","gettext",function(i,e,a,t){var l="signal",n={name:t("Availability"),icon:l,templateUrl:"".concat(":::PLUGIN_PATH:::/views/","detail.html"),controller:"availabilityReportCtrl",showIfPermissions:{allRoles:["ROLE_ALARM_READ"],anyRole:["ROLE_INVENTORY_READ","ROLE_MANAGED_OBJECT_READ"]}},o="availability";e.addNavigation({parent:t("Devices"),name:t("Availability"),icon:l,path:o,showIfPermissions:{allRoles:["ROLE_ALARM_READ"],anyRole:["ROLE_INVENTORY_READ","ROLE_MANAGED_OBJECT_READ"]}}),i.when("/device/:deviceId",_.cloneDeep(n)),i.when("/".concat(o),_.cloneDeep(n)),a.addTitle("/".concat(o),{data:function(){return{title:t("Availability")}}})}]);
@@ -1 +1 @@
1
- "use strict";!function(){function n(t,n,e){c.$inject=["manageCertificateSvc"],s.$inject=["c8yEnterpriseEditionAvailability"],a.$inject=["$scope"];var i=["ROLE_INVENTORY_ADMIN","ROLE_OPTION_MANAGEMENT_ADMIN","ROLE_APPLICATION_MANAGEMENT_ADMIN","ROLE_APPLICATION_MANAGEMENT_READ"];function r(i){return["c8yTenant",function(n){var t=this;n.isEnterpriseEditionTenant().then(function(n){t.title=n?e("Enterprise tenant"):i})}]}function o(i){return["c8yTenant","c8yApplication",function(n,t){return n.isEnterpriseEditionTenant().then(function(n){return!n&&t.isAnyAvailable(i)})}]}function a(n){n.optionsGroups=["twoFactorAuthenticationOptions","supportLinkOptions","passwordResetOptions","emailServerOptions","dataExportOptions","storageLimitOptions","suspendingTenantsOptions"]}function s(n){return n.isAvailable()}function c(n){return n.hasCustomLoadBalancer().then(function(n){return!n})}_.each(["/enterprise","/branding"],function(n){return t.when(n,function(){var n=e("Branding");return{template:'\n <c8y-ui-title-set title="vm.title"></c8y-ui-title-set>\n <c8y-branding-configuration-form></c8y-branding-configuration-form>\n ',name:n,icon:"paint-brush",controller:r(n),controllerAs:"vm"}}())}),_.each(["/enterprise","/domain_name"],function(n){return t.when(n,function(){var n=e("Domain name");return{template:'\n <c8y-ui-title-set title="vm.title"></c8y-ui-title-set>\n <c8y-manage-certificate-form></c8y-manage-certificate-form>\n ',name:n,icon:"certificate",controller:r(n),controllerAs:"vm",showIf:c}}())}),n.addNavigation({name:e("Enterprise tenant"),parent:e("Settings"),icon:"enterprise-resource-planning",priority:1e3,path:"enterprise",routerLinkExact:!1,showIf:s,showIfPermissions:{allRoles:i}}),n.addNavigation({name:e("Branding"),parent:e("Settings"),icon:"paint-brush",priority:1e3,path:"branding",showIf:o([{name:"branding"},{name:"feature-branding"}]),showIfPermissions:{allRoles:i}}),n.addNavigation({name:e("Domain name"),parent:e("Settings"),icon:"certificate",priority:1e3,path:"domain_name",showIf:o([{name:"sslmanagement"}]),showIfPermissions:{allRoles:i}}),t.when("/enterprise",{template:'<c8y-platform-configuration-form options-groups="optionsGroups"></c8y-platform-configuration-form>',name:e("Configuration"),icon:"cog",controller:a})}n.$inject=["c8yViewsProvider","c8yNavigatorProvider","gettext"],angular.module("c8y.enterpriseEdition",["c8y.custom-branding"]).config(n)}();
1
+ "use strict";!function(){function n(t,n,i){u.$inject=["manageCertificateSvc"],c.$inject=["c8yEnterpriseEditionAvailability"],s.$inject=["$scope"];var e=["ROLE_OPTION_MANAGEMENT_ADMIN","ROLE_APPLICATION_MANAGEMENT_ADMIN","ROLE_APPLICATION_MANAGEMENT_READ"],r=["ROLE_INVENTORY_ADMIN","ROLE_MANAGED_OBJECT_ADMIN"];function o(e){return["c8yTenant",function(n){var t=this;n.isEnterpriseEditionTenant().then(function(n){t.title=n?i("Enterprise tenant"):e})}]}function a(e){return["c8yTenant","c8yApplication",function(n,t){return n.isEnterpriseEditionTenant().then(function(n){return!n&&t.isAnyAvailable(e)})}]}function s(n){n.optionsGroups=["twoFactorAuthenticationOptions","supportLinkOptions","passwordResetOptions","emailServerOptions","dataExportOptions","storageLimitOptions","suspendingTenantsOptions"]}function c(n){return n.isAvailable()}function u(n){return n.hasCustomLoadBalancer().then(function(n){return!n})}_.each(["/enterprise","/branding"],function(n){return t.when(n,function(){var n=i("Branding");return{template:'\n <c8y-ui-title-set title="vm.title"></c8y-ui-title-set>\n <c8y-branding-configuration-form></c8y-branding-configuration-form>\n ',name:n,icon:"paint-brush",controller:o(n),controllerAs:"vm"}}())}),_.each(["/enterprise","/domain_name"],function(n){return t.when(n,function(){var n=i("Domain name");return{template:'\n <c8y-ui-title-set title="vm.title"></c8y-ui-title-set>\n <c8y-manage-certificate-form></c8y-manage-certificate-form>\n ',name:n,icon:"certificate",controller:o(n),controllerAs:"vm",showIf:u}}())}),n.addNavigation({name:i("Enterprise tenant"),parent:i("Settings"),icon:"enterprise-resource-planning",priority:1e3,path:"enterprise",routerLinkExact:!1,showIf:c,showIfPermissions:{allRoles:e,anyRole:r}}),n.addNavigation({name:i("Branding"),parent:i("Settings"),icon:"paint-brush",priority:1e3,path:"branding",showIf:a([{name:"branding"},{name:"feature-branding"}]),showIfPermissions:{allRoles:e,anyRole:r}}),n.addNavigation({name:i("Domain name"),parent:i("Settings"),icon:"certificate",priority:1e3,path:"domain_name",showIf:a([{name:"sslmanagement"}]),showIfPermissions:{allRoles:e,anyRole:r}}),t.when("/enterprise",{template:'<c8y-platform-configuration-form options-groups="optionsGroups"></c8y-platform-configuration-form>',name:i("Configuration"),icon:"cog",controller:s})}n.$inject=["c8yViewsProvider","c8yNavigatorProvider","gettext"],angular.module("c8y.enterpriseEdition",["c8y.custom-branding"]).config(n)}();
@@ -16,7 +16,7 @@
16
16
 
17
17
  <div ng-repeat="m in measurementsByFragment[measurement]">
18
18
  {{m.fragment}} <span class="text-muted">{{m.series}}</span>
19
- <c8y-if-allowed any-role="['ROLE_INVENTORY_ADMIN']">
19
+ <c8y-if-allowed any-role="['ROLE_INVENTORY_ADMIN', 'ROLE_MANAGED_OBJECT_ADMIN']">
20
20
  <a class="btn btn-link btn-xs" ng-href="/apps/administration/#kpi/new?fragment={{m.fragment}}&series={{m.series}}">
21
21
  <i c8y-icon="plus"></i>
22
22
  <translate>Create KPI</translate>
@@ -35,7 +35,7 @@
35
35
  <translate>Edit KPI</translate>
36
36
  </a>
37
37
  </c8y-if-allowed>
38
- <c8y-if-allowed any-role="['ROLE_INVENTORY_ADMIN']">
38
+ <c8y-if-allowed any-role="['ROLE_INVENTORY_ADMIN', 'ROLE_MANAGED_OBJECT_ADMIN']">
39
39
  <a class="btn btn-link btn-xs" ng-href="/apps/administration/#kpi/new?fragment={{kpi.c8y_Kpi.fragment}}&series={{kpi.c8y_Kpi.series}}">
40
40
  <i c8y-icon="plus"></i>
41
41
  <translate>Create new KPI</translate>
@@ -1,7 +1,7 @@
1
1
  <div ng-controller="kpiSetupCtrl">
2
2
  <div class="nav">
3
3
  <div class="navbar-right">
4
- <c8y-if-allowed any-role="['ROLE_INVENTORY_ADMIN']">
4
+ <c8y-if-allowed any-role="['ROLE_INVENTORY_ADMIN', 'ROLE_MANAGED_OBJECT_ADMIN']">
5
5
  <button
6
6
  title="{{ 'Add KPI' | translate }}"
7
7
  ng-if="false"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/ng1-modules",
3
- "version": "1018.0.194",
3
+ "version": "1018.0.201",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Cumulocity",
6
6
  "description": "AngularJS modules for Cumulocity IoT applications.",
@@ -1 +1 @@
1
- "use strict";!function(){function e(i,c,n,t,r,o,a,u,l,s,d,e,f,h,g,v,m){var p,A=c.deviceId||c.groupId,S={},R={},b={done:!1,inProgress:!1},y={true:{text:v("Active"),icon:"check-circle",cls:"text-success"},false:{text:v("Inactive"),icon:"ban",cls:"text-danger"}},E=d.getContext(),x=v("Global smart rules");function I(){return n.when().then(C).then(T).then(P).then(U).then(M).catch(N)}function C(){b.inProgress=!0}function M(){b.inProgress=!1,b.done=!0,b.error=!1}function N(e){e.data&&e.data.message&&s.danger(e.data.message),b.inProgress=!1,b.done=!0,b.error=!0}function T(){return h.list().then(D)}function D(e){_.forEach(e||[],function(e){S[e.name]=e})}function P(){var e=A?g.listByContext(A):n.resolve([]),t=f.hasPermissions().then(function(e){return e?g.list():n.when([])});return n.all({listByContext:e,list:t}).then(function(e){i.rules=function(e){var t=e;A&&(t=_.reject(e,function(e){var n=new RegExp("".concat(e,"/dashboard"));return function(e){var t=_.get(e,"config.url","");return w(e)&&!n.test(t)}}(A)));return t}(_.concat(e.listByContext,e.list))})}function w(e){return"sendDashboardsViaEmail"===e.ruleTemplateName}function O(e){return g.hasSource(e,A)}function U(){return Array.isArray(i.rules)&&0<i.rules.length?function(){var e=d.getContext();return null!==e.context?o.childAssets(e.id,{skipDetail:!0,params:{pageSize:2e3,withChildren:!1}}).then(function(e){i.children=e}).then(function(){i.ruleChildren={},_.forEach(i.rules,function(e){i.ruleChildren[e.id]=L(e)})}):n.resolve()}():n.resolve()}function L(t){return _.filter(i.children,function(e){return g.hasSource(t,e)})}_.assign(i,{isOpen:{},moId:A,loadingStatus:b,refresh:I,paging:{refresh:I},ruleTemplates:S,getLinkToDM:function(){var e={deviceId:A};return t(p||"")(e)},add:function(){g.addNewWithUI().then(I)},edit:function(e){g.editWithUI(e).then(I)},clone:function(e){g.cloneWithUI(e).then(I)},remove:function(e){l({title:v("Delete smart rule"),body:m.getString('You are about to delete smart rule "{{name}}". Do you want to proceed?',e),labels:{ok:v("Delete")},status:"danger"}).then(angular.bind(g,g.remove,e)).then(function(){return _.pull(i.rules,e)}).then(function(){return s.success(v("Smart rule deleted."))})},hasSource:O,getChildrenEnabledForSmartRule:L,toggleRuleActivationForContextMO:function(e){if(O(e))return g.deactivate(e,A,!1).then(function(){s.success(m.getString('Smart rule "{{name}}" deactivated.',e))});return g.activate(e,A,!1).then(function(){s.success(m.getString('Smart rule "{{name}}" activated.',e))})},toggleRuleActivationForChildrenMOs:function(e,n){var t=_.filter(n,function(t){return!_.find(i.ruleChildren[e.id],function(e){return e.id===t.id})}),r=_.filter(i.ruleChildren[e.id],function(t){return!_.find(n,function(e){return t.id===e.id})});return g.updateSources(e,t,r,!1).then(P).then(U).then(function(){s.success(m.getString('Smart rule "{{name}}" activated/deactivated for children.',e))})},tooltip:function(e){var t={activate:{"for group":v("Activate for this group"),"for device":v("Activate for this device"),"for object":v("Activate for this object")},deactivate:{"for group":v("Deactivate for this group"),"for device":v("Deactivate for this device"),"for object":v("Deactivate for this object")}},n=e.enabled&&O(e)?"deactivate":"activate",r=c.groupId?"group":"object";return r=c.deviceId?"device":r,t[n]["for ".concat(r)]},type:function(e){var t,n=S[e.ruleTemplateName];n&&(t=n.label.full?m.getString(n.label.full):"".concat(m.getString(n.label.input)," ").concat(m.getString(n.label.output)));return t},status:function(e){return y[e.enabled].text},statusIcon:function(e){return y[e.enabled].icon},statusClass:function(e){return y[e.enabled].cls},showTitle:function(){return null!==d.getContext().context},title:x,context:E,inputIcon:function(e){var t,n=S[e.ruleTemplateName];n&&(t=n.paramGroups.input.icon);return t},outputIcon:function(e){var t,n=S[e.ruleTemplateName];n&&(t=n.paramGroups.output.icon);return t},canAddRules:function(e){var t=_.get(S,"".concat(_.get(e,"ruleTemplateName"),"._active")),n=R.canAddRules;e&&!t&&(n=!1);if(_.isUndefined(n)){var r;r=i.context?{adminMOs:[i.context.id]}:{allRoles:["ROLE_INVENTORY_ADMIN"],anyRole:["ROLE_SMARTRULE_ADMIN","ROLE_CEP_MANAGEMENT_ADMIN"]},R.canAddRules=u.isAllowed(r).then(function(e){return R.canAddRules=e,R.canAddRules}),n=!1}return n},canModify:function(t){R.rules=R.rules||{};var n=R.rules,e=n[t.id];_.isUndefined(e)&&(n[t.id]=u.isAllowed({adminMOs:[t.id]}).then(function(e){return n[t.id]=e,n[t.id]}),e=!1);return e},canInspect:function(){var e=R.canInspect;_.isUndefined(e)&&(R.canInspect=n.all({administrationAccess:a.listByUser().then(function(e){return!!_.find(e,{contextPath:"administration"})}),eventProcessingAccess:u.isAllowed({anyRole:["ROLE_CEP_MANAGEMENT_READ","ROLE_CEP_MANAGEMENT_ADMIN"]}),eventProcessingEnabled:g.eventProcessingEnabled()}).then(function(e){return R.canInspect=e.administrationAccess&&e.eventProcessingAccess&&e.eventProcessingEnabled,R.canInspect}),e=!1);return e},canApplyOnChildren:function(e){return!w(e)},canSeeSection:function(){var e=R.canSeeSection;_.isUndefined(e)&&(R.canSeeSection=(r.checkIfModulesExist(["c8y.cockpit.config"])?f.shouldShowLocalSmartRules():n.when(!1)).then(function(e){return R.canSeeSection=e,R.canSeeSection}),e=!1);return e}}),I(),null===d.getContext().context&&e.changeTitle({title:x}),"device"===E.context&&r.getStaticLinkTemplate("devicemanagementDeviceDetails").then(function(e){p=e})}e.$inject=["$scope","$routeParams","$q","$interpolate","c8yBase","c8yInventory","c8yApplication","c8yPermissions","c8yModal","c8yAlert","c8yUiUtil","c8yTitle","c8ySmartRulesAvailability","smartRuleTemplatesSvc","smartRulesSvc","gettext","gettextCatalog"],angular.module("c8y.smartRules").controller("SmartRulesListCtrl",e)}();
1
+ "use strict";!function(){function e(i,c,o,t,n,r,a,u,l,s,d,e,f,h,v,g,m){var p,A=c.deviceId||c.groupId,S={},R={},y={done:!1,inProgress:!1},E={true:{text:g("Active"),icon:"check-circle",cls:"text-success"},false:{text:g("Inactive"),icon:"ban",cls:"text-danger"}},I=d.getContext(),b=g("Global smart rules");function x(){return o.when().then(C).then(w).then(T).then(L).then(M).catch(N)}function C(){y.inProgress=!0}function M(){y.inProgress=!1,y.done=!0,y.error=!1}function N(e){e.data&&e.data.message&&s.danger(e.data.message),y.inProgress=!1,y.done=!0,y.error=!0}function w(){return h.list().then(D)}function D(e){_.forEach(e||[],function(e){S[e.name]=e})}function T(){var e=A?v.listByContext(A):o.resolve([]),t=f.hasPermissions().then(function(e){return e?v.list():o.when([])});return o.all({listByContext:e,list:t}).then(function(e){i.rules=function(e){var t=e;A&&(t=_.reject(e,function(e){var n=new RegExp("".concat(e,"/dashboard"));return function(e){var t=_.get(e,"config.url","");return P(e)&&!n.test(t)}}(A)));return t}(_.concat(e.listByContext,e.list))})}function P(e){return"sendDashboardsViaEmail"===e.ruleTemplateName}function O(e){return v.hasSource(e,A)}function L(){return Array.isArray(i.rules)&&0<i.rules.length?function(){var e=d.getContext();return null!==e.context?r.childAssets(e.id,{skipDetail:!0,params:{pageSize:2e3,withChildren:!1}}).then(function(e){i.children=e}).then(function(){i.ruleChildren={},_.forEach(i.rules,function(e){i.ruleChildren[e.id]=U(e)})}):o.resolve()}():o.resolve()}function U(t){return _.filter(i.children,function(e){return v.hasSource(t,e)})}_.assign(i,{isOpen:{},moId:A,loadingStatus:y,refresh:x,paging:{refresh:x},ruleTemplates:S,getLinkToDM:function(){var e={deviceId:A};return t(p||"")(e)},add:function(){v.addNewWithUI().then(x)},edit:function(e){v.editWithUI(e).then(x)},clone:function(e){v.cloneWithUI(e).then(x)},remove:function(e){l({title:g("Delete smart rule"),body:m.getString('You are about to delete smart rule "{{name}}". Do you want to proceed?',e),labels:{ok:g("Delete")},status:"danger"}).then(angular.bind(v,v.remove,e)).then(function(){return _.pull(i.rules,e)}).then(function(){return s.success(g("Smart rule deleted."))})},hasSource:O,getChildrenEnabledForSmartRule:U,toggleRuleActivationForContextMO:function(e){if(O(e))return v.deactivate(e,A,!1).then(function(){s.success(m.getString('Smart rule "{{name}}" deactivated.',e))});return v.activate(e,A,!1).then(function(){s.success(m.getString('Smart rule "{{name}}" activated.',e))})},toggleRuleActivationForChildrenMOs:function(e,n){var t=_.filter(n,function(t){return!_.find(i.ruleChildren[e.id],function(e){return e.id===t.id})}),r=_.filter(i.ruleChildren[e.id],function(t){return!_.find(n,function(e){return t.id===e.id})});return v.updateSources(e,t,r,!1).then(T).then(L).then(function(){s.success(m.getString('Smart rule "{{name}}" activated/deactivated for children.',e))})},tooltip:function(e){var t={activate:{"for group":g("Activate for this group"),"for device":g("Activate for this device"),"for object":g("Activate for this object")},deactivate:{"for group":g("Deactivate for this group"),"for device":g("Deactivate for this device"),"for object":g("Deactivate for this object")}},n=e.enabled&&O(e)?"deactivate":"activate",r=c.groupId?"group":"object";return r=c.deviceId?"device":r,t[n]["for ".concat(r)]},type:function(e){var t,n=S[e.ruleTemplateName];n&&(t=n.label.full?m.getString(n.label.full):"".concat(m.getString(n.label.input)," ").concat(m.getString(n.label.output)));return t},status:function(e){return E[e.enabled].text},statusIcon:function(e){return E[e.enabled].icon},statusClass:function(e){return E[e.enabled].cls},showTitle:function(){return null!==d.getContext().context},title:b,context:I,inputIcon:function(e){var t,n=S[e.ruleTemplateName];n&&(t=n.paramGroups.input.icon);return t},outputIcon:function(e){var t,n=S[e.ruleTemplateName];n&&(t=n.paramGroups.output.icon);return t},canAddRules:function(e){var t=_.get(S,"".concat(_.get(e,"ruleTemplateName"),"._active")),n=R.canAddRules;e&&!t&&(n=!1);if(_.isUndefined(n)){var r;r=i.context?u.isAllowed({adminMOs:[i.context.id]}):o.all({isAllowedInventory:u.isAllowed({anyRole:["ROLE_INVENTORY_ADMIN","ROLE_MANAGED_OBJECT_ADMIN"]}),isAllowedSmartRules:u.isAllowed({anyRole:["ROLE_SMARTRULE_ADMIN","ROLE_CEP_MANAGEMENT_ADMIN"]})}).then(function(e){var t=e.isAllowedInventory,n=e.isAllowedSmartRules;return t&&n}),R.canAddRules=r.then(function(e){return R.canAddRules=e,R.canAddRules}),n=!1}return n},canModify:function(t){R.rules=R.rules||{};var n=R.rules,e=n[t.id];_.isUndefined(e)&&(n[t.id]=u.isAllowed({adminMOs:[t.id]}).then(function(e){return n[t.id]=e,n[t.id]}),e=!1);return e},canInspect:function(){var e=R.canInspect;_.isUndefined(e)&&(R.canInspect=o.all({administrationAccess:a.listByUser().then(function(e){return!!_.find(e,{contextPath:"administration"})}),eventProcessingAccess:u.isAllowed({anyRole:["ROLE_CEP_MANAGEMENT_READ","ROLE_CEP_MANAGEMENT_ADMIN"]}),eventProcessingEnabled:v.eventProcessingEnabled()}).then(function(e){return R.canInspect=e.administrationAccess&&e.eventProcessingAccess&&e.eventProcessingEnabled,R.canInspect}),e=!1);return e},canApplyOnChildren:function(e){return!P(e)},canSeeSection:function(){var e=R.canSeeSection;_.isUndefined(e)&&(R.canSeeSection=(n.checkIfModulesExist(["c8y.cockpit.config"])?f.shouldShowLocalSmartRules():o.when(!1)).then(function(e){return R.canSeeSection=e,R.canSeeSection}),e=!1);return e}}),x(),null===d.getContext().context&&e.changeTitle({title:b}),"device"===I.context&&n.getStaticLinkTemplate("devicemanagementDeviceDetails").then(function(e){p=e})}e.$inject=["$scope","$routeParams","$q","$interpolate","c8yBase","c8yInventory","c8yApplication","c8yPermissions","c8yModal","c8yAlert","c8yUiUtil","c8yTitle","c8ySmartRulesAvailability","smartRuleTemplatesSvc","smartRulesSvc","gettext","gettextCatalog"],angular.module("c8y.smartRules").controller("SmartRulesListCtrl",e)}();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,i,o,t,n,r,c,a,u,s,l,d,f,h){var m=this,v={},g={},p={done:!1,inProgress:!1},A={true:{text:f("Active`rule`"),icon:"check-circle",cls:"text-success"},false:{text:f("Inactive`rule`"),icon:"ban",cls:"text-warning"}};function R(){return o.when().then(S).then(y).then(C).then(P).then(b).catch(E)}function S(){p.inProgress=!0}function b(){p.inProgress=!1,p.done=!0,p.error=!1}function E(e){e.data&&e.data.message&&a.danger(e.data.message),p.inProgress=!1,p.done=!0,p.error=!0}function y(){return l.list().then(I)}function I(e){_.forEach(e,function(e){v[e.name]=e})}function C(){var e=m.mo?d.listByContext(m.mo):o.resolve([]),t=s.hasPermissions().then(function(e){return e?d.list():o.when([])});return o.all({listByContext:e,list:t}).then(function(e){m.rules=function(e){var t=e;m.mo&&(t=_.reject(t,function(e){var n=new RegExp("".concat(e,"/dashboard"));return function(e){var t=_.get(e,"config.url","");return x(e)&&!n.test(t)}}(m.mo)));m.filter&&(t=_.filter(t,m.filter));return t}(_.concat(e.listByContext,e.list)),"function"==typeof m.onRules&&m.onRules()(m.rules)})}function x(e){return"sendDashboardsViaEmail"===e.ruleTemplateName}function N(e){return d.hasSource(e,m.mo)}function P(){return Array.isArray(m.rules)&&0<m.rules.length?function(){var e=u.getContext(),t=function(e){var t=e.id;return m.mo?_.get(m,"mo.id")||m.mo:t}(e);return null!==e.context?n.childAssets(t,{skipDetail:!0,params:{pageSize:2e3,withChildren:!1}}).then(function(e){m.children=e}).then(function(){m.ruleChildren={},_.forEach(m.rules,function(e){m.ruleChildren[e.id]=M(e)})}):o.resolve()}():o.resolve()}function M(t){return _.filter(m.children,function(e){return t.enabled&&d.hasSource(t,e)})}_.assign(m,{ruleTemplates:v,loadingStatus:p,isOpen:{},listClass:"interact-list",$onInit:function(){e.$on("smartRulesListReload",R),R()},add:function(){d.addNewWithUI().then(R)},edit:function(e){d.editWithUI(e).then(R)},clone:function(e){d.cloneWithUI(e).then(R)},remove:function(e){t({title:f("Delete smart rule"),body:h.getString('You are about to delete smart rule "{{name}}". Do you want to proceed?',e),status:"danger",labels:{ok:f("Delete")}}).then(d.remove.bind(d,e)).then(function(){return _.pull(m.rules,e)}).then(function(){return a.success(f("Smart rule deleted."))})},hasSource:N,getChildrenEnabledForSmartRule:M,toggleRuleActivationForContextMO:function(e){if(e.enabled&&N(e))return d.deactivate(e,m.mo,!1).then(function(){a.success(h.getString('Smart rule "{{name}}" deactivated.',e))});return d.activate(e,m.mo,!1).then(function(){a.success(h.getString('Smart rule "{{name}}" activated.',e))})},toggleRuleActivationForChildrenMOs:function(t,n){var r=[];return _.forEach(n,function(e){!_.find(m.ruleChildren[t.id],{id:e.id})&&r.push(d.activate(t,e,!1))}),_.forEach(m.ruleChildren[t.id],function(e){!_.find(n,{id:e.id})&&r.push(d.deactivate(t,e,!1))}),o.all(r).then(C).then(P).then(function(){a.success(h.getString('Smart rule "{{name}}" activated/deactivated for children.',t))})},tooltip:function(e){var t,n={activate:{"for group":f("Activate for this group."),"for device":f("Activate for this device."),"for object":f("Activate for this object.")},deactivate:{"for group":f("Deactivate for this group."),"for device":f("Deactivate for this device."),"for object":f("Deactivate for this object.")}},r=e.enabled&&N(e)?"deactivate":"activate";t=i.deviceId?"device":i.groupId?"group":"object";return n[r]["for ".concat(t)]},type:function(e){var t,n=v[e.ruleTemplateName];n&&(t=n.label.full?h.getString(n.label.full):"".concat(h.getString(n.label.input)," ").concat(h.getString(n.label.output)));return t},status:function(e){return A[e.enabled].text},statusIcon:function(e){return A[e.enabled].icon},statusClass:function(e){return A[e.enabled].cls},context:u.getContext(),inputIcon:function(e){var t,n=v[e.ruleTemplateName];n&&(t=n.paramGroups.input.icon);return t},outputIcon:function(e){var t,n=v[e.ruleTemplateName];n&&(t=n.paramGroups.output.icon);return t},canAddRules:function(){var e=g.canAddRules;if(_.isUndefined(e)){var t;t=m.context?{adminMOs:[m.context.id]}:{allRoles:["ROLE_INVENTORY_ADMIN"],anyRole:["ROLE_SMARTRULE_ADMIN","ROLE_CEP_MANAGEMENT_ADMIN"]},g.canAddRules=c.isAllowed(t).then(function(e){return g.canAddRules=e,g.canAddRules}),e=!1}return e},canModify:function(t){g.rules=g.rules||{};var n=g.rules,e=n[t.id];_.isUndefined(e)&&(n[t.id]=c.isAllowed({adminMOs:[t.id]}).then(function(e){return n[t.id]=e,n[t.id]}),e=!1);return e},canInspect:function(){var e=g.canInspect;_.isUndefined(e)&&(g.canInspect=o.all({administrationAccess:r.listByUser().then(function(e){return!!_.find(e,{contextPath:"administration"})}),eventProcessingAccess:c.isAllowed({anyRole:["ROLE_CEP_MANAGEMENT_READ","ROLE_CEP_MANAGEMENT_ADMIN"]}),eventProcessingEnabled:d.eventProcessingEnabled()}).then(function(e){return g.canInspect=e.administrationAccess&&e.eventProcessingAccess&&e.eventProcessingEnabled,g.canInspect}),e=!1);return e},canApplyOnChildren:function(e){return!x(e)},canSeeSection:function(){var e=g.canSeeSection;_.isUndefined(e)&&(g.canSeeSection=s.shouldShowLocalSmartRules().then(function(e){return g.canSeeSection=e,g.canSeeSection}),e=!1);return e}}),_.assign(e,{refresh:R,paging:{refresh:R}})}e.$inject=["$scope","$routeParams","$q","c8yModal","c8yInventory","c8yApplication","c8yPermissions","c8yAlert","c8yUiUtil","c8ySmartRulesAvailability","smartRuleTemplatesSvc","smartRulesSvc","gettext","gettextCatalog"],angular.module("c8y.smartRules").component("smartRulesList",{bindings:{mo:"<?",filter:"<?",disableEditAndCreate:"<?",onRules:"&?"},templateUrl:":::PLUGIN_PATH:::/list/smartRulesList.html",controller:e,controllerAs:"vm"})}();
1
+ "use strict";!function(){function e(e,i,o,t,n,r,a,c,s,u,l,d,f,h){var m=this,v={},g={},A={done:!1,inProgress:!1},p={true:{text:f("Active`rule`"),icon:"check-circle",cls:"text-success"},false:{text:f("Inactive`rule`"),icon:"ban",cls:"text-warning"}};function R(){return o.when().then(S).then(y).then(C).then(M).then(E).catch(b)}function S(){A.inProgress=!0}function E(){A.inProgress=!1,A.done=!0,A.error=!1}function b(e){e.data&&e.data.message&&c.danger(e.data.message),A.inProgress=!1,A.done=!0,A.error=!0}function y(){return l.list().then(I)}function I(e){_.forEach(e,function(e){v[e.name]=e})}function C(){var e=m.mo?d.listByContext(m.mo):o.resolve([]),t=u.hasPermissions().then(function(e){return e?d.list():o.when([])});return o.all({listByContext:e,list:t}).then(function(e){m.rules=function(e){var t=e;m.mo&&(t=_.reject(t,function(e){var n=new RegExp("".concat(e,"/dashboard"));return function(e){var t=_.get(e,"config.url","");return N(e)&&!n.test(t)}}(m.mo)));m.filter&&(t=_.filter(t,m.filter));return t}(_.concat(e.listByContext,e.list)),"function"==typeof m.onRules&&m.onRules()(m.rules)})}function N(e){return"sendDashboardsViaEmail"===e.ruleTemplateName}function x(e){return d.hasSource(e,m.mo)}function M(){return Array.isArray(m.rules)&&0<m.rules.length?function(){var e=s.getContext(),t=function(e){var t=e.id;return m.mo?_.get(m,"mo.id")||m.mo:t}(e);return null!==e.context?n.childAssets(t,{skipDetail:!0,params:{pageSize:2e3,withChildren:!1}}).then(function(e){m.children=e}).then(function(){m.ruleChildren={},_.forEach(m.rules,function(e){m.ruleChildren[e.id]=P(e)})}):o.resolve()}():o.resolve()}function P(t){return _.filter(m.children,function(e){return t.enabled&&d.hasSource(t,e)})}_.assign(m,{ruleTemplates:v,loadingStatus:A,isOpen:{},listClass:"interact-list",$onInit:function(){e.$on("smartRulesListReload",R),R()},add:function(){d.addNewWithUI().then(R)},edit:function(e){d.editWithUI(e).then(R)},clone:function(e){d.cloneWithUI(e).then(R)},remove:function(e){t({title:f("Delete smart rule"),body:h.getString('You are about to delete smart rule "{{name}}". Do you want to proceed?',e),status:"danger",labels:{ok:f("Delete")}}).then(d.remove.bind(d,e)).then(function(){return _.pull(m.rules,e)}).then(function(){return c.success(f("Smart rule deleted."))})},hasSource:x,getChildrenEnabledForSmartRule:P,toggleRuleActivationForContextMO:function(e){if(e.enabled&&x(e))return d.deactivate(e,m.mo,!1).then(function(){c.success(h.getString('Smart rule "{{name}}" deactivated.',e))});return d.activate(e,m.mo,!1).then(function(){c.success(h.getString('Smart rule "{{name}}" activated.',e))})},toggleRuleActivationForChildrenMOs:function(t,n){var r=[];return _.forEach(n,function(e){!_.find(m.ruleChildren[t.id],{id:e.id})&&r.push(d.activate(t,e,!1))}),_.forEach(m.ruleChildren[t.id],function(e){!_.find(n,{id:e.id})&&r.push(d.deactivate(t,e,!1))}),o.all(r).then(C).then(M).then(function(){c.success(h.getString('Smart rule "{{name}}" activated/deactivated for children.',t))})},tooltip:function(e){var t,n={activate:{"for group":f("Activate for this group."),"for device":f("Activate for this device."),"for object":f("Activate for this object.")},deactivate:{"for group":f("Deactivate for this group."),"for device":f("Deactivate for this device."),"for object":f("Deactivate for this object.")}},r=e.enabled&&x(e)?"deactivate":"activate";t=i.deviceId?"device":i.groupId?"group":"object";return n[r]["for ".concat(t)]},type:function(e){var t,n=v[e.ruleTemplateName];n&&(t=n.label.full?h.getString(n.label.full):"".concat(h.getString(n.label.input)," ").concat(h.getString(n.label.output)));return t},status:function(e){return p[e.enabled].text},statusIcon:function(e){return p[e.enabled].icon},statusClass:function(e){return p[e.enabled].cls},context:s.getContext(),inputIcon:function(e){var t,n=v[e.ruleTemplateName];n&&(t=n.paramGroups.input.icon);return t},outputIcon:function(e){var t,n=v[e.ruleTemplateName];n&&(t=n.paramGroups.output.icon);return t},canAddRules:function(){var e=g.canAddRules;if(_.isUndefined(e)){var t;t=m.context?a.isAllowed({adminMOs:[m.context.id]}):o.all({isAllowedInventory:a.isAllowed({anyRole:["ROLE_INVENTORY_ADMIN","ROLE_MANAGED_OBJECT_ADMIN"]}),isAllowedSmartRules:a.isAllowed({anyRole:["ROLE_SMARTRULE_ADMIN","ROLE_CEP_MANAGEMENT_ADMIN"]})}).then(function(e){var t=e.isAllowedInventory,n=e.isAllowedSmartRules;return t&&n}),g.canAddRules=t.then(function(e){return g.canAddRules=e,g.canAddRules}),e=!1}return e},canModify:function(t){g.rules=g.rules||{};var n=g.rules,e=n[t.id];_.isUndefined(e)&&(n[t.id]=a.isAllowed({adminMOs:[t.id]}).then(function(e){return n[t.id]=e,n[t.id]}),e=!1);return e},canInspect:function(){var e=g.canInspect;_.isUndefined(e)&&(g.canInspect=o.all({administrationAccess:r.listByUser().then(function(e){return!!_.find(e,{contextPath:"administration"})}),eventProcessingAccess:a.isAllowed({anyRole:["ROLE_CEP_MANAGEMENT_READ","ROLE_CEP_MANAGEMENT_ADMIN"]}),eventProcessingEnabled:d.eventProcessingEnabled()}).then(function(e){return g.canInspect=e.administrationAccess&&e.eventProcessingAccess&&e.eventProcessingEnabled,g.canInspect}),e=!1);return e},canApplyOnChildren:function(e){return!N(e)},canSeeSection:function(){var e=g.canSeeSection;_.isUndefined(e)&&(g.canSeeSection=u.shouldShowLocalSmartRules().then(function(e){return g.canSeeSection=e,g.canSeeSection}),e=!1);return e}}),_.assign(e,{refresh:R,paging:{refresh:R}})}e.$inject=["$scope","$routeParams","$q","c8yModal","c8yInventory","c8yApplication","c8yPermissions","c8yAlert","c8yUiUtil","c8ySmartRulesAvailability","smartRuleTemplatesSvc","smartRulesSvc","gettext","gettextCatalog"],angular.module("c8y.smartRules").component("smartRulesList",{bindings:{mo:"<?",filter:"<?",disableEditAndCreate:"<?",onRules:"&?"},templateUrl:":::PLUGIN_PATH:::/list/smartRulesList.html",controller:e,controllerAs:"vm"})}();
@@ -1 +1 @@
1
- "use strict";!function(){function e(u,i,o,a,r,c,t,n,l,s){var d=o.url("service/smartrule"),f="".concat(d,"/smartrules"),h=["id","self","cepModuleId","lastUpdated","creationTime"],p=["type","cepModuleId","creationTime","lastUpdated"];return{eventProcessingEnabled:r.shouldShowEventProcessing,permissionsCfgs:{create:[{anyRole:["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE"]},{anyRole:["ROLE_CEP_MANAGEMENT_ADMIN","ROLE_SMARTRULE_ADMIN"]}]},getEmpty:function(e){var t=e||r.getContext(),n={type:"c8y_SmartRule",name:"",enabled:!0,config:{}};t.context&&t.id&&(n.c8y_Context=t,n.type="c8y_PrivateSmartRule");return n},list:function(){return i.get(f).then(o.getResData).then(_.property("rules")).then(m)},listByContext:function(e){return i.get(S({moId:e})).then(o.getResData).then(_.property("rules")).then(m)},detail:function(e){var t=v({id:e});return i.get(t).then(o.getResData)},save:function(e,t,n){var r;r=e.id?g(e):function(e,t,n){var r=v(e,!0);return function(e,t,n){return e.ruleTemplateName=t.name,function(e,t){var n=u.when(e);return e.c8y_Context||t.mo?(e.enabledSources=[],e.disabledSources=void 0,n=y(e,t.mo,t.withChildren)):(e.enabledSources=void 0,e.disabledSources=[]),n}(e,n)}(e,t,n).then(_.partial(i.post,r)).then(o.getResData)}(e,t,n);return r},remove:function(e){var t=v(e,!0);return i.delete(t)},hasSource:function(e,t){var n=t&&t.id||t;if(!n)return!1;if(e.disabledSources)return!R(e.disabledSources,n);if(e.enabledSources)return R(e.enabledSources,n);return!0},activate:function(e,t,n){return y(e,t,n).then(g)},deactivate:function(e,t,n){return b(e,t,n).then(g)},updateSources:function(e,t,n,r){return function(e,t,n){return t.reduce(function(e,t){return e.then(function(e){return y(e,t,n)})},u.resolve(e))}(e,t,r).then(function(e){return function(e,t,n){return t.reduce(function(e,t){return e.then(function(e){return b(e,t,n)})},u.resolve(e))}(e,n,r)}).then(g)},addNewWithUI:U,addNewForInputAlarmAndOutputUserWithUI:function(e,t){return U({inputAlarm:e,outputUser:t})},addNewForInputDataPointWithUI:function(e){return U({inputDataPoint:e})},addNewForOutputOperationWithUI:function(e){return U({outputOperation:{template:function(e){return o.cleanFields(e,["id","self","status","deviceId","creationTime","failureReason"])}(e)}})},createInstanceWithUI:A,createInstanceWithUIByName:function(e,t){return n.getTemplateByName(e).then(function(e){return A(e,t)})},editWithUI:function(e){return E(e,void 0)},cloneWithUI:function(e){return t.current().then(_.partial(D,e)).then(E)}};function m(e){return u.all(_.map(e,function(t){return n.getTemplateForRule(t).then(function(e){return _.isUndefined(e)?null:t})})).then(_.flatten).then(_.filter)}function v(e,t){var n=_.get(e,"c8y_Context.id"),r=t&&n?S({moId:n}):f;return e.id&&(r+="/".concat(e.id)),r}function S(e){return"".concat(d,"/managedObjects/").concat(e.moId,"/smartrules")}function g(e){var t=v(e,!0),n=o.cleanFields(e,p);return i.put(t,n)}function y(n,e,t){return I(e,t).then(function(e){return _.forEach(e,function(t){_.isArray(n.enabledSources)&&!R(n.enabledSources,t)&&n.enabledSources.push(t),_.isArray(n.disabledSources)&&R(n.disabledSources,t)&&_.remove(n.disabledSources,function(e){return _.toString(e)===_.toString(t)})}),n})}function b(n,e,t){return I(e,t).then(function(e){return _.forEach(e,function(t){_.isArray(n.enabledSources)&&R(n.enabledSources,t)&&_.remove(n.enabledSources,function(e){return _.toString(e)===_.toString(t)}),_.isArray(n.disabledSources)&&!R(n.disabledSources,t)&&n.disabledSources.push(t)}),n})}function I(e,t){var n=e&&e.id||e,r=[];return n&&(r.push(u.when(n)),r.push(function(e,t){var n=[];!0!==t&&!0!==t.assets||n.push(a.childAssets(e));!0!==t&&!0!==t.devices||n.push(a.childDevices(e));return u.all(n).then(_.flattenDeep).then(_.partialRight(_.map,"id"))}(n,t))),u.all(r).then(_.flattenDeep)}function R(e,t){var n=t.id||t;return _.some(e,function(e){return _.toString(e)===_.toString(n)})}function U(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=1<arguments.length?arguments[1]:void 0,n=2<arguments.length?arguments[2]:void 0;return c({title:l("Add global smart rule"),templateUrl:":::PLUGIN_PATH:::/views/add.html",controller:"SmartRuleAddCtrl",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",size:"lg",resolve:{context:function(){return _.cloneDeep(e)},ruleInitialObj:function(){return _.cloneDeep(n)},ruleTemplatesFilterFn:function(){return t}}})}function A(e,t){return E(t,e)}function D(e,t){var n=_.cloneDeep(e);return(n=o.cleanFields(n,h)).name=s.getString("Duplicate of {{name}}",n),t&&(n.owner=t.id),n}function E(e,t){return c({templateUrl:":::PLUGIN_PATH:::/views/edit.html",controller:"SmartRuleEditCtrl",size:"sm",resolve:{ruleTemplate:function(){return _.cloneDeep(t)},rule:function(){return _.cloneDeep(e)}}})}}e.$inject=["$q","$http","c8yBase","c8yInventory","c8yUiUtil","c8yModal","c8yUser","smartRuleTemplatesSvc","gettext","gettextCatalog"],angular.module("c8y.smartRules").factory("smartRulesSvc",e)}();
1
+ "use strict";!function(){function e(u,i,o,a,r,c,t,n,l,s){var d=o.url("service/smartrule"),f="".concat(d,"/smartrules"),h=["id","self","cepModuleId","lastUpdated","creationTime"],p=["type","cepModuleId","creationTime","lastUpdated"];return{eventProcessingEnabled:r.shouldShowEventProcessing,permissionsCfgs:{create:[{anyRole:["ROLE_INVENTORY_ADMIN","ROLE_INVENTORY_CREATE","ROLE_MANAGED_OBJECT_ADMIN","ROLE_MANAGED_OBJECT_CREATE"]},{anyRole:["ROLE_CEP_MANAGEMENT_ADMIN","ROLE_SMARTRULE_ADMIN"]}]},getEmpty:function(e){var t=e||r.getContext(),n={type:"c8y_SmartRule",name:"",enabled:!0,config:{}};t.context&&t.id&&(n.c8y_Context=t,n.type="c8y_PrivateSmartRule");return n},list:function(){return i.get(f).then(o.getResData).then(_.property("rules")).then(m)},listByContext:function(e){return i.get(S({moId:e})).then(o.getResData).then(_.property("rules")).then(m)},detail:function(e){var t=v({id:e});return i.get(t).then(o.getResData)},save:function(e,t,n){var r;r=e.id?g(e):function(e,t,n){var r=v(e,!0);return function(e,t,n){return e.ruleTemplateName=t.name,function(e,t){var n=u.when(e);return e.c8y_Context||t.mo?(e.enabledSources=[],e.disabledSources=void 0,n=y(e,t.mo,t.withChildren)):(e.enabledSources=void 0,e.disabledSources=[]),n}(e,n)}(e,t,n).then(_.partial(i.post,r)).then(o.getResData)}(e,t,n);return r},remove:function(e){var t=v(e,!0);return i.delete(t)},hasSource:function(e,t){var n=t&&t.id||t;if(!n)return!1;if(e.disabledSources)return!R(e.disabledSources,n);if(e.enabledSources)return R(e.enabledSources,n);return!0},activate:function(e,t,n){return y(e,t,n).then(g)},deactivate:function(e,t,n){return b(e,t,n).then(g)},updateSources:function(e,t,n,r){return function(e,t,n){return t.reduce(function(e,t){return e.then(function(e){return y(e,t,n)})},u.resolve(e))}(e,t,r).then(function(e){return function(e,t,n){return t.reduce(function(e,t){return e.then(function(e){return b(e,t,n)})},u.resolve(e))}(e,n,r)}).then(g)},addNewWithUI:E,addNewForInputAlarmAndOutputUserWithUI:function(e,t){return E({inputAlarm:e,outputUser:t})},addNewForInputDataPointWithUI:function(e){return E({inputDataPoint:e})},addNewForOutputOperationWithUI:function(e){return E({outputOperation:{template:function(e){return o.cleanFields(e,["id","self","status","deviceId","creationTime","failureReason"])}(e)}})},createInstanceWithUI:A,createInstanceWithUIByName:function(e,t){return n.getTemplateByName(e).then(function(e){return A(e,t)})},editWithUI:function(e){return N(e,void 0)},cloneWithUI:function(e){return t.current().then(_.partial(D,e)).then(N)}};function m(e){return u.all(_.map(e,function(t){return n.getTemplateForRule(t).then(function(e){return _.isUndefined(e)?null:t})})).then(_.flatten).then(_.filter)}function v(e,t){var n=_.get(e,"c8y_Context.id"),r=t&&n?S({moId:n}):f;return e.id&&(r+="/".concat(e.id)),r}function S(e){return"".concat(d,"/managedObjects/").concat(e.moId,"/smartrules")}function g(e){var t=v(e,!0),n=o.cleanFields(e,p);return i.put(t,n)}function y(n,e,t){return I(e,t).then(function(e){return _.forEach(e,function(t){_.isArray(n.enabledSources)&&!R(n.enabledSources,t)&&n.enabledSources.push(t),_.isArray(n.disabledSources)&&R(n.disabledSources,t)&&_.remove(n.disabledSources,function(e){return _.toString(e)===_.toString(t)})}),n})}function b(n,e,t){return I(e,t).then(function(e){return _.forEach(e,function(t){_.isArray(n.enabledSources)&&R(n.enabledSources,t)&&_.remove(n.enabledSources,function(e){return _.toString(e)===_.toString(t)}),_.isArray(n.disabledSources)&&!R(n.disabledSources,t)&&n.disabledSources.push(t)}),n})}function I(e,t){var n=e&&e.id||e,r=[];return n&&(r.push(u.when(n)),r.push(function(e,t){var n=[];!0!==t&&!0!==t.assets||n.push(a.childAssets(e));!0!==t&&!0!==t.devices||n.push(a.childDevices(e));return u.all(n).then(_.flattenDeep).then(_.partialRight(_.map,"id"))}(n,t))),u.all(r).then(_.flattenDeep)}function R(e,t){var n=t.id||t;return _.some(e,function(e){return _.toString(e)===_.toString(n)})}function E(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=1<arguments.length?arguments[1]:void 0,n=2<arguments.length?arguments[2]:void 0;return c({title:l("Add global smart rule"),templateUrl:":::PLUGIN_PATH:::/views/add.html",controller:"SmartRuleAddCtrl",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",size:"lg",resolve:{context:function(){return _.cloneDeep(e)},ruleInitialObj:function(){return _.cloneDeep(n)},ruleTemplatesFilterFn:function(){return t}}})}function A(e,t){return N(t,e)}function D(e,t){var n=_.cloneDeep(e);return(n=o.cleanFields(n,h)).name=s.getString("Duplicate of {{name}}",n),t&&(n.owner=t.id),n}function N(e,t){return c({templateUrl:":::PLUGIN_PATH:::/views/edit.html",controller:"SmartRuleEditCtrl",size:"sm",resolve:{ruleTemplate:function(){return _.cloneDeep(t)},rule:function(){return _.cloneDeep(e)}}})}}e.$inject=["$q","$http","c8yBase","c8yInventory","c8yUiUtil","c8yModal","c8yUser","smartRuleTemplatesSvc","gettext","gettextCatalog"],angular.module("c8y.smartRules").factory("smartRulesSvc",e)}();