@c8y/ng1-modules 1017.0.7 → 1017.0.9

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 (60) hide show
  1. package/administration-deviceUsers/views/list.html +1 -0
  2. package/alarmsEventsExplorer/alarmsEventsTimelinesConfig/alarmsEventsTimelinesConfig.html +1 -0
  3. package/app-status/app-events/app-events.html +3 -4
  4. package/app-status/app-status/app-status.html +1 -1
  5. package/asset-notes/assetNotes.html +15 -6
  6. package/assetPropertyWidget/views/main.html +2 -2
  7. package/binaryArtefactsManagement/views/list.html +1 -0
  8. package/commandTemplates/views/commandTemplates.html +1 -0
  9. package/core/ui/containers/header.html +1 -0
  10. package/core/ui/forms/search.html +2 -0
  11. package/core/ui/header/actions.html +1 -0
  12. package/core/ui/itemSelector/itemSelector.html +1 -0
  13. package/core/ui/navigation/breadcrumbs.html +13 -16
  14. package/core/ui/properties/propertySelector.html +1 -0
  15. package/core/ui/schemaForm/overrides/decorators/bootstrap/checkbox.html +8 -2
  16. package/core/ui/schemaForm/overrides/decorators/bootstrap/default.html +9 -10
  17. package/core/ui/schemaForm/overrides/decorators/bootstrap/password.html +9 -8
  18. package/core/ui/schemaForm/overrides/decorators/bootstrap/textarea.html +7 -7
  19. package/core/ui/user/editUser.directive.html +1 -0
  20. package/core/ui/user/userPicker.html +26 -17
  21. package/core/ui/views/actions.html +2 -0
  22. package/core/ui/views/alarmList.html +15 -6
  23. package/core/ui/views/eventList.html +7 -10
  24. package/core/ui/views/filePicker.html +4 -1
  25. package/core/ui/views/loadmore.html +1 -0
  26. package/dataBroker/connectors/connectors.html +1 -0
  27. package/dataBroker/subscriptions/subscription.html +1 -0
  28. package/device-protocol-deviceDatabase4/device-type-create-step.html +11 -10
  29. package/device-protocol-impact/impact-create-step.html +13 -11
  30. package/device-protocol-opcua-v2/opcua-v2-create-step.html +8 -3
  31. package/device-protocols/deviceProtocolList.html +1 -0
  32. package/deviceDatabase4/device-type-list.html +1 -0
  33. package/deviceDatabase4/modals/import-device-type.html +4 -2
  34. package/deviceDetailIdentity/views/identity.html +1 -12
  35. package/deviceStatusWidget/requiredAvailabilityIntervalSetting.html +3 -2
  36. package/devicemanagement-location/views/index.html +5 -6
  37. package/devicemanagement-logViewer/views/index.html +1 -0
  38. package/export/views/list.html +1 -0
  39. package/generic-ui/generic-ui-inventory.html +1 -0
  40. package/groupsHierarchy/views/groupsList.html +1 -0
  41. package/measurements/views/iconBar.html +1 -1
  42. package/package.json +1 -1
  43. package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.html +1 -0
  44. package/roles/detail/roleInventoryPermissionList.html +25 -16
  45. package/roles/list/rolesList.html +1 -0
  46. package/simulators/list/list.html +1 -0
  47. package/smartRestEditor/requestEditor/requestEditor.html +2 -2
  48. package/smartRestEditor/valueInput/valueInput.html +1 -3
  49. package/smartRestEditor/views/list.html +1 -0
  50. package/smartRules/list/smartRulesList.html +3 -3
  51. package/smartRules/views/childAssetsSelector.html +1 -0
  52. package/tenantApplications/subscribed-applications/subscribed-applications.html +9 -5
  53. package/tenantApplications/views/index.html +14 -9
  54. package/tenantApplications/views/popover.html +4 -3
  55. package/tenantLicenses/licenseManagement.html +1 -0
  56. package/tenantPolicies/tenantPolicyList/tenantPolicyList.html +1 -0
  57. package/userRoles/copyRolesModal/copyRolesModal.html +8 -5
  58. package/userRoles/inventoryRoleSelector/inventoryRoleSelector.html +2 -0
  59. package/userRoles/inventoryRolesTab/inventoryRolesTab.html +9 -11
  60. package/users/userList/userList.html +1 -0
