@c8y/ng1-modules 1017.138.0 → 1017.139.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.
Files changed (114) hide show
  1. package/aclManagement/views/permissionEditor.html +2 -2
  2. package/actilityProviderSettings/actilitySettings.html +8 -8
  3. package/administration-alarmMapping/views/index.html +13 -13
  4. package/administration-applications/appWizard/appWizardClone2Step.html +5 -4
  5. package/administration-applications/appWizard/appWizardExternalStep.html +6 -6
  6. package/administration-applications/appWizard/appWizardSmartAppStep.html +6 -3
  7. package/administration-applications/application-detail/application-detail.html +7 -2
  8. package/administration-applications/application-list-view/application-list-view.html +9 -7
  9. package/administration-applications/views/applicationAccessEditor.html +1 -1
  10. package/administration-archivesEditor/views/upload.html +4 -4
  11. package/administration-eventProcessing/list/eventProcessingRulesList.html +4 -1
  12. package/administration-retentionRules/views/list.html +6 -6
  13. package/administration-storageLimitEmail/views/storageLimitForm.html +3 -2
  14. package/alarms/widget-config.html +11 -9
  15. package/app-status/app-instances/app-instances.html +4 -3
  16. package/app-status/app-status/app-status.html +16 -25
  17. package/app-status/app-tenant-subscriptions-list/app-tenant-subscriptions-list.html +7 -5
  18. package/assetTable/views/addOperation.html +10 -6
  19. package/assetTable/views/assets.html +11 -4
  20. package/assetTable/views/assets2.html +1 -1
  21. package/assetTable/views/rendererButton.html +2 -2
  22. package/binaryArtefactsManagement/views/list.html +1 -1
  23. package/configurationRepository/views/list.html +15 -13
  24. package/connectivityV2/sms.html +2 -2
  25. package/connectivityV2/status.html +14 -12
  26. package/core/ui/configurable-device-list-columns/modal-columns-configure.component.html +14 -14
  27. package/core/ui/filteringSorting/filteredSortedList.html +2 -3
  28. package/core/ui/forms/search.html +9 -8
  29. package/core/ui/navigation/breadcrumbs.html +4 -3
  30. package/core/ui/navigation/navigator.html +2 -1
  31. package/core/ui/operations/operations-timeline.html +5 -3
  32. package/core/ui/properties/propertySelector.html +9 -8
  33. package/core/ui/properties/schemaPropertySelector.html +15 -13
  34. package/core/ui/realtime/realtime-switch.html +2 -2
  35. package/core/ui/roles/roles-matrix.html +6 -6
  36. package/core/ui/user/editUser.directive.html +53 -46
  37. package/core/ui/user/measurementUnitPreference.html +2 -2
  38. package/core/ui/views/alarmList.html +32 -27
  39. package/core/ui/views/auditList.html +8 -7
  40. package/core/ui/views/binaryInput.html +37 -27
  41. package/core/ui/views/coreLogin.html +24 -24
  42. package/core/ui/views/deviceStatusDisplay.html +13 -9
  43. package/core/ui/views/editRetentionRuleDirective.html +3 -3
  44. package/core/ui/views/filePicker.html +2 -2
  45. package/core/ui/views/loadmore.html +3 -3
  46. package/dataBroker/connectors/connectors.html +21 -18
  47. package/device-protocol-impact/impact-resource.html +10 -10
  48. package/device-protocol-lwm2m/lwm2mResource.html +5 -6
  49. package/device-protocol-lwm2m/lwm2mValidationRules/lwm2mValidationRule.html +9 -8
  50. package/device-protocol-opcua-v2/opcua-v2-create-step.html +7 -8
  51. package/deviceDatabase4/detail/discrete-inputs.html +9 -9
  52. package/deviceDatabase4/detail/discrete-outputs.html +7 -7
  53. package/deviceDatabase4/detail/holding-registers.html +6 -6
  54. package/deviceDatabase4/detail/input-registers.html +9 -8
  55. package/deviceDatabase4/detail/message-id-configuration.html +4 -4
  56. package/deviceDatabase4/modals/configure-discrete-io.html +19 -25
  57. package/deviceDatabase4/modals/configure-register.html +177 -67
  58. package/deviceDatabase4/modals/import-device-type.html +5 -5
  59. package/deviceDetailIdentity/views/identity.html +8 -8
  60. package/deviceGroupAssignment/groupAssignment.component.html +6 -6
  61. package/deviceStatusWidget/ownerStatus.html +10 -10
  62. package/deviceStatusWidget/requiredAvailabilityIntervalSetting.html +8 -8
  63. package/devicemanagement-aclManagement/views/index.html +10 -10
  64. package/devicemanagement-deviceNetwork/views/network.html +6 -6
  65. package/devicemanagement-location/views/index.html +21 -21
  66. package/devicemanagement-logViewer/views/index.html +34 -24
  67. package/enterpriseEdition/customBranding/brandingConfigurationForm.component.js +1 -1
  68. package/enterpriseEdition/customBranding/brandingConfigurationForm.html +13 -20
  69. package/export/views/detail.html +4 -3
  70. package/export/views/list.html +13 -13
  71. package/export/views/properties.html +7 -7
  72. package/generic-ui/generic-ui-inventory-property.html +13 -12
  73. package/generic-ui/generic-ui-operation-list-button.html +2 -2
  74. package/htmlWidget/views/config.html +6 -7
  75. package/kpi/views/edit.html +3 -3
  76. package/kpi/views/pieChart.html +6 -5
  77. package/measurements/views/iconBar.html +11 -7
  78. package/modbusConfiguration4/fieldbus-device-list.html +17 -14
  79. package/modbusWidget4/widget.html +4 -3
  80. package/modbusWidgets/views/widget.html +4 -4
  81. package/package.json +1 -1
  82. package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.component.js +1 -1
  83. package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.html +17 -10
  84. package/remoteAccess/remoteAccessEndpointModal/remoteAccessEndpointModal.html +31 -23
  85. package/roles/detail/roleDetailGlobal.html +8 -8
  86. package/roles/detail/roleDetailInventory.html +11 -11
  87. package/roles/detail/roleInventoryPermissionList.html +11 -14
  88. package/scada/views/componentConfig.html +5 -5
  89. package/simulators/detail/instructionList.html +22 -22
  90. package/simulators/detail/operationAddDialog.html +5 -4
  91. package/smartRestEditor/addTemplate/addTemplate.modal.html +8 -8
  92. package/smartRestEditor/requestEditor/requestEditor.html +20 -20
  93. package/smartRestEditor/responseEditor/responseEditor.html +11 -10
  94. package/smartRules/list/smartRulesList.html +13 -6
  95. package/smartRules/views/edit.html +9 -3
  96. package/smartRules/views/paramInputAlarmType.html +4 -4
  97. package/smartRules/views/paramInputEscalationSteps.html +6 -2
  98. package/smartRules/views/paramInputKpi.html +2 -2
  99. package/smartRules/views/paramInputOperation.html +2 -2
  100. package/tenantApplications/subscribed-applications/subscribed-applications.html +9 -8
  101. package/tenantApplications/views/index.html +5 -4
  102. package/tenantPolicies/retentionRule/retentionRuleRow.html +12 -9
  103. package/tenantPolicies/systemOptions/systemOptionsRow.html +2 -0
  104. package/tenantPolicies/tenantOptions/tenantOptionsRow.html +18 -14
  105. package/tenantPolicies/tenantPolicyDetail/tenantPolicyDetail.html +40 -29
  106. package/tenantPolicies/tenantPolicyDetail/tenantPolicyRow.html +3 -3
  107. package/trackerRegistration/views/index.html +2 -0
  108. package/trafficLightWidget/states-mapping.html +8 -8
  109. package/userRoles/inventoryRoleSelector/inventoryRoleSelector.html +10 -12
  110. package/userRoles/inventoryRolesTab/inventoryRolesTab.html +15 -15
  111. package/users/applicationAccess/applicationAccess.html +18 -17
  112. package/users/userDetailView/userDetailView.html +10 -10
  113. package/users/userList/userList.html +22 -17
  114. package/users/userRemovalModal/userRemovalModal.component.html +10 -10
