@c8y/ng1-modules 1018.207.0 → 1018.209.0
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.
- package/administration-homeAdministration/home-administration.component.js +1 -1
- package/administration-homeAdministration/home-administration.template.html +19 -15
- package/core/core/services/measurements.js +1 -1
- package/core/cumulocity.json +0 -2
- package/core/ui/directives/auditList.js +1 -1
- package/core/ui/services/util.js +1 -1
- package/package.json +1 -1
- package/smartRules/controllers/list.js +1 -1
- package/smartRules/list/smartRulesList.component.js +1 -1
- package/smartRules/list/smartRulesList.html +86 -38
- package/smartRules/services/smartRules.js +1 -1
- package/smartRules/views/list.html +99 -46
- package/administration-eventProcessing/cumulocity.json +0 -23
- package/administration-eventProcessing/details/eventProcessingRuleAlarms.component.js +0 -1
- package/administration-eventProcessing/details/eventProcessingRuleAlarms.html +0 -8
- package/administration-eventProcessing/details/eventProcessingRuleDetails.component.js +0 -1
- package/administration-eventProcessing/details/eventProcessingRuleDetails.html +0 -206
- package/administration-eventProcessing/details/eventProcessingRuleMetrics.component.js +0 -1
- package/administration-eventProcessing/details/eventProcessingRuleMetrics.html +0 -21
- package/administration-eventProcessing/details/eventProcessingRuleNotifications.component.js +0 -1
- package/administration-eventProcessing/details/eventProcessingRuleNotifications.html +0 -57
- package/administration-eventProcessing/details/eventProcessingRuleTitle.component.js +0 -1
- package/administration-eventProcessing/details/eventProcessingRuleTitle.html +0 -40
- package/administration-eventProcessing/details/eventProcessingRulesExamples.component.js +0 -1
- package/administration-eventProcessing/details/eventProcessingRulesExamples.html +0 -82
- package/administration-eventProcessing/index.js +0 -1
- package/administration-eventProcessing/list/eventProcessingRulesList.component.js +0 -1
- package/administration-eventProcessing/list/eventProcessingRulesList.html +0 -175
- package/administration-eventProcessing/services/eventProcessing.js +0 -1
- package/core/core/services/cepModule.js +0 -1
- package/core/core/services/cepModuleExamples.js +0 -1
- package/notifications/cumulocity.json +0 -11
- package/notifications/index.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(){function e(e,i,
|
|
1
|
+
"use strict";!function(){function e(e,i,o,r){var t=[{label:o("Users"),icon:"c8y-user c8y-icon-duocolor",link:"#/users",relatedNavigatorNode:{name:"Users",parentName:"Accounts"}},{label:o("Roles"),icon:"c8y-users c8y-icon-duocolor",link:"#/roles",relatedNavigatorNode:{name:"Roles",parentName:"Accounts"}},{label:o("Applications"),icon:"c8y-atom c8y-icon-duocolor",link:"#/ecosystem/applications",relatedNavigatorNode:{name:"Applications",parentName:"Ecosystem"}},{label:o("Application settings"),icon:"c8y-tools c8y-icon-duocolor",link:"#/applicationsettings",relatedNavigatorNode:{name:"Application",parentName:"Settings"}},{label:o("Usage statistics"),icon:"c8y-usage-statistics c8y-icon-duocolor",link:"#/tenantStatistics",relatedNavigatorNode:{name:"Usage statistics",parentName:"Tenants"}}];_.assign(this,{$onInit:function(){_.forEach(t,function(e){return function e(n){var a=i.findNode((t=n.relatedNavigatorNode,function(e){var n=!t.name||_.get(e,"name")===t.name,a=!t.parentName||_.get(e,"_parent.name")===t.parentName,o=a||_.find(e.parents,function(e){return e.name===t.parentName});return n&&o}));var t;if(a){var o=a.hidden;_.isUndefined(o)?r(function(){return e(n)},250):n.show=!o}}(e)})},quickLinks:t,quickLinkIsVisible:function(e){return _.find(t,{label:e}).show},sentenceToDisplay:function(){var e=_.find(t,{label:"Users"}).show,n=_.find(t,{label:"Roles"}).show,a=null;e&&n?a=o('Add or remove <a href="#/users">users</a> and <a href="#/roles">roles</a> and configure their permissions.'):e&&!n?a=o('Add or remove <a href="#/users">users</a> and configure their permissions.'):!e&&n&&(a=o('Add or remove <a href="#/roles">roles</a> and configure their permissions.'));return a}})}e.$inject=["c8yUiUtil","c8yNavigator","gettext","$timeout"],angular.module("c8y.homeAdministration").component("homeAdministration",{templateUrl:":::PLUGIN_PATH:::/home-administration.template.html",controllerAs:"vm",controller:e})}();
|
|
@@ -4,7 +4,12 @@
|
|
|
4
4
|
<div class="col-md-5 col-xs-12">
|
|
5
5
|
<div class="card">
|
|
6
6
|
<div class="card-header">
|
|
7
|
-
<h2
|
|
7
|
+
<h2
|
|
8
|
+
class="text-light m-t-24"
|
|
9
|
+
translate
|
|
10
|
+
>
|
|
11
|
+
Welcome to Administration
|
|
12
|
+
</h2>
|
|
8
13
|
</div>
|
|
9
14
|
<div class="card-block">
|
|
10
15
|
<p translate>With this application you can</p>
|
|
@@ -15,28 +20,19 @@
|
|
|
15
20
|
></li>
|
|
16
21
|
<li ng-show="vm.quickLinkIsVisible('Applications')">
|
|
17
22
|
<a
|
|
18
|
-
href="#/ecosystem"
|
|
19
23
|
title="{{
|
|
20
24
|
'Subscribe to applications and set up your own applications.' | translate
|
|
21
25
|
}}"
|
|
26
|
+
href="#/ecosystem"
|
|
22
27
|
translate
|
|
23
28
|
>
|
|
24
29
|
Subscribe to applications and set up your own applications.
|
|
25
30
|
</a>
|
|
26
31
|
</li>
|
|
27
|
-
<li ng-show="vm.quickLinkIsVisible('Event processing')">
|
|
28
|
-
<a
|
|
29
|
-
href="#/eventprocessing"
|
|
30
|
-
title="{{ 'Configure your own processing rules and actions.' | translate }}"
|
|
31
|
-
translate
|
|
32
|
-
>
|
|
33
|
-
Configure your own processing rules and actions.
|
|
34
|
-
</a>
|
|
35
|
-
</li>
|
|
36
32
|
<li ng-show="vm.quickLinkIsVisible('Application settings')">
|
|
37
33
|
<a
|
|
38
|
-
href="#/applicationsettings"
|
|
39
34
|
title="{{ 'Change application settings.' | translate }}"
|
|
35
|
+
href="#/applicationsettings"
|
|
40
36
|
translate
|
|
41
37
|
>
|
|
42
38
|
Change application settings.
|
|
@@ -50,19 +46,27 @@
|
|
|
50
46
|
<div class="col-md-7 col-xs-12">
|
|
51
47
|
<div class="card">
|
|
52
48
|
<div class="card-header">
|
|
53
|
-
<div
|
|
49
|
+
<div
|
|
50
|
+
class="card-title"
|
|
51
|
+
translate
|
|
52
|
+
>
|
|
53
|
+
Quick links
|
|
54
|
+
</div>
|
|
54
55
|
</div>
|
|
55
56
|
<div class="card-group-block interact-grid m-b-0">
|
|
56
57
|
<a
|
|
58
|
+
class="col-sm-4 col-xs-6 card text-center"
|
|
57
59
|
title="{{ quickLink.label | translate }}"
|
|
58
60
|
ng-repeat="quickLink in vm.quickLinks"
|
|
59
61
|
ng-href="{{ quickLink.link }}"
|
|
60
62
|
ng-show="quickLink.show"
|
|
61
|
-
class="col-sm-4 col-xs-6 card text-center"
|
|
62
63
|
>
|
|
63
64
|
<div class="card-block">
|
|
64
65
|
<div title="{{ quickLink.label | translate }}">
|
|
65
|
-
<i
|
|
66
|
+
<i
|
|
67
|
+
class="icon-32"
|
|
68
|
+
c8y-icon="{{ quickLink.icon }}"
|
|
69
|
+
></i>
|
|
66
70
|
</div>
|
|
67
71
|
<p class="text-muted">
|
|
68
72
|
{{ quickLink.label | translate }}
|
|
@@ -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(){function e(u,l,
|
|
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(){function e(u,l,v,c,p,o,e){var g=window.c8y_testing?1:500,m=2083,a=p.clean,d="measurement/measurements",i={headers:p.contentHeaders("measurement")},f=e.getUnitHeaders(),h=1440;function s(e){var t=e.id||e;return"".concat(p.url(d),"/").concat(t)}var y=p.createEnum([{name:"stream",value:"application/json-stream"},{name:"csv",value:"text/csv"},{name:"xlsx",value:"application/vnd.ms-excel"}]);function b(e,t){var n,r=p.url(d),a=_.assign({},p.todayFilter({}),{pageSize:h},e),i={params:a};n=t?(i.responseType="blob",function(e){return e.data}):p.cleanListCallback("measurements",b,a);var o={Accept:function(e){return e&&_(y).map("value").includes(e.value)?e.value:"application/json"}(t||y.stream)};return f.then(function(e){return i.headers=_.assign({},e,o),u.get(r,i).then(function(e){return 202===e.status?l.reject({async:!0,data:e.data}):e})}).then(n)}function F(e){var t=h,n=p.url("".concat(d,"/series")),r=p.todayFilter(_.assign({pageSize:t,revert:!0},e||{}));r.dateFrom&&(r.dateFrom=moment(r.dateFrom).format(p.dateFullFormat)),r.dateTo&&(r.dateTo=moment(r.dateTo).format(p.dateFullFormat));var a={params:r},i=function(e){return e.data},o=_.findIndex(F._cacheFilter,_.partial(_.isEqual,r)),s=0<=o?F._cacheRequest[o]:null;return r.dateFrom&&(r.dateFrom=moment(r.dateFrom).format(p.dateFullFormat)),r.dateTo&&(r.dateTo=moment(r.dateTo).format(p.dateFullFormat)),function(e,t){return"".concat(p.absoluteUrl(e),"?").concat(c(t)).length>m}(n,r)&&_.unset(r,"series"),f.then(function(e){if(_.assign(a,{headers:e}),!s){s=u.get(n,a).then(i);var t=_.cloneDeep(r);F._cacheFilter.push(_.cloneDeep(t)),F._cacheRequest.push(s),moment(r.dateTo).isAfter(moment())&&setTimeout(function(){!function(e,t){_.remove(F._cacheFilter,e),_.remove(F._cacheRequest,t)}(t,s)},3e3)}return s})}function t(e){var t=p.url(d),n=e,r=_.cloneDeep(i);if(!n.source)throw new Error("c8yMeasurement: source must be defined");return u.post(t,n,r)}function n(e){var t=s(e),n=a(e),r=_.cloneDeep(i);return u.put(t,n,r)}F._cacheFilter=[],F._cacheRequest=[];var T=[];return{format:y,list:b,listPaged:function(e){var r=l.defer(),a=_.assign(e||{},{pageSize:1e3,withTotalPages:!0}),i=!1;return _.assign(r.promise,{cancel:function(){i=!0,r.reject("canceled")}}),b(a).then(function e(t){var n=!_.isUndefined(t.paging.next)&&t.length>=a.pageSize;return r.notify(t),n||r.resolve(!0),!!i||!n||t.paging.next().then(e)}),r.promise},listSeries:F,listSeriesPaged:function(e){var n=l.defer(),t=_.assign({revert:!0},e||{},{pageSize:1e3,withTotalPages:!0}),r=!1;return _.assign(n.promise,{cancel:function(){r=!0,n.reject("canceled")}}),F(t).then(function e(t){return n.notify(t),t.paging.next||n.resolve(!0),!!r||!t.paging.next||t.paging.next().then(e)}),n.promise},detail:function(e){var t=s(e);return u.get(t)},create:t,update:n,save:function(e){return e.id?n(e):t(e)},remove:function(e){var t=s(e);return u.delete(t)},latest:function(){var r=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=1<arguments.length?arguments[1]:void 0,a={};if(!r.device)throw new Error("filter.device must be defined");if(!r.fragment)throw new Error("filter.fragment must be defined");if(!r.series)throw new Error("filter.series must be defined");var t=b(_.assign(p.timeOrderFilter(),{revert:!0,valueFragmentType:r.fragment,valueFragmentSeries:r.series,source:r.device,pageSize:1,dateTo:void 0})).then(function(e){return _.assign(a,_.first(e)||{}),a});if(e){var n={ops:"CREATE",channel:"/measurements/".concat(r.device),onUpdate:function(e,t){var n=t[r.fragment];n&&n[r.series]&&_.assign(a,t)}},i=o.watch(n);t.stop=_.bind(i.stop,i)}return t},listForDataPoint:function(e,t,n,r,a){var i=T;"object"===_typeof(a)&&(i=a._cachedRequests||[],a._cachedRequests=i);var o=t,s=n,u=e.__target.id,c=("NONE"!==r?r:0)||void 0;if(o){switch(o=moment(o),r){case"HOURLY":o.subtract(1,"hour").startOf("hour");break;case"DAILY":o.subtract(1,"day").startOf("day");break;default:o.subtract(1,"minute").startOf("minute")}o=o.format(p.dateFullFormat)}if(s){switch(s=moment(s),r){case"HOURLY":s.add(1,"hour").startOf("hour");break;case"DAILY":s.add(1,"days").startOf("day");break;default:s.add(1,"minute").startOf("minute")}s=s.format(p.dateFullFormat)}var m={dateFrom:o,dateTo:s,source:u,aggregationType:c},d=_.find(i,function(e){return _.isMatch(e.filters,m)});d||(d={deferred:l.defer(),sendDebounced:function(){return d._sendDebounced(),d.deferred.promise},_sendDebounced:_.debounce(function(){F(d.filters).then(_.unary(d.deferred.resolve))},g),filters:m},i.push(d));var f=[e.fragment,e.series].join(".");return d.filters.series=_.uniq((d.filters.series||[]).concat([f])),v(function(){return d.sendDebounced().then(function(t){return function(e){var n=_.findIndex(e.series,function(e){return e.name===t.series&&e.type===t.fragment}),r=[];return-1<n&&_.forEach(e.values,function(e,t){_.isObjectLike(e[n])&&r.push({time:t,min:e[n].min&&Number(e[n].min),max:e[n].max&&Number(e[n].max)})}),{dataPoint:t,values:r,truncated:e.truncated}}}(e)).then(function(e){return e.aggregation=r,e.dateFrom=o,e.dateTo=s,e}).finally(function(){_.remove(i,d)})},5)},rtMeasurementForDatapoint:function(i){return function(e){var t=i.__target.id,n=i.fragment,r=i.series,a=_.get(e,[n,r]);return e.source.id===t&&!!a&&{dataPoint:i,values:[{time:e.time,min:a.value,max:a.value}]}}}}}e.$inject=["$http","$q","$timeout","$httpParamSerializer","c8yBase","c8yRealtime","c8yMeasurementUnits"],angular.module("c8y.core").factory("c8yMeasurements",e)}();
|
package/core/cumulocity.json
CHANGED
|
@@ -91,8 +91,6 @@
|
|
|
91
91
|
"core/services/base.js",
|
|
92
92
|
"core/services/binary.js",
|
|
93
93
|
"core/services/binaryCommon.js",
|
|
94
|
-
"core/services/cepModule.js",
|
|
95
|
-
"core/services/cepModuleExamples.js",
|
|
96
94
|
"core/services/counter.js",
|
|
97
95
|
"core/services/deviceBulkControl.js",
|
|
98
96
|
"core/services/deviceControl.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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 _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 _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 _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,c=[],s=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(c.push(n.value),c.length!==t);s=!0);}catch(e){u=!0,a=e}finally{try{if(!s&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return c}}function _arrayWithHoles(e){if(Array.isArray(e))return e}!function(){function e(l,p,g,f,d,h,y,m,v,b){var A={when:!0,what:!0,who:!0,text:!1,type:!1,time:!1};function w(e){return e.time=moment(e.time).toDate(),e}return{restrict:"EA",link:function(n){function r(e){return"apps/devicemanagement/#/device/".concat(e,"/")}function t(e){return _(_.cloneDeep(e)).map(w).map(o).map(c).map(s).value()}function a(e){e&&(e.map(function(e){return _.assign(e,{showCogWheel:function(){if(_.get(n,"sourceDeviceId")){var e=n.sourceDeviceId,t=_.toNumber(e);if(!_.isNumber(t)||_.isNaN(t))return!0;var r=f.path().match(e);return!(t===_.toNumber(r))}return!0}()})}),n.data=t(e))}function e(e){e&&(n.data=n.data||[],n.data=_.concat(n.data,t(e)),n.paging=e.paging)}function i(){var t=_.clone(n.filter())||{},r={},e=t.source;r.source=_.isObjectLike(e)?e.id:e,n.isFiltered=0<Object.keys(t).filter(function(e){return"source"!==e&&t[e]}).length,delete t.source,_.assign(r,t),r.pageSize=n.pageSize()||100,r.withTotalPages=!0,r.revert=!(!n.reverse||!n.reverse()),h.list(r).then(function(e){return n.paging=e.paging,r.source&&_.remove(e,{activity:"Availability monitoring record"}),e}).then(a)}function o(e){return _.set(e,"_parsedChanges",u(e)),e}function c(e){var t=e.user;if(t){var r=t.match(/\$/);if(_.set(e,"_isSupport",!!r),r&&d.appOption("support_user_string")){var n=_slicedToArray(t.split("$"),2),a=n[0],i=n[1];e.user=v.getString(d.appOption("support_user_string"),{support_user:a,supported_user:i})}}return e}function s(e){var t,r=_.get(e,"source.id"),n="Group"===e.type?"global":"inventory";switch(e.type){case"Alarm":case"Operation":e.sourceInfo={id:r,type:e.type};break;case"CepModule":t=
|
|
1
|
+
"use strict";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 _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 _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 _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,c=[],s=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(c.push(n.value),c.length!==t);s=!0);}catch(e){u=!0,a=e}finally{try{if(!s&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return c}}function _arrayWithHoles(e){if(Array.isArray(e))return e}!function(){function e(l,p,g,f,d,h,y,m,v,b){var A={when:!0,what:!0,who:!0,text:!1,type:!1,time:!1};function w(e){return e.time=moment(e.time).toDate(),e}return{restrict:"EA",link:function(n){function r(e){return"apps/devicemanagement/#/device/".concat(e,"/")}function t(e){return _(_.cloneDeep(e)).map(w).map(o).map(c).map(s).value()}function a(e){e&&(e.map(function(e){return _.assign(e,{showCogWheel:function(){if(_.get(n,"sourceDeviceId")){var e=n.sourceDeviceId,t=_.toNumber(e);if(!_.isNumber(t)||_.isNaN(t))return!0;var r=f.path().match(e);return!(t===_.toNumber(r))}return!0}()})}),n.data=t(e))}function e(e){e&&(n.data=n.data||[],n.data=_.concat(n.data,t(e)),n.paging=e.paging)}function i(){var t=_.clone(n.filter())||{},r={},e=t.source;r.source=_.isObjectLike(e)?e.id:e,n.isFiltered=0<Object.keys(t).filter(function(e){return"source"!==e&&t[e]}).length,delete t.source,_.assign(r,t),r.pageSize=n.pageSize()||100,r.withTotalPages=!0,r.revert=!(!n.reverse||!n.reverse()),h.list(r).then(function(e){return n.paging=e.paging,r.source&&_.remove(e,{activity:"Availability monitoring record"}),e}).then(a)}function o(e){return _.set(e,"_parsedChanges",u(e)),e}function c(e){var t=e.user;if(t){var r=t.match(/\$/);if(_.set(e,"_isSupport",!!r),r&&d.appOption("support_user_string")){var n=_slicedToArray(t.split("$"),2),a=n[0],i=n[1];e.user=v.getString(d.appOption("support_user_string"),{support_user:a,supported_user:i})}}return e}function s(e){var t,r=_.get(e,"source.id"),n="Group"===e.type?"global":"inventory";switch(e.type){case"Alarm":case"Operation":e.sourceInfo={id:r,type:e.type};break;case"CepModule":t=null;break;case"Tenant":t="apps/administration/#/tenants/".concat(r,"/properties");break;case"Group":case"InventoryRole":t="apps/administration/#/roles/".concat(n,"/").concat(r);break;case"UserAuthentication":case"User":var a={id:_.get(e,"source.id",_.get(e,"user"))};if(a.id){var i="apps/administration/#/users/".concat(a.id),o="apps/devicemanagement/#/deviceusers/".concat(a.id);t=b.isDeviceUser(a)?o:i}break;case"SmartRule":t="apps/cockpit/#/rules";break;case"TrustedCertificates":t="/apps/devicemanagement/#/trusted-certificates";break;case"TenantAuthConfig":t="/apps/administration/#/auth-configuration";break;case"DevicesAvailabilityMonitoring":t="apps/devicemanagement/#/device/".concat(r)}return e.sourceLink=t?d.url(t):void 0,e}function u(e){var t=e.changes||[],r=[];return _.forEach(t,function(e){"revision"!==e.attribute&&r.push("".concat(v.getString(l("humanize2")(e.attribute)),": ").concat(v.getString(e.previousValue)," > ").concat(v.getString(e.newValue)))}),r.join(" ; ")}_.assign(n,{goToAuditDetail:function(e){var t=p.when();switch(e.type){case"Alarm":t=y.detail(e.id).then(d.getResData).then(function(e){return"".concat(r(e.source.id),"alarms")});break;case"Operation":t=m.detail(e.id).then(d.getResData).then(function(e){return"".concat(r(e.deviceId),"control")})}t.then(function(e){e&&(g.location=d.url(e))})}}),n.convertType=function(e){return h.types[e]},n.convertTypeIcon=function(e){return h.typeicons[e]||"wrench"},n.refresh=function(){return i()},n.changePage=function(e,t){e!==t&&(n.changeInProgress=!0,n.paging.changePage(e).then(function(e){return n.paging=e.paging,e}).then(a).finally(function(){n.changeInProgress=!1}))},n.loadNext=function(){n.refreshLoading||(n.paging.loading=!0,n.refreshLoading=!0,n.paging.next().then(e).finally(function(){n.paging.loading=!1,n.refreshLoading=!1}))},n.parseChanges=u,n.$watch("filter()",i,!0),n.columnsConfig=_.merge({},A,n.columns())},scope:{filter:"&",data:"=?",reverse:"&",columns:"&",pageSize:"&",paging:"=?",refresh:"=?",borderless:"=?",striped:"=?",sourceDeviceId:"@?",hideDevice:"=?"},templateUrl:":::PLUGIN_PATH:::/ui/views/auditList.html"}}e.$inject=["$filter","$q","$window","$location","c8yBase","c8yAudits","c8yAlarms","c8yDeviceControl","gettextCatalog","c8yUser"],angular.module("c8y.ui").directive("c8yAuditList",e)}();
|
package/core/ui/services/util.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(){function e(l,u,F,
|
|
1
|
+
"use strict";!function(){function e(l,u,F,t,e,n,r,i,o,a){var c,p,s="",d="",f={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"}};var g={"welcome/applications":"core/applicationLinks"};function w(e){var t=e,n=(t||"").match(/^\/apps\/([^/]*\/[^/]*)/),r=n&&n[1];if(g[r]){var i=r;r=g[r],t=t.replace(i,r)}var o=r&&r.split("/").pop(),l=r&&-1<(c||[]).indexOf(r);if(t&&!F.get(t)&&!l){var u=new RegExp("/".concat(o,"$")),a=_.find(c||[],function(e){return u.test(e)});a&&(t=t.replace(r,a))}return t}function C(e){return u.when(t.invoke(e.showIf,e))}function E(e){return r.isAllowed(e)}function v(e){var t=Object.keys(e);return t[Math.floor(Math.random()*t.length)]}return{getContext:function(){var e=l.deviceId,t=l.groupId,n=l.reportId,r=l.exportId,i=null,o=null;return e&&(i="device",o=e),t&&(i="group",o=t),n&&(i="report",o=n),r&&(i="exportConfiguration",o=r),{context:i,id:o}},getContextPath:function(e){return{group:"/group/".concat(e.id),device:"/device/".concat(e.id)}[e.context]},verifyPluginViewPath:function(e){var t=e&&e.replace(/\/\//g,"/");return c?u.when(w(t)):function(){var e=p||n.getCurrent().then(n.listPluginsByApplication).then(function(e){return c=_.map(e,"contextPath")});return p=e}().then(_.partial(w,t))},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=u.when(!0),i=e||"show",o=n?_.negate(_.identity):_.identity;return t.showIfPermissions&&(r=r.then(_.partial(E,t.showIfPermissions)).then(function(e){return e?u.when(!0):u.reject()})),t.showIf&&(r=r.then(_.partial(C,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:o.shouldShowLocalSmartRules,emitWindowResize:function(){if(Event.prototype.initEvent){var e=window.document.createEvent("UIEvents");e.initUIEvent("resize",!0,!1,window,0),window.dispatchEvent(e)}else 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=v(f))===s;);for(var n=f[s=e];(t=v(n))===d;);return n[d=t]},getCookieValue:function(e){var t=document.cookie.match("(^|;)\\s*".concat(e,"\\s*=\\s*([^;]+)"));return t?t.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 +1 @@
|
|
|
1
|
-
"use strict";!function(){function e(i,c,
|
|
1
|
+
"use strict";!function(){function e(i,c,o,t,n,r,e,a,u,l,s,d,f,h,g,v,m){var p,S=c.deviceId||c.groupId,A={},x={},y={done:!1,inProgress:!1},b={true:{text:v("Active"),icon:"check-circle",cls:"text-success"},false:{text:v("Inactive"),icon:"ban",cls:"text-danger"}},R=s.getContext(),C=v("Global smart rules");function I(){return o.when().then(E).then(M).then(w).then(L).then(T).catch(D)}function E(){y.inProgress=!0}function T(){y.inProgress=!1,y.done=!0,y.error=!1}function D(e){e.data&&e.data.message&&l.danger(e.data.message),y.inProgress=!1,y.done=!0,y.error=!0}function M(){return h.list().then(N)}function N(e){_.forEach(e||[],function(e){A[e.name]=e})}function w(){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 U(e){return g.hasSource(e,S)}function L(){return Array.isArray(i.rules)&&0<i.rules.length?function(){var e=s.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]=P(e)})}):o.resolve()}():o.resolve()}function P(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:U,getChildrenEnabledForSmartRule:P,toggleRuleActivationForContextMO:function(e){if(U(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 r=[];return _.forEach(n,function(t){!_.find(i.ruleChildren[e.id],function(e){return e.id===t.id})&&r.push(g.activate(e,t,!1))}),_.forEach(i.ruleChildren[e.id],function(t){!_.find(n,function(e){return t.id===e.id})&&r.push(g.deactivate(e,t,!1))}),o.all(r).then(w).then(L).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")}},n=e.enabled&&U(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=A[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 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:C,context:R,inputIcon:function(e){var t,n=A[e.ruleTemplateName];n&&(t=n.paramGroups.input.icon);return t},outputIcon:function(e){var t,n=A[e.ruleTemplateName];n&&(t=n.paramGroups.output.icon);return t},canAddRules:function(e){var t=_.get(A,"".concat(_.get(e,"ruleTemplateName"),"._active")),n=x.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"]},x.canAddRules=a.isAllowed(r).then(function(e){return x.canAddRules=e,x.canAddRules}),n=!1}return n},canModify:function(t){x.rules=x.rules||{};var n=x.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!O(e)},canSeeSection:function(){var e=x.canSeeSection;_.isUndefined(e)&&(x.canSeeSection=(n.checkIfModulesExist(["c8y.cockpit.config"])?f.shouldShowLocalSmartRules():o.when(!1)).then(function(e){return x.canSeeSection=e,x.canSeeSection}),e=!1);return e}}),I(),null===s.getContext().context&&d.changeTitle({title:C}),"device"===R.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,
|
|
1
|
+
"use strict";!function(){function e(e,i,o,t,n,r,a,c,u,l,s,d,f,h){var m=this,v={},g={},p={done:!1,inProgress:!1},S={true:{text:f("Active`rule`"),icon:"check-circle",cls:"text-success"},false:{text:f("Inactive`rule`"),icon:"ban",cls:"text-warning"}};function A(){return o.when().then(R).then(C).then(E).then(M).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(x)}function x(e){_.forEach(e,function(e){v[e.name]=e})}function E(){var e=m.mo?d.listByContext(m.mo):o.resolve([]),t=l.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 I(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 I(e){return"sendDashboardsViaEmail"===e.ruleTemplateName}function N(e){return d.hasSource(e,m.mo)}function M(){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]=D(e)})}):o.resolve()}():o.resolve()}function D(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",A),A()},add:function(){d.addNewWithUI().then(A)},edit:function(e){d.editWithUI(e).then(A)},clone:function(e){d.cloneWithUI(e).then(A)},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:N,getChildrenEnabledForSmartRule:D,toggleRuleActivationForContextMO:function(e){if(e.enabled&&N(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(E).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&&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 S[e.enabled].text},statusIcon:function(e){return S[e.enabled].icon},statusClass:function(e){return S[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=a.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]=a.isAllowed({adminMOs:[t.id]}).then(function(e){return n[t.id]=e,n[t.id]}),e=!1);return e},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:A,paging:{refresh:A}})}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,19 +1,23 @@
|
|
|
1
1
|
<div>
|
|
2
2
|
<div ng-if="vm.canSeeSection()">
|
|
3
3
|
<div ng-show="vm.loadingStatus.inProgress">
|
|
4
|
-
<c8y-rectangle-spinner
|
|
5
|
-
></c8y-rectangle-spinner>
|
|
4
|
+
<c8y-rectangle-spinner></c8y-rectangle-spinner>
|
|
6
5
|
</div>
|
|
7
6
|
|
|
8
7
|
<div ng-show="!vm.loadingStatus.inProgress && vm.loadingStatus.done && vm.loadingStatus.error">
|
|
9
|
-
<div
|
|
8
|
+
<div
|
|
9
|
+
class="alert alert-warning"
|
|
10
|
+
translate
|
|
11
|
+
>
|
|
12
|
+
Could not load smart rules list.
|
|
13
|
+
</div>
|
|
10
14
|
</div>
|
|
11
15
|
|
|
12
16
|
<div ng-show="!vm.loadingStatus.inProgress && vm.loadingStatus.done && !vm.loadingStatus.error">
|
|
13
17
|
<c8y-ui-empty-state
|
|
14
|
-
ng-show="vm.rules.length === 0"
|
|
15
18
|
[icon]="'c8y-smart-rules'"
|
|
16
19
|
[title]="'No smart rules defined.' | translate"
|
|
20
|
+
ng-show="vm.rules.length === 0"
|
|
17
21
|
>
|
|
18
22
|
<p c8y-guide-docs>
|
|
19
23
|
<small translate>
|
|
@@ -24,13 +28,27 @@
|
|
|
24
28
|
</p>
|
|
25
29
|
</c8y-ui-empty-state>
|
|
26
30
|
|
|
27
|
-
<div
|
|
28
|
-
|
|
31
|
+
<div
|
|
32
|
+
class="smart-rules-list"
|
|
33
|
+
ng-show="vm.rules.length > 0"
|
|
34
|
+
>
|
|
35
|
+
<div
|
|
36
|
+
class="card-group"
|
|
37
|
+
ng-class="vm.listClass"
|
|
38
|
+
>
|
|
29
39
|
<div class="smart-rules-list-head page-sticky-header p-t-8 p-b-8">
|
|
30
|
-
<label
|
|
40
|
+
<label
|
|
41
|
+
class="smart-rule-group"
|
|
42
|
+
translate
|
|
43
|
+
ng-if="vm.context.context === 'group'"
|
|
44
|
+
>
|
|
31
45
|
Group
|
|
32
46
|
</label>
|
|
33
|
-
<label
|
|
47
|
+
<label
|
|
48
|
+
class="smart-rule-group"
|
|
49
|
+
translate
|
|
50
|
+
ng-if="vm.context.context === 'device'"
|
|
51
|
+
>
|
|
34
52
|
Device
|
|
35
53
|
</label>
|
|
36
54
|
<label
|
|
@@ -40,17 +58,29 @@
|
|
|
40
58
|
>
|
|
41
59
|
State
|
|
42
60
|
</label>
|
|
43
|
-
<label
|
|
61
|
+
<label
|
|
62
|
+
class="smart-rule-children"
|
|
63
|
+
translate
|
|
64
|
+
ng-if="vm.children.length > 0"
|
|
65
|
+
>
|
|
44
66
|
Children
|
|
45
67
|
</label>
|
|
46
|
-
<label
|
|
68
|
+
<label
|
|
69
|
+
class="smart-rule-description"
|
|
70
|
+
translate
|
|
71
|
+
>
|
|
72
|
+
Smart rule
|
|
73
|
+
</label>
|
|
47
74
|
</div>
|
|
48
75
|
|
|
49
76
|
<div
|
|
50
77
|
class="col-xs-12 col-sm-6 col-md-4 col-lg-3"
|
|
51
78
|
ng-repeat="rule in vm.rules | orderBy:'name'"
|
|
52
79
|
>
|
|
53
|
-
<div
|
|
80
|
+
<div
|
|
81
|
+
class="card-flip-container"
|
|
82
|
+
ng-class="{ flipping: vm.isFlipped }"
|
|
83
|
+
>
|
|
54
84
|
<div
|
|
55
85
|
class="card-flip smart-rule-list-card"
|
|
56
86
|
ng-class="{ flipped: vm.isFlipped, active: vm.isOpen[rule.id] }"
|
|
@@ -59,29 +89,36 @@
|
|
|
59
89
|
<div
|
|
60
90
|
class="card-actions collapsible"
|
|
61
91
|
ng-class="{ expanded: vm.isOpen[rule.id] }"
|
|
62
|
-
ng-if="vm.canAddRules() || vm.canModify(rule)
|
|
92
|
+
ng-if="vm.canAddRules() || vm.canModify(rule)"
|
|
63
93
|
>
|
|
64
94
|
<button
|
|
65
95
|
class="btn btn-link btn-collapse"
|
|
66
|
-
type="button"
|
|
67
|
-
title="{{ 'Details' | translate }}"
|
|
68
96
|
ng-class="{ active: vm.isOpen[rule.id] }"
|
|
97
|
+
title="{{ 'Details' | translate }}"
|
|
98
|
+
type="button"
|
|
69
99
|
ng-click="vm.isOpen[rule.id] = !vm.isOpen[rule.id]"
|
|
70
100
|
>
|
|
71
101
|
<i c8y-icon="chevron-down"></i>
|
|
72
102
|
</button>
|
|
73
|
-
<div
|
|
103
|
+
<div
|
|
104
|
+
class="btn-group"
|
|
105
|
+
is-open="ctrl.open"
|
|
106
|
+
uib-dropdown
|
|
107
|
+
>
|
|
74
108
|
<button
|
|
75
109
|
class="dropdown-toggle c8y-dropdown"
|
|
76
110
|
title="{{ 'Actions' | translate }}"
|
|
111
|
+
aria-haspopup="true"
|
|
77
112
|
type="button"
|
|
78
113
|
data-toggle="dropdown"
|
|
79
|
-
aria-haspopup="true"
|
|
80
114
|
uib-dropdown-toggle
|
|
81
115
|
>
|
|
82
116
|
<i c8y-icon="ellipsis-v"></i>
|
|
83
117
|
</button>
|
|
84
|
-
<ul
|
|
118
|
+
<ul
|
|
119
|
+
class="dropdown-menu dropdown-menu-right"
|
|
120
|
+
uib-dropdown-menu
|
|
121
|
+
>
|
|
85
122
|
<li ng-if="vm.canModify(rule) && !vm.disableEditAndCreate">
|
|
86
123
|
<button
|
|
87
124
|
title="{{ 'Edit smart rule' | translate }}"
|
|
@@ -111,16 +148,6 @@
|
|
|
111
148
|
{{ 'Delete' | translate }}
|
|
112
149
|
</button>
|
|
113
150
|
</li>
|
|
114
|
-
<li class="divider" ng-if="vm.canInspect()"></li>
|
|
115
|
-
<li ng-if="vm.canInspect()">
|
|
116
|
-
<a
|
|
117
|
-
ng-href="/apps/administration#/eventprocessing/{{ rule.cepModuleId }}"
|
|
118
|
-
title="{{ 'Inspect smart rule' | translate }}"
|
|
119
|
-
>
|
|
120
|
-
<i c8y-icon="c8y-smart-rules c8y-icon-mono"></i>
|
|
121
|
-
{{ 'Inspect' | translate }}
|
|
122
|
-
</a>
|
|
123
|
-
</li>
|
|
124
151
|
</ul>
|
|
125
152
|
</div>
|
|
126
153
|
</div>
|
|
@@ -156,8 +183,8 @@
|
|
|
156
183
|
|
|
157
184
|
<button
|
|
158
185
|
class="btn c8y-btn-checkbox m-r-0"
|
|
159
|
-
type="button"
|
|
160
186
|
ng-class="{ active: rule.enabled && vm.hasSource(rule) }"
|
|
187
|
+
type="button"
|
|
161
188
|
ng-click="vm.toggleRuleActivationForContextMO(rule)"
|
|
162
189
|
>
|
|
163
190
|
<i
|
|
@@ -167,10 +194,16 @@
|
|
|
167
194
|
'dlt-c8y-icon-ban text-danger': !rule.enabled || !vm.hasSource(rule)
|
|
168
195
|
}"
|
|
169
196
|
></i>
|
|
170
|
-
<span
|
|
197
|
+
<span
|
|
198
|
+
translate
|
|
199
|
+
ng-if="rule.enabled && vm.hasSource(rule)"
|
|
200
|
+
>
|
|
171
201
|
Active`rule`
|
|
172
202
|
</span>
|
|
173
|
-
<span
|
|
203
|
+
<span
|
|
204
|
+
translate
|
|
205
|
+
ng-if="!rule.enabled || !vm.hasSource(rule)"
|
|
206
|
+
>
|
|
174
207
|
Inactive`rule`
|
|
175
208
|
</span>
|
|
176
209
|
</button>
|
|
@@ -182,20 +215,26 @@
|
|
|
182
215
|
>
|
|
183
216
|
<div class="list-icon">
|
|
184
217
|
<i
|
|
218
|
+
ng-class="vm.statusClass(rule)"
|
|
185
219
|
c8y-icon="{{ vm.statusIcon(rule) }}"
|
|
186
220
|
uib-tooltip="{{ vm.status(rule) | translate }}"
|
|
187
221
|
tooltip-popup-delay="500"
|
|
188
222
|
tooltip-append-to-body="true"
|
|
189
|
-
ng-class="vm.statusClass(rule)"
|
|
190
223
|
></i>
|
|
191
224
|
</div>
|
|
192
|
-
<div
|
|
225
|
+
<div
|
|
226
|
+
class="card-icon"
|
|
227
|
+
ng-class="vm.statusClass(rule)"
|
|
228
|
+
>
|
|
193
229
|
<i c8y-icon="{{ vm.statusIcon(rule) }}"></i>
|
|
194
230
|
<span>{{ vm.status(rule) | translate }}</span>
|
|
195
231
|
</div>
|
|
196
232
|
</div>
|
|
197
233
|
|
|
198
|
-
<div
|
|
234
|
+
<div
|
|
235
|
+
class="smart-rule-children"
|
|
236
|
+
ng-if="vm.children.length > 0"
|
|
237
|
+
>
|
|
199
238
|
<label translate>Children</label>
|
|
200
239
|
<c8y-child-assets-selector
|
|
201
240
|
ng-if="::vm.canApplyOnChildren(rule)"
|
|
@@ -225,7 +264,10 @@
|
|
|
225
264
|
<div class="smart-rule-name">
|
|
226
265
|
{{ rule.name }}
|
|
227
266
|
</div>
|
|
228
|
-
<small
|
|
267
|
+
<small
|
|
268
|
+
class="smart-rule-information text-muted"
|
|
269
|
+
ng-show="vm.type(rule)"
|
|
270
|
+
>
|
|
229
271
|
{{ vm.type(rule) }}
|
|
230
272
|
</small>
|
|
231
273
|
</div>
|
|
@@ -233,8 +275,8 @@
|
|
|
233
275
|
<div class="card-actions-group">
|
|
234
276
|
<button
|
|
235
277
|
class="btn-flip"
|
|
236
|
-
type="button"
|
|
237
278
|
title="{{ 'Details' | translate }}"
|
|
279
|
+
type="button"
|
|
238
280
|
ng-click="vm.isFlipped = !vm.isFlipped"
|
|
239
281
|
>
|
|
240
282
|
<i c8y-icon="reply"></i>
|
|
@@ -242,7 +284,10 @@
|
|
|
242
284
|
</button>
|
|
243
285
|
</div>
|
|
244
286
|
</div>
|
|
245
|
-
<div
|
|
287
|
+
<div
|
|
288
|
+
class="card card-back"
|
|
289
|
+
uib-collapse="!vm.isOpen[rule.id]"
|
|
290
|
+
>
|
|
246
291
|
<div class="card-header-actions">
|
|
247
292
|
<div class="smart-list-icon-label">
|
|
248
293
|
<span class="dot">
|
|
@@ -275,7 +320,10 @@
|
|
|
275
320
|
<div class="legend form-block">
|
|
276
321
|
{{ 'History of changes' | translate }}
|
|
277
322
|
</div>
|
|
278
|
-
<div
|
|
323
|
+
<div
|
|
324
|
+
c8y-audit-list
|
|
325
|
+
filter="{source: rule.id}"
|
|
326
|
+
></div>
|
|
279
327
|
</div>
|
|
280
328
|
</div>
|
|
281
329
|
</div>
|
|
@@ -283,8 +331,8 @@
|
|
|
283
331
|
<div class="card-actions-group">
|
|
284
332
|
<button
|
|
285
333
|
class="btn-flip"
|
|
286
|
-
type="button"
|
|
287
334
|
title="{{ 'Back' | translate }}"
|
|
335
|
+
type="button"
|
|
288
336
|
ng-click="vm.isFlipped = !vm.isFlipped"
|
|
289
337
|
>
|
|
290
338
|
<i c8y-icon="reply"></i>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(){function e(u,i,a,o,r,c,t,n,l,s){var d=a.url("service/smartrule"),f="".concat(d,"/smartrules"),
|
|
1
|
+
"use strict";!function(){function e(u,i,a,o,r,c,t,n,l,s){var d=a.url("service/smartrule"),f="".concat(d,"/smartrules"),p=["id","self","cepModuleId","lastUpdated","creationTime"],h=["type","cepModuleId","creationTime","lastUpdated"];return{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(a.getResData).then(_.property("rules")).then(m)},listByContext:function(e){return i.get(S({moId:e})).then(a.getResData).then(_.property("rules")).then(m)},detail:function(e){var t=v({id:e});return i.get(t).then(a.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(a.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!I(e.disabledSources,n);if(e.enabledSources)return I(e.enabledSources,n);return!0},activate:function(e,t,n){return y(e,t,n).then(g)},deactivate:function(e,t,n){return function(n,e,t){return b(e,t).then(function(e){return _.forEach(e,function(t){_.isArray(n.enabledSources)&&I(n.enabledSources,t)&&_.remove(n.enabledSources,function(e){return _.toString(e)===_.toString(t)}),_.isArray(n.disabledSources)&&!I(n.disabledSources,t)&&n.disabledSources.push(t)}),n})}(e,t,n).then(g)},addNewWithUI:R,addNewForInputAlarmAndOutputUserWithUI:function(e,t){return R({inputAlarm:e,outputUser:t})},addNewForInputDataPointWithUI:function(e){return R({inputDataPoint:e})},addNewForOutputOperationWithUI:function(e){return R({outputOperation:{template:function(e){return a.cleanFields(e,["id","self","status","deviceId","creationTime","failureReason"])}(e)}})},createInstanceWithUI:U,createInstanceWithUIByName:function(e,t){return n.getTemplateByName(e).then(function(e){return U(e,t)})},editWithUI:function(e){return D(e,void 0)},cloneWithUI:function(e){return t.current().then(_.partial(A,e)).then(D)}};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=a.cleanFields(e,h);return i.put(t,n)}function y(n,e,t){return b(e,t).then(function(e){return _.forEach(e,function(t){_.isArray(n.enabledSources)&&!I(n.enabledSources,t)&&n.enabledSources.push(t),_.isArray(n.disabledSources)&&I(n.disabledSources,t)&&_.remove(n.disabledSources,function(e){return _.toString(e)===_.toString(t)})}),n})}function b(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(o.childAssets(e));!0!==t&&!0!==t.devices||n.push(o.childDevices(e));return u.all(n).then(_.flattenDeep).then(_.partialRight(_.map,"id"))}(n,t))),u.all(r).then(_.flattenDeep)}function I(e,t){var n=t.id||t;return _.some(e,function(e){return _.toString(e)===_.toString(n)})}function R(){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 U(e,t){return D(t,e)}function A(e,t){var n=_.cloneDeep(e);return(n=a.cleanFields(n,p)).name=s.getString("Duplicate of {{name}}",n),t&&(n.owner=t.id),n}function D(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)}();
|