@c8y/ng1-modules 1021.81.0 → 1022.4.2

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.
Files changed (127) hide show
  1. package/alarmsEventsExplorer/alarmsEventsTimelinesConfig/alarmsEventsTimelinesConfig.html +1 -1
  2. package/assetPropertyWidget/img/asset-properties-widget-pr.png +0 -0
  3. package/assetPropertyWidget/views/config.html +1 -1
  4. package/assetTable/assetTable2/img/asset-table-widget-pr.png +0 -0
  5. package/assetTable/img/asset-table-widget-pr.png +0 -0
  6. package/core/core/services/audits.js +1 -1
  7. package/core/core/services/deviceShell.js +1 -1
  8. package/core/core/services/retentions.js +1 -1
  9. package/core/core/services/tenant.js +1 -1
  10. package/core/core/services/user.js +1 -1
  11. package/core/cumulocity.json +0 -1
  12. package/core/locales/de.po +481 -720
  13. package/core/locales/es.po +431 -671
  14. package/core/locales/fr.po +510 -751
  15. package/core/locales/ja_JP.po +503 -740
  16. package/core/locales/ko.po +431 -671
  17. package/core/locales/nl.po +433 -672
  18. package/core/locales/pl.po +431 -672
  19. package/core/locales/pt_BR.po +528 -768
  20. package/core/locales/zh_CN.po +431 -671
  21. package/core/locales/zh_TW.po +431 -671
  22. package/core/ui/properties/propertySelector.html +156 -109
  23. package/core/ui/services/measurementsReport.js +1 -1
  24. package/core/ui/views/auditList.html +2 -2
  25. package/core/ui/views/eventList.html +2 -2
  26. package/core/ui/views/filePicker.html +1 -1
  27. package/dataBroker/connectors/connectors.service.js +1 -1
  28. package/dataPointExplorer/img/data-points-graph-widget-pr.png +0 -0
  29. package/dataPointExplorer/views/widgetConfig.html +92 -94
  30. package/device-protocol-canbus/canbus-device.provider.js +1 -1
  31. package/device-protocol-canopen/canopen-device.provider.js +1 -1
  32. package/device-protocol-modbus/modbus-device.provider.js +1 -1
  33. package/device-protocol-opcua/opcua-device.provider.js +1 -1
  34. package/device-protocol-profibus/profibus-device.provider.js +1 -1
  35. package/device-protocols/device-protocol-import-button.component.js +1 -1
  36. package/device-protocols/object-mapping.component.js +1 -1
  37. package/device-protocols/object-mapping.html +1 -1
  38. package/deviceDatabase4/detail/device-type-detail.component.js +1 -1
  39. package/deviceDatabase4/device-database.service.js +1 -1
  40. package/deviceDatabase4/device-type-list.component.js +1 -1
  41. package/deviceDatabase4/modals/configure-discrete-io.html +1 -1
  42. package/deviceDatabase4/modals/configure-register.html +1 -1
  43. package/deviceDatabase4/modals/import-device-type.component.js +1 -1
  44. package/deviceDetail/cumulocity.json +1 -2
  45. package/deviceStatusWidget/deviceStatus.component.js +1 -1
  46. package/deviceStatusWidget/ownerStatus.html +2 -2
  47. package/deviceStatusWidget/requiredAvailabilityIntervalSetting.html +4 -4
  48. package/devicemanagement-eventList/index.js +1 -1
  49. package/enterpriseEdition/cumulocity.json +0 -13
  50. package/enterpriseEdition/enterpriseEdition.module.js +1 -1
  51. package/eventList/img/events-list-widget-pr.png +0 -0
  52. package/eventList/views/eventListConfig.html +39 -32
  53. package/export/cumulocity.json +0 -1
  54. package/export/index.js +1 -1
  55. package/export/services/config.js +1 -1
  56. package/htmlWidget/index.js +1 -1
  57. package/kpi/img/data-points-list-widget-pr.png +0 -0
  58. package/kpi/views/gaugeConfig.html +28 -34
  59. package/kpi/views/listConfig.html +14 -18
  60. package/kpi/views/pieChartConfig.html +30 -36
  61. package/modbusConfiguration4/fieldbus-device-list.component.js +1 -1
  62. package/modbusWidget4/modbus-widget.service.js +1 -1
  63. package/modbusWidget4/widget-config.component.js +1 -1
  64. package/modbusWidget4/widget-config.html +74 -84
  65. package/package.json +11 -13
  66. package/propertiesLibrary/index.js +1 -1
  67. package/roles/list/rolesList.html +0 -2
  68. package/scada/views/componentConfig.html +23 -23
  69. package/scada/views/mapping.html +41 -39
  70. package/smartRules/controllers/add.js +1 -1
  71. package/smartRules/controllers/list.js +1 -1
  72. package/smartRules/list/smartRulesList.component.js +1 -1
  73. package/smartRules/list/smartRulesList.html +2 -2
  74. package/smartRules/services/smartRules.js +1 -1
  75. package/smartRules/views/add.html +32 -10
  76. package/smartRules/views/list.html +4 -3
  77. package/trafficLightWidget/states-mapping.html +82 -69
  78. package/administration-config/administration-config.module.js +0 -1
  79. package/administration-config/cumulocity.json +0 -13
  80. package/asset-notes/assetNotes.component.js +0 -1
  81. package/asset-notes/assetNotes.html +0 -93
  82. package/asset-notes/assetNotes.module.js +0 -1
  83. package/asset-notes/assetNotes.service.js +0 -1
  84. package/asset-notes/cumulocity.json +0 -13
  85. package/core/ui/forms/ssh-key-input.html +0 -33
  86. package/core/ui/forms/ssh-key-input.js +0 -1
  87. package/devicemanagement-deviceListMap/controllers/deviceListMap.js +0 -1
  88. package/devicemanagement-deviceListMap/cumulocity.json +0 -19
  89. package/devicemanagement-deviceListMap/index.js +0 -1
  90. package/devicemanagement-deviceListMap/views/index.html +0 -21
  91. package/enterpriseEdition/customBranding/brandingConfiguration.constants.js +0 -1
  92. package/enterpriseEdition/customBranding/brandingConfiguration.service.js +0 -1
  93. package/enterpriseEdition/customBranding/brandingConfigurationForm.component.js +0 -1
  94. package/enterpriseEdition/customBranding/brandingConfigurationForm.html +0 -141
  95. package/enterpriseEdition/customBranding/brandingConfigurationUi.provider.js +0 -1
  96. package/enterpriseEdition/customBranding/brandingDeploy.service.js +0 -1
  97. package/enterpriseEdition/customBranding/brandingProcessExecution.component.js +0 -1
  98. package/enterpriseEdition/customBranding/brandingProcessExecution.html +0 -120
  99. package/enterpriseEdition/customBranding/custom-branding.module.js +0 -1
  100. package/enterpriseEdition/customBranding/microservice.value.js +0 -1
  101. package/enterpriseEdition/ui-assets/index.js +0 -1
  102. package/enterpriseEdition/ui-assets/public-options.service.js +0 -1
  103. package/enterpriseEdition/ui-assets/static-assets.service.js +0 -1
  104. package/enterpriseEdition/ui-assets/ui-assets.service.js +0 -1
  105. package/export/controllers/list.js +0 -1
  106. package/export/views/list.html +0 -298
  107. package/remoteAccess/clients/remoteAccessClients.service.js +0 -1
  108. package/remoteAccess/clients/terminal/index.html +0 -30
  109. package/remoteAccess/clients/terminal/index.js +0 -1
  110. package/remoteAccess/clients/terminal/shell-adapter.js +0 -1
  111. package/remoteAccess/clients/terminal/style.css +0 -25
  112. package/remoteAccess/clients/terminal/telnet-negotiator.js +0 -1
  113. package/remoteAccess/clients/vnc/vncClient.html +0 -60
  114. package/remoteAccess/clients/vnc/vncClient.js +0 -1
  115. package/remoteAccess/cumulocity.json +0 -69
  116. package/remoteAccess/remoteAccess.module.js +0 -1
  117. package/remoteAccess/remoteAccess.service.js +0 -1
  118. package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.component.js +0 -1
  119. package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.html +0 -89
  120. package/remoteAccess/remoteAccessEndpointModal/remoteAccessEndpointModal.component.js +0 -1
  121. package/remoteAccess/remoteAccessEndpointModal/remoteAccessEndpointModal.html +0 -484
  122. package/remoteAccess/remoteAccessEndpointModal/suggestedIPAddressTemplate.html +0 -8
  123. package/remoteAccess/remoteAccessEndpointsList/remoteAccessEndpointsList.component.js +0 -1
  124. package/remoteAccess/remoteAccessEndpointsList/remoteAccessEndpointsList.html +0 -75
  125. package/remoteAccess/remoteAccessSettings/remoteAccessSettings.component.js +0 -1
  126. package/remoteAccess/remoteAccessSettings/remoteAccessSettings.html +0 -37
  127. package/remoteAccess/remoteAccessUI.provider.js +0 -1