@@ -21,8 +21,10 @@
21
21
  <button
22
22
  class="btn-clean"
23
23
  type="button"
24
+ aria-label="{{ op.status | translate }}"
24
25
  uib-tooltip="{{ op.status | translate }}"
25
26
  tooltip-popup-delay="500"
27
+ tooltip-trigger="'mouseenter'"
26
28
  tooltip-append-to-body="true"
27
29
  >
28
30
  <i c8y-icon="{{ vm.statusIcon(op) }}" ng-class="vm.statusClass(op)"></i>
@@ -42,13 +44,13 @@
42
44
  >
43
45
  <button
44
46
  class="btn btn-dot btn-dot--danger"
47
+ type="button"
45
48
  aria-label="{{ 'Cancel operation' | translate }}"
46
49
  uib-tooltip="{{ 'Cancel operation' | translate }}"
47
50
  tooltip-popup-delay="500"
48
51
  tooltip-append-to-body="true"
49
- tooltip-trigger="'mouseenter focus'"
52
+ tooltip-trigger="'mouseenter'"
50
53
  ng-click="vm.cancel(op)"
51
- type="button"
52
54
  >
53
55
  <i c8y-icon="times"></i>
54
56
  </button>
@@ -58,8 +60,8 @@
58
60
  <div class="c8y-list__item__actions" ng-click="$event.stopPropagation()">