@@ -168,6 +168,7 @@
168
168
  type="button"
169
169
  uib-dropdown-toggle
170
170
  ng-click="::$event.stopPropagation()"
171
+ aria-haspopup="true"
171
172
  >
172
173
  <i c8y-icon="ellipsis-v"></i>
173
174
  </button>
@@ -72,6 +72,7 @@
72
72
  type="button"
73
73
  class="dropdown-toggle c8y-dropdown"
74
74
  uib-dropdown-toggle
75
+ aria-haspopup="true"
75
76
  >
76
77
  <i c8y-icon="ellipsis-v"></i>
77
78
  </button>
@@ -2,7 +2,6 @@
2
2
  filters="vm.filter"
3
3
  realtime="vm.realtime"
4
4
  hide-header-actions="true"
5
- refresh-loading='vm.refreshLoading'
6
- hide-device='vm.hideDevice'>
7
- </c8y-event-list>
8
-
5
+ refresh-loading="vm.refreshLoading"
6
+ hide-device="vm.hideDevice"
7
+ ></c8y-event-list>
@@ -112,7 +112,7 @@
112
112
 
113
113
  </button>
114
114
  </div>
115
- <div class="card-block large-padding p-t-0 p-r-md-0 hide-inner-cards">
115
+ <div class="card-block large-padding p-r-md-0 hide-inner-cards">
116
116
  <c8y-app-alarms
117
117
  hide-device="true"
118
118
  realtime="vm.realtime"
@@ -6,20 +6,30 @@
6
6
  <div ng-if="vm.notes && !vm.notes.htmlContent">
7
7
  {{ 'No notes yet.' | translate }}
8
8
  <c8y-if-allowed admin-mos="[vm.config.context]">
9
- <a title="{{ 'Edit' | translate }}" class="small" href="" ng-click="vm.edit()">
9
+ <button
10
+ type="button"
11
+ title="{{ 'Edit' | translate }}"
12
+ class="btn btn-link btn-sm"
13
+ ng-click="vm.edit()"
14
+ >
10
15
  <i c8y-icon="pencil"></i>
11
16
  {{ 'Edit' | translate }}
12
- </a>
17
+ </button>
13
18
  </c8y-if-allowed>
14
19
  </div>
15
20
 
16
21
  <div ng-if="vm.notes && vm.notes.htmlContent" class="text-break-word asset-notes-body">
17
22
  <span ng-bind-html="vm.notes.htmlContent"></span>
18
23
  <c8y-if-allowed admin-mos="[vm.config.context]">
19
- <a title="{{ 'Edit' | translate }}" class="small" href="" ng-click="vm.edit()">
24
+ <button
25
+ type="button"
26
+ title="{{ 'Edit' | translate }}"
27
+ class="btn btn-link btn-sm"
28
+ ng-click="vm.edit()"
29
+ >
20
30
  <i c8y-icon="pencil"></i>
21
31
  {{ 'Edit' | translate }}
22
- </a>
32
+ </button>
23
33
  </c8y-if-allowed>
24
34
  </div>
25
35
 
@@ -34,6 +44,7 @@
34
44
  <div ng-if="vm.editable" class="fit-h flex-grow">
35
45
  <div class="d-flex a-i-stretch fit-h">
36
46
  <textarea
47
+ aria-label="{{ 'Notes' | translate }}"
37
48
  class="form-control fit-h"
38
49
  ng-model="vm.editedNotes.htmlContent"
39
50
  rows="5"
@@ -43,7 +54,6 @@
43
54
  <button
44
55
  type="button"
45
56
  class="btn btn-dot"
46
- aria-label="{{ 'Save' | translate }}"
47
57
  ng-click="vm.save()"
48
58
  title="{{ 'Save' | translate }}"
49
59
  >
