@c8y/ng1-modules 1018.379.0 → 1018.380.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(){function e(
|
|
1
|
+
"use strict";!function(){function e(t){e.$inject=["$scope","$element"];var a=[250,500,1e3];function n(e){if(e.paging&&(e.paging.next||e.paging.blind))return t("More data may be available.")}return{restrict:"EA",replace:!0,templateUrl:":::PLUGIN_PATH:::/ui/views/loadmore.html",link:function(o,e,t){Object.hasOwn(t,"cheapnextcheck")&&(o.cheapNextCheck=!0),o.hidePageSize=!0,o.getLoadMoreTooltip=_.partial(n,o),t=!_.isUndefined(t.changePageSize),!o.hidePageSize&&t&&(o._pageSizes=_.cloneDeep(a),o.$on("paging.statistics.pageSize",function(e){var e=parseInt(e,10),t=_.cloneDeep(a);e&&(o._pageSizes=_.without(t,e))}))},controller:e};function e(o,t){var a;function n(){var e=jQuery(t),e=_.head(e);a||(e=e.querySelector(".classForObserver"),(a=new IntersectionObserver(i,{root:null,rootMargin:"0px 0px 0px 0px",threshold:1})).observe(e))}function i(e){o.paging&&o.paging.next&&e.forEach(function(e){e.isIntersecting&&o.loadNext()})}o.$watch("paging",function(e){var t;e&&e.next?(t=e.next)===_.noop?o.shouldShowLoadMore=!0:e.noPreFetch?(o.shouldShowLoadMore=!0,n()):o.cheapNextCheck&&e.statistics&&e.statistics.currentPage&&e.statistics.totalPages?(o.shouldShowLoadMore=e.statistics.currentPage<e.statistics.totalPages,o.shouldShowLoadMore&&n()):t().then(function(e){o.shouldShowLoadMore=!_.isEmpty(e),o.shouldShowLoadMore&&n()}):o.shouldShowLoadMore=!1})}}e.$inject=["gettext"],angular.module("c8y.ui").directive("c8yLoadMore",e)}();
|
package/package.json
CHANGED
|
@@ -1,61 +1,103 @@
|
|
|
1
1
|
<div class="page-sticky-header user-list-row hidden-sm hidden-xs">
|
|
2
2
|
<div class="col-expand"></div>
|
|
3
|
-
<label
|
|
3
|
+
<label
|
|
4
|
+
class="col-username"
|
|
5
|
+
translate
|
|
6
|
+
>
|
|
7
|
+
Username and login alias
|
|
8
|
+
</label>
|
|
4
9
|
<label class="col-subaccounts"></label>
|
|
5
|
-
<label
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
<label
|
|
11
|
+
class="col-fullname"
|
|
12
|
+
translate
|
|
13
|
+
>
|
|
14
|
+
Name and email
|
|
15
|
+
</label>
|
|
16
|
+
<label
|
|
17
|
+
class="col-globalroles"
|
|
18
|
+
translate
|
|
19
|
+
>
|
|
20
|
+
Global roles
|
|
21
|
+
</label>
|
|
22
|
+
<label
|
|
23
|
+
class="col-passwordstrength"
|
|
24
|
+
style="flex: 0 0 92px"
|
|
25
|
+
translate
|
|
26
|
+
>
|
|
27
|
+
Pass strength
|
|
28
|
+
</label>
|
|
8
29
|
<div class="col-actions"></div>
|
|
9
30
|
</div>
|
|
10
31
|
|
|
11
32
|
<div
|
|
12
33
|
class="user-list-row"
|
|
13
|
-
ng-repeat="user in vm.userFlatTree | filter:vm.visible"
|
|
14
34
|
ng-class="::{owned: !!user.owner, owns: user.subusersCount > 0}"
|
|
15
35
|
ng-style="{ 'margin-left': user._depth * 4, 'margin-right': user._depth * 4 }"
|
|
36
|
+
ng-repeat="user in vm.userFlatTree | filter:vm.visible"
|
|
16
37
|
>
|
|
17
38
|
<button
|
|
18
39
|
class="col-expand interact btn-clean"
|
|
19
|
-
type="button"
|
|
20
40
|
title="{{ 'Direct sub-users' | translate }}"
|
|
41
|
+
type="button"
|
|
21
42
|
ng-click="::!vm.searchOn() && vm.toggleExpanded(user)"
|
|
22
43
|
ng-show="::user.subusersCount"
|
|
23
44
|
>
|
|
24
|
-
<label
|
|
45
|
+
<label
|
|
46
|
+
class="hidden-md hidden-lg"
|
|
47
|
+
translate
|
|
48
|
+
>
|
|
49
|
+
Direct sub-users
|
|
50
|
+
</label>
|
|
25
51
|
<span class="badge badge-info hidden-md hidden-lg">{{ user.subusersCount }}</span>
|
|
26
52
|
<i c8y-icon="chevron-down" ng-class="{ open: user._expanded }" ng-hide="vm.searchOn()" data-cy="user--with-subusers-expandBtn"></i>
|
|
27
53
|
</button>
|
|
28
|
-
<div
|
|
54
|
+
<div
|
|
55
|
+
class="col-expand"
|
|
56
|
+
ng-hide="::user.subusersCount"
|
|
57
|
+
></div>
|
|
29
58
|
|
|
30
59
|
<button
|
|
31
60
|
class="col-username interact text-truncate btn-clean l-h-1"
|
|
32
|
-
type="button"
|
|
33
61
|
ng-style="{ width: 250 - user._depth * 4 }"
|
|
62
|
+
type="button"
|
|
34
63
|
ng-click="vm.editUser(user)"
|
|
35
64
|
>
|
|
36
|
-
<div
|
|
65
|
+
<div
|
|
66
|
+
class="user-dot"
|
|
67
|
+
ng-class="{ 'user-disabled': !user.enabled }"
|
|
68
|
+
>
|
|
37
69
|
{{::user.userName.substr(0,2)}}
|
|
38
70
|
</div>
|
|
39
71
|
<span class="username text-truncate">
|
|
40
72
|
<span
|
|
41
|
-
title="{{:: user.userName + (user.displayName ? ' (' + user.displayName + ')' : '')}}"
|
|
42
73
|
class="h4"
|
|
74
|
+
title="{{:: user.userName + (user.displayName ? ' (' + user.displayName + ')' : '')}}"
|
|
43
75
|
>
|
|
44
76
|
{{::user.userName}}
|
|
45
77
|
</span>
|
|
46
78
|
<br />
|
|
47
79
|
<small
|
|
48
80
|
class="text-muted"
|
|
49
|
-
ng-if="user.displayName"
|
|
50
81
|
title="{{:: user.userName + (user.displayName ? ' (' + user.displayName + ')' : '')}}"
|
|
82
|
+
ng-if="user.displayName"
|
|
51
83
|
>
|
|
52
84
|
<em>{{::user.displayName}}</em>
|
|
53
85
|
</small>
|
|
54
86
|
|
|
55
87
|
<br ng-hide="::user.enabled" />
|
|
56
|
-
<small
|
|
88
|
+
<small
|
|
89
|
+
class="disabled"
|
|
90
|
+
ng-hide="::user.enabled"
|
|
91
|
+
translate
|
|
92
|
+
>
|
|
93
|
+
Disabled
|
|
94
|
+
</small>
|
|
57
95
|
<br ng-show="::user.delegatedBy" />
|
|
58
|
-
<small
|
|
96
|
+
<small
|
|
97
|
+
class="delegated text-primary"
|
|
98
|
+
ng-show="::user.delegatedBy"
|
|
99
|
+
translate
|
|
100
|
+
>
|
|
59
101
|
Delegated by {{::user.delegatedBy}}
|
|
60
102
|
</small>
|
|
61
103
|
</span>
|
|
@@ -64,11 +106,11 @@
|
|
|
64
106
|
<div class="col-subaccounts text-center">
|
|
65
107
|
<button
|
|
66
108
|
class="btn-clean"
|
|
67
|
-
type="button"
|
|
68
109
|
aria-label="{{ 'Direct sub-users' | translate }}"
|
|
69
110
|
uib-tooltip="{{ 'Direct sub-users' | translate }}"
|
|
70
111
|
tooltip-popup-delay="500"
|
|
71
112
|
tooltip-placement="right"
|
|
113
|
+
type="button"
|
|
72
114
|
ng-show="vm.USER_HIERARCHY && user.subusersCount"
|
|
73
115
|
>
|
|
74
116
|
<span class="badge badge-info">{{ user.subusersCount }}</span>
|
|
@@ -77,8 +119,8 @@
|
|
|
77
119
|
|
|
78
120
|
<button
|
|
79
121
|
class="col-fullname interact text-truncate btn-clean l-h-1"
|
|
80
|
-
type="button"
|
|
81
122
|
title="{{ 'Edit user' | translate }}"
|
|
123
|
+
type="button"
|
|
82
124
|
ng-click="vm.editUser(user)"
|
|
83
125
|
>
|
|
84
126
|
<span title="{{::vm.fullName(user)}}">{{::vm.fullName(user)}}</span>
|
|
@@ -101,8 +143,8 @@
|
|
|
101
143
|
<div class="col-sm-1 p-l-sm-4">
|
|
102
144
|
<button
|
|
103
145
|
class="btn-help"
|
|
104
|
-
type="button"
|
|
105
146
|
aria-label="{{ 'Help' | translate }}"
|
|
147
|
+
type="button"
|
|
106
148
|
uib-popover-html="vm.editGlobalRolesForUserWithExternalOrigin | translate"
|
|
107
149
|
popover-trigger="'focus'"
|
|
108
150
|
popover-placement="right"
|
|
@@ -116,9 +158,9 @@
|
|
|
116
158
|
<!-- Password strength -->
|
|
117
159
|
<div class="col-passwordstrength">
|
|
118
160
|
<span
|
|
119
|
-
ng-if="user.passwordStrength"
|
|
120
161
|
class="icon-flex"
|
|
121
162
|
title="{{::vm.getPasswordStrength(user.passwordStrength) | translate}}"
|
|
163
|
+
ng-if="user.passwordStrength"
|
|
122
164
|
>
|
|
123
165
|
<i
|
|
124
166
|
c8y-icon="{{::vm.getPasswordIcon(user.passwordStrength)}}"
|
|
@@ -133,35 +175,44 @@
|
|
|
133
175
|
<div class="col-twofactorauth text-right">
|
|
134
176
|
<i
|
|
135
177
|
class="text-success"
|
|
136
|
-
ng-show="user.twoFactorAuthenticationEnabled"
|
|
137
|
-
uib-tooltip="{{ 'TFA active' | translate }} ({{ vm.totpStrategy }})"
|
|
138
178
|
c8y-icon="key"
|
|
179
|
+
uib-tooltip="{{ 'TFA active' | translate }} ({{ vm.totpStrategy }})"
|
|
180
|
+
ng-show="user.twoFactorAuthenticationEnabled"
|
|
139
181
|
></i>
|
|
140
182
|
</div>
|
|
141
183
|
|
|
142
184
|
<div class="col-actions">
|
|
143
|
-
<div
|
|
185
|
+
<div
|
|
186
|
+
class="dropdown"
|
|
187
|
+
uib-dropdown
|
|
188
|
+
>
|
|
144
189
|
<button
|
|
145
190
|
class="dropdown-toggle c8y-dropdown"
|
|
146
|
-
type="button"
|
|
147
191
|
title="{{ 'Actions' | translate }}"
|
|
148
|
-
uib-dropdown-toggle
|
|
149
192
|
aria-haspopup="true"
|
|
193
|
+
type="button"
|
|
194
|
+
uib-dropdown-toggle
|
|
150
195
|
ng-click="::$event.stopPropagation()"
|
|
151
196
|
>
|
|
152
197
|
<span><i c8y-icon="ellipsis-v"></i></span>
|
|
153
198
|
</button>
|
|
154
|
-
<ul
|
|
199
|
+
<ul
|
|
200
|
+
class="dropdown-menu dropdown-menu-right"
|
|
201
|
+
uib-dropdown-menu
|
|
202
|
+
>
|
|
155
203
|
<li>
|
|
156
|
-
<a
|
|
204
|
+
<a
|
|
205
|
+
title="{{ 'Edit' | translate }}"
|
|
206
|
+
ng-href="#{{::vm.detailLink(user)}}"
|
|
207
|
+
>
|
|
157
208
|
<i c8y-icon="edit"></i>
|
|
158
209
|
{{ 'Edit' | translate }}
|
|
159
210
|
</a>
|
|
160
211
|
</li>
|
|
161
212
|
<li>
|
|
162
213
|
<button
|
|
163
|
-
type="button"
|
|
164
214
|
title="{{ 'Copy inventory roles from' | translate }}…"
|
|
215
|
+
type="button"
|
|
165
216
|
ng-click="vm.copyInventoryRoles(user)"
|
|
166
217
|
>
|
|
167
218
|
<i c8y-icon="clipboard"></i>
|
|
@@ -169,15 +220,19 @@
|
|
|
169
220
|
</button>
|
|
170
221
|
</li>
|
|
171
222
|
<li ng-show="::vm.showDelegate(user)">
|
|
172
|
-
<button
|
|
223
|
+
<button
|
|
224
|
+
title="{{ 'Delegate' | translate }}"
|
|
225
|
+
type="button"
|
|
226
|
+
ng-click="vm.delegate(user)"
|
|
227
|
+
>
|
|
173
228
|
<i c8y-icon="batch-assign"></i>
|
|
174
229
|
{{ 'Delegate' | translate }}
|
|
175
230
|
</button>
|
|
176
231
|
</li>
|
|
177
232
|
<li ng-show="::vm.showUndelegate(user)">
|
|
178
233
|
<button
|
|
179
|
-
type="button"
|
|
180
234
|
title="{{ 'Undelegate' | translate }}"
|
|
235
|
+
type="button"
|
|
181
236
|
ng-click="vm.removeDelegate(user)"
|
|
182
237
|
>
|
|
183
238
|
<i c8y-icon="batch-assign"></i>
|
|
@@ -185,21 +240,29 @@
|
|
|
185
240
|
</button>
|
|
186
241
|
</li>
|
|
187
242
|
<li ng-show="user.enabled && !vm.isCurrent(user)">
|
|
188
|
-
<button
|
|
243
|
+
<button
|
|
244
|
+
title="{{ 'Disable' | translate }}"
|
|
245
|
+
type="button"
|
|
246
|
+
ng-click="vm.disable(user)"
|
|
247
|
+
>
|
|
189
248
|
<i c8y-icon="ban"></i>
|
|
190
249
|
{{ 'Disable' | translate }}
|
|
191
250
|
</button>
|
|
192
251
|
</li>
|
|
193
252
|
<li ng-hide="::(user.enabled)">
|
|
194
|
-
<button
|
|
253
|
+
<button
|
|
254
|
+
title="{{ 'Enable' | translate }}"
|
|
255
|
+
type="button"
|
|
256
|
+
ng-click="vm.enable(user)"
|
|
257
|
+
>
|
|
195
258
|
<i c8y-icon="check-circle-o"></i>
|
|
196
259
|
{{ 'Enable' | translate }}
|
|
197
260
|
</button>
|
|
198
261
|
</li>
|
|
199
262
|
<li>
|
|
200
263
|
<button
|
|
201
|
-
type="button"
|
|
202
264
|
title="{{ 'Delete' | translate }}"
|
|
265
|
+
type="button"
|
|
203
266
|
ng-click="vm.remove(user)"
|
|
204
267
|
ng-hide="::vm.isUndeletable(user)"
|
|
205
268
|
>
|
|
@@ -210,7 +273,10 @@
|
|
|
210
273
|
</ul>
|
|
211
274
|
</div>
|
|
212
275
|
</div>
|
|
213
|
-
<div
|
|
276
|
+
<div
|
|
277
|
+
class="tip"
|
|
278
|
+
ng-class="{ expanded: user._expanded }"
|
|
279
|
+
></div>
|
|
214
280
|
</div>
|
|
215
281
|
|
|
216
|
-
<c8y-load-more></c8y-load-more>
|
|
282
|
+
<c8y-load-more cheapNextCheck></c8y-load-more>
|