@@ -1,35 +1,170 @@
1
- <div class="form-group m-b-8">
2
- <label>{{ 'Properties' | translate }}</label>
3
- <div class="d-flex">
4
- <div class="m-l-auto m-r-16">
5
- <a
6
- title="{{ 'Add property' | translate }}"
7
- class="btn btn-default btn-xs"
8
- data-ng-click="addProperty()"
1
+ <fieldset class="c8y-fieldset">
2
+ <legend>{{ 'Properties' | translate }}</legend>
3
+ <table class="table table-vertical-middle table-condensed" style="table-layout: fixed;">
4
+ <colgroup>
5
+ <col style="width: 5%" />
6
+ <col style="width: 7%" />
7
+ <col style="width: 28%" />
8
+ <col style="width: 28%" />
9
+ <col
10
+ ng-if="showRenderType()"
11
+ style="width: 28%"
12
+ />
13
+ <col style="width: 5%" />
14
+ </colgroup>
15
+ <thead>
16
+ <th></th>
17
+ <th>
18
+ <span>{{ 'Show' | translate }}</span>
19
+ </th>
20
+ <th>
21
+ <span>{{ 'Label' | translate }}</span>
22
+ </th>
23
+ <th>
24
+ <span>{{ 'Property' | translate }}</span>
25
+ </th>
26
+ <th
27
+ ng-if="showRenderType()"
9
28
  >
10
- <i c8y-icon="plus"></i>
11
- {{ 'Add property' | translate }}
12
- </a>
13
- </div>
14
- <div class="dropdown" ng-hide="hideActions" uib-dropdown>
29
+ <span>{{ 'Render type' | translate }}</span>
30
+ </th>
31
+ <th></th>
32
+ </thead>
33
+
34
+ <tbody
35
+ ui-sortable="{handle: '.handle', stop: onPropertiesOrderChanged}"
36
+ ng-model="properties"
37
+ >
38
+ <tr
39
+ class="property"
40
+ ng-repeat="property in properties"
41
+ >
42
+ <td
43
+ class="handle"
44
+ >
45
+ <i
46
+ c8y-icon="bars"
47
+ style="cursor: move"
48
+ ></i>
49
+ </td>
50
+ <td>
51
+ <label
52
+ class="c8y-checkbox"
53
+ title="{{ 'Show' | translate }}"
54
+ >
55
+ <input
56
+ type="checkbox"
57
+ ng-change="updateOptions()"
58
+ ng-model="property.__active"
59
+ />
60
+ <span></span>
61
+ </label>
62
+ </td>
63
+ <td>
64
+ <input
65
+ class="form-control property-label input-sm"
66
+ data-ng-model="property.label"
67
+ />
68
+ </td>
69
+ <td>
70
+ <button
71
+ class="btn btn-xs btn-default"
72
+ aria-label="{{ 'Configure computed property' | translate }}"
73
+ uib-tooltip="{{ 'Configure computed property' | translate }}"
74
+ tooltip-popup-delay="500"
75
+ tooltip-append-to-body="true"
76
+ type="button"
77
+ ng-show="!!property.configSchema"
78
+ ng-click="configComputeProperty(property)"
79
+ >
80
+ <i c8y-icon="bolt"></i>
81
+ {{ displayKeyPath(property.keyPath) }}
82
+ </button>
83
+ <span
84
+ class="text-truncate"
85
+ title="{{ displayKeyPath(property.keyPath) }}"
86
+ ng-hide="!!property.configSchema"
87
+ >
88
+ {{ displayKeyPath(property.keyPath) }}
89
+ </span>
90
+ </td>
91
+ <td
92
+ ng-if="showRenderType()"
93
+ >
94
+ <div class="input-group d-flex">
95
+ <div class="c8y-select-wrapper">
96
+ <select
97
+ class="form-control input-sm"
98
+ name="renderType"
99
+ ng-disabled="property.isAction"
100
+ ng-model="property.renderType"
101
+ ng-options="render.name as render.humanName | translate for render in renderTypes"
102
+ ></select>
103
+ </div>
104
+ <span class="m-l-4">
105
+ <button
106
+ class="btn btn-xs pull-right"
107
+ ng-class="{
108
+ 'btn-danger': !property.renderConfig,
109
+ 'btn-default': property.renderConfig
110
+ }"
111
+ title="{{ 'Config renderer' | translate }}"
112
+ type="button"
113
+ ng-click="configRenderer(property)"
114
+ ng-show="rendererHasConfig(property.renderType)"
115
+ >
116
+ <i c8y-icon="sliders"></i>
117
+ </button>
118
+ </span>
119
+ </div>
120
+ </td>
121
+ <td>
122
+ <button
123
+ class="btn btn-dot btn-dot--danger showOnHover pull-right"
124
+ title="{{ 'Delete property' | translate }}"
125
+ type="button"
126
+ ng-click="removeProperty(property)"
127
+ >
128
+ <i c8y-icon="minus-circle"></i>
129
+ </button>
130
+ </td>
131
+ </tr>
132
+ </tbody>
133
+ </table>
134
+ <div class="m-t-16 m-b-16 d-flex gap-8 a-i-center">
135
+ <a
136
+ class="btn btn-default btn-sm"
137
+ title="{{ 'Add property' | translate }}"
138
+ data-ng-click="addProperty()"
139
+ >
140
+ <i c8y-icon="plus-circle"></i>
141
+ {{ 'Add property' | translate }}
142
+ </a>
143
+ <div
144
+ class="dropdown"
145
+ ng-hide="hideActions"
146
+ uib-dropdown
147
+ >
15
148
  <button
16
- class="btn btn-default btn-xs dropdown-toggle c8y-dropdown"
17
- type="button"
149
+ class="btn btn-default btn-sm dropdown-toggle c8y-dropdown"
18
150
  title="{{ 'Add action' | translate }}"
151
+ aria-haspopup="true"
152
+ type="button"
19
153
  data-cy="property-selector--add-action"
20
154
  uib-dropdown-toggle
21
- aria-haspopup="true"
22
155
  >
23
- <i c8y-icon="plus"></i>
24
156
  {{ 'Add action' | translate }}
157
+ <span class="caret"></span>
25
158
  </button>
26
- <ul class="dropdown-menu dropdown-menu-right m-t-8" uib-dropdown-menu>
159
+ <ul
160
+ class="dropdown-menu dropdown-menu-right m-t-8"
161
+ uib-dropdown-menu
162
+ >
27
163
  <li ng-repeat="action in actions">