@@ -55,7 +65,6 @@
55
65
  type="button"
56
66
  class="btn btn-dot"
57
67
  ng-click="vm.cancel()"
58
- aria-label="{{ 'Cancel' | translate }}"
59
68
  title="{{ 'Cancel' | translate }}"
60
69
  >
61
70
  <i c8y-icon="times"></i>
@@ -9,7 +9,7 @@
9
9
  ></c8y-schema-form>
10
10
  </form>
11
11
  <c8y-if-allowed admin-mos="[managedObject]" class="d-contents">
12
- <div class="p-16 separator-bottom" ng-show="editable && canAddProperties()">
12
+ <div class="p-t-8 p-16" ng-show="editable && canAddProperties()">
13
13
  <button
14
14
  title="{{ 'Add fragment' | translate }}"
15
15
  type="button"
@@ -21,7 +21,7 @@
21
21
  </button>
22
22
  </div>
23
23
 
24
- <div c8y-widget-footer class="p-16 sticky-bottom bg-level-1 separator-top">
24
+ <div c8y-widget-footer class="p-16 sticky-bottom bg-level-0 separator-top">
25
25
  <button
26
26
  title="{{ 'Edit' | translate }}"
27
27
  type="button"
@@ -179,6 +179,7 @@
179
179
  title="{{ 'Actions' | translate }}"
180
180
  type="button"
181
181
  uib-dropdown-toggle
182
+ aria-haspopup="true"
182
183
  >
183
184
  <i c8y-icon="ellipsis-v"></i>
184
185
  </button>
@@ -113,6 +113,7 @@
113
113
  title="{{ 'Actions' | translate }}"
114
114
  type="button"
115
115
  uib-dropdown-toggle
116
+ aria-haspopup="true"
116
117
  >
117
118
  <i c8y-icon="ellipsis-v"></i>
118
119
  </button>
@@ -42,6 +42,7 @@
42
42
  type="button"
43
43
  class=" main-header-button dropdown-toggle c8y-dropdown"
44
44
  uib-dropdown-toggle
45
+ aria-haspopup="true"
45
46
  >
46
47
  <i c8y-icon="th" class="icon-2x"></i>
47
48
  </button>
@@ -11,6 +11,7 @@
11
11
  type="button"
12
12
  class="main-header-button dropdown-toggle c8y-dropdown"
13
13
  uib-dropdown-toggle
14
+ aria-haspopup="true"
14
15
  >
15
16
  <i c8y-icon="search" class="icon-2x"></i>
16
17
  </button>
@@ -34,6 +35,7 @@
34
35
  class="btn btn-link dropdown-toggle"
35
36
  ng-if="vm.searchFunctionList.length > 1"
36
37
  uib-dropdown-toggle
38
+ aria-haspopup="true"
37
39
  >
38
40
  <span class="caret"></span>
39
41
  <i c8y-icon="search"></i>
@@ -4,6 +4,7 @@
4
4
  type="button"
5
5
  class="main-header-button dropdown-toggle c8y-dropdown"
6
6
  uib-dropdown-toggle
7
+ aria-haspopup="true"
7
8
  >
8
9
  <i c8y-icon="plus-circle" class="icon-2x"></i>
9
10
  </button>
@@ -11,6 +11,7 @@
11
11
  title="{{ vm.displayLabel ? vm.displayLabel : vm.placeholder() }}"
12
12
  uib-dropdown-toggle
13
13
  ng-disabled="vm.disabled"
14
+ aria-haspopup="true"
14
15
  >
15
16
  <span class="text-truncate" ng-bind="vm.displayLabel" ng-show="vm.displayLabel"></span>
16
17
  <span
@@ -4,26 +4,23 @@
4
4
  ng-class="{ open: showAll, multiple: breadcrumbs.length > 1 }"
5
5
  >
6
6
  <button
7
+ title="{{
8
+ showAll ? ('Collapse breadcrumbs' | translate) : ('Expand all breadcrumbs' | translate)
9
+ }}"
10
+ aria-label="{{
11
+ showAll ? ('Collapse breadcrumbs' | translate) : ('Expand all breadcrumbs' | translate)
12
+ }}"
7
13
  ng-show="breadcrumbs.length > 1"