59
61
  <button
60
62
  class="collapse-btn"
61
- title="{{ 'Expand' | translate }}"
62
63
  type="button"
64
+ title="{{ 'Expand' | translate }}"
63
65
  ng-click="vm.toggle(op)"
64
66
  >
65
67
  <i c8y-icon="chevron-down"></i>
@@ -13,9 +13,9 @@
13
13
  </div>
14
14
  <div class="dropdown" ng-hide="hideActions" uib-dropdown>
15
15
  <button
16
- title="{{ 'Add action' | translate }}"
17
- type="button"
18
16
  class="btn btn-default btn-xs dropdown-toggle c8y-dropdown"
17
+ type="button"
18
+ title="{{ 'Add action' | translate }}"
19
19
  uib-dropdown-toggle
20
20
  aria-haspopup="true"
21
21
  >
@@ -25,9 +25,9 @@
25
25
  <ul class="dropdown-menu dropdown-menu-right m-t-8" uib-dropdown-menu>
26
26
  <li ng-repeat="action in actions">
27
27
  <button
28
- title="{{ action.config.label | translate }}"
29
- type="button"
30
28
  class="btn btn-link"
29
+ type="button"
30
+ title="{{ action.config.label | translate }}"
31
31
  ng-click="addAction(action)"
32
32
  >
33
33
  {{ action.config.label | translate }}
@@ -70,12 +70,13 @@
70
70
  <td style="width: 28%">
71
71
  <button
72
72
  class="btn btn-xs btn-default"
73
- ng-show="!!property.configSchema"
74
73
  type="button"
75
- ng-click="configComputeProperty(property)"
74
+ aria-label="{{ 'Configure computed property' | translate }}"
76
75
  uib-tooltip="{{ 'Configure computed property' | translate }}"
77
76
  tooltip-popup-delay="500"
78
77
  tooltip-append-to-body="true"
78
+ ng-show="!!property.configSchema"
79
+ ng-click="configComputeProperty(property)"
79
80
  >
80
81
  <i c8y-icon="bolt"></i>
81
82
  {{ displayKeyPath(property.keyPath) }}
@@ -97,8 +98,8 @@
97
98
  </div>
98
99
  <span class="m-l-4">
99
100
  <button
100
- type="button"
101
101
  class="btn btn-xs pull-right"
102
+ type="button"
102
103
  title="{{ 'Config renderer' | translate }}"
103
104
  ng-click="configRenderer(property)"
104
105
  ng-show="rendererHasConfig(property.renderType)"
@@ -114,8 +115,8 @@
114
115
  </td>
115
116
  <td style="width: 5%">
116
117
  <button
117
- type="button"
118
118
  class="btn btn-dot btn-dot--danger showOnHover pull-right"
119
+ type="button"
119
120
  title="{{ 'Delete property' | translate }}"
120
121
  ng-click="removeProperty(property)"
121
122
  >
@@ -76,44 +76,46 @@
76
76
  >
77
77
  <span>
78
78
  <button
79
- aria-label="{{ 'Complex property' | translate }}"
80
79
  class="btn btn-dot"
81
80
  type="button"
82
- ng-if="isComplexProperty(property) && isAtLeastOneSubpropertyListed(property)"
81
+ aria-label="{{
82
+ 'Complex property. Subproperties are listed below.`tooltip`' | translate
83
+ }}"
83
84
  uib-tooltip="{{
84
85
  'Complex property. Subproperties are listed below.`tooltip`' | translate
85
86
  }}"
86
- tooltip-placement="auto"
87
+ tooltip-placement="right"
87
88
  tooltip-popup-delay="500"
88
89
  tooltip-append-to-body="true"
90
+ ng-if="isComplexProperty(property) && isAtLeastOneSubpropertyListed(property)"
89
91
  >
90
92
  <i c8y-icon="tags" class="text-info"></i>
91
93
  </button>
92
94
  <button
93
- aria-label="{{ 'Complex property' | translate }}"
94
95
  class="btn btn-dot"
95
96
  type="button"
96
- ng-if="isComplexProperty(property) && !isAtLeastOneSubpropertyListed(property)"
97
+ aria-label="{{ 'Complex property.`tooltip`' | translate }}"
97
98
  uib-tooltip="{{ 'Complex property.`tooltip`' | translate }}"
98
- tooltip-placement="auto"
99
+ tooltip-placement="right"
99
100
  tooltip-append-to-body="true"
101
+ ng-if="isComplexProperty(property) && !isAtLeastOneSubpropertyListed(property)"
100
102
  >
101
103
  <i class="text-info" c8y-icon="tag"></i>
102
104
  </button>
103
105
  <button
104
- aria-label="{{ 'Computed property' | translate }}"
105
106
  class="btn btn-dot"
106
107
  type="button"