28
164
  <button
29
- class="btn btn-link"
165
+ title="{{ action.config.label | translate }}"
30
166
  type="button"
31
167
  data-cy="property-selector--{{ action.config.label }}"
32
- title="{{ action.config.label | translate }}"
33
168
  ng-click="addAction(action)"
34
169
  >
35
170
  {{ action.config.label | translate }}
@@ -38,94 +173,6 @@
38
173
  </ul>
39
174
  </div>
40
175
  </div>
41
- </div>
176
+ </fieldset>
42
177
 
43
- <table class="table table-vertical-middle form-group">
44
- <thead>
45
- <th style="width: 5%"></th>
46
- <th style="width: 5%">
47
- <label>{{ 'Show' | translate }}</label>
48
- </th>
49
- <th style="width: 28%">
50
- <label>{{ 'Label' | translate }}</label>
51
- </th>
52
- <th style="width: 28%">
53
- <label>{{ 'Property' | translate }}</label>
54
- </th>
55
- <th style="width: 28%" ng-if="showRenderType()">
56
- <label>{{ 'Render type' | translate }}</label>
57
- </th>
58
- <th style="width: 5%"></th>
59
- </thead>
60
-
61
- <tbody ui-sortable="{handle: '.handle', stop: onPropertiesOrderChanged}" ng-model="properties">
62
- <tr class="property" ng-repeat="property in properties">
63
- <td style="width: 5%" class="handle">
64
- <i c8y-icon="bars" style="cursor: move"></i>
65
- </td>
66
- <td style="width: 5%">
67
- <input type="checkbox" ng-change="updateOptions()" ng-model="property.__active" />
68
- </td>
69
- <td style="width: 28%">
70
- <input class="form-control property-label" data-ng-model="property.label" />
71
- </td>
72
- <td style="width: 28%">
73
- <button
74
- class="btn btn-xs btn-default"
75
- type="button"
76
- aria-label="{{ 'Configure computed property' | translate }}"
77
- uib-tooltip="{{ 'Configure computed property' | translate }}"
78
- tooltip-popup-delay="500"
79
- tooltip-append-to-body="true"
80
- ng-show="!!property.configSchema"
81
- ng-click="configComputeProperty(property)"
82
- >
83
- <i c8y-icon="bolt"></i>
84
- {{ displayKeyPath(property.keyPath) }}
85
- </button>
86
- <span ng-hide="!!property.configSchema">{{ displayKeyPath(property.keyPath) }}</span>
87
- </td>
88
- <td style="width: 28%" ng-if="showRenderType()">
89
- <div class="input-group d-flex">
90
- <div class="c8y-select-wrapper">
91
- <select
92
- class="form-control"
93
- name="renderType"
94
- ng-disabled="property.isAction"
95
- ng-model="property.renderType"
96
- ng-options="render.name as render.humanName | translate for render in renderTypes"
97
- >
98
- <span></span>
99
- </select>
100
- </div>
101
- <span class="m-l-4">
102
- <button
103
- class="btn btn-xs pull-right"
104
- type="button"
105
- title="{{ 'Config renderer' | translate }}"
106
- ng-click="configRenderer(property)"
107
- ng-show="rendererHasConfig(property.renderType)"
108
- ng-class="{
109
- 'btn-danger': !property.renderConfig,
110
- 'btn-default': property.renderConfig
111
- }"
112
- >
113
- <i c8y-icon="sliders"></i>
114
- </button>
115
- </span>
116
- </div>
117
- </td>
118
- <td style="width: 5%">
119
- <button
120
- class="btn btn-dot btn-dot--danger showOnHover pull-right"
121
- type="button"
122
- title="{{ 'Delete property' | translate }}"
123
- ng-click="removeProperty(property)"
124
- >
125
- <i c8y-icon="times"></i>
126
- </button>
127
- </td>
128
- </tr>
129
- </tbody>
130
- </table>
131
178
  <ng-form name="propertiesHiddenForm"></ng-form>