8
14
  class="btn-show-all-breadcrumbs pull-left"
9
15
  ng-click="showAll = !showAll"
16
+ uib-tooltip="{{
17
+ showAll ? ('Collapse breadcrumbs' | translate) : ('Expand all breadcrumbs' | translate)
18
+ }}"
19
+ tooltip-append-to-body="true"
20
+ tooltip-placement="auto"
21
+ tooltip-popup-delay="500"
10
22
  >
11
- <i
12
- ng-hide="showAll"
13
- c8y-icon="caret-right"
14
- uib-tooltip="{{ 'Show all breadcrumbs' | translate }}"
15
- tooltip-append-to-body="true"
16
- tooltip-placement="auto"
17
- tooltip-popup-delay="500"
18
- ></i>
19
- <i
20
- ng-show="showAll"
21
- c8y-icon="caret-down"
22
- uib-tooltip="{{ 'Collapse breadcrumbs' | translate }}"
23
- tooltip-append-to-body="true"
24
- tooltip-placement="auto"
25
- tooltip-popup-delay="500"
26
- ></i>
23
+ <i ng-class="{ 'icon-rotate-90': showAll }" c8y-icon="caret-right"></i>
27
24
  </button>
28
25
 
29
26
  <ul class="breadcrumbs text-muted" ng-repeat="path in breadcrumbs" ng-show="$first || showAll">
@@ -17,6 +17,7 @@
17
17
  type="button"
18
18
  class="btn btn-default btn-xs dropdown-toggle c8y-dropdown"
19
19
  uib-dropdown-toggle
20
+ aria-haspopup="true"
20
21
  >
21
22
  <i c8y-icon="plus"></i>
22
23
  {{ 'Add action' | translate }}
@@ -6,7 +6,11 @@
6
6
  'has-success': form.disableSuccessState !== true && hasSuccess()
7
7
  }"
8
8
  >
9
- <label title="{{ form.title | translate }}" class="c8y-checkbox {{ form.labelHtmlClass }}">
9
+ <label
10
+ title="{{ form.title | translate }}"
11
+ class="c8y-checkbox {{ form.labelHtmlClass }}"
12
+ for="sf-{{ form.key.slice(-1)[0] + $id }}"
13
+ >
10
14
  <input
11
15
  type="checkbox"
12
16
  sf-changed="form"
@@ -15,7 +19,9 @@
15
19
  ng-model-options="form.ngModelOptions"
16
20
  schema-validate="form"
17
21
  class="{{ form.fieldHtmlClass }}"
18
- name="{{ form.key.slice(-1)[0] }}"
22
+ title="{{ form.title | translate }}"
23
+ name="sf-{{ form.key.slice(-1)[0] + $id }}"
24
+ id="sf-{{ form.key.slice(-1)[0] + $id }}"
19
25
  />
20
26
  <span></span>
21
27
  <!-- To hide the label set form.labelHtmlClass to 'no-label' -->
@@ -9,7 +9,7 @@
9
9
  <label
10
10
  class="control-label {{ form.labelHtmlClass }}"
11
11
  ng-class="{ 'sr-only': !showTitle() }"
12
- for="{{ form.key.slice(-1)[0] + $id }}"
12
+ for="sf-{{ form.key.slice(-1)[0] + $id }}"
13
13
  >
14
14
  {{ form.title | translate }}
15
15
  </label>
@@ -21,15 +21,14 @@
21
21
  sf-changed="form"
22
22
  placeholder="{{ form.placeholder | translate }}"
23
23
  class="text-truncate form-control {{ form.fieldHtmlClass }}"
24
- id="{{ form.key.slice(-1)[0] + $id }}"
25
24
  ng-model-options="form.ngModelOptions"
26
25
  ng-model="$$value$$"
27
26
  ng-readonly="form.readonly"
28
27
  schema-validate="form"