107
- ng-show="property.computed"
108
+ aria-label="{{ 'Computed property.`tooltip`' | translate }}"
108
109
  uib-tooltip="{{ 'Computed property.`tooltip`' | translate }}"
109
110
  tooltip-placement="right"
110
111
  tooltip-popup-delay="500"
111
112
  tooltip-append-to-body="true"
113
+ ng-show="property.computed"
112
114
  >
113
115
  <i class="text-primary-light" c8y-icon="bolt"></i>
114
116
  </button>
115
117
  </span>
116
- {{ property.label | translate }}
118
+ {{ property.label | translate }}
117
119
  </div>
118
120
  <div class="col-xs-5 text-truncate" title="{{ property.keyPath.join('.') }}">
119
121
  {{ property.keyPath.join('.') }}
@@ -124,18 +126,18 @@
124
126
  </div>
125
127
  <div class="modal-footer">
126
128
  <button
127
- title="{{ 'Cancel' | translate }}"
128
- type="button"
129
129
  class="btn btn-default"
130
+ type="button"
131
+ title="{{ 'Cancel' | translate }}"
130
132
  ng-click="dismiss()"
131
133
  >
132
134
  {{ 'Cancel' | translate }}
133
135
  </button>
134
136
  <button
135
- title="{{ 'Select' | translate }}"
137
+ class="btn btn-primary"
136
138
  type="button"
139
+ title="{{ 'Select' | translate }}"
137
140
  ng-disabled="selectIsDisabled()"
138
- class="btn btn-primary"
139
141
  ng-click="close()"
140
142
  >
141
143
  {{ 'Select' | translate }}
@@ -1,8 +1,8 @@
1
1
  <button
2
- type="button"
3
2
  class="btn btn-link c8y-realtime d-flex a-i-center"
4
3
  style="width: auto"
5
- title="{{'Toggle realtime' | translate}}"
4
+ type="button"
5
+ title="{{ 'Toggle realtime' | translate }}"
6
6
  ng-click="vm.toggle()"
7
7
  >
8
8
  <span class="c8y-pulse flex-no-shrink" ng-class="vm.icon()"></span>
@@ -18,13 +18,13 @@
18
18
  <th class="sticky-top has-sticky-card-header text-center">
19
19
  <span translate>Admin</span>
20
20
  <button
21
- class="btn-help btn-help--sm m-l-0"
22
- aria-label="{{ 'Help' | translate }}"
21
+ class="btn-help btn-help--sm"
23
22
  type="button"
23
+ aria-label="{{ 'Help' | translate }}"
24
24
  uib-popover="{{::vm.STRINGS.ADMIN | translate}}"
25
25
  popover-placement="top"
26
- popover-append-to-body="true"
27
26
  popover-trigger="'focus'"
27
+ popover-append-to-body="true"
28
28
  ></button>
29
29
  <br />
30
30
  <label class="c8y-checkbox d-inline-block" ng-if="!vm.readOnly">
@@ -74,14 +74,14 @@
74
74
  <td>
75
75
  {{::vm.categoryLabel(group) | translate}}
76
76
  <button
77
+ class="btn-help btn-help--sm"
77
78
  type="button"
78
- class="btn-help btn-help--sm m-l-4"
79
79
  aria-label="{{ 'Help' | translate }}"
80
- ng-show="::vm.STRINGS.PERMISSIONS_GLOBAL[group.category]"
80
+ uib-popover="{{::vm.STRINGS.PERMISSIONS_GLOBAL[group.category] | translate}}"
81
81
  popover-placement="right"
82
82
  popover-append-to-body="true"
83
83
  popover-trigger="'focus'"
84
- uib-popover="{{::vm.STRINGS.PERMISSIONS_GLOBAL[group.category] | translate}}"
84
+ ng-show="::vm.STRINGS.PERMISSIONS_GLOBAL[group.category]"
85
85
  ></button>
86
86
  </td>
87
87
  <td class="text-center">
@@ -32,12 +32,12 @@
32
32
  <div class="form-group col-sm-4" ng-hide="hideActive">
33
33
  <label>{{ 'Status' | translate }}</label>
34
34
  <button
35
- type="button"
36
35
  class="btn btn-default m-b-0"
36
+ type="button"
37
+ aria-label="{{ 'Status' | translate }}"
37
38
  ng-model="user.enabled"
38
39
  uib-btn-checkbox="user.enabled"
39
40
  ng-disabled="disabledEdit"
40
- aria-label="{{ 'Status' | translate }}"
41
41
  >
42
42
  <i c8y-icon="minus-circle" class="text-danger" ng-hide="user.enabled"></i>
43
43
  <i c8y-icon="check-circle" class="text-success" ng-show="user.enabled"></i>
@@ -85,17 +85,18 @@
85
85
  {{ 'Email' | translate }}