@@ -1 +1 @@
1
- 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 u,a={},t=Object.prototype,s=t.hasOwnProperty,l=Object.defineProperty||function(t,e,r){t[e]=r.value},e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",r=e.asyncIterator||"@@asyncIterator",o=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(u){i=function(t,e,r){return t[e]=r}}function c(t,e,r,n){var o,i,a,c,e=e&&e.prototype instanceof m?e:m,e=Object.create(e.prototype),n=new R(n||[]);return l(e,"_invoke",{value:(o=t,i=r,a=n,c=h,function(t,e){if(c===d)throw Error("Generator is already running");if(c===y){if("throw"===t)throw e;return{value:u,done:!0}}for(a.method=t,a.arg=e;;){var r=a.delegate;if(r){r=function t(e,r){var n=r.method,o=e.iterator[n];if(o===u)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=u,t(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;n=f(o,e.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,v;o=n.arg;return o?o.done?(r[e.resultName]=o.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=u),r.delegate=null,v):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}(r,a);if(r){if(r===v)continue;return r}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(c===h)throw c=y,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);c=d;r=f(o,i,a);if("normal"===r.type){if(c=a.done?y:p,r.arg===v)continue;return{value:r.arg,done:a.done}}"throw"===r.type&&(c=y,a.method="throw",a.arg=r.arg)}})}),e}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=c;var h="suspendedStart",p="suspendedYield",d="executing",y="completed",v={};function m(){}function g(){}function w(){}var e={},b=(i(e,n,function(){return this}),Object.getPrototypeOf),b=b&&b(b(F([]))),_=(b&&b!==t&&s.call(b,n)&&(e=b),w.prototype=m.prototype=Object.create(e));function E(t){["next","throw","return"].forEach(function(e){i(t,e,function(t){return this._invoke(e,t)})})}function x(a,c){var e;l(this,"_invoke",{value:function(r,n){function t(){return new c(function(t,e){!function e(t,r,n,o){var i,t=f(a[t],a,r);if("throw"!==t.type)return(r=(i=t.arg).value)&&"object"==_typeof(r)&&s.call(r,"__await")?c.resolve(r.__await).then(function(t){e("next",t,n,o)},function(t){e("throw",t,n,o)}):c.resolve(r).then(function(t){i.value=t,n(i)},function(t){return e("throw",t,n,o)});o(t.arg)}(r,n,t,e)})}return e=e?e.then(t,t):t()}})}function L(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 R(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function F(e){if(e||""===e){var r,t=e[n];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return r=-1,(t=function t(){for(;++r<e.length;)if(s.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=u,t.done=!0,t}).next=t}throw new TypeError(_typeof(e)+" is not iterable")}return l(_,"constructor",{value:g.prototype=w,configurable:!0}),l(w,"constructor",{value:g,configurable:!0}),g.displayName=i(w,o,"GeneratorFunction"),a.isGeneratorFunction=function(t){t="function"==typeof t&&t.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,i(t,o,"GeneratorFunction")),t.prototype=Object.create(_),t},a.awrap=function(t){return{__await:t}},E(x.prototype),i(x.prototype,r,function(){return this}),a.AsyncIterator=x,a.async=function(t,e,r,n,o){void 0===o&&(o=Promise);var i=new x(c(t,e,r,n),o);return a.isGeneratorFunction(e)?i:i.next().then(function(t){return t.done?t.value:i.next()})},E(_),i(_,o,"Generator"),i(_,n,function(){return this}),i(_,"toString",function(){return"[object Generator]"}),a.keys=function(t){var e,r=Object(t),n=[];for(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=F,R.prototype={constructor:R,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=u,this.done=!1,this.delegate=null,this.method="next",this.arg=u,this.tryEntries.forEach(S),!t)for(var e in this)"t"===e.charAt(0)&&s.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=u)},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=u),!!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=s.call(o,"catchLoc"),c=s.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 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&&s.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}var i=(o=o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc?null:o)?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):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),v},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),v}},catch:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var r,n,o=this.tryEntries[e];if(o.tryLoc===t)return"throw"===(r=o.completion).type&&(n=r.arg,S(o)),n}throw Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:F(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=u),v}},a}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 t(c,u,s,l,f,h,p,d,o){var y=this;this.downloadReportForDevice=function(t,e,r,n){e=_.get(e,"id",e),r=_(r).map(_.partial(y.createPairFromSeries,e)).value();return new y.Downloader(t,n,r).start()},this.downloadReportForDatapoints=function(e,t,r){var n=_(t).filter(function(t){return!0===t.__active}).map(y.getDpRequestParams).value();return n.length?o.current().then(function(t){return o.hasRole(t,"ROLE_MEASUREMENT_READ")?new y.Downloader(e,r,n).start():c.reject(new Error(h("Could not download the report. You need this global permission to download reports: Measurements Read.")))}):c.reject(new Error(h("At least 1 data point must be selected")))},this.createPairFromSeries=function(t,e){return{source:t,fragmentType:e}},this.getDpRequestParams=function(t){return{source:t.__target.id,valueFragmentType:t.fragment,valueFragmentSeries:t.series}},this.generateFileName=function(t,e){if(_.isEmpty(t.source&&e)||_.isEmpty(t.valueFragmentType||t.fragmentType))throw new Error("Unable to generate a file name for given data");var r=t.valueFragmentType?[t.valueFragmentType,t.valueFragmentSeries].join("."):t.fragmentType;return[t.source,r,e].join(".")},this.Downloader=function(r,n,t){var o=this,e=_.uniqBy(t,function(t){return JSON.stringify(t)});function i(){return(i=_asyncToGenerator(_regeneratorRuntime().mark(function t(r){var n,o,e;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(n=c.defer(),403!==r.status)t.next=14;else{if(r.data instanceof Blob)return t.next=5,d.detail(r.config.params.source);t.next=11}break;case 5:o=t.sent,(e=new FileReader).addEventListener("loadend",function(t){try{var e=JSON.parse(_.get(t,"srcElement.result"));n.resolve({type:"danger",text:p.getString('Could not download data for "{{name}}": access denied.',o.data),detailedData:e})}catch(t){n.resolve(a(r))}}),e.readAsText(r.data),t.next=12;break;case 11:n.resolve(a(r));case 12:t.next=15;break;case 14:n.resolve({type:"danger",text:h("An error occurred. Please try again later."),detailedData:r});case 15:return t.abrupt("return",n.promise);case 16:case"end":return t.stop()}},t)}))).apply(this,arguments)}function a(t){return{text:h("Access denied."),type:"danger",detailedData:t}}this.downloadReports=function(){var t=_(e).map(o.downloadReportForDpRequestParams).value();return c.all(t).then(o.onDownloads)},this.start=function(){return l({templateUrl:":::PLUGIN_PATH:::/ui/views/measurementsReport.html",title:h("Generating report"),controller:["$scope","$timeout",function(r,n){r.completed=0,r.total=e.length,r.reportFileName="report.zip",r.close=function(){var t,e;void 0!==window.navigator.msSaveBlob?(t=r.blob,window.navigator.msSaveBlob(t,r.reportFileName)):(e=r.url,n(function(){window.URL.revokeObjectURL(e)},5e3)),r.$close()},o.scope=r,o.downloadReports()}]})},this.downloadReportForDpRequestParams=function(e,t){t=o.getFilter(e,t);return u.list(t,r).then(function(t){return o.onDownload(e,t)}).catch(function(t){return o.onDownloadError(t)})},this.onDownload=function(t,e){return o.scope.completed+=1,e.name=y.generateFileName(t,r.name),e},this.onDownloadError=function(t){return t.async?(o.scope.completed+=1,c.resolve(null)):(o.displayError(t),c.resolve(void 0))},this.displayError=function(t){!function(){return i.apply(this,arguments)}(t).then(f.add)},this.onDownloads=function(t){var t=t.filter(function(t){return void 0!==t}),e=t.filter(_.identity),t=t.length-e.length;return 0<t&&(t=p.getPlural(t,"You will get a CSV/Excel file for 1 series via email.","You will get CSV/Excel files for {{$count}} series via email.",{}),f.success(t)),0===e.length?c.when():s.zipFiles(e).then(function(t){o.scope.blob=t,o.scope.url=window.URL.createObjectURL(t)})},this.getFilter=function(t,e){e=_.isArray(n)?n[e]:n;return _.merge({},e,t)}}}t.$inject=["$q","c8yMeasurements","c8yZip","c8yModal","c8yAlert","gettext","gettextCatalog","c8yInventory","c8yUser"],angular.module("c8y.ui").service("MeasurementsReportSvc",t)})();
1
+ function _regenerator(){var g,e="function"==typeof Symbol?Symbol:{},r=e.iterator||"@@iterator",t=e.toStringTag||"@@toStringTag";function n(e,r,t,n){var o,a,i,c,u,s,l,f,d,r=r&&r.prototype instanceof m?r:m,r=Object.create(r.prototype);return _regeneratorDefine2(r,"_invoke",(o=e,a=t,l=n||[],f=!1,d={p:s=0,n:0,v:g,a:p,f:p.bind(g,4),d:function(e,r){return i=e,c=0,u=g,d.n=r,v}},function(e,r,t){if(1<s)throw TypeError("Generator is already running");for(f&&1===r&&p(r,t),c=r,u=t;(y=c<2?g:u)||!f;){i||(c?c<3?(1<c&&(d.n=-1),p(c,u)):d.n=u:d.v=u);try{if(s=2,i){if(y=i[e=c?e:"next"]){if(!(y=y.call(i,u)))throw TypeError("iterator result is not an object");if(!y.done)return y;u=y.value,c<2&&(c=0)}else 1===c&&(y=i.return)&&y.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+e+"' method"),c=1);i=g}else if((y=(f=d.n<0)?u:o.call(a,d))!==v)break}catch(e){i=g,c=1,u=e}finally{s=1}}return{value:y,done:f}}),!0),r;function p(e,r){for(c=e,u=r,y=0;!f&&s&&!t&&y<l.length;y++){var t,n=l[y],o=d.p,a=n[2];3<e?(t=a===r)&&(u=n[(c=n[4])?5:c=3],n[4]=n[5]=g):n[0]<=o&&((t=e<2&&o<n[1])?(c=0,d.v=r,d.n=n[1]):o<a&&(t=e<3||n[0]>r||a<r)&&(n[4]=e,n[5]=r,d.n=a,c=0))}if(t||1<e)return v;throw f=!0,r}}var v={};function m(){}function o(){}function a(){}var y=Object.getPrototypeOf,e=[][r]?y(y([][r]())):(_regeneratorDefine2(y={},r,function(){return this}),y),i=a.prototype=m.prototype=Object.create(e);function c(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,a):(e.__proto__=a,_regeneratorDefine2(e,t,"GeneratorFunction")),e.prototype=Object.create(i),e}return _regeneratorDefine2(i,"constructor",o.prototype=a),_regeneratorDefine2(a,"constructor",o),_regeneratorDefine2(a,t,o.displayName="GeneratorFunction"),_regeneratorDefine2(i),_regeneratorDefine2(i,t,"Generator"),_regeneratorDefine2(i,r,function(){return this}),_regeneratorDefine2(i,"toString",function(){return"[object Generator]"}),(_regenerator=function(){return{w:n,m:c}})()}function _regeneratorDefine2(e,r,t,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}(_regeneratorDefine2=function(e,r,t,n){r?o?o(e,r,{value:t,enumerable:!n,configurable:!n,writable:!n}):e[r]=t:((n=function(r,t){_regeneratorDefine2(e,r,function(e){return this._invoke(r,t,e)})})("next",0),n("throw",1),n("return",2))})(e,r,t,n)}function asyncGeneratorStep(e,r,t,n,o,a,i){try{var c=e[a](i),u=c.value}catch(e){return void t(e)}c.done?r(u):Promise.resolve(u).then(n,o)}function _asyncToGenerator(c){return function(){var e=this,i=arguments;return new Promise(function(r,t){var n=c.apply(e,i);function o(e){asyncGeneratorStep(n,r,t,o,a,"next",e)}function a(e){asyncGeneratorStep(n,r,t,o,a,"throw",e)}o(void 0)})}}(()=>{function e(c,u,s,l,f,d,p,g,o){var v=this;this.downloadReportForDevice=function(e,r,t,n){r=_.get(r,"id",r),t=_(t).map(_.partial(v.createPairFromSeries,r)).value();return new v.Downloader(e,n,t).start()},this.downloadReportForDatapoints=function(r,e,t){var n=_(e).filter(function(e){return!0===e.__active}).map(v.getDpRequestParams).value();return n.length?o.current().then(function(e){return o.hasRole(e,"ROLE_MEASUREMENT_READ")?new v.Downloader(r,t,n).start():c.reject(new Error(d("Could not download the report. You need this global permission to download reports: Measurements Read.")))}):c.reject(new Error(d("At least 1 data point must be selected")))},this.createPairFromSeries=function(e,r){return{source:e,fragmentType:r}},this.getDpRequestParams=function(e){return{source:e.__target.id,valueFragmentType:e.fragment,valueFragmentSeries:e.series}},this.generateFileName=function(e,r){if(_.isEmpty(e.source&&r)||_.isEmpty(e.valueFragmentType||e.fragmentType))throw new Error("Unable to generate a file name for given data");var t=e.valueFragmentType?[e.valueFragmentType,e.valueFragmentSeries].join("."):e.fragmentType;return[e.source,t,r].join(".")},this.Downloader=function(t,n,e){var o=this,r=_.uniqBy(e,function(e){return JSON.stringify(e)});function a(){return(a=_asyncToGenerator(_regenerator().m(function e(t){var n,o,r;return _regenerator().w(function(e){for(;;)switch(e.n){case 0:if(n=c.defer(),403!==t.status)e.n=4;else{if(t.data instanceof Blob)return e.n=1,g.detail(t.config.params.source);e.n=2}break;case 1:o=e.v,(r=new FileReader).addEventListener("loadend",function(e){try{var r=JSON.parse(_.get(e,"srcElement.result"));n.resolve({type:"danger",text:p.getString('Could not download data for "{{name}}": access denied.',o.data),detailedData:r})}catch(e){n.resolve(i(t))}}),r.readAsText(t.data),e.n=3;break;case 2:n.resolve(i(t));case 3:e.n=5;break;case 4:n.resolve({type:"danger",text:d("An error occurred. Please try again later."),detailedData:t});case 5:return e.a(2,n.promise)}},e)}))).apply(this,arguments)}function i(e){return{text:d("Access denied."),type:"danger",detailedData:e}}this.downloadReports=function(){var e=_(r).map(o.downloadReportForDpRequestParams).value();return c.all(e).then(o.onDownloads)},this.start=function(){return l({templateUrl:":::PLUGIN_PATH:::/ui/views/measurementsReport.html",title:d("Generating report"),controller:["$scope","$timeout",function(t,n){t.completed=0,t.total=r.length,t.reportFileName="report.zip",t.close=function(){var e,r;void 0!==window.navigator.msSaveBlob?(e=t.blob,window.navigator.msSaveBlob(e,t.reportFileName)):(r=t.url,n(function(){window.URL.revokeObjectURL(r)},5e3)),t.$close()},o.scope=t,o.downloadReports()}]})},this.downloadReportForDpRequestParams=function(r,e){e=o.getFilter(r,e);return u.list(e,t).then(function(e){return o.onDownload(r,e)}).catch(function(e){return o.onDownloadError(e)})},this.onDownload=function(e,r){return o.scope.completed+=1,r.name=v.generateFileName(e,t.name),r},this.onDownloadError=function(e){return e.async?(o.scope.completed+=1,c.resolve(null)):(o.displayError(e),c.resolve(void 0))},this.displayError=function(e){!function(){return a.apply(this,arguments)}(e).then(f.add)},this.onDownloads=function(e){var e=e.filter(function(e){return void 0!==e}),r=e.filter(_.identity),e=e.length-r.length;return 0<e&&(e=p.getPlural(e,"You will get a CSV/Excel file for 1 series via email.","You will get CSV/Excel files for {{$count}} series via email.",{}),f.success(e)),0===r.length?c.when():s.zipFiles(r).then(function(e){o.scope.blob=e,o.scope.url=window.URL.createObjectURL(e)})},this.getFilter=function(e,r){r=_.isArray(n)?n[r]:n;return _.merge({},r,e)}}}e.$inject=["$q","c8yMeasurements","c8yZip","c8yModal","c8yAlert","gettext","gettextCatalog","c8yInventory","c8yUser"],angular.module("c8y.ui").service("MeasurementsReportSvc",e)})();
@@ -80,7 +80,7 @@
80
80
  </button>