29
- title="$$value$$"
30
- name="{{ form.key.slice(-1)[0] + $id }}"
31
- id="{{ form.key.slice(-1)[0] + $id }}"
32
- />
28
+ title="{{ form.title | translate }}"
29
+ id="sf-{{ form.key.slice(-1)[0] + $id }}"
30
+ name="sf-{{ form.key.slice(-1)[0] + $id }}"
31
+ />
33
32
 
34
33
  <div
35
34
  ng-if="form.fieldAddonLeft || form.fieldAddonRight"
@@ -47,14 +46,14 @@
47
46
  sf-changed="form"
48
47
  placeholder="{{ form.placeholder | translate }}"
49
48
  class="text-truncate form-control {{ form.fieldHtmlClass }}"
50
- id="{{ form.key.slice(-1)[0] + $id }}"
51
49
  ng-model-options="form.ngModelOptions"
52
50
  ng-model="$$value$$"
53
51
  ng-readonly="form.readonly"
54
52
  schema-validate="form"
55
- title="{{ $$value$$ }}"
56
- name="{{ form.key.slice(-1)[0] + $id }}"
57
- />
53
+ title="{{ form.title | translate }}"
54
+ id="sf-{{ form.key.slice(-1)[0] + $id }}"
55
+ name="sf-{{ form.key.slice(-1)[0] + $id }}"
56
+ />
58
57
 
59
58
  <span
60
59
  ng-if="form.fieldAddonRight"
@@ -9,7 +9,7 @@
9
9
  <label
10
10
  class="control-label {{ form.labelHtmlClass }}"
11
11
  ng-class="{ 'sr-only': !showTitle() }"
12
- for="{{ form.key.slice(-1)[0] }}"
12
+ for="sf-{{ form.key.slice(-1)[0] + $id }}"
13
13
  >
14
14
  {{ form.title | translate }}
15
15
  </label>
@@ -21,15 +21,15 @@
21
21
  sf-changed="form"
22
22
  placeholder="{{ form.placeholder | translate }}"
23
23
  class="form-control {{ form.fieldHtmlClass }}"
24
- id="{{ form.key.slice(-1)[0] }}"
25
24
  ng-model-options="form.ngModelOptions"
26
25
  ng-model="$$value$$"
27
26
  ng-disabled="form.readonly"
28
27
  schema-validate="form"
29
- name="{{ form.key.slice(-1)[0] }}"
30
- title="$$value$$"
28
+ id="sf-{{ form.key.slice(-1)[0] + $id }}"
29
+ name="sf-{{ form.key.slice(-1)[0] + $id }}"
30
+ title="{{ form.title | translate }}"
31
31
  c8y-autocomplete="off"
32
- />
32
+ />
33
33
 
34
34
  <div
35
35
  ng-if="form.fieldAddonLeft || form.fieldAddonRight"
@@ -47,14 +47,15 @@
47
47
  sf-changed="form"
48
48
  placeholder="{{ form.placeholder | translate }}"
49
49
  class="form-control {{ form.fieldHtmlClass }}"
50
- id="{{ form.key.slice(-1)[0] }}"
51
50
  ng-model-options="form.ngModelOptions"
52
51
  ng-model="$$value$$"
53
52
  ng-disabled="form.readonly"
54
53
  schema-validate="form"
55
- name="{{ form.key.slice(-1)[0] }}"
54
+ title="{{ form.title | translate }}"
55
+ id="sf-{{ form.key.slice(-1)[0] + $id }}"
56
+ name="sf-{{ form.key.slice(-1)[0] + $id }}"
56
57
  c8y-autocomplete="off"
57
- />
58
+ />
58
59
  <span
59
60
  ng-if="form.fieldAddonRight"
60
61
  class="input-group-addon"
@@ -8,22 +8,22 @@
8
8
  <label
9
9
  class="{{ form.labelHtmlClass }}"
10
10
  ng-class="{ 'sr-only': !showTitle() }"
11
- for="{{ form.key.slice(-1)[0] }}"
11
+ for="sf-{{ form.key.slice(-1)[0] + $id }}"
12
12
  >
13
13
  {{ form.title | translate }}
14
14
  </label>