86
86
  <span ng-show="user.sendPasswordResetEmail"></span>
87
87
  <button
88
- ng-click="$event.preventDefault()"
89
- type="button"
90
88
  class="btn-help btn-help--sm"
89
+ type="button"
91
90
  aria-label="{{ 'Help' | translate }}"
92
- ng-show="!userCanChangePasswordAndEmail"
93
91
  uib-popover="{{
94
92
  'A user managed via your authorization server cannot change the email of the user.'
95
93
  | translate
96
94
  }}"
97
- popover-append-to-body="true"
98
95
  popover-trigger="'focus'"
96
+ popover-placement="right"
97
+ popover-append-to-body="true"
98
+ ng-show="!userCanChangePasswordAndEmail"
99
+ ng-click="$event.preventDefault()"
99
100
  ></button>
100
101
  </label>
101
102
 
@@ -206,9 +207,9 @@
206
207
  dropdown-append-to-body="true"
207
208
  >
208
209
  <button
209
- title="{{ 'Select owner' | translate }}…"
210
- type="button"
211
210
  class="btn dropdown-toggle fit-w"
211
+ type="button"
212
+ title="{{ 'Select owner' | translate }}…"
212
213
  data-toggle="dropdown"
213
214
  uib-dropdown-toggle
214
215
  aria-haspopup="true"
@@ -238,10 +239,10 @@
238
239
  ></c8y-ui-user-picker>
239
240
 
240
241
  <button
241
- title="{{ 'Done' | translate }}"
242
+ class="btn btn-primary btn-block"
242
243
  type="button"
244
+ title="{{ 'Done' | translate }}"
243
245
  ng-click="setOwner(vm.currentOwner)"
244
- class="btn btn-primary btn-block"
245
246
  >
246
247
  {{ 'Done' | translate }}
247
248
  </button>
@@ -263,12 +264,10 @@
263
264
  </a>
264
265
  <div class="input-group-btn">
265
266
  <button
266
- type="button"
267
267
  class="btn btn-default"
268
- ng-click="undelegate()"
269
- ng-disabled="disabledEdit"
270
- uib-tooltip="{{ 'Undelegate' | translate }}"
268
+ type="button"
271
269
  aria-label="{{ 'Undelegate' | translate }}"
270
+ uib-tooltip="{{ 'Undelegate' | translate }}"
272
271
  tooltip-popup-delay="500"
273
272
  >
274
273
  <i c8y-icon="times"></i>
@@ -279,14 +278,14 @@
279
278
  <em class="form-control d-flex a-i-center" translate>No delegation</em>
280
279
  <div class="input-group-btn">
281
280
  <button
282
- type="button"
283
281
  class="btn btn-default"
284
- ng-click="delegateTo()"
285
- ng-disabled="disabledEdit"
282
+ type="button"
286
283
  aria-label="{{ 'Delegate' | translate }}"
287
284
  uib-tooltip="{{ 'Delegate' | translate }}"
288
285
  tooltip-popup-delay="500"
289
286
  tooltip-append-to-body="true"
287
+ ng-click="delegateTo()"
288
+ ng-disabled="disabledEdit"
290
289
  >
291
290
  <i c8y-icon="batch-assign" class="text-16"></i>
292
291
  </button>
@@ -350,62 +349,68 @@
350
349
  ({{ vm.tfaStrategy || 'SMS' }})
351
350
  </small>
352
351
  <button
353
- ng-click="$event.preventDefault()"
354
- type="button"
355
352
  class="btn-help btn-help--sm"
353
+ type="button"
356
354
  aria-label="{{ 'Help' | translate }}"
357
- ng-show="vm.tfaStrategy === 'SMS' && notCurrentUser"
358
355
  uib-popover="{{
359
356
  'When enabled, a verification code sent by SMS is required to complete authentication'
360
357
  | translate
361
358
  }}"
362
- popover-append-to-body="true"
363
359
  popover-trigger="'focus'"
360
+ popover-placement="right"
361
+ popover-append-to-body="true"
362
+ ng-click="$event.preventDefault()"
363
+ ng-show="vm.tfaStrategy === 'SMS' && notCurrentUser"
364
364
  ></button>
365
365
  <button
366
- ng-click="$event.preventDefault()"
367
- type="button"
368
366
  class="btn-help btn-help--sm"
367
+ type="button"
369
368
  aria-label="{{ 'Help' | translate }}"
370
- ng-show="vm.tfaStrategy === 'SMS' && !notCurrentUser"
371
369
  uib-popover="{{
372
370
  'Authentication by SMS - cannot be changed for your own user.' | translate
373
371
  }}"
374
- popover-append-to-body="true"
375
372
  popover-trigger="'focus'"
373
+ popover-placement="right"
374
+ popover-append-to-body="true"
375
+ ng-click="$event.preventDefault()"
376
+ ng-show="vm.tfaStrategy === 'SMS' && !notCurrentUser"
376
377
  ></button>