81
81
  <i
82
82
  class="text-gray-medium-dark"
83
- c8y-icon="c8y-events"
83
+ c8y-icon="online1"
84
84
  ng-if="!convertTypeIcon(audit.type)"
85
85
  ></i>
86
86
  </div>
@@ -160,4 +160,4 @@
160
160
  </div>
161
161
  </div>
162
162
  <c8y-load-more></c8y-load-more>
163
- </div>
163
+ </div>
@@ -80,7 +80,7 @@
80
80
  ng-if="!$parent.child.templateUrl && !hideHeaderActions && ctrl.showOverviewBreadcrumbs"
81
81
  >
82
82
  <c8y-breadcrumbs-item
83
- icon="c8y-events"
83
+ icon="online1"
84
84
  label="{{ 'Events' | translate }}"
85
85
  ></c8y-breadcrumbs-item>
86
86
  <c8y-breadcrumbs-item
@@ -165,7 +165,7 @@
165
165
 
166
166
  <!-- empty state -->
167
167
  <c8y-ui-empty-state
168
- [icon]="'c8y-events'"
168
+ [icon]="'online1'"
169
169
  [title]="'No events to display.' | translate"
170
170
  ng-if="events.length == 0"
171
171
  >
@@ -77,7 +77,7 @@
77
77
  <i c8y-icon="ellipsis-h"></i>
78
78
  </button>
79
79
  <button
80
- class="btn btn-dot btn-dot--danger"
80
+ class="btn-dot btn-dot--danger"
81
81
  title="{{ 'Remove' | translate }}"
82
82
  aria-label="{{ 'Remove' | translate }}"
83
83
  type="button"