15
15
  <textarea
16
16
  ng-if="!form.fieldAddonLeft && !form.fieldAddonRight"
17
17
  class="form-control {{ form.fieldHtmlClass }}"
18
- id="{{ form.key.slice(-1)[0] + $id }}"
19
18
  sf-changed="form"
20
19
  placeholder="{{ form.placeholder | translate }}"
21
20
  ng-readonly="form.readonly"
22
21
  ng-model="$$value$$"
23
22
  ng-model-options="form.ngModelOptions"
24
23
  schema-validate="form"
25
- name="{{ form.key.slice(-1)[0] }}"
26
- aria-label="{{ 'Form title' | translate }}"
24
+ name="sf-{{ form.key.slice(-1)[0] + $id }}"
25
+ title="{{ form.title | translate }}"
26
+ id="sf-{{ form.key.slice(-1)[0] + $id }}"
27
27
  rows="10"
28
28
  ></textarea>
29
29
  <div
@@ -36,16 +36,16 @@
36
36
  ng-bind-html="form.fieldAddonLeft"
37
37
  ></span>
38
38
  <textarea
39
- aria-label="{{ 'Form title' | translate }}"
40
39
  class="form-control {{ form.fieldHtmlClass }}"
41
- id="{{ form.key.slice(-1)[0] + $id }}"
42
40
  sf-changed="form"
43
41
  placeholder="{{ form.placeholder | translate }}"
44
42
  ng-readonly="form.readonly"
45
43
  ng-model="$$value$$"
46
44
  ng-model-options="form.ngModelOptions"
47
45
  schema-validate="form"
48
- name="{{ form.key.slice(-1)[0] }}"
46
+ name="sf-{{ form.key.slice(-1)[0] + $id }}"
47
+ title="{{ form.title | translate }}"
48
+ id="sf-{{ form.key.slice(-1)[0] + $id }}"
49
49
  ></textarea>
50
50
  <span
51
51
  ng-if="form.fieldAddonRight"
@@ -210,6 +210,7 @@
210
210
  class="btn dropdown-toggle fit-w"
211
211
  data-toggle="dropdown"
212
212
  uib-dropdown-toggle
213
+ aria-haspopup="true"
213
214
  >
214
215
  <span class="d-flex">
215
216
  <span title="{{ user.owner }}" ng-if="user.owner" class="text-truncate">
@@ -1,4 +1,4 @@
1
- <div class="p-r-16 p-l-16 p-b-16 separator-bottom">
1
+ <div class="p-16 separator-bottom">
2
2
  <div class="input-group input-group-search">
3
3
  <input
4
4
  title="{{ 'Filter users' | translate }}"
@@ -22,18 +22,21 @@
22
22
  </div>
23
23
  </div>
24
24
  <div class="user-picker-scroll">
25
- <c8y-rectangle-spinner ng-if="vm.loading" message="'Loading users…' | translate">
26
- </c8y-rectangle-spinner>
25
+ <c8y-rectangle-spinner
26
+ ng-if="vm.loading"
27
+ message="'Loading users…' | translate"
28
+ ></c8y-rectangle-spinner>
27
29
  <div class="list-group" ng-if="vm.userFlatTree">
28
30
  <div ng-if="vm.shouldShowWarning()" class="p-t-16 p-b-16 p-r-24 p-l-24">
29
31
  <div class="alert alert-warning" translate>
30
32
  Some users might not be shown. Try narrowing search criteria.
31
33
  </div>
32
34
  </div>
33
- <div ng-if="vm.userFlatTree.length === 0 && vm.loading === false" class="p-t-16 p-b-16 p-r-24 p-l-24">
34
- <div class="alert alert-warning" translate>
35
- No users found.
36
- </div>
35
+ <div
36
+ ng-if="vm.userFlatTree.length === 0 && vm.loading === false"
37
+ class="p-t-16 p-b-16 p-r-24 p-l-24"
38
+ >
39
+ <div class="alert alert-warning" translate>No users found.</div>
37
40
  </div>
38
41
  <div
