@c8y/ng1-modules 1017.138.0 → 1017.140.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/aclManagement/views/permissionEditor.html +2 -2
- package/actilityProviderSettings/actilitySettings.html +8 -8
- package/administration-alarmMapping/views/index.html +13 -13
- package/administration-applications/appWizard/appWizardClone2Step.html +5 -4
- package/administration-applications/appWizard/appWizardExternalStep.html +6 -6
- package/administration-applications/appWizard/appWizardSmartAppStep.html +6 -3
- package/administration-applications/application-detail/application-detail.html +7 -2
- package/administration-applications/application-list-view/application-list-view.html +9 -7
- package/administration-applications/views/applicationAccessEditor.html +1 -1
- package/administration-archivesEditor/views/upload.html +4 -4
- package/administration-eventProcessing/list/eventProcessingRulesList.html +4 -1
- package/administration-retentionRules/views/list.html +6 -6
- package/administration-storageLimitEmail/views/storageLimitForm.html +3 -2
- package/alarms/widget-config.html +11 -9
- package/app-status/app-instances/app-instances.html +4 -3
- package/app-status/app-status/app-status.html +16 -25
- package/app-status/app-tenant-subscriptions-list/app-tenant-subscriptions-list.html +7 -5
- package/assetTable/views/addOperation.html +10 -6
- package/assetTable/views/assets.html +11 -4
- package/assetTable/views/assets2.html +1 -1
- package/assetTable/views/rendererButton.html +2 -2
- package/binaryArtefactsManagement/views/list.html +1 -1
- package/configurationRepository/views/list.html +15 -13
- package/connectivityV2/sms.html +2 -2
- package/connectivityV2/status.html +14 -12
- package/core/ui/configurable-device-list-columns/modal-columns-configure.component.html +14 -14
- package/core/ui/filteringSorting/filteredSortedList.html +2 -3
- package/core/ui/forms/search.html +9 -8
- package/core/ui/navigation/breadcrumbs.html +4 -3
- package/core/ui/navigation/navigator.html +2 -1
- package/core/ui/operations/operations-timeline.html +5 -3
- package/core/ui/properties/propertySelector.html +9 -8
- package/core/ui/properties/schemaPropertySelector.html +15 -13
- package/core/ui/realtime/realtime-switch.html +2 -2
- package/core/ui/roles/roles-matrix.html +6 -6
- package/core/ui/user/editUser.directive.html +53 -46
- package/core/ui/user/measurementUnitPreference.html +2 -2
- package/core/ui/views/alarmList.html +32 -27
- package/core/ui/views/auditList.html +8 -7
- package/core/ui/views/binaryInput.html +37 -27
- package/core/ui/views/coreLogin.html +24 -24
- package/core/ui/views/deviceStatusDisplay.html +13 -9
- package/core/ui/views/editRetentionRuleDirective.html +3 -3
- package/core/ui/views/filePicker.html +2 -2
- package/core/ui/views/loadmore.html +3 -3
- package/dataBroker/connectors/connectors.html +21 -18
- package/device-protocol-impact/impact-resource.html +10 -10
- package/device-protocol-lwm2m/lwm2mResource.html +5 -6
- package/device-protocol-lwm2m/lwm2mValidationRules/lwm2mValidationRule.html +9 -8
- package/device-protocol-opcua-v2/opcua-v2-create-step.html +7 -8
- package/deviceDatabase4/detail/discrete-inputs.html +9 -9
- package/deviceDatabase4/detail/discrete-outputs.html +7 -7
- package/deviceDatabase4/detail/holding-registers.html +6 -6
- package/deviceDatabase4/detail/input-registers.html +9 -8
- package/deviceDatabase4/detail/message-id-configuration.html +4 -4
- package/deviceDatabase4/modals/configure-discrete-io.html +19 -25
- package/deviceDatabase4/modals/configure-register.html +177 -67
- package/deviceDatabase4/modals/import-device-type.html +5 -5
- package/deviceDetailIdentity/views/identity.html +8 -8
- package/deviceGroupAssignment/groupAssignment.component.html +6 -6
- package/deviceStatusWidget/ownerStatus.html +10 -10
- package/deviceStatusWidget/requiredAvailabilityIntervalSetting.html +8 -8
- package/devicemanagement-aclManagement/views/index.html +10 -10
- package/devicemanagement-deviceNetwork/views/network.html +6 -6
- package/devicemanagement-location/views/index.html +21 -21
- package/devicemanagement-logViewer/views/index.html +34 -24
- package/enterpriseEdition/customBranding/brandingConfigurationForm.component.js +1 -1
- package/enterpriseEdition/customBranding/brandingConfigurationForm.html +13 -20
- package/export/views/detail.html +4 -3
- package/export/views/list.html +13 -13
- package/export/views/properties.html +7 -7
- package/generic-ui/generic-ui-inventory-property.html +13 -12
- package/generic-ui/generic-ui-operation-list-button.html +2 -2
- package/htmlWidget/views/config.html +6 -7
- package/kpi/views/edit.html +3 -3
- package/kpi/views/pieChart.html +6 -5
- package/measurements/views/iconBar.html +11 -7
- package/modbusConfiguration4/fieldbus-device-list.html +17 -14
- package/modbusWidget4/widget.html +4 -3
- package/modbusWidgets/views/widget.html +4 -4
- package/package.json +1 -1
- package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.component.js +1 -1
- package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.html +17 -10
- package/remoteAccess/remoteAccessEndpointModal/remoteAccessEndpointModal.html +31 -23
- package/roles/detail/roleDetailGlobal.html +8 -8
- package/roles/detail/roleDetailInventory.html +11 -11
- package/roles/detail/roleInventoryPermissionList.html +11 -14
- package/scada/views/componentConfig.html +5 -5
- package/simulators/detail/instructionList.html +22 -22
- package/simulators/detail/operationAddDialog.html +5 -4
- package/smartRestEditor/addTemplate/addTemplate.modal.html +8 -8
- package/smartRestEditor/requestEditor/requestEditor.html +20 -20
- package/smartRestEditor/responseEditor/responseEditor.html +11 -10
- package/smartRules/list/smartRulesList.html +13 -6
- package/smartRules/views/edit.html +9 -3
- package/smartRules/views/paramInputAlarmType.html +4 -4
- package/smartRules/views/paramInputEscalationSteps.html +6 -2
- package/smartRules/views/paramInputKpi.html +2 -2
- package/smartRules/views/paramInputOperation.html +2 -2
- package/tenantApplications/subscribed-applications/subscribed-applications.html +9 -8
- package/tenantApplications/views/index.html +5 -4
- package/tenantPolicies/retentionRule/retentionRuleRow.html +12 -9
- package/tenantPolicies/systemOptions/systemOptionsRow.html +2 -0
- package/tenantPolicies/tenantOptions/tenantOptionsRow.html +18 -14
- package/tenantPolicies/tenantPolicyDetail/tenantPolicyDetail.html +40 -29
- package/tenantPolicies/tenantPolicyDetail/tenantPolicyRow.html +3 -3
- package/trackerRegistration/views/index.html +2 -0
- package/trafficLightWidget/states-mapping.html +8 -8
- package/userRoles/inventoryRoleSelector/inventoryRoleSelector.html +10 -12
- package/userRoles/inventoryRolesTab/inventoryRolesTab.html +15 -15
- package/users/applicationAccess/applicationAccess.html +18 -17
- package/users/userDetailView/userDetailView.html +10 -10
- package/users/userList/userList.html +22 -17
- 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
|
|
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
|
-
|
|
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
|
-
|
|
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="
|
|
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
|
-
|
|
97
|
+
aria-label="{{ 'Complex property.`tooltip`' | translate }}"
|
|
97
98
|
uib-tooltip="{{ 'Complex property.`tooltip`' | translate }}"
|
|
98
|
-
tooltip-placement="
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
405
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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-
|
|
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
|
-
|
|
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-
|
|
121
|
+
tooltip-trigger="'mouseenter'"
|
|
117
122
|
tooltip-popup-delay="500"
|
|
118
|
-
tooltip-
|
|
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
|
-
|
|
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
|
|
181
|
+
tooltip-trigger="'mouseenter'"
|
|
179
182
|
tooltip-popup-delay="500"
|
|
180
|
-
|
|
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
|
|
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
|
-
|
|
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 }}
|