@c8y/ng1-modules 1018.472.0 → 1018.474.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-alarmMapping/views/index.html +86 -49
- package/administration-applications/application-list-view/application-list-view.html +85 -27
- package/administration-retentionRules/views/list.html +78 -27
- package/alarmsEventsExplorer/alarmsEventsTimelinesConfig/alarmsEventsTimelinesConfig.html +88 -27
- package/configurationRepository/views/list.html +47 -30
- package/core/ui/views/alarmList.html +76 -33
- package/core/ui/views/eventList.html +105 -43
- package/dataBroker/subscriptions/subscriptions.html +16 -10
- package/devicemanagement-measurements/views/index.html +18 -4
- package/enterpriseEdition/sslCertificate/manageCertificateForm.html +66 -22
- package/export/views/list.html +61 -25
- package/package.json +1 -1
- package/roles/list/rolesList.html +90 -30
- package/simulators/detail/instructionList.html +40 -15
- package/simulators/list/list.html +54 -17
|
@@ -1,16 +1,32 @@
|
|
|
1
|
-
<div
|
|
1
|
+
<div
|
|
2
|
+
class="card"
|
|
3
|
+
data-cy="ng1-alarm-list-of-severity-{{ title.class }}"
|
|
4
|
+
>
|
|
2
5
|
<!-- heading -->
|
|
3
|
-
<div
|
|
6
|
+
<div
|
|
7
|
+
class="card-header separator"
|
|
8
|
+
ng-if="title || !hideHeaderActions"
|
|
9
|
+
>
|
|
4
10
|
<div class="card-icon">
|
|
5
11
|
<div class="p-relative">
|
|
6
|
-
<i
|
|
12
|
+
<i
|
|
13
|
+
ng-class="title.class"
|
|
14
|
+
class="status stroked-icon"
|
|
15
|
+
c8y-icon="{{ title.icon }}"
|
|
16
|
+
></i>
|
|
7
17
|
</div>
|
|
8
18
|
</div>
|
|
9
19
|
<!-- title -->
|
|
10
|
-
<div
|
|
20
|
+
<div
|
|
21
|
+
class="card-title"
|
|
22
|
+
ng-if="title"
|
|
23
|
+
>
|
|
11
24
|
<span>{{ title.text | translate }}</span>
|
|
12
25
|
</div>
|
|
13
|
-
<div
|
|
26
|
+
<div
|
|
27
|
+
class="header-actions"
|
|
28
|
+
ng-if="!hideHeaderActions"
|
|
29
|
+
>
|
|
14
30
|
<!-- realtime -->
|
|
15
31
|
<c8y-realtime-btn></c8y-realtime-btn>
|
|
16
32
|
|
|
@@ -21,7 +37,10 @@
|
|
|
21
37
|
type="button"
|
|
22
38
|
ng-click="refresh()"
|
|
23
39
|
>
|
|
24
|
-
<i
|
|
40
|
+
<i
|
|
41
|
+
ng-class="{ 'icon-spin': refreshLoading }"
|
|
42
|
+
c8y-icon="refresh"
|
|
43
|
+
></i>
|
|
25
44
|
<span translate>Reload</span>
|
|
26
45
|
</button>
|
|
27
46
|
</div>
|
|
@@ -32,9 +51,9 @@
|
|
|
32
51
|
<div class="card-inner-scroll">
|
|
33
52
|
<!-- empty state -->
|
|
34
53
|
<c8y-ui-empty-state
|
|
35
|
-
ng-if="filteredAlarms.length === 0 && !refreshLoading"
|
|
36
54
|
[icon]="'c8y-alert-idle'"
|
|
37
55
|
[title]="'No alarms to display.' | translate"
|
|
56
|
+
ng-if="filteredAlarms.length === 0 && !refreshLoading"
|
|
38
57
|
data-cy="alarm-list--empty-state"
|
|
39
58
|
>
|
|
40
59
|
<p c8y-guide-docs>
|
|
@@ -49,14 +68,20 @@
|
|
|
49
68
|
</c8y-ui-empty-state>
|
|
50
69
|
|
|
51
70
|
<!-- loading -->
|
|
52
|
-
<div
|
|
71
|
+
<div
|
|
72
|
+
class="card-block"
|
|
73
|
+
ng-show="refreshLoading && !paging.more"
|
|
74
|
+
>
|
|
53
75
|
<c8y-rectangle-spinner
|
|
54
76
|
class="spinner-inline m-t-4 m-b-4"
|
|
55
77
|
message="'Retrieving alarms…' | translate"
|
|
56
78
|
></c8y-rectangle-spinner>
|
|
57
79
|
</div>
|
|
58
80
|
|
|
59
|
-
<div
|
|
81
|
+
<div
|
|
82
|
+
class="c8y-list__group"
|
|
83
|
+
ng-if="filteredAlarms.length > 0"
|
|
84
|
+
>
|
|
60
85
|
<div
|
|
61
86
|
class="c8y-list__item"
|
|
62
87
|
ng-class="{ 'realtime-animation-list': realtimeAnimation, expanded: isOpen(alarm) }"
|
|
@@ -71,29 +96,29 @@
|
|
|
71
96
|
<!-- icon severity-->
|
|
72
97
|
<button
|
|
73
98
|
class="btn-clean severity"
|
|
74
|
-
type="button"
|
|
75
99
|
aria-label="{{ 'Severity' | translate }}: {{ alarm.severity | translate }}"
|
|
76
100
|
uib-tooltip="{{ 'Severity' | translate }}: {{ alarm.severity | translate }}"
|
|
77
101
|
tooltip-placement="right"
|
|
78
102
|
tooltip-trigger="'mouseenter'"
|
|
79
103
|
tooltip-popup-delay="500"
|
|
80
104
|
tooltip-append-to-body="true"
|
|
105
|
+
type="button"
|
|
81
106
|
>
|
|
82
107
|
<i
|
|
83
|
-
c8y-icon="{{ icon(alarm.severity) }}"
|
|
84
108
|
class="status stroked-icon"
|
|
85
109
|
ng-class="alarm.severity | lowercase"
|
|
110
|
+
c8y-icon="{{ icon(alarm.severity) }}"
|
|
86
111
|
></i>
|
|
87
112
|
</button>
|
|
88
113
|
<button
|
|
89
114
|
class="btn-clean status"
|
|
90
|
-
type="button"
|
|
91
115
|
aria-label="{{ 'Status' | translate }}: {{ alarm.status | translate }}"
|
|
92
116
|
uib-tooltip="{{ 'Status' | translate }}: {{ alarm.status | translate }}"
|
|
93
117
|
tooltip-placement="right"
|
|
94
118
|
tooltip-trigger="'mouseenter'"
|
|
95
119
|
tooltip-popup-delay="500"
|
|
96
120
|
tooltip-append-to-body="true"
|
|
121
|
+
type="button"
|
|
97
122
|
>
|
|
98
123
|
<i c8y-icon="{{ icon(alarm.status) }}"></i>
|
|
99
124
|
</button>
|
|
@@ -104,10 +129,12 @@
|
|
|
104
129
|
<div class="text-break-word">{{ translateAlarmText(alarm) }}</div>
|
|
105
130
|
<div class="c8y-list__item__footer">
|
|
106
131
|
<!-- badge -->
|
|
107
|
-
<div
|
|
132
|
+
<div
|
|
133
|
+
class="span m-r-4"
|
|
134
|
+
ng-if="alarm.count > 1"
|
|
135
|
+
>
|
|
108
136
|
<button
|
|
109
137
|
class="btn-clean"
|
|
110
|
-
type="button"
|
|
111
138
|
aria-label="{{ 'Number of occurrences' | translate }}. {{
|
|
112
139
|
'First occurrence' | translate
|
|
113
140
|
}} {{ alarm.firstOccurrenceTime | absoluteDate }} ({{
|
|
@@ -122,6 +149,7 @@
|
|
|
122
149
|
tooltip-trigger="'mouseenter'"
|
|
123
150
|
tooltip-popup-delay="500"
|
|
124
151
|
tooltip-append-to-body="true"
|
|
152
|
+
type="button"
|
|
125
153
|
>
|
|
126
154
|
<span class="badge badge-info">
|
|
127
155
|
{{ alarm.count }}
|
|
@@ -142,16 +170,19 @@
|
|
|
142
170
|
<div class="flex-grow m-r-8">
|
|
143
171
|
<a
|
|
144
172
|
class="text-muted"
|
|
173
|
+
title="{{ alarm.source.name || alarm.source.id }}"
|
|
145
174
|
ng-href="{{ getDeviceLinkFromAlarm(alarm) }}"
|
|
146
175
|
ng-hide="hideDevice || !getDeviceLinkFromAlarm(alarm)"
|
|
147
|
-
title="{{ alarm.source.name || alarm.source.id }}"
|
|
148
176
|
>
|
|
149
177
|
<small class="icon-flex">
|
|
150
178
|
<i c8y-icon="exchange"></i>
|
|
151
179
|
{{ alarm.source.name || alarm.source.id }}
|
|
152
180
|
</small>
|
|
153
181
|
</a>
|
|
154
|
-
<span
|
|
182
|
+
<span
|
|
183
|
+
class="text-muted"
|
|
184
|
+
ng-hide="hideDevice || getDeviceLinkFromAlarm(alarm)"
|
|
185
|
+
>
|
|
155
186
|
<small class="word-break icon-flex">
|
|
156
187
|
<i c8y-icon="cog"></i>
|
|
157
188
|
{{ alarm.source.name || alarm.source.id }}
|
|
@@ -161,12 +192,12 @@
|
|
|
161
192
|
<span class="showOnHover">
|
|
162
193
|
<button
|
|
163
194
|
class="btn btn-default btn-xs"
|
|
164
|
-
type="button"
|
|
165
195
|
aria-label="{{ 'Acknowledge' | translate }}"
|
|
166
196
|
uib-tooltip="{{ 'Acknowledge' | translate }}"
|
|
167
197
|
tooltip-popup-delay="500"
|
|
168
198
|
tooltip-trigger="'mouseenter'"
|
|
169
199
|
tooltip-append-to-body="true"
|
|
200
|
+
type="button"
|
|
170
201
|
ng-disabled="changingStatus"
|
|
171
202
|
ng-click="changeStatus(alarm, 'ACKNOWLEDGED')"
|
|
172
203
|
ng-if="alarm.status == 'ACTIVE'"
|
|
@@ -175,12 +206,12 @@
|
|
|
175
206
|
</button>
|
|
176
207
|
<button
|
|
177
208
|
class="btn btn-default btn-xs"
|
|
178
|
-
type="button"
|
|
179
209
|
aria-label="{{ 'Clear`alarm`' | translate }}"
|
|
180
210
|
uib-tooltip="{{ 'Clear`alarm`' | translate }}"
|
|
181
211
|
tooltip-append-to-body="true"
|
|
182
212
|
tooltip-trigger="'mouseenter'"
|
|
183
213
|
tooltip-popup-delay="500"
|
|
214
|
+
type="button"
|
|
184
215
|
ng-disabled="changingStatus"
|
|
185
216
|
ng-click="changeStatus(alarm, 'CLEARED')"
|
|
186
217
|
ng-if="!(alarm.status == 'CLEARED')"
|
|
@@ -195,9 +226,9 @@
|
|
|
195
226
|
<!-- toggle collapse -->
|
|
196
227
|
<button
|
|
197
228
|
class="collapse-btn"
|
|
198
|
-
type="button"
|
|
199
|
-
title="{{ 'Expand' | translate }}"
|
|
200
229
|
ng-class="{ active: isOpen(alarm) }"
|
|
230
|
+
title="{{ 'Expand' | translate }}"
|
|
231
|
+
type="button"
|
|
201
232
|
ng-click="toggle(alarm);"
|
|
202
233
|
>
|
|
203
234
|
<i c8y-icon="chevron-down"></i>
|
|
@@ -206,26 +237,29 @@
|
|
|
206
237
|
<!-- TBD: since the buttons are available, we display the dropdown only when
|
|
207
238
|
we can create smart rules -->
|
|
208
239
|
<div
|
|
209
|
-
ng-if="smartRules"
|
|
210
240
|
class="dropdown settings"
|
|
241
|
+
ng-if="smartRules"
|
|
211
242
|
is-open="false"
|
|
212
243
|
uib-dropdown
|
|
213
244
|
dropdown-append-to-body="true"
|
|
214
245
|
>
|
|
215
246
|
<button
|
|
216
247
|
class="dropdown-toggle c8y-dropdown"
|
|
217
|
-
type="button"
|
|
218
248
|
title="{{ 'Actions' | translate }}"
|
|
219
249
|
aria-haspopup="true"
|
|
250
|
+
type="button"
|
|
220
251
|
uib-dropdown-toggle
|
|
221
252
|
>
|
|
222
253
|
<i c8y-icon="ellipsis-v"></i>
|
|
223
254
|
</button>
|
|
224
|
-
<ul
|
|
255
|
+
<ul
|
|
256
|
+
class="dropdown-menu dropdown-menu-right"
|
|
257
|
+
uib-dropdown-menu=""
|
|
258
|
+
>
|
|
225
259
|
<li>
|
|
226
260
|
<button
|
|
227
|
-
type="button"
|
|
228
261
|
title="{{ 'Acknowledge' | translate }}"
|
|
262
|
+
type="button"
|
|
229
263
|
ng-click="changeStatus(alarm, 'ACKNOWLEDGED')"
|
|
230
264
|
ng-if="alarm.status == 'ACTIVE'"
|
|
231
265
|
>
|
|
@@ -235,8 +269,8 @@
|
|
|
235
269
|
</li>
|
|
236
270
|
<li>
|
|
237
271
|
<button
|
|
238
|
-
type="button"
|
|
239
272
|
title="{{ 'Clear alarm' | translate }}"
|
|
273
|
+
type="button"
|
|
240
274
|
ng-click="changeStatus(alarm, 'CLEARED')"
|
|
241
275
|
ng-if="!(alarm.status == 'CLEARED')"
|
|
242
276
|
>
|
|
@@ -247,8 +281,8 @@
|
|
|
247
281
|
<li>
|
|
248
282
|
<c8y-if-allowed cfg="smartRulesSvc.permissionsCfgs.create">
|
|
249
283
|
<button
|
|
250
|
-
type="button"
|
|
251
284
|
title="{{ 'Create smart rule' | translate }}"
|
|
285
|
+
type="button"
|
|
252
286
|
ng-click="createSmartRule(alarm)"
|
|
253
287
|
>
|
|
254
288
|
<i c8y-icon="cogs"></i>
|
|
@@ -261,10 +295,13 @@
|
|
|
261
295
|
</div>
|
|
262
296
|
</div>
|
|
263
297
|
<!-- collapse -->
|
|
264
|
-
<div
|
|
298
|
+
<div
|
|
299
|
+
class="collapse"
|
|
300
|
+
uib-collapse="!isOpen(alarm)"
|
|
301
|
+
>
|
|
265
302
|
<div
|
|
266
|
-
ng-if="isFitSeverity(alarm) && isOpen(alarm)"
|
|
267
303
|
class="c8y-list__item__collapse--container"
|
|
304
|
+
ng-if="isFitSeverity(alarm) && isOpen(alarm)"
|
|
268
305
|
>
|
|
269
306
|
<div class="content-flex-80">
|
|
270
307
|
<div class="col-6">
|
|
@@ -274,23 +311,26 @@
|
|
|
274
311
|
<span class="m-l-auto">{{ statusText(alarm) }}</span>
|
|
275
312
|
</li>
|
|
276
313
|
<li
|
|
277
|
-
ng-repeat="(key, label) in getStandardKeys(alarm, ['text'])"
|
|
278
314
|
class="p-t-4 p-b-4 d-flex separator-bottom"
|
|
315
|
+
ng-repeat="(key, label) in getStandardKeys(alarm, ['text'])"
|
|
279
316
|
>
|
|
280
317
|
<label class="small m-b-0 m-r-8">{{ label | translate }}</label>
|
|
281
318
|
<span class="m-l-auto">{{ alarm[key] }}</span>
|
|
282
319
|
</li>
|
|
283
320
|
<li
|
|
284
|
-
ng-repeat="key in getNonStandardKeys(alarm)"
|
|
285
321
|
class="p-t-4 p-b-4 d-flex separator-bottom"
|
|
322
|
+
ng-repeat="key in getNonStandardKeys(alarm)"
|
|
286
323
|
>
|
|
287
324
|
<label class="small m-b-0 m-r-8">{{ key | humanize2 }}</label>
|
|
288
|
-
<span class="m-l-auto">{{ alarm[key] | checkForDate: true:'medium' }}</span>
|
|
325
|
+
<span class="m-l-auto">{{ alarm[key] | checkForDate : true : 'medium' }}</span>
|
|
289
326
|
</li>
|
|
290
327
|
</ul>
|
|
291
328
|
</div>
|
|
292
329
|
|
|
293
|
-
<div
|
|
330
|
+
<div
|
|
331
|
+
class="col-6"
|
|
332
|
+
ng-show="auditList[alarm.id].length > 0"
|
|
333
|
+
>
|
|
294
334
|
<div class="legend form-block m-t-0">{{ 'Change log' | translate }}</div>
|
|
295
335
|
<div
|
|
296
336
|
c8y-audit-list
|
|
@@ -305,7 +345,10 @@
|
|
|
305
345
|
</div>
|
|
306
346
|
</div>
|
|
307
347
|
</div>
|
|
308
|
-
<div
|
|
348
|
+
<div
|
|
349
|
+
class="card-footer"
|
|
350
|
+
ng-show="paging.more"
|
|
351
|
+
>
|
|
309
352
|
<c8y-load-more change-page-size></c8y-load-more>
|
|
310
353
|
</div>
|
|
311
354
|
</div>
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
<c8y-ui-action-bar-set ng-if="!$parent.child.templateUrl && !hideHeaderActions">
|
|
2
|
-
<li
|
|
2
|
+
<li
|
|
3
|
+
class="navbar-form"
|
|
4
|
+
action-bar-position="left"
|
|
5
|
+
>
|
|
3
6
|
<div class="form-group datepicker">
|
|
4
7
|
<input
|
|
5
|
-
title="{{ 'Date from' | translate }}"
|
|
6
8
|
class="form-control"
|
|
9
|
+
title="{{ 'Date from' | translate }}"
|
|
7
10
|
placeholder="{{ 'Date from' | translate }}"
|
|
8
11
|
ng-model="ctrl.dateFrom"
|
|
9
12
|
data-cy="eventList--date-from"
|
|
@@ -17,8 +20,8 @@
|
|
|
17
20
|
</div>
|
|
18
21
|
<div class="form-group datepicker">
|
|
19
22
|
<input
|
|
20
|
-
title="{{ 'Date to' | translate }}"
|
|
21
23
|
class="form-control"
|
|
24
|
+
title="{{ 'Date to' | translate }}"
|
|
22
25
|
placeholder="{{ 'Date to' | translate }}"
|
|
23
26
|
ng-model="ctrl.dateTo"
|
|
24
27
|
data-cy="eventList--date-to"
|
|
@@ -31,31 +34,34 @@
|
|
|
31
34
|
/>
|
|
32
35
|
</div>
|
|
33
36
|
</li>
|
|
34
|
-
<li
|
|
37
|
+
<li
|
|
38
|
+
class="navbar-form"
|
|
39
|
+
action-bar-position="left"
|
|
40
|
+
>
|
|
35
41
|
<div class="form-group m-r-md-8">
|
|
36
42
|
<input
|
|
37
|
-
title="{{ 'Event type' | translate }}"
|
|
38
|
-
data-cy="eventList--event-type"
|
|
39
43
|
class="form-control"
|
|
44
|
+
title="{{ 'Event type' | translate }}"
|
|
40
45
|
placeholder="{{ 'Event type' | translate }}"
|
|
46
|
+
data-cy="eventList--event-type"
|
|
41
47
|
ng-model="ctrl.eventType"
|
|
42
48
|
/>
|
|
43
49
|
</div>
|
|
44
50
|
|
|
45
51
|
<button
|
|
46
|
-
|
|
52
|
+
class="btn btn-default m-r-md-8"
|
|
47
53
|
title="{{ 'Apply filters' | translate }}"
|
|
54
|
+
type="button"
|
|
48
55
|
data-cy="eventList--apply-filters"
|
|
49
|
-
class="btn btn-default m-r-md-8"
|
|
50
56
|
ng-click="filter(ctrl.dateFrom, ctrl.dateTo, ctrl.eventType)"
|
|
51
57
|
>
|
|
52
58
|
<i c8y-icon="filter"></i>
|
|
53
59
|
{{ 'Apply`filters`' | translate }}
|
|
54
60
|
</button>
|
|
55
61
|
<button
|
|
56
|
-
type="button"
|
|
57
|
-
title="{{ 'Clear filters' | translate }}"
|
|
58
62
|
class="btn btn-default"
|
|
63
|
+
title="{{ 'Clear filters' | translate }}"
|
|
64
|
+
type="button"
|
|
59
65
|
ng-click="clearFilter()"
|
|
60
66
|
ng-if="ctrl.dateFrom || ctrl.dateTo || ctrl.eventType"
|
|
61
67
|
>
|
|
@@ -63,30 +69,42 @@
|
|
|
63
69
|
{{ 'Clear`filters`' | translate }}
|
|
64
70
|
</button>
|
|
65
71
|
</li>
|
|
66
|
-
<c8y-realtime-btn
|
|
72
|
+
<c8y-realtime-btn
|
|
73
|
+
class="btn btn-link"
|
|
74
|
+
subscriber-id="ctrl.subscriberId"
|
|
75
|
+
></c8y-realtime-btn>
|
|
67
76
|
<c8y-refresh-btn></c8y-refresh-btn>
|
|
68
77
|
</c8y-ui-action-bar-set>
|
|
69
78
|
|
|
70
79
|
<c8y-breadcrumbs-set ng-if="!$parent.child.templateUrl && !hideHeaderActions">
|
|
71
|
-
<c8y-breadcrumbs-item label="{{ 'Events' | translate }}" icon="c8y-events"></c8y-breadcrumbs-item>
|
|
72
80
|
<c8y-breadcrumbs-item
|
|
73
|
-
|
|
81
|
+
icon="c8y-events"
|
|
82
|
+
label="{{ 'Events' | translate }}"
|
|
83
|
+
></c8y-breadcrumbs-item>
|
|
84
|
+
<c8y-breadcrumbs-item
|
|
74
85
|
icon="c8y-overviews"
|
|
86
|
+
label="{{ 'Overviews' | translate }}"
|
|
75
87
|
></c8y-breadcrumbs-item>
|
|
76
88
|
</c8y-breadcrumbs-set>
|
|
77
89
|
|
|
78
90
|
<!-- check if it is inside a widget -->
|
|
79
|
-
<div
|
|
91
|
+
<div
|
|
92
|
+
class="card-navbar navbar-default"
|
|
93
|
+
ng-if="$parent.child.templateUrl && !hideWidgetActions"
|
|
94
|
+
>
|
|
80
95
|
<div class="navbar-nav navbar-right">
|
|
81
96
|
<c8y-realtime-btn subscriber-id="ctrl.subscriberId"></c8y-realtime-btn>
|
|
82
97
|
<button
|
|
83
|
-
type="button"
|
|
84
98
|
class="btn btn-link"
|
|
85
99
|
title="{{ 'Reload' | translate }}"
|
|
100
|
+
type="button"
|
|
86
101
|
data-ng-disabled="!paging.refresh"
|
|
87
102
|
data-ng-click="refresh()"
|
|
88
103
|
>
|
|
89
|
-
<i
|
|
104
|
+
<i
|
|
105
|
+
data-ng-class="{'icon-spin': refreshLoading}"
|
|
106
|
+
c8y-icon="refresh"
|
|
107
|
+
></i>
|
|
90
108
|
</button>
|
|
91
109
|
</div>
|
|
92
110
|
|
|
@@ -94,6 +112,7 @@
|
|
|
94
112
|
<div class="form-group form-group-sm datepicker">
|
|
95
113
|
<input
|
|
96
114
|
class="form-control"
|
|
115
|
+
style="width: 105px"
|
|
97
116
|
placeholder="{{ 'From`date`' | translate }}"
|
|
98
117
|
ng-model="ctrl.dateFrom"
|
|
99
118
|
uib-datepicker-popup
|
|
@@ -102,13 +121,13 @@
|
|
|
102
121
|
show-button-bar="false"
|
|
103
122
|
is-open="openFrom"
|
|
104
123
|
ng-click="openFrom=true"
|
|
105
|
-
style="width: 105px"
|
|
106
124
|
/>
|
|
107
125
|
</div>
|
|
108
126
|
<div class="input-group input-group-sm">
|
|
109
127
|
<div class="form-group form-group-sm datepicker">
|
|
110
128
|
<input
|
|
111
129
|
class="form-control"
|
|
130
|
+
style="width: 105px"
|
|
112
131
|
placeholder="{{ 'To`date`' | translate }}"
|
|
113
132
|
ng-model="ctrl.dateTo"
|
|
114
133
|
uib-datepicker-popup
|
|
@@ -117,22 +136,21 @@
|
|
|
117
136
|
show-button-bar="false"
|
|
118
137
|
is-open="openTo"
|
|
119
138
|
ng-click="openTo=true"
|
|
120
|
-
style="width: 105px"
|
|
121
139
|
/>
|
|
122
140
|
</div>
|
|
123
141
|
<div class="input-group-btn">
|
|
124
142
|
<button
|
|
125
|
-
type="button"
|
|
126
|
-
title="{{ 'Filter by date range' | translate }}"
|
|
127
143
|
class="btn btn-default"
|
|
144
|
+
title="{{ 'Filter by date range' | translate }}"
|
|
145
|
+
type="button"
|
|
128
146
|
ng-click="ctrl.filter(ctrl.dateFrom, ctrl.dateTo, ctrl.filters.type)"
|
|
129
147
|
>
|
|
130
148
|
<i c8y-icon="filter"></i>
|
|
131
149
|
</button>
|
|
132
150
|
<button
|
|
133
|
-
type="button"
|
|
134
|
-
title="{{ 'Clear date range' | translate }}"
|
|
135
151
|
class="btn btn-default"
|
|
152
|
+
title="{{ 'Clear date range' | translate }}"
|
|
153
|
+
type="button"
|
|
136
154
|
ng-click="ctrl.clearFilter(ctrl.filters.type)"
|
|
137
155
|
ng-if="ctrl.dateFrom || ctrl.dateTo"
|
|
138
156
|
>
|
|
@@ -145,9 +163,9 @@
|
|
|
145
163
|
|
|
146
164
|
<!-- empty state -->
|
|
147
165
|
<c8y-ui-empty-state
|
|
148
|
-
ng-if="events.length == 0"
|
|
149
166
|
[icon]="'c8y-events'"
|
|
150
167
|
[title]="'No events to display.' | translate"
|
|
168
|
+
ng-if="events.length == 0"
|
|
151
169
|
>
|
|
152
170
|
<span c8y-guide-docs>
|
|
153
171
|
<small translate>
|
|
@@ -166,7 +184,10 @@
|
|
|
166
184
|
>
|
|
167
185
|
<div class="d-flex">
|
|
168
186
|
<div class="c8y-list--timeline__item__date">
|
|
169
|
-
<p
|
|
187
|
+
<p
|
|
188
|
+
class="m-0 text-medium text-truncate"
|
|
189
|
+
title="{{ 'Date' | translate }}"
|
|
190
|
+
>
|
|
170
191
|
{{ 'Date' | translate }}
|
|
171
192
|
</p>
|
|
172
193
|
</div>
|
|
@@ -201,15 +222,18 @@
|
|
|
201
222
|
<div class="content-flex-50">
|
|
202
223
|
<div ng-class="{ 'col-8': !hideDevice, 'col-12': hideDevice }">
|
|
203
224
|
<button
|
|
204
|
-
title="{{ evt.text | translate }}"
|
|
205
225
|
class="btn-clean c8y-list__item__title"
|
|
226
|
+
title="{{ evt.text | translate }}"
|
|
206
227
|
type="button"
|
|
207
228
|
ng-click="toggle(evt)"
|
|
208
229
|
>
|
|
209
230
|
{{ evt.text | translate }}
|
|
210
231
|
</button>
|
|
211
232
|
</div>
|
|
212
|
-
<div
|
|
233
|
+
<div
|
|
234
|
+
class="col-4"
|
|
235
|
+
ng-if="!hideDevice"
|
|
236
|
+
>
|
|
213
237
|
<a
|
|
214
238
|
class="text-truncate"
|
|
215
239
|
title="{{ evt.source.name || evt.source.id }}"
|
|
@@ -221,38 +245,62 @@
|
|
|
221
245
|
</div>
|
|
222
246
|
</div>
|
|
223
247
|
</div>
|
|
224
|
-
<div
|
|
248
|
+
<div
|
|
249
|
+
class="c8y-list__item__actions"
|
|
250
|
+
ng-click="$event.stopPropagation()"
|
|
251
|
+
>
|
|
225
252
|
<button
|
|
226
|
-
|
|
253
|
+
class="collapse-btn"
|
|
227
254
|
title="{{ 'Expand' | translate }}"
|
|
255
|
+
type="button"
|
|
228
256
|
data-cy="eventList--expand-details-btn"
|
|
229
|
-
class="collapse-btn"
|
|
230
257
|
ng-click="toggle(evt)"
|
|
231
258
|
>
|
|
232
259
|
<i c8y-icon="chevron-down"></i>
|
|
233
260
|
</button>
|
|
234
261
|
</div>
|
|
235
262
|
</div>
|
|
236
|
-
<div
|
|
237
|
-
|
|
263
|
+
<div
|
|
264
|
+
class="collapse"
|
|
265
|
+
uib-collapse="!isOpen(evt)"
|
|
266
|
+
ng-click="$event.stopPropagation()"
|
|
267
|
+
>
|
|
268
|
+
<div
|
|
269
|
+
class="c8y-list__item__collapse--container"
|
|
270
|
+
ng-if="isOpen(evt)"
|
|
271
|
+
>
|
|
238
272
|
<div class="row">
|
|
239
|
-
<div
|
|
240
|
-
|
|
273
|
+
<div
|
|
274
|
+
class="col-xs-12"
|
|
275
|
+
ng-class="{ 'col-md-6': displayEventsBinary(evt) }"
|
|
276
|
+
>
|
|
277
|
+
<div
|
|
278
|
+
class="legend form-block"
|
|
279
|
+
translate
|
|
280
|
+
>
|
|
281
|
+
Details
|
|
282
|
+
</div>
|
|
241
283
|
<ul class="list-unstyled small">
|
|
242
284
|
<li class="p-t-4 p-b-4 d-flex separator-bottom">
|
|
243
285
|
<label class="small m-b-0 m-r-8 a-s-start">
|
|
244
286
|
{{ 'Time' | translate }}
|
|
245
287
|
</label>
|
|
246
|
-
<span
|
|
247
|
-
|
|
288
|
+
<span
|
|
289
|
+
class="m-l-auto"
|
|
290
|
+
data-cy="eventList--details-time"
|
|
291
|
+
>
|
|
292
|
+
{{ evt.time | date : 'medium' }}
|
|
248
293
|
</span>
|
|
249
294
|
</li>
|
|
250
295
|
<li class="p-t-4 p-b-4 d-flex separator-bottom">
|
|
251
296
|
<label class="small m-b-0 m-r-8 a-s-start">
|
|
252
297
|
{{ 'Server creation time' | translate }}
|
|
253
298
|
</label>
|
|
254
|
-
<span
|
|
255
|
-
|
|
299
|
+
<span
|
|
300
|
+
class="m-l-auto"
|
|
301
|
+
data-cy="eventList--details-server-creation-time"
|
|
302
|
+
>
|
|
303
|
+
{{ evt.creationTime | date : 'medium' }}
|
|
256
304
|
</span>
|
|
257
305
|
</li>
|
|
258
306
|
<li
|
|
@@ -262,7 +310,10 @@
|
|
|
262
310
|
<label class="small m-b-0 m-r-8 a-s-start">
|
|
263
311
|
{{ label | translate }}
|
|
264
312
|
</label>
|
|
265
|
-
<span
|
|
313
|
+
<span
|
|
314
|
+
class="m-l-auto"
|
|
315
|
+
data-cy="eventList--details-type"
|
|
316
|
+
>
|
|
266
317
|
{{ evt[key] }}
|
|
267
318
|
</span>
|
|
268
319
|
</li>
|
|
@@ -274,17 +325,28 @@
|
|
|
274
325
|
<label class="small m-b-0 m-r-8 a-s-start">
|
|
275
326
|
{{ key | humanize2 }}
|
|
276
327
|
</label>
|
|
277
|
-
<span
|
|
278
|
-
|
|
328
|
+
<span
|
|
329
|
+
class="m-l-auto"
|
|
330
|
+
data-cy="eventList--details-get-non-standard-keys"
|
|
331
|
+
>
|
|
332
|
+
{{ evt[key] | checkForDate : true : 'medium' }}
|
|
279
333
|
</span>
|
|
280
334
|
</li>
|
|
281
335
|
</ul>
|
|
282
336
|
</div>
|
|
283
|
-
<div
|
|
284
|
-
|
|
337
|
+
<div
|
|
338
|
+
class="col-md-6"
|
|
339
|
+
ng-show="displayEventsBinary(evt)"
|
|
340
|
+
>
|
|
341
|
+
<div
|
|
342
|
+
class="legend form-block"
|
|
343
|
+
translate
|
|
344
|
+
>
|
|
345
|
+
Attachment
|
|
346
|
+
</div>
|
|
285
347
|
<c8y-event-binary-preview
|
|
286
|
-
event="evt"
|
|
287
348
|
class="m-b-16 d-block"
|
|
349
|
+
event="evt"
|
|
288
350
|
></c8y-event-binary-preview>
|
|
289
351
|
<c8y-event-binary-actions
|
|
290
352
|
event="evt"
|