39
42
  class="list-group-item d-flex a-i-center text-truncate p-l-0"
@@ -44,32 +47,38 @@
44
47
  class="d-inline-block p-r-4"
45
48
  ng-style="::{width: vm.userDepth(user)}"
46
49
  ng-hide="::user._owns.length"
47
- >
48
- </span>
50
+ ></span>
49
51
  <button
50
52
  class="col-expand btn-dot"
51
53
  ng-style="::{'margin-left': (user._depth * 30)}"
52
54
  ng-click="::$event.stopPropagation();vm.toggleExpanded(user)"
53
55
  ng-show="::user._owns.length"
56
+ title="{{ 'Expand/collapse' | translate }}"
54
57
  >
55
58
  <i
56
59
  c8y-icon="chevron-right"
57
- ng-class="{'icon-rotate-90':user._expanded}"
60
+ ng-class="{ 'icon-rotate-90': user._expanded }"
58
61
  ng-hide="vm.searchQuery"
59
62
  ></i>
60
63
  </button>
61
- <button class="d-flex btn-clean fit-w a-i-center" ng-click="::vm.toggleSelection(user)">
62
- <label class="c8y-radio m-r-8" tabindex="-1">
63
- <input type="radio" tabindex="-1" ng-checked="vm.isSelected(user)" />
64
- <span></span>
65
- </label>
66
- <div class="user-dot" ng-class="{'user-disabled': !user.enabled}">
64
+ <label class="c8y-radio m-r-8">
65
+ <input aria-label="{{::user.userName}}" type="radio" ng-checked="vm.isSelected(user)" />
66
+ <span></span>
67
+ </label>
68
+ <button
69
+ class="d-flex btn-clean fit-w a-i-center"
70
+ title="{{::user.userName}}"
71
+ ng-click="::vm.toggleSelection(user)"
72
+ >
73
+ <div class="user-dot" ng-class="{ 'user-disabled': !user.enabled }">
67
74
  {{::user.userName.substr(0,2)}}
68
75
  </div>
69
76
  <div class="username text-truncate l-h-1">
70
77
  <span title="{{::user.userName}}">{{::user.userName}}</span>
71
78
  <small ng-if="::user.firstName.length || user.lastName.length" class="text-muted">
72
- <br />{{::user.firstName}} {{::user.lastName}}</small>
79
+ <br />
80
+ {{::user.firstName}} {{::user.lastName}}
81
+ </small>
73
82
  </div>
74
83
  </button>
75
84
  </div>
@@ -9,6 +9,8 @@
9
9
  class="dropdown-toggle c8y-dropdown"
10
10
  ng-show="cogActionsVisible() || buttonActionsVisible()"
11
11
  uib-dropdown-toggle
12
+ aria-haspopup="true"
13
+ title="{{ 'Actions' | translate }}"
12
14
  >
13
15
  <i c8y-icon="cog icon-2x"></i>
14
16
  </button>
@@ -31,12 +31,21 @@
31
31
  <!-- alarm-list -->
32
32
  <div class="card-inner-scroll">
33
33
  <!-- empty state -->
34
- <div class="text-muted" ng-show="filteredAlarms.length === 0 && !refreshLoading">
35
- <div class="c8y-empty-state c8y-empty-state--horizontal">
36
- <div c8y-icon="c8y-alert-idle" class="text-center c8y-icon-duocolor"></div>
37
- <p><strong translate>No alarms to display.</strong></p>
38
- </div>
39
- </div>
34
+ <c8y-ui-empty-state
35
+ ng-if="filteredAlarms.length === 0 && !refreshLoading"
36
+ [icon]="'c8y-alert-idle'"
37
+ [title]="'No alarms to display.' | translate"
38
+ >
39
+ <p c8y-guide-docs>
40
+ <small translate>
41
+ Find out more in the
42
+ <a c8y-guide-href="users-guide/administration/#reprio-alarms">
43
+ User guide`KEEP_ORIGINAL`
44
+ </a>
45
+ .
46
+ </small>
47
+ </p>
48
+ </c8y-ui-empty-state>
40
49
 