377
378
  <button
378
- ng-click="$event.preventDefault()"
379
- type="button"
380
379
  class="btn-help btn-help--sm"
380
+ type="button"
381
381
  aria-label="{{ 'Help' | translate }}"
382
- ng-show="vm.tfaStrategy === 'TOTP' && user.twoFactorAuthenticationEnabled"
383
382
  uib-popover="{{
384
383
  'TOTP secret activated. It can be revoked using the button below.' | translate
385
384
  }}"
386
- popover-append-to-body="true"
387
385
  popover-trigger="'focus'"
386
+ popover-placement="right"
387
+ popover-append-to-body="true"
388
+ ng-click="$event.preventDefault()"
389
+ ng-show="vm.tfaStrategy === 'TOTP' && user.twoFactorAuthenticationEnabled"
388
390
  ></button>
389
391
  <button
390
- ng-click="$event.preventDefault()"
391
- type="button"
392
392
  class="btn-help btn-help--sm"
393
+ type="button"
393
394
  aria-label="{{ 'Help' | translate }}"
394
- ng-show="vm.tfaStrategy === 'TOTP' && !user.twoFactorAuthenticationEnabled"
395
395
  uib-popover="{{
396
396
  'TOTP secret is not activated. It can only be activated from the user menu.' | translate
397
397
  }}"
398
- popover-append-to-body="true"
399
398
  popover-trigger="'focus'"
399
+ popover-placement="right"
400
+ popover-append-to-body="true"
401
+ ng-click="$event.preventDefault()"
402
+ ng-show="vm.tfaStrategy === 'TOTP' && !user.twoFactorAuthenticationEnabled"
400
403
  ></button>
401
404
  <button
402
- ng-show="vm.messagingWarningVisible()"
403
405
  class="btn-clean"
404
- ng-click="$event.preventDefault()"
405
- popover-append-to-body="true"
406
+ type="button"
407
+ aria-label="{{ smsWarningPopover | translate }}"
408
+ uib-popover-html="smsWarningPopover | translate"
406
409
  popover-placement="right"
407
410
  popover-trigger="'focus'"
408
- uib-popover-html="smsWarningPopover | translate"
411
+ popover-append-to-body="true"
412
+ ng-show="vm.messagingWarningVisible()"
413
+ ng-click="$event.preventDefault()"
409
414
  >
410
415
  <i c8y-icon="exclamation-triangle" class="text-danger"></i>
411
416
  </button>
@@ -426,26 +431,28 @@
426
431
  <span></span>
427
432
  <span>{{ 'Enforce TOTP setup for the user' | translate }}</span>
428
433
  <button
429
- ng-click="$event.preventDefault()"
430
- type="button"
431
434
  class="btn-help btn-help--sm"
435
+ type="button"
432
436
  aria-label="{{ 'Help' | translate }}"
433
- ng-show="!notCurrentUser"
434
437
  uib-popover="{{ 'TOTP cannot be enforced for your own user.' | translate }}"
435
- popover-append-to-body="true"
436
438
  popover-trigger="'focus'"
439
+ popover-placement="right"
440
+ popover-append-to-body="true"
441
+ ng-click="$event.preventDefault()"
442
+ ng-show="!notCurrentUser"
437
443
  ></button>
438
444
  <button
439
- ng-click="$event.preventDefault()"
440
445
  class="btn-help btn-help--sm"
441
- aria-label="{{ 'Help' | translate }}"
442
446
  type="button"
443
- ng-show="topLevelTfaEnforced"
447
+ aria-label="{{ 'Help' | translate }}"
444
448
  uib-popover="{{
445
449
  'TOTP is enforced for the user based on the platform-level settings.' | translate
446
450
  }}"
447
- popover-append-to-body="true"
448
451
  popover-trigger="'focus'"
452
+ popover-placement="right"
453
+ popover-append-to-body="true"
454
+ ng-click="$event.preventDefault()"
455
+ ng-show="topLevelTfaEnforced"
449
456
  ></button>
450
457
  </label>
451
458
  </div>
@@ -485,8 +492,8 @@
485
492
 
486
493
  <div class="form-group">
487
494
  <button
488
- type="button"
489
495
  class="btn btn-default"
496
+ type="button"
490
497
  name="changePassword"
491
498
  ng-show="
492
499
  !disabledEdit &&
@@ -4,12 +4,12 @@
4
4
  {{ 'Unit conversion' | translate }}
5
5
  <button
6
6
  class="btn-help btn-help--sm"
7
- aria-label="{{ 'Help' | translate }}"
8
7
  type="button"
9
- ng-click="$event.preventDefault()"
8
+ aria-label="{{ 'Help' | translate }}"
10
9
  uib-popover="{{ vm.tooltip | translate }}"
