@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.
- 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
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
readonly
|
|
70
70
|
/>
|
|
71
71
|
<span class="input-group-btn">
|
|
72
|
-
<button class="btn btn-default">
|
|
72
|
+
<button class="btn btn-default" type="button" title="{{ 'Browse' | translate }}">
|
|
73
73
|
<span><i c8y-icon="ellipsis-h"></i></span>
|
|
74
74
|
</button>
|
|
75
75
|
</span>
|
|
@@ -104,17 +104,17 @@
|
|
|
104
104
|
|
|
105
105
|
<div class="modal-footer">
|
|
106
106
|
<button
|
|
107
|
-
title="{{ 'Cancel' | translate }}"
|
|
108
|
-
type="button"
|
|
109
107
|
class="btn btn-default"
|
|
108
|
+
type="button"
|
|
109
|
+
title="{{ 'Cancel' | translate }}"
|
|
110
110
|
ng-click="vm.dismiss()"
|
|
111
111
|
>
|
|
112
112
|
{{ 'Cancel' | translate }}
|
|
113
113
|
</button>
|
|
114
114
|
<button
|
|
115
|
-
title="{{ 'Import' | translate }}"
|
|
116
|
-
type="button"
|
|
117
115
|
class="btn btn-primary"
|
|
116
|
+
type="button"
|
|
117
|
+
title="{{ 'Import' | translate }}"
|
|
118
118
|
ng-click="vm.import(selectedDeviceType)"
|
|
119
119
|
ng-disabled="!((vm.selection.predefined.deviceType || vm.selection.custom.deviceType) && vm.importForm.$valid)"
|
|
120
120
|
>
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
<li c8y-if-allowed any-role="['ROLE_IDENTITY_ADMIN']">
|
|
4
4
|
<div class="dropdown" uib-dropdown auto-close="outsideClick" is-open="isOpen">
|
|
5
5
|
<button
|
|
6
|
-
title="{{ 'Add external ID' | translate }}"
|
|
7
|
-
type="button"
|
|
8
6
|
class="dropdown-toggle c8y-dropdown"
|
|
7
|
+
type="button"
|
|
8
|
+
title="{{ 'Add external ID' | translate }}"
|
|
9
9
|
uib-dropdown-toggle
|
|
10
10
|
aria-haspopup="true"
|
|
11
11
|
>
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
/>
|
|
43
43
|
</div>
|
|
44
44
|
<button
|
|
45
|
-
title="{{ 'Save' | translate }}"
|
|
46
|
-
type="submit"
|
|
47
45
|
class="btn btn-primary"
|
|
46
|
+
type="submit"
|
|
47
|
+
title="{{ 'Save' | translate }}"
|
|
48
48
|
ng-click="create(newId)"
|
|
49
49
|
ng-disabled="newIdForm.$invalid"
|
|
50
50
|
translate
|
|
@@ -96,13 +96,13 @@
|
|
|
96
96
|
<div class="col-sm-2 showOnHover">
|
|
97
97
|
<c8y-if-allowed any-role="['ROLE_IDENTITY_ADMIN']" class="d-contents">
|
|
98
98
|
<button
|
|
99
|
-
|
|
99
|
+
class="m-l-auto btn btn-dot btn-dot--danger"
|
|
100
|
+
type="button"
|
|
100
101
|
aria-label="{{ 'Remove' | translate }}"
|
|
102
|
+
uib-tooltip="{{ 'Remove' | translate }}"
|
|
101
103
|
tooltip-popup-delay="500"
|
|
102
|
-
tooltip-trigger="'mouseenter
|
|
103
|
-
class="m-l-auto btn btn-dot btn-dot--danger"
|
|
104
|
+
tooltip-trigger="'mouseenter'"
|
|
104
105
|
ng-click="onClickDelete(id)"
|
|
105
|
-
type="button"
|
|
106
106
|
>
|
|
107
107
|
<i c8y-icon="minus-circle"></i>
|
|
108
108
|
</button>
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
<span class="m-l-8 text-truncate">{{ group.name }}</span>
|
|
26
26
|
</a>
|
|
27
27
|
<button
|
|
28
|
-
aria-label="{{ 'Unassign device' | translate }}"
|
|
29
|
-
type="button"
|
|
30
28
|
class="m-l-auto btn btn-dot showOnHover"
|
|
31
|
-
|
|
29
|
+
type="button"
|
|
30
|
+
aria-label="{{ 'Unassign device' | translate }}"
|
|
32
31
|
uib-tooltip="{{ 'Unassign device' | translate }}"
|
|
33
|
-
tooltip-trigger="'mouseenter
|
|
32
|
+
tooltip-trigger="'mouseenter'"
|
|
34
33
|
tootip-popover-delay="500"
|
|
35
34
|
tooltip-append-to-body="true"
|
|
35
|
+
ng-click="vm.removeFromGroup(group)"
|
|
36
36
|
>
|
|
37
37
|
<i c8y-icon="chain-broken"></i>
|
|
38
38
|
</button>
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
></div>
|
|
53
53
|
<div class="input-group-btn">
|
|
54
54
|
<button
|
|
55
|
-
title="{{ 'Assign' | translate }}"
|
|
56
|
-
type="button"
|
|
57
55
|
class="btn btn-primary"
|
|
56
|
+
type="button"
|
|
57
|
+
title="{{ 'Assign' | translate }}"
|
|
58
58
|
ng-click="vm.addToGroup(vm.group.selected)"
|
|
59
59
|
ng-disabled="!vm.group.selected"
|
|
60
60
|
>
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
<div class="flex-no-shrink p-l-4 d-flex a-i-center" ng-if="vm.shouldShowToggle()">
|
|
10
10
|
<label
|
|
11
11
|
class="c8y-switch c8y-switch--inline"
|
|
12
|
+
aria-label="{{ vm.getTooltip() | translate }}"
|
|
12
13
|
uib-tooltip="{{ vm.getTooltip() | translate }}"
|
|
13
14
|
tooltip-popup-delay="500"
|
|
14
|
-
tooltip-trigger="'mouseenter
|
|
15
|
+
tooltip-trigger="'mouseenter'"
|
|
15
16
|
tooltip-append-to-body="true"
|
|
16
|
-
aria-label="{{ vm.getTooltip() | translate }}"
|
|
17
17
|
>
|
|
18
18
|
<input
|
|
19
19
|
type="checkbox"
|
|
@@ -29,12 +29,13 @@
|
|
|
29
29
|
</span>
|
|
30
30
|
<button
|
|
31
31
|
class="btn btn-dot m-l-auto"
|
|
32
|
-
|
|
33
|
-
ng-click="vm.toggleEdit()"
|
|
34
|
-
uib-tooltip="{{ 'Edit' | translate }}"
|
|
32
|
+
type="button"
|
|
35
33
|
aria-label="{{ 'Edit' | translate }}"
|
|
34
|
+
uib-tooltip="{{ 'Edit' | translate }}"
|
|
36
35
|
tooltip-popup-delay="500"
|
|
37
|
-
tooltip-trigger="'mouseenter
|
|
36
|
+
tooltip-trigger="'mouseenter'"
|
|
37
|
+
ng-show="!vm.isEditMode && vm.canAdminDevice"
|
|
38
|
+
ng-click="vm.toggleEdit()"
|
|
38
39
|
>
|
|
39
40
|
<i c8y-icon="pencil"></i>
|
|
40
41
|
</button>
|
|
@@ -49,10 +50,9 @@
|
|
|
49
50
|
/>
|
|
50
51
|
<div class="input-group-btn">
|
|
51
52
|
<button
|
|
52
|
-
title="{{ 'Save' | translate }}"
|
|
53
|
-
type="button"
|
|
54
53
|
class="btn btn-dot"
|
|
55
54
|
type="button"
|
|
55
|
+
title="{{ 'Save' | translate }}"
|
|
56
56
|
ng-click="vm.save()"
|
|
57
57
|
>
|
|
58
58
|
<i c8y-icon="check" class="text-success"></i>
|
|
@@ -60,9 +60,9 @@
|
|
|
60
60
|
</div>
|
|
61
61
|
<div class="input-group-btn">
|
|
62
62
|
<button
|
|
63
|
-
title="{{ 'Cancel' | translate }}"
|
|
64
|
-
type="button"
|
|
65
63
|
class="btn btn-dot btn-dot--danger"
|
|
64
|
+
type="button"
|
|
65
|
+
title="{{ 'Cancel' | translate }}"
|
|
66
66
|
ng-click="vm.cancel()"
|
|
67
67
|
>
|
|
68
68
|
<i c8y-icon="times"></i>
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
<button
|
|
12
12
|
class="btn btn-dot m-l-auto"
|
|
13
13
|
type="button"
|
|
14
|
-
|
|
15
|
-
ng-click="vm.toggleEdit()"
|
|
14
|
+
aria-label="{{ 'Edit' | translate }}"
|
|
16
15
|
uib-tooltip="{{ 'Edit' | translate }}"
|
|
17
16
|
tooltip-popup-delay="500"
|
|
17
|
+
tooltip-trigger="'mouseenter'"
|
|
18
18
|
tooltip-append-to-body="true"
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
ng-hide="!!vm.status.maintenanceStatus"
|
|
20
|
+
ng-click="vm.toggleEdit()"
|
|
21
21
|
>
|
|
22
22
|
<i c8y-icon="pencil"></i>
|
|
23
23
|
</button>
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
<div class="input-group-btn">
|
|
43
43
|
<button
|
|
44
44
|
class="btn btn-dot"
|
|
45
|
+
type="button"
|
|
46
|
+
aria-label="{{ 'Save' | translate }}"
|
|
45
47
|
ng-class="{ 'btn-pending': vm.saveInProgress }"
|
|
46
48
|
ng-disabled="vm.saveInProgress || vm.availabilityForm.$invalid || !!vm.status.maintenanceStatus"
|
|
47
49
|
ng-click="vm.save()"
|
|
48
|
-
type="button"
|
|
49
|
-
aria-label="{{ 'Save' | translate }}"
|
|
50
50
|
>
|
|
51
51
|
<span title="{{ 'Save' | translate }}" ng-hide="vm.saveInProgress" class="text-success">
|
|
52
52
|
<i c8y-icon="check"></i>
|
|
@@ -58,9 +58,9 @@
|
|
|
58
58
|
</div>
|
|
59
59
|
<div class="input-group-btn" ng-show="vm.isEditMode">
|
|
60
60
|
<button
|
|
61
|
-
title="{{ 'Cancel' | translate }}"
|
|
62
|
-
type="button"
|
|
63
61
|
class="btn btn-dot btn-dot--danger"
|
|
62
|
+
type="button"
|
|
63
|
+
title="{{ 'Cancel' | translate }}"
|
|
64
64
|
ng-disabled="vm.saveInProgress || !!vm.status.maintenanceStatus"
|
|
65
65
|
ng-click="vm.resetEdit()"
|
|
66
66
|
>
|
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
<form class="navbar-form">
|
|
5
5
|
<span
|
|
6
6
|
class="btn-link"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
uib-popover="{{ helpText | translate }}"
|
|
8
|
+
popover-placement="bottom"
|
|
9
|
+
popover-trigger="focus"
|
|
10
10
|
>
|
|
11
11
|
<i c8y-icon="question-circle-o"></i>
|
|
12
12
|
</span>
|
|
13
13
|
<button
|
|
14
14
|
class="btn btn-link"
|
|
15
|
-
title="{{ 'Add permission' | translate }}"
|
|
16
15
|
type="button"
|
|
16
|
+
title="{{ 'Add permission' | translate }}"
|
|
17
17
|
ng-show="allowEdit"
|
|
18
18
|
ng-click="toggleAddPermission()"
|
|
19
19
|
>
|
|
@@ -53,12 +53,12 @@
|
|
|
53
53
|
</ui-select>
|
|
54
54
|
<div class="btn-group pull-left">
|
|
55
55
|
<button
|
|
56
|
-
ng-repeat="type in sourceTypes"
|
|
57
56
|
class="btn btn-primary text-capitalize"
|
|
58
|
-
title="{{ type.value | translate | lowercase }}"
|
|
59
|
-
type="button"
|
|
60
57
|
ng-class="{ active: sourceType == type }"
|
|
58
|
+
type="button"
|
|
59
|
+
title="{{ type.value | translate | lowercase }}"
|
|
61
60
|
ng-click="setSourceType(type)"
|
|
61
|
+
ng-repeat="type in sourceTypes"
|
|
62
62
|
>
|
|
63
63
|
{{ type.value | translate | lowercase }}
|
|
64
64
|
</button>
|
|
@@ -75,8 +75,8 @@
|
|
|
75
75
|
<div class="pull-right">
|
|
76
76
|
<button
|
|
77
77
|
class="btn btn-primary"
|
|
78
|
-
title="{{ 'Save' | translate }}"
|
|
79
78
|
type="submit"
|
|
79
|
+
title="{{ 'Save' | translate }}"
|
|
80
80
|
ng-click="create(permission)"
|
|
81
81
|
ng-disabled="!isValid(permission)"
|
|
82
82
|
>
|
|
@@ -84,8 +84,8 @@
|
|
|
84
84
|
</button>
|
|
85
85
|
<button
|
|
86
86
|
class="btn btn-default"
|
|
87
|
-
title="{{ 'Cancel' | translate }}"
|
|
88
87
|
type="button"
|
|
88
|
+
title="{{ 'Cancel' | translate }}"
|
|
89
89
|
ng-click="cancel()"
|
|
90
90
|
>
|
|
91
91
|
Cancel
|
|
@@ -192,8 +192,8 @@
|
|
|
192
192
|
<td class="text-right">
|
|
193
193
|
<button
|
|
194
194
|
class="btn btn-dot btn-dot--danger showOnHover"
|
|
195
|
-
title="{{ 'Remove permission' | translate }}"
|
|
196
195
|
type="button"
|
|
196
|
+
title="{{ 'Remove permission' | translate }}"
|
|
197
197
|
ng-show="allowEdit"
|
|
198
198
|
ng-click="removeGroupPermission(groupPermission, permission)"
|
|
199
199
|
>
|
|
@@ -64,18 +64,18 @@
|
|
|
64
64
|
|
|
65
65
|
<div class="card-footer separator">
|
|
66
66
|
<button
|
|
67
|
-
title="{{ 'Save' | translate }}"
|
|
68
|
-
type="submit"
|
|
69
67
|
class="btn btn-primary"
|
|
68
|
+
type="submit"
|
|
69
|
+
title="{{ 'Save' | translate }}"
|
|
70
70
|
ng-disabled="wanForm.$invalid || wanForm.$pristine"
|
|
71
71
|
ng-click="saveWANviaIP(device)"
|
|
72
72
|
>
|
|
73
73
|
{{ 'Save' | translate }}
|
|
74
74
|
</button>
|
|
75
75
|
<button
|
|
76
|
-
title="{{ 'Save (SMS)' | translate }}"
|
|
77
|
-
type="submit"
|
|
78
76
|
class="btn btn-primary"
|
|
77
|
+
type="submit"
|
|
78
|
+
title="{{ 'Save (SMS)' | translate }}"
|
|
79
79
|
ng-disabled="wanForm.$invalid || !smsEnabled || wanForm.$pristine"
|
|
80
80
|
ng-click="saveWANviaSMS(device)"
|
|
81
81
|
>
|
|
@@ -358,9 +358,9 @@
|
|
|
358
358
|
|
|
359
359
|
<div class="card-footer separator">
|
|
360
360
|
<button
|
|
361
|
-
title="{{ 'Save' | translate }}"
|
|
362
|
-
type="submit"
|
|
363
361
|
class="btn btn-primary"
|
|
362
|
+
type="submit"
|
|
363
|
+
title="{{ 'Save' | translate }}"
|
|
364
364
|
ng-disabled="lanDhcpForm.$invalid || lanDhcpForm.$pristine"
|
|
365
365
|
>
|
|
366
366
|
{{ 'Save' | translate }}
|
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
<c8y-ui-action-bar-set>
|
|
3
3
|
<c8y-realtime-btn class="btn btn-link" subscriber-id="id"></c8y-realtime-btn>
|
|
4
4
|
|
|
5
|
-
<button
|
|
5
|
+
<button
|
|
6
|
+
class="btn btn-link"
|
|
7
|
+
type="button"
|
|
8
|
+
title="{{ 'Center map' | translate }}"
|
|
9
|
+
ng-click="centerMap()"
|
|
10
|
+
>
|
|
6
11
|
<i c8y-icon="dot-circle-o"></i>
|
|
7
12
|
{{ 'Center map' | translate }}
|
|
8
13
|
</button>
|
|
@@ -22,21 +27,16 @@
|
|
|
22
27
|
|
|
23
28
|
<div class="d-flex d-col bg-inherit content-fullpage">
|
|
24
29
|
<div class="card-header separator">
|
|
25
|
-
<span class="
|
|
30
|
+
<span class="card-title" translate>Device location</span>
|
|
26
31
|
<button
|
|
32
|
+
class="btn-help"
|
|
27
33
|
type="button"
|
|
34
|
+
aria-label="{{ 'Help' | translate }}"
|
|
28
35
|
uib-popover-html="'Device location may be set by the device itself, or manually in the platform' | translate"
|
|
29
|
-
popover-append-to-body="true"
|
|
30
36
|
popover-placement="left"
|
|
31
37
|
popover-trigger="'focus'"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
'Device location may be set by the device itself, or manually in the platform'
|
|
35
|
-
| translate
|
|
36
|
-
}}"
|
|
37
|
-
>
|
|
38
|
-
<i c8y-icon="question-circle-o"></i>
|
|
39
|
-
</button>
|
|
38
|
+
popover-append-to-body="true"
|
|
39
|
+
></button>
|
|
40
40
|
</div>
|
|
41
41
|
<div class="inner-scroll">
|
|
42
42
|
<form
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
class="form-control"
|
|
121
121
|
/>
|
|
122
122
|
<span class="input-group-btn">
|
|
123
|
-
<button title="{{ 'Search' | translate }}"
|
|
123
|
+
<button class="btn btn-dot" type="submit" title="{{ 'Search' | translate }}">
|
|
124
124
|
<i c8y-icon="search"></i>
|
|
125
125
|
</button>
|
|
126
126
|
</span>
|
|
@@ -130,30 +130,30 @@
|
|
|
130
130
|
</div>
|
|
131
131
|
<div class="card-footer separator">
|
|
132
132
|
<button
|
|
133
|
-
ng-show="!noeditable"
|
|
134
|
-
title="{{ 'Edit location' | translate }}"
|
|
135
|
-
type="button"
|
|
136
133
|
class="btn btn-default"
|
|
134
|
+
type="button"
|
|
135
|
+
title="{{ 'Edit location' | translate }}"
|
|
137
136
|
ng-click="noeditable = !noeditable"
|
|
137
|
+
ng-show="!noeditable"
|
|
138
138
|
>
|
|
139
139
|
{{ 'Edit location' | translate }}
|
|
140
140
|
</button>
|
|
141
141
|
<button
|
|
142
|
-
ng-show="noeditable"
|
|
143
|
-
title="{{ 'Cancel' | translate }}"
|
|
144
|
-
type="button"
|
|
145
142
|
class="btn btn-default"
|
|
143
|
+
type="button"
|
|
144
|
+
title="{{ 'Cancel' | translate }}"
|
|
146
145
|
ng-click="cancel()"
|
|
146
|
+
ng-show="noeditable"
|
|
147
147
|
>
|
|
148
148
|
{{ 'Cancel' | translate }}
|
|
149
149
|
</button>
|
|
150
150
|
<button
|
|
151
|
-
ng-show="noeditable"
|
|
152
|
-
title="{{ 'Save' | translate }}"
|
|
153
|
-
type="button"
|
|
154
151
|
class="btn btn-primary"
|
|
152
|
+
type="button"
|
|
153
|
+
title="{{ 'Save' | translate }}"
|
|
155
154
|
ng-disabled="locationForm.$invalid"
|
|
156
155
|
ng-click="save()"
|
|
156
|
+
ng-show="noeditable"
|
|
157
157
|
>
|
|
158
158
|
{{ 'Save' | translate }}
|
|
159
159
|
</button>
|
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
is-open="isOpen"
|
|
11
11
|
>
|
|
12
12
|
<button
|
|
13
|
-
title="{{ 'Request log file' | translate }}"
|
|
14
13
|
class="dropdown-toggle c8y-dropdown"
|
|
14
|
+
type="button"
|
|
15
|
+
title="{{ 'Request log file' | translate }}"
|
|
15
16
|
uib-dropdown-toggle
|
|
16
17
|
aria-haspopup="true"
|
|
17
18
|
>
|
|
@@ -44,7 +45,11 @@
|
|
|
44
45
|
|
|
45
46
|
<div class="form-group">
|
|
46
47
|
<label translate>Type of log</label>
|
|
47
|
-
<ui-select
|
|
48
|
+
<ui-select
|
|
49
|
+
ng-init="vm.logtypeSelect = $select"
|
|
50
|
+
ng-model="vm.filters.logFile"
|
|
51
|
+
required
|
|
52
|
+
>
|
|
48
53
|
<ui-select-match
|
|
49
54
|
title="{{ $select.selected.name }}"
|
|
50
55
|
placeholder="{{ 'Type of log' | translate }}"
|
|
@@ -80,8 +85,9 @@
|
|
|
80
85
|
/>
|
|
81
86
|
</div>
|
|
82
87
|
<button
|
|
83
|
-
title="{{ 'Request log file' | translate }}"
|
|
84
88
|
class="btn btn-primary btn-block"
|
|
89
|
+
type="button"
|
|
90
|
+
title="{{ 'Request log file' | translate }}"
|
|
85
91
|
ng-disabled="logRequestForm.$invalid"
|
|
86
92
|
ng-click="requestLogfile(vm.filters); isOpen = !isOpen"
|
|
87
93
|
>
|
|
@@ -96,10 +102,11 @@
|
|
|
96
102
|
<c8y-refresh-btn></c8y-refresh-btn>
|
|
97
103
|
</c8y-ui-action-bar-set>
|
|
98
104
|
|
|
99
|
-
<
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
<c8y-ui-empty-state
|
|
106
|
+
ng-show="operations.length === 0"
|
|
107
|
+
[icon]="'file-text'"
|
|
108
|
+
[title]="'No logs found.' | translate"
|
|
109
|
+
></c8y-ui-empty-state>
|
|
103
110
|
|
|
104
111
|
<div class="c8y-list__group">
|
|
105
112
|
<div class="page-sticky-header c8y-list__item hidden-xs" ng-if="operations.length > 0">
|
|
@@ -129,12 +136,12 @@
|
|
|
129
136
|
<div class="c8y-list__item__block">
|
|
130
137
|
<div class="c8y-list__item__icon">
|
|
131
138
|
<button
|
|
132
|
-
aria-label="{{ 'Status' | translate }}"
|
|
133
139
|
class="btn btn-dot"
|
|
134
140
|
type="button"
|
|
141
|
+
aria-label="{{ op.status | translate }}"
|
|
135
142
|
uib-tooltip="{{ op.status | translate }}"
|
|
136
143
|
tooltip-popup-delay="500"
|
|
137
|
-
tooltip-trigger="'mouseenter
|
|
144
|
+
tooltip-trigger="'mouseenter'"
|
|
138
145
|
>
|
|
139
146
|
<i c8y-icon="{{ statusIcon(op) }}" ng-class="statusClass(op)"></i>
|
|
140
147
|
</button>
|
|
@@ -146,6 +153,7 @@
|
|
|
146
153
|
<button
|
|
147
154
|
class="btn-clean"
|
|
148
155
|
type="button"
|
|
156
|
+
title="{{ getOperationDesc(op) | translate }}"
|
|
149
157
|
ng-class="{ 'no-pointer': !hasLogFile(op) }"
|
|
150
158
|
ng-click="selectLogfile(op)"
|
|
151
159
|
>
|
|
@@ -166,38 +174,36 @@
|
|
|
166
174
|
</div>
|
|
167
175
|
<div class="c8y-list__item__actions showOnHover">
|
|
168
176
|
<button
|
|
169
|
-
ng-if="!hasLogFile(op) && isPending(op)"
|
|
170
177
|
class="btn btn-dot a-s-center"
|
|
171
178
|
type="button"
|
|
172
|
-
uib-tooltip="{{ 'Cancel operation' | translate }}"
|
|
173
179
|
aria-label="{{ 'Cancel operation' | translate }}"
|
|
180
|
+
uib-tooltip="{{ 'Cancel operation' | translate }}"
|
|
174
181
|
tooltip-popup-delay="500"
|
|
175
|
-
popover-trigger="'mouseenter focus'"
|
|
176
182
|
tooltip-placement="left"
|
|
177
183
|
ng-click="cancel(op)"
|
|
184
|
+
ng-if="!hasLogFile(op) && isPending(op)"
|
|
178
185
|
>
|
|
179
186
|
<i c8y-icon="times-circle"></i>
|
|
180
187
|
</button>
|
|
181
188
|
<button
|
|
182
|
-
ng-if="!hasLogFile(op) && isFailed(op)"
|
|
183
189
|
class="btn btn-dot btn-dot--danger a-s-center"
|
|
184
190
|
type="button"
|
|
185
|
-
uib-tooltip="{{ 'Delete operation' | translate }}"
|
|
186
191
|
aria-label="{{ 'Delete operation' | translate }}"
|
|
192
|
+
uib-tooltip="{{ 'Delete operation' | translate }}"
|
|
187
193
|
tooltip-popup-delay="500"
|
|
188
|
-
popover-trigger="'mouseenter focus'"
|
|
189
194
|
tooltip-placement="left"
|
|
190
195
|
ng-click="remove(op)"
|
|
196
|
+
ng-if="!hasLogFile(op) && isFailed(op)"
|
|
191
197
|
>
|
|
192
198
|
<i c8y-icon="delete"></i>
|
|
193
199
|
</button>
|
|
194
200
|
<button
|
|
195
|
-
ng-if="hasLogFile(op)"
|
|
196
|
-
title="{{ 'Expand' | translate }}"
|
|
197
|
-
type="button"
|
|
198
201
|
class="collapse-btn"
|
|
202
|
+
type="button"
|
|
203
|
+
title="{{ 'Expand' | translate }}"
|
|
199
204
|
ng-class="{ active: op === selectedLog }"
|
|
200
205
|
ng-click="op===selectedLog ? selectLogfile({}) :selectLogfile(op);"
|
|
206
|
+
ng-if="hasLogFile(op)"
|
|
201
207
|
>
|
|
202
208
|
<i c8y-icon="chevron-down"></i>
|
|
203
209
|
</button>
|
|
@@ -207,9 +213,9 @@
|
|
|
207
213
|
></span>
|
|
208
214
|
<span ng-if="hasLogFile(op)" class="dropdown settings" is-open="isopen" uib-dropdown>
|
|
209
215
|
<button
|
|
210
|
-
title="{{ 'Actions' | translate }}"
|
|
211
|
-
type="button"
|
|
212
216
|
class="dropdown-toggle c8y-dropdown btn-link"
|
|
217
|
+
type="button"
|
|
218
|
+
title="{{ 'Actions' | translate }}"
|
|
213
219
|
uib-dropdown-toggle
|
|
214
220
|
aria-haspopup="true"
|
|
215
221
|
>
|
|
@@ -217,16 +223,20 @@
|
|
|
217
223
|
</button>
|
|
218
224
|
<ul class="dropdown-menu dropdown-menu-right" uib-dropdown-menu>
|
|
219
225
|
<li>
|
|
220
|
-
<
|
|
226
|
+
<button title="{{ 'Delete log' | translate }}" type="button" ng-click="remove(op)">
|
|
221
227
|
<i c8y-icon="delete"></i>
|
|
222
228
|
{{ 'Delete' | translate }}
|
|
223
|
-
</
|
|
229
|
+
</button>
|
|
224
230
|
</li>
|
|
225
231
|
<li ng-show="isBinary(op)">
|
|
226
|
-
<
|
|
232
|
+
<button
|
|
233
|
+
title="{{ 'Download log' | translate }}"
|
|
234
|
+
type="button"
|
|
235
|
+
ng-click="download(op)"
|
|
236
|
+
>
|
|
227
237
|
<i c8y-icon="download"></i>
|
|
228
238
|
{{ 'Download' | translate }}
|
|
229
|
-
</
|
|
239
|
+
</button>
|
|
230
240
|
</li>
|
|
231
241
|
<li ng-hide="isBinary(op) || !op.c8y_LogfileRequest.file">
|
|
232
242
|
<a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(){function n(c,n,t,e,i,o,a,r,l,s,u,d,f,g){var p,m,b,v
|
|
1
|
+
"use strict";!function(){function n(c,n,t,e,i,o,a,r,l,s,u,d,f,g){var p,m,b,y,v=g("humanizeAppName"),h=this,w=s("Apply branding"),I=s("Save branding configuration first"),B={html_title:R,favicon:function(n){h.favicon=n?n.fileSrc:"",p&&p.document.querySelector("link[rel=icon]")&&(p.document.querySelector("link[rel=icon]").href=n?n.fileSrc:"")},"navigator-font-family":function(n){P("navigator-font-family",a.getFontFamilyCssVar(n))},appLogo:function(n){return P("navigator-platform-logo",n?"url(".concat(n.fileSrc,")"):"")},"brand-logo-img":function(n){return P("brand-logo-img",n?"url(".concat(n.fileSrc,")"):"")},"__import-font":function(n){var e=document.createElement("style");e.innerText="@import url('".concat(n,"')"),N().contentDocument.head.appendChild(e),p&&p.document.head.appendChild(e)}},C=!!window.MSInputMethodContext&&!!document.documentMode;function N(){return document.querySelector("#previewBrowser")}function A(){return h.isLoading=!0,n.all({schema:i.getSchema(),form:i.getForm(),options:i.getSchemaFormOptions(),branding:i.getBranding(),app:d.getCurrent()}).then(function(n){var e=n.schema,t=n.form,o=n.options,i=n.branding,a=n.app;_.defaults(i,{c8y_less_variables:{}}),b=_.cloneDeep(i),_.assign(h,{schema:e,form:t,options:o,branding:i}),y=a;var r=N();r.src="".concat(d.getHref(y),"/index.html"),r.onload=function(){r.appTitle=r.contentDocument.title,_.set(r.contentWindow,"C8Y_PREVIEW.preview",!0),_.set(r.contentWindow,"C8Y_PREVIEW.previewCookieBanner",k()),R(),E()},c.$watchCollection("vm.branding.c8y_less_variables",E)}).finally(function(){h.isLoading=!1})}function R(n){var e=n||T();h.title="".concat(e," - ").concat(N().appTitle),p&&(p.document.title="".concat(e," - ").concat(p.appTitle),p.C8Y_PREVIEW.globalTitle=e)}function T(){return _.get(h,"branding.c8y_less_variables.html_title")||u.appOption("globalTitle")}function k(){return _.pick(h.branding.c8y_less_variables,["cookieBannerDisabled","cookieBannerTitle","cookieBannerText","policyUrl"])}function E(){h.isLoading||_.forOwn(h.branding.c8y_less_variables,function(n,e){B[e]?B[e](n):P(e,n)})}function P(n,e){S(n,e,N().contentDocument.documentElement),p&&S(n,e,p.document.documentElement)}function S(n,e,t){var o=a.keyToCssVar(n);"navigator-platform-logo-height"===o?null==e||""===e?t.style.removeProperty("--".concat(o)):t.style.setProperty("--".concat(o),"".concat(e,"%")):t.style.setProperty("--".concat(o),_.isNumber(e)?"".concat(e,"px"):e)}function G(){return o.state().then($)}function $(n){var e=h.state;h.state=n,e&&e.RUNNING&&!n.RUNNING&&l.success(s("Branded applications created.")),e&&e.WAITING&&n.RUNNING&&l.success(s("Branded applications will be created.")),(n.RUNNING||n.WAITING)&&t(G,2e3)}_.assign(h,{$onInit:function(){r&&G();return A()},applyTitle:w,dirtyFormApplyTitle:I,canSave:function(){return!(_.get(c,"platformConfigurationForm1.$invalid")||_.get(c,"platformConfigurationForm2.$invalid"))},save:function(){var t=[],o=i.BINARY_VARS;return h.branding.binary_ref={},_.each(o,function(e){if(h.branding.c8y_less_variables[e]){var n=i.saveBinary(e,h.branding.c8y_less_variables[e],b.binary_ref,b.c8y_less_variables[e]).then(function(n){h.branding.binary_ref[e]=_.pick(n,["id","name"])});t.push(n)}}),n.all(t).then(function(){return h.branding.c8y_less_variables=_.omitBy(h.branding.c8y_less_variables,function(n,e){return""===_.trim(n)||_.includes(o,e)}),i.saveConfiguration(h.branding,b.id).then(function(){return l.success(s("Branding saved."))})}).then(e.reload)},generate:o.wizardGenerate,preview:function(){p=window.open("".concat(d.getHref(y),"/index.html"),"_blank"),function e(){clearInterval(m);m=setInterval(function(){if(p&&(p.C8Y_PREVIEW={preview:!0,globalTitle:T(),previewCookieBanner:k()},p.C8Y_APP)){var n=p.C8Y_APP.name;p.appTitle=v(n),clearInterval(m),E(),p.onunload=function(){return e()}}})}()},blocked:function(){var n=h.state;return!_.get(h,"branding.id")||_.get(n,"RUNNING")||_.get(n,"WAITING")},title:window.document.title,favicon:"favicon.ico",useMicroservice:r,applyConfiguration:function(){a.removeLegacyBrandedApplications().then(function(){return f({status:"info",title:s("Apply branding configuration"),body:s("You are about to apply the branding configuration, making it visible to all subtenants. Do you want to proceed?"),labels:{ok:s("Apply")}})}).then(function(){a.deploy(h.branding.c8y_less_variables).then(function(){return l.success(s("Branding configuration is being applied. It usually takes less than a minute."))},function(n){l.danger(u.getResErrorMessage(n))})})},showPreview:!C,removeAppliedBranding:function(){f({status:"info",title:s("Remove branding"),body:s("You are about to remove applied branding.\n If you have any extra customization options set, they will be reset.\n The default branding will be shown to all subtenants. Do you want to proceed?"),labels:{ok:s("Remove")}}).then(function(){a.reset().then(function(){return l.success(s("Branding has been removed."))})})},resetForm:function(n){f({status:"info",title:s("Reset branding configuration"),body:s("You are about to reset the branding configuration to the previously saved settings.\n Do you want to proceed?"),labels:{ok:s("Reset")}}).then(function(){A().then(function(){n&&n.$setPristine(),l.success(s("Branding configuration has been reset."))},function(n){return l.danger(n)})})}})}n.$inject=["$scope","$q","$timeout","$route","c8yBrandingConfigurationUi","c8yBrandingConfiguration","c8yBrandingDeploy","USE_BRANDING_MICROSERVICE","c8yAlert","gettext","c8yBase","c8yApplication","c8yModal","$filter"],angular.module("c8y.custom-branding").component("c8yBrandingConfigurationForm",{templateUrl:":::PLUGIN_PATH:::/customBranding/brandingConfigurationForm.html",controller:n,controllerAs:"vm"})}();
|