@@ -1 +1 @@
1
- (()=>{function e(a,o,r,c,i,u,l){var s=c.url("databroker/connectors"),n=c.contentHeaders("connector",!0),e=c.createEnum([{name:"ALARM",value:"alarm",label:u("Alarms"),icon:"bell"},{name:"EVENT",value:"event",label:u("Events"),icon:"c8y-events"},{name:"MEASUREMENT",value:"measurement",label:u("Measurements"),icon:"line-chart"},{name:"MANAGED_OBJECT",value:"managedObject",label:u("Managed objects"),icon:"cubes"},{name:"OPERATION",value:"operation",label:u("Operations"),icon:"code"},{name:"ALL",value:"*",hidden:!0}]),d=c.createEnum([{name:"ACTIVE",label:u("active`connector`")},{name:"ACTIVATING",label:u("activating`connector`")},{name:"SUSPENDED",label:u("suspended`connector`")},{name:"WAITING",label:u("waiting`connector`")}]),g=c.createEnum([{name:"ACTIVE",label:u("active`connector`")},{name:"SUSPENDED",label:u("suspended`connector`")},{name:"WAITING",label:u("waiting`connector`")}]),m=c.createEnum([{name:"ACTIVE",label:u("active`connector`")},{name:"ACTIVATING",label:u("activating`connector`")},{name:"PENDING",label:u("pending`connector`")},{name:"SUSPENDED",label:u("suspended`connector`")},{name:"WAITING",label:u("waiting`connector`")}]),p=["name","description","filters"],t=["id","status","destinationStatus","instanceUrl","tenantId","username","password","code","self","suspendReason"];return{getConnectors:function e(){var t={params:c.pageSizeNoTotalFilter()};var n=c.cleanListCallback("connectors",e,t.params);return o.get(s,t).then(n).then(function(e){return _.forEach(e,E),e})},saveConnector:function(e){{var t;t=c.hasId(e)?(t=_.pick(e,p),f(c.getId(e),t)):T(e)}return t},createConnector:T,updateConnector:f,toggleConnectorStatus:function(t){t.status===d.ACTIVE.value?t.status=d.SUSPENDED.value:t.status=d.ACTIVE.value;return _.unset(t,"visibleStatus"),f(t.id,{status:t.status}).then(function(e){t.status=e.status,E(t)})},getConnector:function(e){return o.get(v(e)).then(c.getResData).then(E)},getConnectorStub:function(){return{name:"",instanceUrl:"",description:"",filters:[]}},getConnectorDuplicate:function(e){return o.get(v(e)).then(c.getResData).then(function(e){return e.name=l.getString("Duplicate of {{name}}",e),_.omit(e,t)})},deleteConnector:function(e){return o({method:"DELETE",url:v(e)})},updateConnectorName:function(t,n){var e=a.when();t.id?e=f(t.id,{name:n}).then(function(e){return t.name=n,e}):t.name=n;return e},convertToViewModel:function(e){e=_.cloneDeep(e);return e.filters=_.map(e.filters,function(e){return e.apis=_.transform(e.apis,function(e,t){e[t]=!0},{}),e.fragmentsToFilter=I(e.fragmentsToFilter),e.copyAllFragments=_.isNull(e.fragmentsToCopy)||_.isUndefined(e.fragmentsToCopy),e.fragmentsToCopy=I(e.fragmentsToCopy),e.selectedGroupOrDevice=(e=>{var t,e=e.deviceGroupId||e.sourceId;return t=e?{id:e}:t})(e),e}),e},convertToBackendModel:function(e){e=_.cloneDeep(e);return e.filters=_.map(e.filters,function(e){a=e.apis;var t,n,a=_(a).map(function(e,t){return e?t:void 0}).compact().value(),o=A(e.fragmentsToFilter),r=e.copyAllFragments?null:A(e.fragmentsToCopy),c=e.selectedGroupOrDevice;return c&&c.isDevice&&(t=c.id),c&&!c.isDevice&&(n=c.id),_.assign(e,{isOpen:void 0,apis:a,fragmentsToFilter:o,fragmentsToCopy:r,copyAllFragments:void 0,sourceId:t,deviceGroupId:n,selectedGroupOrDevice:void 0})}),e},getFilterFragmentsSummary:function(e){var t=A(_.get(e,"fragmentsToFilter",[])),n=A(_.get(e,"fragmentsToCopy",[])),e=_.get(e,"copyAllFragments"),a="",o="";a=0<t.length?l.getString("Filter: {{fragments}}",{fragments:t.join(", ")}):l.getString("Filter: none");o=e?l.getString("Copy: all"):0<n.length?l.getString("Copy: {{fragments}}",{fragments:n.join(", ")}):l.getString("Copy: standard only");return[a,o].join("; ")},navigateToList:function(){var e=i.CONNECTOR_BASE_URL;r.path(e)},navigateToNew:function(e){var t="new",n=i.CONNECTOR_BASE_URL,a="";c.hasId(e)&&(t=c.getId(e),a="/duplicate");r.path("".concat(n,"/").concat(t).concat(a))},navigateToDetails:function(e){e=c.getId(e),e="".concat(i.CONNECTOR_BASE_URL,"/").concat(e);r.path(e)},getMappedStatus:S,getStatusTooltip:function(e){var t={},n=d.WAITING.value,a=d.ACTIVE.value,o=d.ACTIVATING.value,r=d.SUSPENDED.value,c=g.ACTIVE.value,i=g.WAITING.value,s=g.SUSPENDED.value,n=(t[n]=u("Connector not bootstrapped yet."),t[a]={},t[a][c]=u("Connector is working."),t[o]={},t[o][c]=u("Inventory structure synchronization in progress."),t[a][s]=u("Subscription in destination tenant disabled."),t[r]={},t[r][i]=u("Connector not bootstrapped but suspended by source tenant."),t[r][c]=u("Connector suspended by source tenant."),t[r][s]=u("Subscription in destination tenant disabled and then connector suspended by source tenant."),t[e.status]);return(e.status===r?l.getString(e.suspendReason):void 0)||_.get(n,e.destinationStatus)||n},APIS:e,STATUS:d,MAPPED_STATUS:m,DESTINATION_STATUS:g};function v(e){return[s,e].join("/")}function T(e){return o({method:"POST",url:s,data:e,headers:n}).then(c.getResData)}function f(e,t){return o({method:"PUT",url:v(e),data:t,headers:n}).then(c.getResData)}function E(e){return e.visibleStatus=S(e),e}function S(e){var t={},n=d.WAITING.value,a=d.ACTIVE.value,o=d.ACTIVATING.value,r=d.SUSPENDED.value,c=g.ACTIVE.value,i=g.SUSPENDED.value,n=(t[n]=m.WAITING,t[a]={},t[a][c]=m.ACTIVE,t[o]={},t[o][c]=m.ACTIVATING,t[a][i]=m.PENDING,t[r]=m.SUSPENDED,t[e.status]);return _.get(n,e.destinationStatus)||n}function I(e){e=e||[];return e.length||e.push(""),_.map(e,C)}function C(e){return{fragment:e}}function A(e){return _(e).map("fragment").compact().value()}}e.$inject=["$q","$http","$location","c8yBase","dataBrokerConstants","gettext","gettextCatalog"],angular.module("c8y.dataBroker").factory("dataBrokerConnectorsSvc",e)})();
1
+ (()=>{function e(a,o,r,i,c,u,l){var s=i.url("databroker/connectors"),n=i.contentHeaders("connector",!0),e=i.createEnum([{name:"ALARM",value:"alarm",label:u("Alarms"),icon:"bell"},{name:"EVENT",value:"event",label:u("Events"),icon:"online1"},{name:"MEASUREMENT",value:"measurement",label:u("Measurements"),icon:"line-chart"},{name:"MANAGED_OBJECT",value:"managedObject",label:u("Managed objects"),icon:"cubes"},{name:"OPERATION",value:"operation",label:u("Operations"),icon:"code"},{name:"ALL",value:"*",hidden:!0}]),d=i.createEnum([{name:"ACTIVE",label:u("active`connector`")},{name:"ACTIVATING",label:u("activating`connector`")},{name:"SUSPENDED",label:u("suspended`connector`")},{name:"WAITING",label:u("waiting`connector`")}]),g=i.createEnum([{name:"ACTIVE",label:u("active`connector`")},{name:"SUSPENDED",label:u("suspended`connector`")},{name:"WAITING",label:u("waiting`connector`")}]),m=i.createEnum([{name:"ACTIVE",label:u("active`connector`")},{name:"ACTIVATING",label:u("activating`connector`")},{name:"PENDING",label:u("pending`connector`")},{name:"SUSPENDED",label:u("suspended`connector`")},{name:"WAITING",label:u("waiting`connector`")}]),p=["name","description","filters"],t=["id","status","destinationStatus","instanceUrl","tenantId","username","password","code","self","suspendReason"];return{getConnectors:function e(){var t={params:i.pageSizeNoTotalFilter()};var n=i.cleanListCallback("connectors",e,t.params);return o.get(s,t).then(n).then(function(e){return _.forEach(e,E),e})},saveConnector:function(e){{var t;t=i.hasId(e)?(t=_.pick(e,p),f(i.getId(e),t)):T(e)}return t},createConnector:T,updateConnector:f,toggleConnectorStatus:function(t){t.status===d.ACTIVE.value?t.status=d.SUSPENDED.value:t.status=d.ACTIVE.value;return _.unset(t,"visibleStatus"),f(t.id,{status:t.status}).then(function(e){t.status=e.status,E(t)})},getConnector:function(e){return o.get(v(e)).then(i.getResData).then(E)},getConnectorStub:function(){return{name:"",instanceUrl:"",description:"",filters:[]}},getConnectorDuplicate:function(e){return o.get(v(e)).then(i.getResData).then(function(e){return e.name=l.getString("Duplicate of {{name}}",e),_.omit(e,t)})},deleteConnector:function(e){return o({method:"DELETE",url:v(e)})},updateConnectorName:function(t,n){var e=a.when();t.id?e=f(t.id,{name:n}).then(function(e){return t.name=n,e}):t.name=n;return e},convertToViewModel:function(e){e=_.cloneDeep(e);return e.filters=_.map(e.filters,function(e){return e.apis=_.transform(e.apis,function(e,t){e[t]=!0},{}),e.fragmentsToFilter=I(e.fragmentsToFilter),e.copyAllFragments=_.isNull(e.fragmentsToCopy)||_.isUndefined(e.fragmentsToCopy),e.fragmentsToCopy=I(e.fragmentsToCopy),e.selectedGroupOrDevice=(e=>{var t,e=e.deviceGroupId||e.sourceId;return t=e?{id:e}:t})(e),e}),e},convertToBackendModel:function(e){e=_.cloneDeep(e);return e.filters=_.map(e.filters,function(e){a=e.apis;var t,n,a=_(a).map(function(e,t){return e?t:void 0}).compact().value(),o=A(e.fragmentsToFilter),r=e.copyAllFragments?null:A(e.fragmentsToCopy),i=e.selectedGroupOrDevice;return i&&i.isDevice&&(t=i.id),i&&!i.isDevice&&(n=i.id),_.assign(e,{isOpen:void 0,apis:a,fragmentsToFilter:o,fragmentsToCopy:r,copyAllFragments:void 0,sourceId:t,deviceGroupId:n,selectedGroupOrDevice:void 0})}),e},getFilterFragmentsSummary:function(e){var t=A(_.get(e,"fragmentsToFilter",[])),n=A(_.get(e,"fragmentsToCopy",[])),e=_.get(e,"copyAllFragments"),a="",o="";a=0<t.length?l.getString("Filter: {{fragments}}",{fragments:t.join(", ")}):l.getString("Filter: none");o=e?l.getString("Copy: all"):0<n.length?l.getString("Copy: {{fragments}}",{fragments:n.join(", ")}):l.getString("Copy: standard only");return[a,o].join("; ")},navigateToList:function(){var e=c.CONNECTOR_BASE_URL;r.path(e)},navigateToNew:function(e){var t="new",n=c.CONNECTOR_BASE_URL,a="";i.hasId(e)&&(t=i.getId(e),a="/duplicate");r.path("".concat(n,"/").concat(t).concat(a))},navigateToDetails:function(e){e=i.getId(e),e="".concat(c.CONNECTOR_BASE_URL,"/").concat(e);r.path(e)},getMappedStatus:S,getStatusTooltip:function(e){var t={},n=d.WAITING.value,a=d.ACTIVE.value,o=d.ACTIVATING.value,r=d.SUSPENDED.value,i=g.ACTIVE.value,c=g.WAITING.value,s=g.SUSPENDED.value,n=(t[n]=u("Connector not bootstrapped yet."),t[a]={},t[a][i]=u("Connector is working."),t[o]={},t[o][i]=u("Inventory structure synchronization in progress."),t[a][s]=u("Subscription in destination tenant disabled."),t[r]={},t[r][c]=u("Connector not bootstrapped but suspended by source tenant."),t[r][i]=u("Connector suspended by source tenant."),t[r][s]=u("Subscription in destination tenant disabled and then connector suspended by source tenant."),t[e.status]);return(e.status===r?l.getString(e.suspendReason):void 0)||_.get(n,e.destinationStatus)||n},APIS:e,STATUS:d,MAPPED_STATUS:m,DESTINATION_STATUS:g};function v(e){return[s,e].join("/")}function T(e){return o({method:"POST",url:s,data:e,headers:n}).then(i.getResData)}function f(e,t){return o({method:"PUT",url:v(e),data:t,headers:n}).then(i.getResData)}function E(e){return e.visibleStatus=S(e),e}function S(e){var t={},n=d.WAITING.value,a=d.ACTIVE.value,o=d.ACTIVATING.value,r=d.SUSPENDED.value,i=g.ACTIVE.value,c=g.SUSPENDED.value,n=(t[n]=m.WAITING,t[a]={},t[a][i]=m.ACTIVE,t[o]={},t[o][i]=m.ACTIVATING,t[a][c]=m.PENDING,t[r]=m.SUSPENDED,t[e.status]);return _.get(n,e.destinationStatus)||n}function I(e){e=e||[];return e.length||e.push(""),_.map(e,C)}function C(e){return{fragment:e}}function A(e){return _(e).map("fragment").compact().value()}}e.$inject=["$q","$http","$location","c8yBase","dataBrokerConstants","gettext","gettextCatalog"],angular.module("c8y.dataBroker").factory("dataBrokerConnectorsSvc",e)})();
@@ -1,18 +1,17 @@
1
1
  <div