41
50
  <!-- loading -->
42
51
  <div class="card-block" ng-show="refreshLoading && !paging.more">
@@ -140,15 +140,12 @@
140
140
  </div>
141
141
 
142
142
  <!-- empty state -->
143
- <div
144
- class="c8y-empty-state"
145
- ng-class="{ 'text-center m-t-40': !$parent.child.templateUrl }"
146
- ng-show="events.length == 0"
143
+ <c8y-ui-empty-state
144
+ ng-if="events.length == 0"
145
+ [icon]="'c8y-events'"
146
+ [title]="'No events to display.' | translate"
147
147
  >
148
- <h1 aria-label="{{ 'Icon' | translate }}" class="c8y-icon c8y-icon-events c8y-icon-duocolor"></h1>
149
- <div ng-show="!$parent.child.templateUrl" class="h3" translate>No events to display.</div>
150
- <p ng-show="$parent.child.templateUrl" translate>No events to display.</p>
151
- <p c8y-guide-docs>
148
+ <span c8y-guide-docs>
152
149
  <small translate>
153
150
  Find out more in the
154
151
  <a c8y-guide-href="users-guide/device-management/#to-view-events">
@@ -156,8 +153,8 @@
156
153
  </a>
157
154
  .
158
155
  </small>
159
- </p>
160
- </div>
156
+ </span>
157
+ </c8y-ui-empty-state>
161
158
 
162
159
  <div
163
160
  class="page-sticky-header hidden-xs c8y-list__item c8y-list--timeline"
@@ -40,9 +40,9 @@
40
40
  </p>
41
41
  <div class="progress">
42
42
  <div
43
+ aria-label="{{ vm.process.progress + '%' }}"
43
44
  class="progress-bar active progress-bar-striped"
44
45
  role="progressbar"
45
- aria-valuenow="{{ vm.process.progress }}"
46
46
  aria-valuemin="0"
47
47
  aria-valuemax="100"
48
48
  style="min-width: 2em"
@@ -68,6 +68,7 @@
68
68
  <span class="input-group-btn">
69
69
  <button
70
70
  title="{{ 'Select file' | translate }}"
71
+ aria-label="{{ 'Select file' | translate }}"
71
72
  type="button"
72
73
  class="btn btn-default"
73
74
  ng-file-select="vm.onFileSelect(file, $files)"
@@ -78,6 +79,7 @@
78
79
  <button
79
80
  class="btn btn-dot btn-dot--danger"
80
81
  title="{{ 'Remove' | translate }}"
82
+ aria-label="{{ 'Remove' | translate }}"
81
83
  type="button"
82
84
  ng-click="vm.remove(file)"
83
85
  ng-show="file.file.name || (vm.multiple && !$first)"
@@ -89,6 +91,7 @@
89
91
  </div>
90
92
  <button
91
93
  title="{{ 'Add file' | translate }}"
94
+ aria-label="{{ 'Add file' | translate }}"
92
95
  type="button"
93
96
  class="btn btn-default"
94
97
  ng-click="vm.add()"
@@ -26,6 +26,7 @@
26
26
  class="btn btn-default dropdown-toggle"
27
27
  uib-dropdown-toggle
28
28
  ng-show="!paging.blind && _pageSizes"
29
+ aria-haspopup="true"
29
30
  >
30
31
  {{ 'Page size' | translate }}
31
32
  <span class="caret"></span>
@@ -125,6 +125,7 @@
125
125
  class="dropdown-toggle c8y-dropdown"
126
126
  uib-dropdown-toggle
127
127
  ng-click="::$event.stopPropagation()"
128
+ aria-haspopup="true"
128
129
  >
129
130
  <span>
130
131
  <i c8y-icon="ellipsis-v"></i>
@@ -6,6 +6,7 @@
6
6
  class="dropdown-toggle c8y-dropdown"
7
7
  uib-dropdown-toggle
8
8
  ng-click="::$event.stopPropagation()"
9
+ aria-haspopup="true"
9
10
  >
10
11
  <i c8y-icon="ellipsis-v"></i>
11
12
  </button>