11
10
  popover-trigger="'focus'"
12
11
  popover-placement="right"
12
+ ng-click="$event.preventDefault()"
13
13
  ></button>
14
14
  </label>
15
15
  <ui-select ng-model="vm.user.measurementUnit">
@@ -71,12 +71,12 @@
71
71
  <button
72
72
  class="btn-clean severity"
73
73
  type="button"
74
+ aria-label="{{ 'Severity' | translate }}: {{ alarm.severity | translate }}"
74
75
  uib-tooltip="{{ 'Severity' | translate }}: {{ alarm.severity | translate }}"
75
- aria-label="{{ 'Severity' | translate }}"
76
76
  tooltip-placement="right"
77
- tooltip-trigger="'mouseenter focus'"
78
- tooltip-append-to-body="true"
77
+ tooltip-trigger="'mouseenter'"
79
78
  tooltip-popup-delay="500"
79
+ tooltip-append-to-body="true"
80
80
  >
81
81
  <i
82
82
  c8y-icon="{{ icon(alarm.severity) }}"
@@ -87,12 +87,12 @@
87
87
  <button
88
88
  class="btn-clean status"
89
89
  type="button"
90
+ aria-label="{{ 'Status' | translate }}: {{ alarm.status | translate }}"
90
91
  uib-tooltip="{{ 'Status' | translate }}: {{ alarm.status | translate }}"
91
- aria-label="{{ 'Status' | translate }}"
92
92
  tooltip-placement="right"
93
- tooltip-append-to-body="true"
94
- tooltip-trigger="'mouseenter focus'"
93
+ tooltip-trigger="'mouseenter'"
95
94
  tooltip-popup-delay="500"
95
+ tooltip-append-to-body="true"
96
96
  >
97
97
  <i c8y-icon="{{ icon(alarm.status) }}"></i>
98
98
  </button>
@@ -106,16 +106,21 @@
106
106
  <div class="span m-r-4" ng-if="alarm.count > 1">
107
107
  <button
108
108
  class="btn-clean"
109
- aria-label="{{ 'Number of occurrences' | translate }}"
109
+ type="button"
110
+ aria-label="{{ 'Number of occurrences' | translate }}. {{
111
+ 'First occurrence' | translate
112
+ }} {{ alarm.firstOccurrenceTime | absoluteDate }} ({{
113
+ 'device time' | translate
114
+ }})."
110
115
  uib-tooltip="{{ 'Number of occurrences' | translate }}. {{
111
116
  'First occurrence' | translate
112
117
  }} {{ alarm.firstOccurrenceTime | absoluteDate }} ({{
113
118
  'device time' | translate
114
119
  }})."
115
120
  tooltip-placement="right"
116
- tooltip-append-to-body="true"
121
+ tooltip-trigger="'mouseenter'"
117
122
  tooltip-popup-delay="500"
118
- tooltip-trigger="'mouseenter focus'"
123
+ tooltip-append-to-body="true"
119
124
  >
120
125
  <span class="badge badge-info">
121
126
  {{ alarm.count }}
@@ -155,29 +160,29 @@
155
160
  <span class="showOnHover">
156
161
  <button
157
162
  class="btn btn-default btn-xs"
163
+ type="button"
164
+ aria-label="{{ 'Acknowledge' | translate }}"
165
+ uib-tooltip="{{ 'Acknowledge' | translate }}"
166
+ tooltip-popup-delay="500"
167
+ tooltip-trigger="'mouseenter'"
168
+ tooltip-append-to-body="true"
158
169
  ng-disabled="changingStatus"
159
170
  ng-click="changeStatus(alarm, 'ACKNOWLEDGED')"
160
171
  ng-if="alarm.status == 'ACTIVE'"
161
- uib-tooltip="{{ 'Acknowledge' | translate }}"
162
- aria-label="{{ 'Acknowledge' | translate }}"
163
- tooltip-append-to-body="true"
164
- tooltip-trigger="'mouseenter focus'"
165
- tooltip-popup-delay="500"
166
- type="button"
167
172
  >
168
173
  <i c8y-icon="bell-slash"></i>
169
174
  </button>
170
175
  <button
171
176
  class="btn btn-default btn-xs"
172
- ng-disabled="changingStatus"
173
- ng-click="changeStatus(alarm, 'CLEARED')"
174
- ng-if="!(alarm.status == 'CLEARED')"
175
- uib-tooltip="{{ 'Clear`alarm`' | translate }}"
177
+ type="button"
176
178
  aria-label="{{ 'Clear`alarm`' | translate }}"
179
+ uib-tooltip="{{ 'Clear`alarm`' | translate }}"
177
180
  tooltip-append-to-body="true"