2
+ class="row no-card-context"
2
3
  ng-controller="DataPointWidgetConfigCtrl"
3
4
  ng-init="disableLocalStorage = true"
4
- class="row no-card-context d-flex"
5
- style="height: calc(100vh - 422px);"
6
5
  >
7
- <div class="col-md-5 bg-level-1 a-s-stretch inner-scroll">
8
- <div class="p-l-24 bg-inherit p-t-8">
6
+ <div class="col-md-12 a-s-stretch">
7
+ <div class="bg-inherit p-t-8">
9
8
  <div class="form-group m-b-0 p-b-16 separator-bottom">
10
9
  <label for="dateSelection">
11
10
  {{ 'Date selection' | translate }}
12
11
  <button
13
- type="button"
14
12
  class="btn-help btn-help--sm"
15
13
  aria-label="{{ 'Help' | translate }}"
14
+ type="button"
16
15
  uib-popover-html="dateSelectionHelpPopoverText | translate"
17
16
  popover-placement="right"
18
17
  popover-trigger="'focus'"
@@ -21,10 +20,10 @@
21
20
  </label>
22
21
  <div class="c8y-select-wrapper">
23
22
  <select
24
- id="dateSelection"
25
23
  class="form-control"
26
24
  title="{{ 'Date selection' | translate }}"
27
25
  aria-label="{{ 'Date selection' | translate }}"
26
+ id="dateSelection"
28
27
  ng-model="dateSelection"
29
28
  >
30
29
  <option
@@ -49,96 +48,95 @@
49
48
  </div>
50
49
  </div>
