@c8y/ng1-modules 1020.28.1 → 1020.28.7

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.
@@ -1 +1 @@
1
- "use strict";!function(){function e(l,u,i,t,e,n,r,o,F,a){var c,p,d="",s="",g={blue:{blue_1:"#08293F",blue_2:"#0B385B",blue_3:"#0F4C7B",blue_4:"#14629F",blue_5:"#1776BF",blue_6:"#1C8CE3",blue_7:"#5FAEEC",blue_8:"#96CAF3",blue_9:"#CDE6F9",blue_10:"#F6FAFE"},purple:{purple_1:"#230052",purple_2:"#310070",purple_3:"#4B00AD",purple_4:"#6800F0",purple_5:"#801FFF",purple_6:"#9A4DFF",purple_7:"#B780FF",purple_8:"#D1ADFF",purple_9:"#E8D6FF",purple_10:"#F9F5FF"},pink:{pink_1:"#570030",pink_2:"#7A0045",pink_3:"#B30065",pink_4:"#E0007F",pink_5:"#FF1F9E",pink_6:"#FF61BA",pink_7:"#FF8FCE",pink_8:"#FFBDE2",pink_9:"#FFE0F1",pink_10:"#FFF5FB"},red:{red_1:"#520005",red_2:"#6B0006",red_3:"#8F0009",red_4:"#BD000C",red_5:"#E0000E",red_6:"#FF1F2D",red_7:"#FF5C66",red_8:"#FF8F96",red_9:"#FFCCCF",red_10:"#FFF0F0"},orange:{orange_1:"#5C2800",orange_2:"#753200",orange_3:"#9E4400",orange_4:"#C25400",orange_5:"#E66400",orange_6:"#FF801F",orange_7:"#FFA057",orange_8:"#FFC89E",orange_9:"#FFE8D6",orange_10:"#FFF6F0"},yellow:{yellow_1:"#474200",yellow_2:"#5C5500",yellow_3:"#807700",yellow_4:"#ADA200",yellow_5:"#D6C800",yellow_6:"#F0DF00",yellow_7:"#FFF01F",yellow_8:"#FFF794",yellow_9:"#FFFBC7",yellow_10:"#FFFEE6"},green:{green_1:"#3B4503",green_2:"#4C5705",green_3:"#657506",green_4:"#829707",green_5:"#A0B909",green_6:"#BAD80A",green_7:"#CDEF0B",green_8:"#EAFA8F",green_9:"#F5FCCA",green_10:"#FAFEE7"},teal:{teal_1:"#063733",teal_2:"#094845",teal_3:"#0C6A64",teal_4:"#108E86",teal_5:"#15B0A6",teal_6:"#19D2C7",teal_7:"#64EDE3",teal_8:"#A9F4F0",teal_9:"#DBFAF9",teal_10:"#F1FDFC"}};function f(e){var t,n=(e||"").match(/^\/apps\/([^/]*\/[^/]*)/),n=n&&n[1],r=n&&n.split("/").pop(),o=n&&-1<(c||[]).indexOf(n);return e=e&&!i.get(e)&&!o&&(t=new RegExp("/".concat(r,"$")),o=_.find(c||[],function(e){return t.test(e)}))?e.replace(n,o):e}function w(e){return u.when(t.invoke(e.showIf,e))}function C(e){return r.isAllowed(e)}function E(e){e=Object.keys(e);return e[Math.floor(Math.random()*e.length)]}return{getContext:function(){var e=l.deviceId,t=l.groupId,n=l.reportId,r=l.exportId,o=null,i=null;return e&&(o="device",i=e),t&&(o="group",i=t),n&&(o="report",i=n),r&&(o="exportConfiguration",i=r),{context:o,id:i}},getContextPath:function(e){return{group:"/group/".concat(e.id),device:"/device/".concat(e.id)}[e.context]},verifyPluginViewPath:function(e){var t,e=e&&e.replace(/\/\//g,"/");return c?u.when(f(e)):(t=p||n.getCurrent().then(n.listPluginsByApplication).then(function(e){return c=_.map(e,"contextPath")}),(p=t).then(_.partial(f,e)))},intersectionObjects:function(e){for(var t=arguments.length,n=new Array(1<t?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return _.filter(_.uniq(e),function(t){return _.every(n,function(e){return _.some(e,function(e){return e.id===t.id})})})},editUserUI:function(){return o({templateUrl:":::PLUGIN_PATH:::/ui/user/editUser.modal.html",title:a("Edit user"),controller:"EditUserCtrl"})},editRetentionRule:function(e){var t=e&&e.id?a("Edit retention rule"):a("Create retention rule");return o({templateUrl:":::PLUGIN_PATH:::/ui/views/editRetentionRuleModal.html",title:t,controller:"editRetentionRuleCtrl",resolve:{rule:function(){return e}}})},configureVisibility:function(t,e,n){var r=u.when(!0),o=e||"show",i=n?_.negate(_.identity):_.identity;return t.showIfPermissions&&(r=r.then(_.partial(C,t.showIfPermissions)).then(function(e){return e?u.when(!0):u.reject()})),(r=t.showIf?r.then(_.partial(w,t)):r).catch(_.constant(!1)).then(function(e){return _.set(t,o,i(e))})},instanceOptions:function(){return _.merge({},window.C8Y_APP&&window.C8Y_APP.C8Y_INSTANCE_OPTIONS,window.C8Y_INSTANCE_OPTIONS)},escapeForRegex:function(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},shouldShowSmartRules:F.shouldShowLocalSmartRules,emitWindowResize:function(){var e;Event.prototype.initEvent?((e=window.document.createEvent("UIEvents")).initUIEvent("resize",!0,!1,window,0),window.dispatchEvent(e)):window.dispatchEvent(new Event("resize"))},waitForPropertyResolve:function(e,t){var n=u.defer(),r=e.$watch(function(){return _.get(e,t)},function(e){r(),n.resolve(e)});return n.promise},stripHtmlTags:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"",t=document.createElement("DIV");return t.innerHTML=e,t.textContent||t.innerText||""},generateColor:function(){for(var e="",t="";(e=E(g))===d;);d=e;for(var n=g[e];(t=E(n))===s;);return n[s=t]},getCookieValue:function(e){return(e=document.cookie.match("(^|;)\\s*".concat(e,"\\s*=\\s*([^;]+)")))?e.pop():""}}}e.$inject=["$routeParams","$q","$templateCache","$injector","$http","c8yApplication","c8yPermissions","c8yModal","c8ySmartRulesAvailability","gettext"],angular.module("c8y.ui").factory("c8yUiUtil",e)}();
1
+ "use strict";!function(){function e(u,l,o,t,e,n,r,i,F,a){var c,p,d="",s="",E={blue:{blue_1:"#08293F",blue_2:"#0B385B",blue_3:"#0F4C7B",blue_4:"#14629F",blue_5:"#1776BF",blue_6:"#1C8CE3",blue_7:"#5FAEEC",blue_8:"#96CAF3",blue_9:"#CDE6F9",blue_10:"#F6FAFE"},purple:{purple_1:"#230052",purple_2:"#310070",purple_3:"#4B00AD",purple_4:"#6800F0",purple_5:"#801FFF",purple_6:"#9A4DFF",purple_7:"#B780FF",purple_8:"#D1ADFF",purple_9:"#E8D6FF",purple_10:"#F9F5FF"},pink:{pink_1:"#570030",pink_2:"#7A0045",pink_3:"#B30065",pink_4:"#E0007F",pink_5:"#FF1F9E",pink_6:"#FF61BA",pink_7:"#FF8FCE",pink_8:"#FFBDE2",pink_9:"#FFE0F1",pink_10:"#FFF5FB"},red:{red_1:"#520005",red_2:"#6B0006",red_3:"#8F0009",red_4:"#BD000C",red_5:"#E0000E",red_6:"#FF1F2D",red_7:"#FF5C66",red_8:"#FF8F96",red_9:"#FFCCCF",red_10:"#FFF0F0"},orange:{orange_1:"#5C2800",orange_2:"#753200",orange_3:"#9E4400",orange_4:"#C25400",orange_5:"#E66400",orange_6:"#FF801F",orange_7:"#FFA057",orange_8:"#FFC89E",orange_9:"#FFE8D6",orange_10:"#FFF6F0"},yellow:{yellow_1:"#474200",yellow_2:"#5C5500",yellow_3:"#807700",yellow_4:"#ADA200",yellow_5:"#D6C800",yellow_6:"#F0DF00",yellow_7:"#FFF01F",yellow_8:"#FFF794",yellow_9:"#FFFBC7",yellow_10:"#FFFEE6"},green:{green_1:"#3B4503",green_2:"#4C5705",green_3:"#657506",green_4:"#829707",green_5:"#A0B909",green_6:"#BAD80A",green_7:"#CDEF0B",green_8:"#EAFA8F",green_9:"#F5FCCA",green_10:"#FAFEE7"},teal:{teal_1:"#063733",teal_2:"#094845",teal_3:"#0C6A64",teal_4:"#108E86",teal_5:"#15B0A6",teal_6:"#19D2C7",teal_7:"#64EDE3",teal_8:"#A9F4F0",teal_9:"#DBFAF9",teal_10:"#F1FDFC"}},g={DEVICE:"device",GROUP:"group",REPORT:"report",EXPORT_CONFIGURATION:"exportConfiguration",APPLICATION:"application"};function C(e){var t,n=(e||"").match(/^\/apps\/([^/]*\/[^/]*)/),n=n&&n[1],r=n&&n.split("/").pop(),i=n&&-1<(c||[]).indexOf(n);return e=e&&!o.get(e)&&!i&&(t=new RegExp("/".concat(r,"$")),i=_.find(c||[],function(e){return t.test(e)}))?e.replace(n,i):e}function f(e){return l.when(t.invoke(e.showIf,e))}function w(e){return r.isAllowed(e)}function A(e){e=Object.keys(e);return e[Math.floor(Math.random()*e.length)]}return{CONTEXT:g,getContext:function(){var e=u.deviceId,t=u.groupId,n=u.reportId,r=u.exportId,i=u.applicationId,o=null,l=null;return e&&(o=g.DEVICE,l=e),t&&(o=g.GROUP,l=t),n&&(o=g.REPORT,l=n),r&&(o=g.EXPORT_CONFIGURATION,l=r),{context:o=i?g.APPLICATION:o,id:l}},getContextPath:function(e){return{group:"/group/".concat(e.id),device:"/device/".concat(e.id)}[e.context]},verifyPluginViewPath:function(e){var t,e=e&&e.replace(/\/\//g,"/");return c?l.when(C(e)):(t=p||n.getCurrent().then(n.listPluginsByApplication).then(function(e){return c=_.map(e,"contextPath")}),(p=t).then(_.partial(C,e)))},intersectionObjects:function(e){for(var t=arguments.length,n=new Array(1<t?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return _.filter(_.uniq(e),function(t){return _.every(n,function(e){return _.some(e,function(e){return e.id===t.id})})})},editUserUI:function(){return i({templateUrl:":::PLUGIN_PATH:::/ui/user/editUser.modal.html",title:a("Edit user"),controller:"EditUserCtrl"})},editRetentionRule:function(e){var t=e&&e.id?a("Edit retention rule"):a("Create retention rule");return i({templateUrl:":::PLUGIN_PATH:::/ui/views/editRetentionRuleModal.html",title:t,controller:"editRetentionRuleCtrl",resolve:{rule:function(){return e}}})},configureVisibility:function(t,e,n){var r=l.when(!0),i=e||"show",o=n?_.negate(_.identity):_.identity;return t.showIfPermissions&&(r=r.then(_.partial(w,t.showIfPermissions)).then(function(e){return e?l.when(!0):l.reject()})),(r=t.showIf?r.then(_.partial(f,t)):r).catch(_.constant(!1)).then(function(e){return _.set(t,i,o(e))})},instanceOptions:function(){return _.merge({},window.C8Y_APP&&window.C8Y_APP.C8Y_INSTANCE_OPTIONS,window.C8Y_INSTANCE_OPTIONS)},escapeForRegex:function(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},shouldShowSmartRules:F.shouldShowLocalSmartRules,emitWindowResize:function(){var e;Event.prototype.initEvent?((e=window.document.createEvent("UIEvents")).initUIEvent("resize",!0,!1,window,0),window.dispatchEvent(e)):window.dispatchEvent(new Event("resize"))},waitForPropertyResolve:function(e,t){var n=l.defer(),r=e.$watch(function(){return _.get(e,t)},function(e){r(),n.resolve(e)});return n.promise},stripHtmlTags:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"",t=document.createElement("DIV");return t.innerHTML=e,t.textContent||t.innerText||""},generateColor:function(){for(var e="",t="";(e=A(E))===d;);d=e;for(var n=E[e];(t=A(n))===s;);return n[s=t]},getCookieValue:function(e){return(e=document.cookie.match("(^|;)\\s*".concat(e,"\\s*=\\s*([^;]+)")))?e.pop():""}}}e.$inject=["$routeParams","$q","$templateCache","$injector","$http","c8yApplication","c8yPermissions","c8yModal","c8ySmartRulesAvailability","gettext"],angular.module("c8y.ui").factory("c8yUiUtil",e)}();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/ng1-modules",
3
- "version": "1020.28.1",
3
+ "version": "1020.28.7",
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,r,e,o,t,n,a,P,c,u,l,s,d,f,h,g,v,m){var p,S=r.deviceId||r.groupId,A={},R={},y={done:!1,inProgress:!1},b={true:{text:v("Enabled`rule`"),icon:"check-circle",cls:"text-success"},false:{text:v("Disabled`rule`"),icon:"ban",cls:"text-danger"}},C=s.getContext(),x=v("Global smart rules");function I(){return o.when().then(w).then(T).then(N).then(U).then(D).catch(E)}function w(){y.inProgress=!0}function D(){y.inProgress=!1,y.done=!0,y.error=!1}function E(e){e.data&&e.data.message&&l.danger(e.data.message),y.inProgress=!1,y.done=!0,y.error=!0}function T(){return h.list().then(M)}function M(e){_.forEach(e||[],function(e){A[e.name]=e})}function N(){var e=S?g.listByContext(S):o.resolve([]),t=f.hasPermissions().then(function(e){return e?g.list():o.when([])});return o.all({listByContext:e,list:t}).then(function(e){i.rules=function(e){var t=e;S&&(t=_.reject(e,function(e){var n=new RegExp("".concat(e,"/dashboard"));return function(e){var t=_.get(e,"config.url","");return O(e)&&!n.test(t)}}(S)));return t}(_.concat(e.listByContext,e.list))})}function O(e){return"sendDashboardsViaEmail"===e.ruleTemplateName}function L(e){return g.hasSource(e,S)}function U(){var e,t;return!(Array.isArray(i.rules)&&0<i.rules.length)||null===(t=s.getContext()).context?o.resolve():(e=a.childAssets(t.id,{skipDetail:!0,params:{pageSize:2e3,withChildren:!1}}),t=a.childDevices(t.id,{params:{pageSize:2e3,withChildren:!1}}),o.all([e,t]).then(_.flatten).then(function(e){i.children=e}).then(function(){i.ruleChildren={},_.forEach(i.rules,function(e){i.ruleChildren[e.id]=G(e)})}))}function G(t){return _.filter(i.children,function(e){return g.hasSource(t,e)})}_.assign(i,{isOpen:{},moId:S,loadingStatus:y,refresh:I,paging:{refresh:I},ruleTemplates:A,getLinkToDM:function(){var e={deviceId:S};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){u({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 l.success(v("Smart rule deleted."))})},hasSource:L,getChildrenEnabledForSmartRule:G,toggleRuleActivationForContextMO:function(e){if(L(e))return g.deactivate(e,S,!1).then(function(){l.success(m.getString('Smart rule "{{name}}" deactivated.',e))});return g.activate(e,S,!1).then(function(){l.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(N).then(U).then(function(){l.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")}},e=e.enabled&&L(e)?"deactivate":"activate",n=r.groupId?"group":"object";return n=r.deviceId?"device":n,t[e]["for ".concat(n)]},type:function(e){var t,e=A[e.ruleTemplateName];e&&(t=e.label.full?m.getString(e.label.full):"".concat(m.getString(e.label.input)," ").concat(m.getString(e.label.output)));return t},status:function(e){return b[e.enabled].text},statusIcon:function(e){return b[e.enabled].icon},statusClass:function(e){return b[e.enabled].cls},showTitle:function(){return null!==s.getContext().context},title:x,context:C,inputIcon:function(e){var t,e=A[e.ruleTemplateName];e&&(t=e.paramGroups.input.icon);return t},outputIcon:function(e){var t,e=A[e.ruleTemplateName];e&&(t=e.paramGroups.output.icon);return t},canAddRules:function(e){var t=_.get(A,"".concat(_.get(e,"ruleTemplateName"),"._active")),n=R.canAddRules;e&&!t&&(n=!1);_.isUndefined(n)&&(e=i.context?c.isAllowed({adminMOs:[i.context.id]}):o.all({isAllowedInventory:c.isAllowed({anyRole:["ROLE_INVENTORY_ADMIN","ROLE_MANAGED_OBJECT_ADMIN"]}),isAllowedSmartRules:c.isAllowed({anyRole:["ROLE_SMARTRULE_ADMIN","ROLE_CEP_MANAGEMENT_ADMIN"]})}).then(function(e){var t=e.isAllowedInventory,e=e.isAllowedSmartRules;return t&&e}),R.canAddRules=e.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]=c.isAllowed({adminMOs:[t.id]}).then(function(e){return n[t.id]=e,n[t.id]}),e=!1);return e},canApplyOnChildren:function(e){return!O(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},isConfigurationGlobalSmartRulesContext:void 0,getRuleCardTitle:function(e){return"c8y_SmartRule"===e.type?v("Global smart rule"):v("Local smart rule")}}),i.isConfigurationGlobalSmartRulesContext=e.path().includes("/rules"),I(),null===s.getContext().context&&d.changeTitle({title:x}),"device"===C.context&&n.getStaticLinkTemplate("devicemanagementDeviceDetails").then(function(e){p=e})}e.$inject=["$scope","$routeParams","$location","$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,r,e,o,t,n,a,P,c,u,l,s,d,f,h,g,m,v){var p,S=r.deviceId||r.groupId,C={},A={},R={done:!1,inProgress:!1},y={true:{text:m("Enabled`rule`"),icon:"check-circle",cls:"text-success"},false:{text:m("Disabled`rule`"),icon:"ban",cls:"text-danger"}},E=s.getContext(),b=m("Global smart rules");function x(){return o.when().then(T).then(k).then(D).then(w).then(I).catch(j)}function T(){R.inProgress=!0}function I(){R.inProgress=!1,R.done=!0,R.error=!1}function j(e){e.data&&e.data.message&&l.danger(e.data.message),R.inProgress=!1,R.done=!0,R.error=!0}function k(){return h.list().then($)}function $(e){_.forEach(e||[],function(e){C[e.name]=e})}function D(){var e=S?g.listByContext(S):o.resolve([]),t=f.hasPermissions().then(function(e){return e?g.list():o.when([])});return o.all({listByContext:e,list:t}).then(function(e){i.rules=function(e){var t=e;S&&(t=_.reject(e,function(e){var n=new RegExp("".concat(e,"/dashboard"));return function(e){var t=_.get(e,"config.url","");return N(e)&&!n.test(t)}}(S)));return t}(_.concat(e.listByContext,e.list))})}function N(e){return"sendDashboardsViaEmail"===e.ruleTemplateName}function O(e){return g.hasSource(e,S)}function w(){var e,t;return!(Array.isArray(i.rules)&&0<i.rules.length)||null===(t=s.getContext()).context?o.resolve():(e=a.childAssets(t.id,{skipDetail:!0,params:{pageSize:2e3,withChildren:!1}}),t=a.childDevices(t.id,{params:{pageSize:2e3,withChildren:!1}}),o.all([e,t]).then(_.flatten).then(function(e){i.children=e}).then(function(){i.ruleChildren={},_.forEach(i.rules,function(e){i.ruleChildren[e.id]=M(e)})}))}function M(t){return _.filter(i.children,function(e){return g.hasSource(t,e)})}function U(e){var t=_.get(C,"".concat(_.get(e,"ruleTemplateName"),"._active")),n=A.canAddRules;return e&&!t&&(n=!1),_.isUndefined(n)&&(e=i.context?c.isAllowed({adminMOs:[i.context.id]}):o.all({isAllowedInventory:c.isAllowed({anyRole:["ROLE_INVENTORY_ADMIN","ROLE_MANAGED_OBJECT_ADMIN"]}),isAllowedSmartRules:c.isAllowed({anyRole:["ROLE_SMARTRULE_ADMIN","ROLE_CEP_MANAGEMENT_ADMIN"]})}).then(function(e){var t=e.isAllowedInventory,e=e.isAllowedSmartRules;return t&&e}),A.canAddRules=e.then(function(e){return A.canAddRules=e,A.canAddRules}),n=!1),n}function G(t){A.rules=A.rules||{};var n=A.rules,e=n[t.id];return _.isUndefined(e)&&(n[t.id]=c.isAllowed({adminMOs:[t.id]}).then(function(e){return n[t.id]=e,n[t.id]}),e=!1),e}function L(e){var t=!0;return t=E.context!==s.CONTEXT.DEVICE&&E.context!==s.CONTEXT.GROUP?t:t&&e&&"c8y_SmartRule"!==e.type}_.assign(i,{isOpen:{},moId:S,loadingStatus:R,refresh:x,paging:{refresh:x},ruleTemplates:C,getLinkToDM:function(){var e={deviceId:S};return t(p||"")(e)},add:function(){g.addNewWithUI().then(x)},edit:function(e){g.editWithUI(e).then(x)},clone:function(e){g.cloneWithUI(e).then(x)},remove:function(e){u({title:m("Delete smart rule"),body:v.getString('You are about to delete smart rule "{{name}}". Do you want to proceed?',e),labels:{ok:m("Delete")},status:"danger"}).then(angular.bind(g,g.remove,e)).then(function(){return _.pull(i.rules,e)}).then(function(){return l.success(m("Smart rule deleted."))})},hasSource:O,getChildrenEnabledForSmartRule:M,toggleRuleActivationForContextMO:function(e){if(O(e))return g.deactivate(e,S,!1).then(function(){l.success(v.getString('Smart rule "{{name}}" deactivated.',e))});return g.activate(e,S,!1).then(function(){l.success(v.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(D).then(w).then(function(){l.success(v.getString('Smart rule "{{name}}" activated/deactivated for children.',e))})},tooltip:function(e){var t={activate:{"for group":m("Activate for this group"),"for device":m("Activate for this device"),"for object":m("Activate for this object")},deactivate:{"for group":m("Deactivate for this group"),"for device":m("Deactivate for this device"),"for object":m("Deactivate for this object")}},e=e.enabled&&O(e)?"deactivate":"activate",n=r.groupId?s.CONTEXT.GROUP:"object";return n=r.deviceId?s.CONTEXT.DEVICE:n,t[e]["for ".concat(n)]},type:function(e){var t,e=C[e.ruleTemplateName];e&&(t=e.label.full?v.getString(e.label.full):"".concat(v.getString(e.label.input)," ").concat(v.getString(e.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!==s.getContext().context},title:b,context:E,inputIcon:function(e){var t,e=C[e.ruleTemplateName];e&&(t=e.paramGroups.input.icon);return t},outputIcon:function(e){var t,e=C[e.ruleTemplateName];e&&(t=e.paramGroups.output.icon);return t},canAddRules:U,canDuplicate:function(e){return U(e)&&L(e)},canEdit:function(e){return G(e)&&L(e)},canRemove:G,canModify:G,canApplyOnChildren:function(e){return!N(e)},canSeeSection:function(){var e=A.canSeeSection;_.isUndefined(e)&&(A.canSeeSection=(n.checkIfModulesExist(["c8y.cockpit.config"])?f.shouldShowLocalSmartRules():o.when(!1)).then(function(e){return A.canSeeSection=e,A.canSeeSection}),e=!1);return e},isConfigurationGlobalSmartRulesContext:void 0,getRuleCardTitle:function(e){return"c8y_SmartRule"===e.type?m("Global smart rule"):m("Local smart rule")}}),i.isConfigurationGlobalSmartRulesContext=e.path().includes("/rules"),x(),null===s.getContext().context&&d.changeTitle({title:b}),E.context===s.CONTEXT.DEVICE&&n.getStaticLinkTemplate("devicemanagementDeviceDetails").then(function(e){p=e})}e.$inject=["$scope","$routeParams","$location","$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,r,i,t,n,o,a,c,u,l,s,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 S(){return i.when().then(R).then(C).then(I).then(N).then(b).catch(y)}function R(){p.inProgress=!0}function b(){p.inProgress=!1,p.done=!0,p.error=!1}function y(e){e.data&&e.data.message&&c.danger(e.data.message),p.inProgress=!1,p.done=!0,p.error=!0}function C(){return s.list().then(E)}function E(e){_.forEach(e,function(e){v[e.name]=e})}function I(){var e=m.mo?d.listByContext(m.mo):i.resolve([]),t=l.hasPermissions().then(function(e){return e?d.list():i.when([])});return i.all({listByContext:e,list:t}).then(function(e){m.rules=function(e){m.mo&&(e=_.reject(e,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&&(e=_.filter(e,m.filter));return e}(_.concat(e.listByContext,e.list)),"function"==typeof m.onRules&&m.onRules()(m.rules)})}function x(e){return"sendDashboardsViaEmail"===e.ruleTemplateName}function w(e){return d.hasSource(e,m.mo)}function N(){var e,t;return Array.isArray(m.rules)&&0<m.rules.length&&(e=u.getContext(),t=function(e){e=e.id;return m.mo?_.get(m,"mo.id")||m.mo:e}(e),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)})}):i.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",S),S()},add:function(){d.addNewWithUI().then(S)},edit:function(e){d.editWithUI(e,m.mo).then(S)},clone:function(e){d.cloneWithUI(e,m.mo).then(S)},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:w,getChildrenEnabledForSmartRule:M,toggleRuleActivationForContextMO:function(e){if(e.enabled&&w(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))}),i.all(r).then(I).then(N).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.")}},e=e.enabled&&w(e)?"deactivate":"activate";t=r.deviceId?"device":r.groupId?"group":"object";return n[e]["for ".concat(t)]},type:function(e){var t,e=v[e.ruleTemplateName];e&&(t=e.label.full?h.getString(e.label.full):"".concat(h.getString(e.label.input)," ").concat(h.getString(e.label.output)));return t},status:function(e){e=e.enabled&&w(e);return A[e].text},statusIcon:function(e){e=e.enabled&&w(e);return A[e].icon},statusClass:function(e){e=e.enabled&&w(e);return A[e].cls},context:u.getContext(),inputIcon:function(e){var t,e=v[e.ruleTemplateName];e&&(t=e.paramGroups.input.icon);return t},outputIcon:function(e){var t,e=v[e.ruleTemplateName];e&&(t=e.paramGroups.output.icon);return t},canAddRules:function(){var e,t=g.canAddRules;_.isUndefined(t)&&(e=m.context?a.isAllowed({adminMOs:[m.context.id]}):i.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,e=e.isAllowedSmartRules;return t&&e}),g.canAddRules=e.then(function(e){return g.canAddRules=e,g.canAddRules}),t=!1);return t},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},canApplyOnChildren:function(e){return!x(e)},canSeeSection:function(){var e=g.canSeeSection;_.isUndefined(e)&&(g.canSeeSection=l.shouldShowLocalSmartRules().then(function(e){return g.canSeeSection=e,g.canSeeSection}),e=!1);return e}}),_.assign(e,{refresh:S,paging:{refresh:S}})}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,r,i,t,n,o,c,a,u,l,s,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 i.when().then(S).then(x).then(b).then(N).then(C).catch(E)}function S(){p.inProgress=!0}function C(){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 x(){return s.list().then(y)}function y(e){_.forEach(e,function(e){v[e.name]=e})}function b(){var e=m.mo?d.listByContext(m.mo):i.resolve([]),t=l.hasPermissions().then(function(e){return e?d.list():i.when([])});return i.all({listByContext:e,list:t}).then(function(e){m.rules=function(e){m.mo&&(e=_.reject(e,function(e){var n=new RegExp("".concat(e,"/dashboard"));return function(e){var t=_.get(e,"config.url","");return I(e)&&!n.test(t)}}(m.mo)));m.filter&&(e=_.filter(e,m.filter));return e}(_.concat(e.listByContext,e.list)),"function"==typeof m.onRules&&m.onRules()(m.rules)})}function I(e){return"sendDashboardsViaEmail"===e.ruleTemplateName}function T(e){return d.hasSource(e,m.mo)}function N(){var e,t;return Array.isArray(m.rules)&&0<m.rules.length&&(e=u.getContext(),t=function(e){e=e.id;return m.mo?_.get(m,"mo.id")||m.mo:e}(e),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]=O(e)})}):i.resolve()}function O(t){return _.filter(m.children,function(e){return t.enabled&&d.hasSource(t,e)})}function w(){var e,t=g.canAddRules;return _.isUndefined(t)&&(e=m.context?c.isAllowed({adminMOs:[m.context.id]}):i.all({isAllowedInventory:c.isAllowed({anyRole:["ROLE_INVENTORY_ADMIN","ROLE_MANAGED_OBJECT_ADMIN"]}),isAllowedSmartRules:c.isAllowed({anyRole:["ROLE_SMARTRULE_ADMIN","ROLE_CEP_MANAGEMENT_ADMIN"]})}).then(function(e){var t=e.isAllowedInventory,e=e.isAllowedSmartRules;return t&&e}),g.canAddRules=e.then(function(e){return g.canAddRules=e,g.canAddRules}),t=!1),t}function D(t){g.rules=g.rules||{};var n=g.rules,e=n[t.id];return _.isUndefined(e)&&(n[t.id]=c.isAllowed({adminMOs:[t.id]}).then(function(e){return n[t.id]=e,n[t.id]}),e=!1),e}function M(e){var t=!0;return t=m.context.context!==u.CONTEXT.DEVICE&&m.context.context!==u.CONTEXT.GROUP&&m.context.context!==u.CONTEXT.APPLICATION&&"ecosystem/microservice/microservices"!==m.context.context?t:t&&e&&"c8y_SmartRule"!==e.type}_.assign(m,{ruleTemplates:v,loadingStatus:p,isOpen:{},listClass:"interact-list",$onInit:function(){m.context=u.getContext(),e.$on("smartRulesListReload",R),R()},add:function(){d.addNewWithUI().then(R)},edit:function(e){d.editWithUI(e,m.mo).then(R)},clone:function(e){d.cloneWithUI(e,m.mo).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:T,getChildrenEnabledForSmartRule:O,toggleRuleActivationForContextMO:function(e){if(e.enabled&&T(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))}),i.all(r).then(b).then(N).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.")}},e=e.enabled&&T(e)?"deactivate":"activate";t=r.deviceId?u.CONTEXT.DEVICE:r.groupId?u.CONTEXT.GROUP:"object";return n[e]["for ".concat(t)]},type:function(e){var t,e=v[e.ruleTemplateName];e&&(t=e.label.full?h.getString(e.label.full):"".concat(h.getString(e.label.input)," ").concat(h.getString(e.label.output)));return t},status:function(e){e=e.enabled&&T(e);return A[e].text},statusIcon:function(e){e=e.enabled&&T(e);return A[e].icon},statusClass:function(e){e=e.enabled&&T(e);return A[e].cls},context:u.getContext(),inputIcon:function(e){var t,e=v[e.ruleTemplateName];e&&(t=e.paramGroups.input.icon);return t},outputIcon:function(e){var t,e=v[e.ruleTemplateName];e&&(t=e.paramGroups.output.icon);return t},canDuplicate:function(e){return w()&&M(e)},canEdit:function(e){return D(e)&&M(e)},canRemove:D,canAddRules:w,canModify:D,canApplyOnChildren:function(e){return!I(e)},canSeeSection:function(){var e=g.canSeeSection;_.isUndefined(e)&&(g.canSeeSection=l.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"})}();
@@ -119,7 +119,7 @@
119
119
  class="dropdown-menu dropdown-menu-right"
120
120
  uib-dropdown-menu
121
121
  >
122
- <li ng-if="vm.canModify(rule) && !vm.disableEditAndCreate">
122
+ <li ng-if="vm.canEdit(rule) && !vm.disableEditAndCreate">
123
123
  <button
124
124
  title="{{ 'Edit smart rule' | translate }}"
125
125
  type="button"
@@ -129,7 +129,7 @@
129
129
  {{ 'Edit' | translate }}
130
130
  </button>
131
131
  </li>
132
- <li ng-if="vm.canAddRules() && !vm.disableEditAndCreate">
132
+ <li ng-if="vm.canDuplicate(rule) && !vm.disableEditAndCreate">
133
133
  <button
134
134
  title="{{ 'Duplicate smart rule' | translate }}"
135
135
  type="button"
@@ -139,7 +139,7 @@
139
139
  {{ 'Duplicate' | translate }}
140
140
  </button>
141
141
  </li>
142
- <li ng-if="vm.canModify(rule)">
142
+ <li ng-if="vm.canRemove(rule)">
143
143
  <button
144
144
  title="{{ 'Delete smart rule' | translate }}"
145
145
  ng-click="vm.remove(rule)"
@@ -177,7 +177,7 @@
177
177
  role="list"
178
178
  uib-dropdown-menu
179
179
  >
180
- <li ng-if="canModify(rule)">
180
+ <li ng-if="canEdit(rule)">
181
181
  <button
182
182
  title="{{ 'Edit smart rule' | translate }}"
183
183
  type="button"
@@ -187,7 +187,7 @@
187
187
  {{ 'Edit' | translate }}
188
188
  </button>
189
189
  </li>
190
- <li ng-if="canAddRules(rule)">
190
+ <li ng-if="canDuplicate(rule)">
191
191
  <button
192
192
  title="{{ 'Duplicate smart rule' | translate }}"
193
193
  type="button"
@@ -197,7 +197,7 @@
197
197
  {{ 'Duplicate' | translate }}
198
198
  </button>
199
199
  </li>
200
- <li ng-if="canModify(rule)">
200
+ <li ng-if="canRemove(rule)">
201
201
  <button
202
202
  title="{{ 'Delete smart rule' | translate }}"
203
203
  type="button"