178
- tooltip-trigger="'mouseenter focus'"
181
+ tooltip-trigger="'mouseenter'"
179
182
  tooltip-popup-delay="500"
180
- type="button"
183
+ ng-disabled="changingStatus"
184
+ ng-click="changeStatus(alarm, 'CLEARED')"
185
+ ng-if="!(alarm.status == 'CLEARED')"
181
186
  >
182
187
  <i c8y-icon="check-circle"></i>
183
188
  </button>
@@ -188,9 +193,9 @@
188
193
  <div class="c8y-list__item__actions">
189
194
  <!-- toggle collapse -->
190
195
  <button
196
+ class="collapse-btn"
191
197
  type="button"
192
198
  title="{{ 'Expand' | translate }}"
193
- class="collapse-btn"
194
199
  ng-class="{ active: isOpen(alarm) }"
195
200
  ng-click="toggle(alarm);"
196
201
  >
@@ -208,18 +213,18 @@
208
213
  >
209
214
  <button
210
215
  class="dropdown-toggle c8y-dropdown"
216
+ type="button"
217
+ title="{{ 'Actions' | translate }}"
211
218
  aria-haspopup="true"
212
219
  uib-dropdown-toggle
213
- title="{{ 'Actions' | translate }}"
214
- type="button"
215
220
  >
216
221
  <i c8y-icon="ellipsis-v"></i>
217
222
  </button>
218
223
  <ul class="dropdown-menu dropdown-menu-right" uib-dropdown-menu="">
219
224
  <li>
220
225
  <button
221
- title="{{ 'Acknowledge' | translate }}"
222
226
  type="button"
227
+ title="{{ 'Acknowledge' | translate }}"
223
228
  ng-click="changeStatus(alarm, 'ACKNOWLEDGED')"
224
229
  ng-if="alarm.status == 'ACTIVE'"
225
230
  >
@@ -229,8 +234,8 @@
229
234
  </li>
230
235
  <li>
231
236
  <button
232
- title="{{ 'Clear alarm' | translate }}"
233
237
  type="button"
238
+ title="{{ 'Clear alarm' | translate }}"
234
239
  ng-click="changeStatus(alarm, 'CLEARED')"
235
240
  ng-if="!(alarm.status == 'CLEARED')"
236
241
  >
@@ -241,8 +246,8 @@
241
246
  <li>
242
247
  <c8y-if-allowed cfg="smartRulesSvc.permissionsCfgs.create">
243
248
  <button
244
- title="{{ 'Create smart rule' | translate }}"
245
249
  type="button"
250
+ title="{{ 'Create smart rule' | translate }}"
246
251
  ng-click="createSmartRule(alarm)"
247
252
  >
248
253
  <i c8y-icon="cogs"></i>
@@ -19,10 +19,10 @@
19
19
  <label class="m-0">
20
20
  {{ 'Time' | translate }}
21
21
  <button
22
+ class="btn-help btn-help--sm"
22
23
  type="button"
23
- class="m-l-4 btn-help btn-help--sm"
24
- uib-popover-html="'Server time can be different from device times in other fields.' | translate"
25
24
  aria-label="{{ 'Help' | translate }}"
25
+ uib-popover-html="'Server time can be different from device times in other fields.' | translate"
26
26
  popover-placement="right"
27
27
  popover-trigger="'focus'"
28
28
  ></button>
@@ -57,12 +57,12 @@
57
57
  <button
58
58
  class="btn-clean"
59
59
  type="button"
60
- ng-if="convertTypeIcon(audit.type)"
61
- uib-tooltip="{{ convertType(audit.type) | translate }}"
62
60
  aria-label="{{ 'Audit' | translate }}"
63
- tooltip-trigger="'mouseenter focus'"
61
+ uib-tooltip="{{ convertType(audit.type) | translate }}"
62
+ tooltip-trigger="'mouseenter'"
64
63
  tooltip-popup-delay="500"
65
64
  tooltip-append-to-body="true"
65
+ ng-if="convertTypeIcon(audit.type)"
66
66
  >
67
67
  <i c8y-icon="{{ convertTypeIcon(audit.type) }}"></i>
68
68
  </button>
@@ -111,10 +111,11 @@
111
111
  {{ 'Source' | translate }}
112
112
  </a>
113
113
  <button
114
- ng-if="audit.sourceInfo && audit.showCogWheel && !hideDevice"
115
114
  class="btn btn-dot small m-r-8"
116
- ng-click="goToAuditDetail(audit.sourceInfo)"
115
+ type="button"
117
116
  title="{{ 'Go to source' | translate }}"
117
+ ng-if="audit.sourceInfo && audit.showCogWheel && !hideDevice"
118
+ ng-click="goToAuditDetail(audit.sourceInfo)"
118
119
  >
119
120
  <i c8y-icon="dot-circle-o"></i>
120
121
  {{ 'Source' | translate }}