51
50
 
52
- <c8y-data-point-list
53
- datapoints="data.datapoints"
54
- allow-adding-data-points-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
55
- dont-save="true"
56
- no-target
57
- no-yellow-range
58
- no-red-range
59
- class="bg-inherit separator-bottom"
60
- ></c8y-data-point-list>
61
- <c8y-alarms-events-timelines-config
62
- configs="data.alarmsEventsConfigs"
63
- allow-alarms-events-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
64
- class="d-block bg-inherit separator-top"
65
- style="padding-top: 1px;"
66
- ></c8y-alarms-events-timelines-config>
67
- </div>
68
- </div>
69
-
70
- <div class="col-md-7 sticky-top">
71
- <div class="p-r-24 p-t-8">
72
- <div
73
- class="data-point-explorer d-flex d-col"
74
- ng-controller="c8yDataPointExplorerCtrl"
75
- >
76
- <div class="m-b-4 m-t-4 d-flex j-c-end gap-8">
77
- <c8y-realtime-button
78
- ng-show="!data.widgetInstanceGlobalTimeContext"
79
- class="top-right-control"
80
- channel="{{ channel }}"
81
- state="data.realtime"
82
- on-data="onData($data)"
83
- ></c8y-realtime-button>
84
- <c8y-realtime-button
85
- ng-show="false"
86
- channel="{{ alarmsChannel }}"
87
- state="data.realtime"
88
- on-data="onAlarm($data)"
89
- on-data-update="onAlarm($data)"
90
- ></c8y-realtime-button>
91
- <c8y-realtime-button
92
- ng-show="false"
93
- channel="{{ eventsChannel }}"
94
- state="data.realtime"
95
- on-data="onEvent($data)"
96
- ></c8y-realtime-button>
97
- <c8y-aggregation
98
- ng-show="!data.widgetInstanceGlobalTimeContext"
99
- class="top-right-control"
100
- date-from="data.dateFrom"
101
- date-to="data.dateTo"
102
- aggregation="data.aggregation"
103
- realtime="data.realtime"
104
- auto="true"
105
- ></c8y-aggregation>
106
- <c8y-interval
107
- ng-show="!data.widgetInstanceGlobalTimeContext"
108
- class="top-right-control"
109
- date-from="data.dateFrom"
110
- date-to="data.dateTo"
111
- interval="data.interval"
112
- ></c8y-interval>
113
- </div>
114
- <div
115
- class="c8yGraphFill"
116
- style="height: calc(100vh - 520px);"
117
- >
118
- <c8y-chart
119
- datapoints="data.graphDataPoints"
120
- date-from="data.dateFrom"
121
- date-to="data.dateTo"
122
- realtime="data.realtime"
123
- aggregation="data.aggregation"
124
- show-time="!data.widgetInstanceGlobalTimeContext"
125
- on-data="(onData)"
126
- on-update-dates="onUpdateDates($dateFrom, $dateTo)"
127
- on-update-displayed-dates="onUpdateDisplayedDates($dateFrom, $dateTo)"
128
- on-box-changed="onBoxChanged(box)"
129
- ></c8y-chart>
51
+ <div class="p-b-8 separator-bottom">
52
+ <div class="p-r-24 p-t-8">
53
+ <div
54
+ class="data-point-explorer d-flex d-col"
55
+ ng-controller="c8yDataPointExplorerCtrl"
56
+ >
57
+ <div class="m-b-4 m-t-4 d-flex j-c-start gap-8">
58
+ <c8y-realtime-button
59
+ class="top-right-control"
60
+ ng-show="!data.widgetInstanceGlobalTimeContext"
61
+ channel="{{ channel }}"
62
+ state="data.realtime"
63
+ on-data="onData($data)"
64
+ ></c8y-realtime-button>
65
+ <c8y-realtime-button
66
+ ng-show="false"
67
+ channel="{{ alarmsChannel }}"
68
+ state="data.realtime"
69
+ on-data="onAlarm($data)"
70
+ on-data-update="onAlarm($data)"
71
+ ></c8y-realtime-button>
72
+ <c8y-realtime-button
73
+ ng-show="false"
74
+ channel="{{ eventsChannel }}"
75
+ state="data.realtime"
76
+ on-data="onEvent($data)"
77
+ ></c8y-realtime-button>
78
+ <c8y-aggregation
79
+ class="top-right-control"
80
+ ng-show="!data.widgetInstanceGlobalTimeContext"
81
+ date-from="data.dateFrom"
82
+ date-to="data.dateTo"
83
+ aggregation="data.aggregation"
84
+ realtime="data.realtime"
85
+ auto="true"
86
+ ></c8y-aggregation>
87
+ <c8y-interval
88
+ class="top-right-control"
89
+ ng-show="!data.widgetInstanceGlobalTimeContext"
90
+ date-from="data.dateFrom"
91
+ date-to="data.dateTo"
92
+ interval="data.interval"
93
+ ></c8y-interval>
94
+ </div>
95
+ <c8y-widget-preview-wrapper>
96
+ <div class="c8yGraphFill">
97
+ <c8y-chart
98
+ datapoints="data.graphDataPoints"
99
+ date-from="data.dateFrom"
100
+ date-to="data.dateTo"
101
+ realtime="data.realtime"
102
+ aggregation="data.aggregation"
103
+ show-time="!data.widgetInstanceGlobalTimeContext"
104
+ on-data="(onData)"
105
+ on-update-dates="onUpdateDates($dateFrom, $dateTo)"
106
+ on-update-displayed-dates="onUpdateDisplayedDates($dateFrom, $dateTo)"
107
+ on-box-changed="onBoxChanged(box)"
108
+ ></c8y-chart>
109
+ </div>
110
+ <c8y-alarms-events-timelines-chart
111
+ alarms-events-configs="data.graphAlarmsEventsConfigs"
112
+ date-from="data.displayedDateFrom"
113
+ date-to="data.displayedDateTo"
114
+ on-update-dates="onUpdateDates($dateFrom, $dateTo)"
115
+ realtime="data.realtime"
116
+ on-realtime-alarm-fn="onRealtimeAlarmFn(onRealtimeAlarm)"
117
+ on-realtime-event-fn="onRealtimeEventFn(onRealtimeEvent)"
118
+ chart-box="chartBox"
119
+ ></c8y-alarms-events-timelines-chart>
120
+ </c8y-widget-preview-wrapper>
121
+ </div>
130
122
  </div>
131
- <c8y-alarms-events-timelines-chart
132
- alarms-events-configs="data.graphAlarmsEventsConfigs"
133
- date-from="data.displayedDateFrom"
134
- date-to="data.displayedDateTo"
135
- on-update-dates="onUpdateDates($dateFrom, $dateTo)"
136
- realtime="data.realtime"
137
- on-realtime-alarm-fn="onRealtimeAlarmFn(onRealtimeAlarm)"
138
- on-realtime-event-fn="onRealtimeEventFn(onRealtimeEvent)"
139
- chart-box="chartBox"
140
- ></c8y-alarms-events-timelines-chart>
141
123
  </div>
142
124
  </div>
125
+
126
+ <c8y-data-point-list
127
+ class="bg-inherit separator-bottom"
128
+ datapoints="data.datapoints"
129
+ allow-adding-data-points-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
130
+ dont-save="true"
131
+ no-target
132
+ no-yellow-range
133
+ no-red-range
134
+ ></c8y-data-point-list>
135
+ <c8y-alarms-events-timelines-config
136
+ class="d-block bg-inherit separator-top"
137
+ style="padding-top: 1px"
138
+ configs="data.alarmsEventsConfigs"
139
+ allow-alarms-events-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
140
+ ></c8y-alarms-events-timelines-config>
143
141
  </div>
144
142
  </div>