@c8y/ng1-modules 1018.312.0 → 1018.318.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/NOTICES CHANGED
@@ -1631,7 +1631,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
1631
1631
 
1632
1632
  -----
1633
1633
 
1634
- The following software may be included in this product: @nicolo-ribaudo/semver-v6, @trysound/sax, chownr, color-support, dezalgo, fs-minipass, fs-write-stream-atomic, glob, ignore-walk, ini, isexe, json-stringify-safe, lockfile, lru-cache, minimatch, minipass-collect, minipass-flush, minipass-pipeline, minipass-sized, mute-stream, nopt, npm-packlist, once, osenv, pseudomap, read, readdir-scoped-modules, rimraf, semver, tar, which, wrappy, yallist. A copy of the source code may be downloaded from https://github.com/nicolo-ribaudo/semver-v6 (@nicolo-ribaudo/semver-v6), git://github.com/svg/sax.git (@trysound/sax), git://github.com/isaacs/chownr.git (chownr), git+https://github.com/isaacs/color-support.git (color-support), https://github.com/npm/dezalgo (dezalgo), git+https://github.com/npm/fs-minipass.git (fs-minipass), https://github.com/npm/fs-write-stream-atomic (fs-write-stream-atomic), git://github.com/isaacs/node-glob.git (glob), git+https://github.com/isaacs/ignore-walk.git (ignore-walk), git://github.com/isaacs/ini.git (ini), git+https://github.com/isaacs/isexe.git (isexe), git://github.com/isaacs/json-stringify-safe (json-stringify-safe), https://github.com/npm/lockfile.git (lockfile), git://github.com/isaacs/node-lru-cache.git (lru-cache), git://github.com/isaacs/minimatch.git (minimatch), git+https://github.com/isaacs/minipass-flush.git (minipass-flush), git+https://github.com/isaacs/minipass-sized.git (minipass-sized), git://github.com/isaacs/mute-stream (mute-stream), https://github.com/npm/nopt.git (nopt), git+https://github.com/npm/npm-packlist.git (npm-packlist), git://github.com/isaacs/once (once), https://github.com/npm/osenv (osenv), git+https://github.com/isaacs/pseudomap.git (pseudomap), git://github.com/isaacs/read.git (read), https://github.com/npm/readdir-scoped-modules (readdir-scoped-modules), git://github.com/isaacs/rimraf.git (rimraf), https://github.com/npm/node-semver.git (semver), https://github.com/npm/node-tar.git (tar), git://github.com/isaacs/node-which.git (which), https://github.com/npm/wrappy (wrappy), git+https://github.com/isaacs/yallist.git (yallist). This software contains the following license and notice below:
1634
+ The following software may be included in this product: @nicolo-ribaudo/semver-v6, @trysound/sax, chownr, color-support, dezalgo, fs-minipass, fs-write-stream-atomic, glob, ignore-walk, ini, isexe, json-stringify-safe, lockfile, lru-cache, minimatch, minipass-collect, minipass-flush, minipass-pipeline, minipass-sized, mute-stream, nopt, npm-packlist, once, osenv, pseudomap, read, readdir-scoped-modules, rimraf, semver, tar, which, wrappy, yallist. A copy of the source code may be downloaded from https://github.com/nicolo-ribaudo/semver-v6 (@nicolo-ribaudo/semver-v6), git://github.com/svg/sax.git (@trysound/sax), git://github.com/isaacs/chownr.git (chownr), git+https://github.com/isaacs/color-support.git (color-support), https://github.com/npm/dezalgo (dezalgo), git+https://github.com/npm/fs-minipass.git (fs-minipass), https://github.com/npm/fs-write-stream-atomic (fs-write-stream-atomic), git://github.com/isaacs/node-glob.git (glob), git+https://github.com/isaacs/ignore-walk.git (ignore-walk), git://github.com/isaacs/ini.git (ini), git+https://github.com/isaacs/isexe.git (isexe), git://github.com/isaacs/json-stringify-safe (json-stringify-safe), https://github.com/npm/lockfile.git (lockfile), git://github.com/isaacs/node-lru-cache.git (lru-cache), git://github.com/isaacs/minimatch.git (minimatch), git+https://github.com/isaacs/minipass-flush.git (minipass-flush), git+https://github.com/isaacs/minipass-sized.git (minipass-sized), git://github.com/isaacs/mute-stream (mute-stream), https://github.com/npm/nopt.git (nopt), git+https://github.com/npm/npm-packlist.git (npm-packlist), git://github.com/isaacs/once (once), https://github.com/npm/osenv (osenv), git+https://github.com/isaacs/pseudomap.git (pseudomap), git://github.com/isaacs/read.git (read), https://github.com/npm/readdir-scoped-modules (readdir-scoped-modules), git://github.com/isaacs/rimraf.git (rimraf), https://github.com/npm/node-semver (semver), https://github.com/npm/node-tar.git (tar), git://github.com/isaacs/node-which.git (which), https://github.com/npm/wrappy (wrappy), git+https://github.com/isaacs/yallist.git (yallist). This software contains the following license and notice below:
1635
1635
 
1636
1636
  The ISC License
1637
1637
 
@@ -5057,6 +5057,32 @@ THE SOFTWARE.
5057
5057
 
5058
5058
  -----
5059
5059
 
5060
+ The following software may be included in this product: array-buffer-byte-length. A copy of the source code may be downloaded from git+https://github.com/inspect-js/array-buffer-byte-length.git. This software contains the following license and notice below:
5061
+
5062
+ MIT License
5063
+
5064
+ Copyright (c) 2023 Inspect JS
5065
+
5066
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5067
+ of this software and associated documentation files (the "Software"), to deal
5068
+ in the Software without restriction, including without limitation the rights
5069
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5070
+ copies of the Software, and to permit persons to whom the Software is
5071
+ furnished to do so, subject to the following conditions:
5072
+
5073
+ The above copyright notice and this permission notice shall be included in all
5074
+ copies or substantial portions of the Software.
5075
+
5076
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5077
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5078
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
5079
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
5080
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
5081
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
5082
+ SOFTWARE.
5083
+
5084
+ -----
5085
+
5060
5086
  The following software may be included in this product: array-each. A copy of the source code may be downloaded from https://github.com/jonschlinkert/array-each.git. This software contains the following license and notice below:
5061
5087
 
5062
5088
  The MIT License (MIT)
@@ -5173,7 +5199,7 @@ THE SOFTWARE.
5173
5199
 
5174
5200
  -----
5175
5201
 
5176
- The following software may be included in this product: array.prototype.flat. A copy of the source code may be downloaded from git://github.com/es-shims/Array.prototype.flat.git. This software contains the following license and notice below:
5202
+ The following software may be included in this product: array.prototype.flat, array.prototype.flatmap. A copy of the source code may be downloaded from git://github.com/es-shims/Array.prototype.flat.git (array.prototype.flat), git://github.com/es-shims/Array.prototype.flatMap.git (array.prototype.flatmap). This software contains the following license and notice below:
5177
5203
 
5178
5204
  MIT License
5179
5205
 
@@ -5709,7 +5735,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
5709
5735
 
5710
5736
  -----
5711
5737
 
5712
- The following software may be included in this product: available-typed-arrays, is-weakref. A copy of the source code may be downloaded from git+https://github.com/inspect-js/available-typed-arrays.git (available-typed-arrays), git+https://github.com/inspect-js/is-weakref.git (is-weakref). This software contains the following license and notice below:
5738
+ The following software may be included in this product: available-typed-arrays, is-weakref, typed-array-length. A copy of the source code may be downloaded from git+https://github.com/inspect-js/available-typed-arrays.git (available-typed-arrays), git+https://github.com/inspect-js/is-weakref.git (is-weakref), git+https://github.com/inspect-js/typed-array-length.git (typed-array-length). This software contains the following license and notice below:
5713
5739
 
5714
5740
  MIT License
5715
5741
 
@@ -12354,7 +12380,33 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
12354
12380
 
12355
12381
  -----
12356
12382
 
12357
- The following software may be included in this product: es-shim-unscopables. A copy of the source code may be downloaded from git+https://github.com/ljharb/es-shim-unscopables.git. This software contains the following license and notice below:
12383
+ The following software may be included in this product: es-set-tostringtag. A copy of the source code may be downloaded from git+https://github.com/es-shims/es-set-tostringtag.git. This software contains the following license and notice below:
12384
+
12385
+ MIT License
12386
+
12387
+ Copyright (c) 2022 ECMAScript Shims
12388
+
12389
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12390
+ of this software and associated documentation files (the "Software"), to deal
12391
+ in the Software without restriction, including without limitation the rights
12392
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12393
+ copies of the Software, and to permit persons to whom the Software is
12394
+ furnished to do so, subject to the following conditions:
12395
+
12396
+ The above copyright notice and this permission notice shall be included in all
12397
+ copies or substantial portions of the Software.
12398
+
12399
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12400
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12401
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
12402
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
12403
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12404
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
12405
+ SOFTWARE.
12406
+
12407
+ -----
12408
+
12409
+ The following software may be included in this product: es-shim-unscopables, gopd, safe-regex-test. A copy of the source code may be downloaded from git+https://github.com/ljharb/es-shim-unscopables.git (es-shim-unscopables), git+https://github.com/ljharb/gopd.git (gopd), git+https://github.com/ljharb/safe-regex-test.git (safe-regex-test). This software contains the following license and notice below:
12358
12410
 
12359
12411
  MIT License
12360
12412
 
@@ -15469,7 +15521,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15469
15521
 
15470
15522
  -----
15471
15523
 
15472
- The following software may be included in this product: has-property-descriptors, supports-preserve-symlinks-flag. A copy of the source code may be downloaded from git+https://github.com/inspect-js/has-property-descriptors.git (has-property-descriptors), git+https://github.com/inspect-js/node-supports-preserve-symlinks-flag.git (supports-preserve-symlinks-flag). This software contains the following license and notice below:
15524
+ The following software may be included in this product: has-property-descriptors, has-proto, supports-preserve-symlinks-flag. A copy of the source code may be downloaded from git+https://github.com/inspect-js/has-property-descriptors.git (has-property-descriptors), git+https://github.com/inspect-js/has-proto.git (has-proto), git+https://github.com/inspect-js/node-supports-preserve-symlinks-flag.git (supports-preserve-symlinks-flag). This software contains the following license and notice below:
15473
15525
 
15474
15526
  MIT License
15475
15527
 
@@ -16957,6 +17009,32 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16957
17009
 
16958
17010
  -----
16959
17011
 
17012
+ The following software may be included in this product: is-array-buffer. A copy of the source code may be downloaded from git+https://github.com/inspect-js/is-array-buffer.git. This software contains the following license and notice below:
17013
+
17014
+ MIT License
17015
+
17016
+ Copyright (c) 2015 Chen Gengyuan, Inspect JS
17017
+
17018
+ Permission is hereby granted, free of charge, to any person obtaining a copy
17019
+ of this software and associated documentation files (the "Software"), to deal
17020
+ in the Software without restriction, including without limitation the rights
17021
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17022
+ copies of the Software, and to permit persons to whom the Software is
17023
+ furnished to do so, subject to the following conditions:
17024
+
17025
+ The above copyright notice and this permission notice shall be included in all
17026
+ copies or substantial portions of the Software.
17027
+
17028
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17029
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17030
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17031
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17032
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17033
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17034
+ SOFTWARE.
17035
+
17036
+ -----
17037
+
16960
17038
  The following software may be included in this product: is-bigint. A copy of the source code may be downloaded from git+https://github.com/inspect-js/is-bigint.git. This software contains the following license and notice below:
16961
17039
 
16962
17040
  MIT License
@@ -36944,6 +37022,32 @@ SOFTWARE.
36944
37022
 
36945
37023
  -----
36946
37024
 
37025
+ The following software may be included in this product: string.prototype.trim. A copy of the source code may be downloaded from git://github.com/es-shims/String.prototype.trim.git. This software contains the following license and notice below:
37026
+
37027
+ The MIT License (MIT)
37028
+
37029
+ Copyright (c) 2015 Jordan Harband
37030
+
37031
+ Permission is hereby granted, free of charge, to any person obtaining a copy
37032
+ of this software and associated documentation files (the "Software"), to deal
37033
+ in the Software without restriction, including without limitation the rights
37034
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
37035
+ copies of the Software, and to permit persons to whom the Software is
37036
+ furnished to do so, subject to the following conditions:
37037
+
37038
+ The above copyright notice and this permission notice shall be included in all
37039
+ copies or substantial portions of the Software.
37040
+
37041
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
37042
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
37043
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37044
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
37045
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
37046
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37047
+ SOFTWARE.
37048
+
37049
+ -----
37050
+
36947
37051
  The following software may be included in this product: string.prototype.trimend, string.prototype.trimstart. A copy of the source code may be downloaded from git://github.com/es-shims/String.prototype.trimEnd.git (string.prototype.trimend), git://github.com/es-shims/String.prototype.trimStart.git (string.prototype.trimstart). This software contains the following license and notice below:
36948
37052
 
36949
37053
  MIT License
@@ -1,50 +1,70 @@
1
1
  <div class="row">
2
2
  <div
3
3
  class="form-group"
4
- ng-hide="hideUsername"
5
4
  ng-class="{
6
5
  'has-error': invalid('username'),
7
6
  'col-sm-12': hideActive,
8
7
  'col-sm-8': !hideActive
9
8
  }"
9
+ ng-hide="hideUsername"
10
10
  >
11
11
  <label>{{ 'Username' | translate }}</label>
12
12
  <input
13
13
  class="form-control"
14
+ placeholder="{{ 'e.g. joe.doe@example.com`LOCALIZE`' | translate }}"
14
15
  name="username"
16
+ required
15
17
  ng-model="user.userName"
16
18
  ng-pattern="userNamePattern"
17
19
  ng-maxlength="254"
18
20
  ng-trim="false"
19
- placeholder="{{ 'e.g. joe.doe@example.com`LOCALIZE`' | translate }}"
20
- required
21
21
  ng-disabled="user.id || disabledEdit"
22
22
  c8y-autocomplete="off"
23
23
  c8y-username-validator
24
24
  />
25
- <div class="c8y-messages" ng-if="invalid('username')">
25
+ <div
26
+ class="c8y-messages"
27
+ ng-if="invalid('username')"
28
+ >
26
29
  <small class="form-control-feedback-message">
27
30
  {{ getErrorFeedback('username') | translate }}
28
31
  </small>
29
32
  </div>
30
33
  </div>
31
34
 
32
- <div class="form-group col-sm-4" ng-hide="hideActive">
35
+ <div
36
+ class="form-group col-sm-4"
37
+ ng-hide="hideActive"
38
+ >
33
39
  <label>{{ 'Status' | translate }}</label>
34
40
  <button
35
41
  class="btn btn-default m-b-0"
36
- type="button"
37
42
  aria-label="{{ 'Status' | translate }}"
43
+ type="button"
38
44
  ng-model="user.enabled"
39
45
  uib-btn-checkbox="user.enabled"
40
46
  ng-disabled="disabledEdit"
41
47
  >
42
- <i c8y-icon="minus-circle" class="text-danger" ng-hide="user.enabled"></i>
43
- <i c8y-icon="check-circle" class="text-success" ng-show="user.enabled"></i>
44
- <span title="{{ 'Enabled' | translate }}" ng-show="user.enabled">
48
+ <i
49
+ class="text-danger"
50
+ c8y-icon="minus-circle"
51
+ ng-hide="user.enabled"
52
+ ></i>
53
+ <i
54
+ class="text-success"
55
+ c8y-icon="check-circle"
56
+ ng-show="user.enabled"
57
+ ></i>
58
+ <span
59
+ title="{{ 'Enabled' | translate }}"
60
+ ng-show="user.enabled"
61
+ >
45
62
  {{ 'Enabled' | translate }}
46
63
  </span>
47
- <span title="{{ 'Disabled' | translate }}" ng-hide="user.enabled">
64
+ <span
65
+ title="{{ 'Disabled' | translate }}"
66
+ ng-hide="user.enabled"
67
+ >
48
68
  {{ 'Disabled' | translate }}
49
69
  </span>
50
70
  </button>
@@ -63,16 +83,19 @@
63
83
  <label>{{ 'Login alias' | translate }}</label>
64
84
  <input
65
85
  class="form-control"
86
+ placeholder="{{ 'e.g. joe.doe`LOCALIZE`' | translate }}"
66
87
  name="displayName"
67
88
  ng-model="user.displayName"
68
89
  ng-pattern="loginAliasPattern"
69
90
  ng-maxlength="254"
70
91
  ng-trim="false"
71
- placeholder="{{ 'e.g. joe.doe`LOCALIZE`' | translate }}"
72
92
  ng-disabled="disabledEdit"
73
93
  c8y-autocomplete="off"
74
94
  />
75
- <div class="c8y-messages" ng-if="invalid('displayName')">
95
+ <div
96
+ class="c8y-messages"
97
+ ng-if="invalid('displayName')"
98
+ >
76
99
  <small class="form-control-feedback-message">
77
100
  {{ getErrorFeedback('displayName') | translate }}
78
101
  </small>
@@ -80,14 +103,18 @@
80
103
  </div>
81
104
  </div>
82
105
 
83
- <div class="form-group" ng-class="{ 'has-error': invalid('email') }" ng-hide="hideEmail">
106
+ <div
107
+ class="form-group"
108
+ ng-class="{ 'has-error': invalid('email') }"
109
+ ng-hide="hideEmail"
110
+ >
84
111
  <label>
85
112
  {{ 'Email' | translate }}
86
113
  <span ng-show="user.sendPasswordResetEmail"></span>
87
114
  <button
88
115
  class="btn-help btn-help--sm"
89
- type="button"
90
116
  aria-label="{{ 'Help' | translate }}"
117
+ type="button"
91
118
  uib-popover="{{
92
119
  'A user managed via your authorization server cannot change the email of the user.'
93
120
  | translate
@@ -101,17 +128,20 @@
101
128
  </label>
102
129
 
103
130
  <input
104
- type="email"
105
- name="email"
106
131
  class="form-control"
132
+ placeholder="{{ 'e.g. joe.doe@example.com`LOCALIZE`' | translate }}"
133
+ name="email"
134
+ type="email"
107
135
  ng-model="user.email"
108
136
  ng-maxlength="254"
109
137
  c8y-autocomplete="off"
110
138
  ng-disabled="disabledEdit || !userCanChangePasswordAndEmail"
111
- placeholder="{{ 'e.g. joe.doe@example.com`LOCALIZE`' | translate }}"
112
139
  ng-required="true"
113
140
  />
114
- <div class="c8y-messages" ng-show="invalid('email')">
141
+ <div
142
+ class="c8y-messages"
143
+ ng-show="invalid('email')"
144
+ >
115
145
  <small class="form-control-feedback-message">
116
146
  {{ getErrorFeedback('email') | translate }}
117
147
  </small>
@@ -127,15 +157,18 @@
127
157
  <label id="FirstName">{{ 'First name' | translate }}</label>
128
158
  <input
129
159
  class="form-control"
130
- name="firstName"
131
160
  aria-labelledby="FirstName"
132
161
  placeholder="{{ 'e.g. Joe`LOCALIZE`' | translate }}"
162
+ name="firstName"
133
163
  ng-model="user.firstName"
134
164
  ng-maxlength="50"
135
165
  c8y-autocomplete="off"
136
166
  ng-disabled="disabledEdit"
137
167
  />
138
- <div class="c8y-messages" ng-if="invalid('firstName')">
168
+ <div
169
+ class="c8y-messages"
170
+ ng-if="invalid('firstName')"
171
+ >
139
172
  <small class="form-control-feedback-message">
140
173
  {{ getErrorFeedback('firstName') | translate }}
141
174
  </small>
@@ -150,15 +183,18 @@
150
183
  <label id="LastName">{{ 'Last name' | translate }}</label>
151
184
  <input
152
185
  class="form-control"
153
- name="lastName"
154
186
  aria-labelledby="LastName"
155
187
  placeholder="{{ 'e.g. Doe`LOCALIZE`' | translate }}"
188
+ name="lastName"
156
189
  ng-model="user.lastName"
157
190
  ng-maxlength="50"
158
191
  c8y-autocomplete="off"
159
192
  ng-disabled="disabledEdit"
160
193
  />
161
- <div class="c8y-messages" ng-if="invalid('lastName')">
194
+ <div
195
+ class="c8y-messages"
196
+ ng-if="invalid('lastName')"
197
+ >
162
198
  <small class="form-control-feedback-message">
163
199
  {{ getErrorFeedback('lastName') | translate }}
164
200
  </small>
@@ -166,13 +202,17 @@
166
202
  </div>
167
203
  </div>
168
204
 
169
- <div class="form-group" ng-hide="hideTelephone">
205
+ <div
206
+ class="form-group"
207
+ ng-hide="hideTelephone"
208
+ >
170
209
  <label>
171
210
  {{ 'Telephone' | translate }}
172
211
  <span ng-if="user.twoFactorAuthenticationEnabled"></span>
173
212
  </label>
174
213
  <input
175
214
  class="form-control"
215
+ placeholder="{{ 'e.g. +49 9 876 543 210`LOCALIZE`' | translate }}"
176
216
  name="phone"
177
217
  ng-model="user.phone"
178
218
  c8y-autocomplete="off"
@@ -180,7 +220,6 @@
180
220
  maxlength="254"
181
221
  ng-required="(user.twoFactorAuthenticationEnabled || topLevelTfaEnforced) && vm.tfaStrategy === 'SMS'"
182
222
  ng-disabled="disabledEdit"
183
- placeholder="{{ 'e.g. +49 9 876 543 210`LOCALIZE`' | translate }}"
184
223
  c8y-phone-number
185
224
  />
186
225
  <div class="c8y-messages">
@@ -191,13 +230,16 @@
191
230
  </div>
192
231
 
193
232
  <div class="row">
194
- <div class="form-group col-sm-6" ng-if="!hideOwner">
233
+ <div
234
+ class="form-group col-sm-6"
235
+ ng-if="!hideOwner"
236
+ >
195
237
  <label>{{ 'Owner' | translate }}</label>
196
238
  <input
197
239
  class="form-control"
240
+ disabled
198
241
  ng-show="disabledEdit || ownerEditDisabled"
199
242
  ng-value="user.owner"
200
- disabled
201
243
  />
202
244
 
203
245
  <div
@@ -210,26 +252,42 @@
210
252
  >
211
253
  <button
212
254
  class="btn dropdown-toggle fit-w"
213
- type="button"
214
255
  title="{{ 'Select owner' | translate }}…"
256
+ aria-haspopup="true"
257
+ type="button"
215
258
  data-toggle="dropdown"
216
259
  uib-dropdown-toggle
217
- aria-haspopup="true"
218
260
  data-cy="c8y-edit-user--select-owner"
219
261
  >
220
262
  <span class="d-flex">
221
- <span title="{{ user.owner }}" ng-if="user.owner" class="text-truncate">
263
+ <span
264
+ class="text-truncate"
265
+ title="{{ user.owner }}"
266
+ ng-if="user.owner"
267
+ >
222
268
  {{ user.owner }}
223
269
  </span>
224
- <span title="{{ 'Select owner' | translate }}…" ng-if="!user.owner" class="text-muted">
270
+ <span
271
+ class="text-muted"
272
+ title="{{ 'Select owner' | translate }}…"
273
+ ng-if="!user.owner"
274
+ >
225
275
  {{ 'Select owner' | translate }}…
226
276
  </span>
227
277
  <span class="caret m-l-auto"></span>
228
278
  </span>
229
279
  </button>
230
280
 
231
- <div class="dropdown-menu" role="menu" ng-click="$event.stopPropagation();" uib-dropdown-menu>
232
- <span ng-if="vm.isParentDropDownOpen" ng-init="vm.currentOwner=user.owner"></span>
281
+ <div
282
+ class="dropdown-menu"
283
+ role="menu"
284
+ ng-click="$event.stopPropagation();"
285
+ uib-dropdown-menu
286
+ >
287
+ <span
288
+ ng-if="vm.isParentDropDownOpen"
289
+ ng-init="vm.currentOwner=user.owner"
290
+ ></span>
233
291
  <div class="p-t-16 bg-level-0">
234
292
  <c8y-ui-user-picker
235
293
  ng-if="vm.ownerDropDownInitialized"
@@ -242,8 +300,8 @@
242
300
 
243
301
  <button
244
302
  class="btn btn-primary btn-block"
245
- type="button"
246
303
  title="{{ 'Done' | translate }}"
304
+ type="button"
247
305
  ng-click="setOwner(vm.currentOwner)"
248
306
  >
249
307
  {{ 'Done' | translate }}
@@ -254,14 +312,26 @@
254
312
  </div>
255
313
  </div>
256
314
 
257
- <div class="form-group col-sm-6" ng-hide="hideDelegate">
315
+ <div
316
+ class="form-group col-sm-6"
317
+ ng-hide="hideDelegate"
318
+ >
258
319
  <label>{{ 'Delegated by' | translate }}</label>
259
320
  <div class="form-control-static">
260
321
  <ng-form name="delegationHiddenForm"></ng-form>
261
322
 
262
- <div class="input-group" ng-show="user.delegatedBy">
263
- <a class="form-control d-flex a-i-center" ng-href="#/users/{{ user.delegatedBy }}">
264
- <i c8y-icon="c8y-user" class="m-r-4"></i>
323
+ <div
324
+ class="input-group"
325
+ ng-show="user.delegatedBy"
326
+ >
327
+ <a
328
+ class="form-control d-flex a-i-center"
329
+ ng-href="#/users/{{ user.delegatedBy }}"
330
+ >
331
+ <i
332
+ class="m-r-4"
333
+ c8y-icon="c8y-user"
334
+ ></i>
265
335
  {{ user.delegatedBy }}
266
336
  </a>
267
337
  <div class="input-group-btn">
@@ -277,20 +347,31 @@
277
347
  </button>
278
348
  </div>
279
349
  </div>
280
- <div class="input-group" ng-hide="user.delegatedBy">
281
- <em class="form-control d-flex a-i-center" translate>No delegation</em>
350
+ <div
351
+ class="input-group"
352
+ ng-hide="user.delegatedBy"
353
+ >
354
+ <em
355
+ class="form-control d-flex a-i-center"
356
+ translate
357
+ >
358
+ No delegation
359
+ </em>
282
360
  <div class="input-group-btn">
283
361
  <button
284
362
  class="btn btn-default"
285
- type="button"
286
363
  aria-label="{{ 'Delegate' | translate }}"
287
364
  uib-tooltip="{{ 'Delegate' | translate }}"
288
365
  tooltip-popup-delay="500"
289
366
  tooltip-append-to-body="true"
367
+ type="button"
290
368
  ng-click="delegateTo()"
291
369
  ng-disabled="disabledEdit"
292
370
  >
293
- <i c8y-icon="batch-assign" class="text-16"></i>
371
+ <i
372
+ class="text-16"
373
+ c8y-icon="batch-assign"
374
+ ></i>
294
375
  </button>
295
376
  </div>
296
377
  </div>
@@ -305,15 +386,19 @@
305
386
  >
306
387
  <label id="key">{{ humanize(key) }}</label>
307
388
  <input
308
- aria-labelledby="key"
309
389
  class="form-control"
310
- ng-model="val"
390
+ aria-labelledby="key"
311
391
  disabled
392
+ ng-model="val"
312
393
  c8y-autocomplete="off"
313
394
  />
314
395
  </div>
315
396
 
316
- <div class="form-group p-relative" ng-if="!hideLanguage" style="z-index: 1000">
397
+ <div
398
+ class="form-group p-relative"
399
+ style="z-index: 1000"
400
+ ng-if="!hideLanguage"
401
+ >
317
402
  <label>{{ 'Language' | translate }}</label>
318
403
  <ui-select ng-model="user.language">
319
404
  <ui-select-match placeholder="{{ 'Select language' | translate }}">
@@ -330,13 +415,16 @@
330
415
  user="user"
331
416
  ></c8y-measurement-unit-preference>
332
417
 
333
- <div class="form-group" ng-hide="!tfaAvailable && hideTfaOption && hidePasswordReset">
418
+ <div
419
+ class="form-group"
420
+ ng-hide="!tfaAvailable && hideTfaOption && hidePasswordReset"
421
+ >
334
422
  <label>{{ 'Login options' | translate }}</label>
335
423
  <div ng-if="tfaAvailable && !hideTfaOption">
336
424
  <label
337
- title="{{ 'Two-factor authentication' | translate }}"
338
425
  class="c8y-checkbox"
339
426
  ng-class="{ disabled: vm.twoFactorAuthenticationCheckboxDisabled() }"
427
+ title="{{ 'Two-factor authentication' | translate }}"
340
428
  >
341
429
  <input
342
430
  type="checkbox"
@@ -348,13 +436,16 @@
348
436
  <span>
349
437
  {{ 'Two-factor authentication' | translate }}
350
438
  </span>
351
- <small title="{{ vm.tfaStrategy || 'SMS' }}" class="text-muted">
439
+ <small
440
+ class="text-muted"
441
+ title="{{ vm.tfaStrategy || 'SMS' }}"
442
+ >
352
443
  ({{ vm.tfaStrategy || 'SMS' }})
353
444
  </small>
354
445
  <button
355
446
  class="btn-help btn-help--sm"
356
- type="button"
357
447
  aria-label="{{ 'Help' | translate }}"
448
+ type="button"
358
449
  uib-popover="{{
359
450
  'When enabled, a verification code sent by SMS is required to complete authentication'
360
451
  | translate
@@ -367,8 +458,8 @@
367
458
  ></button>
368
459
  <button
369
460
  class="btn-help btn-help--sm"
370
- type="button"
371
461
  aria-label="{{ 'Help' | translate }}"
462
+ type="button"
372
463
  uib-popover="{{
373
464
  'Authentication by SMS - cannot be changed for your own user.' | translate
374
465
  }}"
@@ -380,8 +471,8 @@
380
471
  ></button>
381
472
  <button
382
473
  class="btn-help btn-help--sm"
383
- type="button"
384
474
  aria-label="{{ 'Help' | translate }}"
475
+ type="button"
385
476
  uib-popover="{{
386
477
  'TOTP secret activated. It can be revoked using the button below.' | translate
387
478
  }}"
@@ -393,8 +484,8 @@
393
484
  ></button>
394
485
  <button
395
486
  class="btn-help btn-help--sm"
396
- type="button"
397
487
  aria-label="{{ 'Help' | translate }}"
488
+ type="button"
398
489
  uib-popover="{{
399
490
  'TOTP secret is not activated. It can only be activated from the user menu.' | translate
400
491
  }}"
@@ -406,8 +497,8 @@
406
497
  ></button>
407
498
  <button
408
499
  class="btn-clean"
409
- type="button"
410
500
  aria-label="{{ smsWarningPopover | translate }}"
501
+ type="button"
411
502
  uib-popover-html="smsWarningPopover | translate"
412
503
  popover-placement="right"
413
504
  popover-trigger="'focus'"
@@ -415,15 +506,18 @@
415
506
  ng-show="vm.messagingWarningVisible()"
416
507
  ng-click="$event.preventDefault()"
417
508
  >
418
- <i c8y-icon="exclamation-triangle" class="text-danger"></i>
509
+ <i
510
+ class="text-danger"
511
+ c8y-icon="exclamation-triangle"
512
+ ></i>
419
513
  </button>
420
514
  </label>
421
515
  </div>
422
516
  <div ng-show="vm.tfaStrategy === 'TOTP' && tfaAvailable">
423
517
  <label
424
- title="{{ 'Enforce TOTP setup for the user' | translate }}"
425
518
  class="c8y-checkbox"
426
519
  ng-class="{ disabled: vm.enforceTfaCheckboxDisbaled() }"
520
+ title="{{ 'Enforce TOTP setup for the user' | translate }}"
427
521
  >
428
522
  <input
429
523
  type="checkbox"
@@ -435,8 +529,8 @@
435
529
  <span>{{ 'Enforce TOTP setup for the user' | translate }}</span>
436
530
  <button
437
531
  class="btn-help btn-help--sm"
438
- type="button"
439
532
  aria-label="{{ 'Help' | translate }}"
533
+ type="button"
440
534
  uib-popover="{{ 'TOTP cannot be enforced for your own user.' | translate }}"
441
535
  popover-trigger="'focus'"
442
536
  popover-placement="right"
@@ -446,8 +540,8 @@
446
540
  ></button>
447
541
  <button
448
542
  class="btn-help btn-help--sm"
449
- type="button"
450
543
  aria-label="{{ 'Help' | translate }}"
544
+ type="button"
451
545
  uib-popover="{{
452
546
  'TOTP is enforced for the user based on the platform-level settings.' | translate
453
547
  }}"
@@ -462,9 +556,9 @@
462
556
 
463
557
  <div ng-hide="hidePasswordReset || disabledEdit">
464
558
  <label
465
- title="{{ 'User must reset password on next login' | translate }}"
466
559
  class="c8y-checkbox"
467
560
  ng-class="{ disabled: !notCurrentUser || user.sendPasswordResetEmail }"
561
+ title="{{ 'User must reset password on next login' | translate }}"
468
562
  >
469
563
  <input
470
564
  type="checkbox"
@@ -478,9 +572,9 @@
478
572
 
479
573
  <div ng-hide="hidePasswordReset || disabledEdit || user.id">
480
574
  <label
481
- title="{{ 'Send password reset link as email' | translate }}"
482
575
  class="c8y-checkbox"
483
576
  ng-class="{ disabled: user.id || user.shouldResetPassword }"
577
+ title="{{ 'Send password reset link as email' | translate }}"
484
578
  >
485
579
  <input
486
580
  type="checkbox"
@@ -496,8 +590,8 @@
496
590
  <div class="form-group">
497
591
  <button
498
592
  class="btn btn-default"
499
- type="button"
500
593
  name="changePassword"
594
+ type="button"
501
595
  ng-show="
502
596
  !disabledEdit &&
503
597
  changePasswordBtn &&
@@ -507,10 +601,16 @@
507
601
  "
508
602
  ng-click="resetPasswords(user)"
509
603
  >
510
- <span title="{{ 'Change password' | translate }}" ng-show="!password.showPassword">
604
+ <span
605
+ title="{{ 'Change password' | translate }}"
606
+ ng-show="!password.showPassword"
607
+ >
511
608
  {{ 'Change password' | translate }}
512
609
  </span>
513
- <span title="{{ 'Cancel password change' | translate }}" ng-show="password.showPassword">
610
+ <span
611
+ title="{{ 'Cancel password change' | translate }}"
612
+ ng-show="password.showPassword"
613
+ >
514
614
  {{ 'Cancel password change' | translate }}
515
615
  </span>
516
616
  </button>
@@ -532,19 +632,24 @@
532
632
  "
533
633
  >
534
634
  <div class="col-7">
535
- <div class="form-group" ng-class="{ 'has-error': invalid('password') }">
536
- <label>{{ 'Password' | translate }}</label>
537
- <input
538
- type="password"
635
+ <div
636
+ class="form-group"
637
+ ng-class="{ 'has-error': invalid('password') }"
638
+ >
639
+ <label for="password">{{ 'Password' | translate }}</label>
640
+ <c8y-password-input
539
641
  name="password"
540
- class="form-control"
541
- ng-model="user.password"
542
642
  required
643
+ [id]="'password'"
644
+ ng-model="user.password"
543
645
  ng-pattern="passwordRegex"
544
646
  ng-change="changePasswordConfirm()"
545
- c8y-autocomplete="off"
546
- />
547
- <div class="c8y-messages" ng-if="invalid('password')">
647
+ [autocomplete]="'new-password'"
648
+ ></c8y-password-input>
649
+ <div
650
+ class="c8y-messages"
651
+ ng-if="invalid('password')"
652
+ >
548
653
  <div class="form-control-feedback-message">
549
654
  {{ getErrorFeedback('password') | translate }}
550
655
  </div>
@@ -552,20 +657,22 @@
552
657
  </div>
553
658
  <div
554
659
  class="form-group"
555
- ng-if="user.password"
556
660
  ng-class="{ 'has-error': isInvalidConfirmPassword() }"
661
+ ng-if="user.password"
557
662
  >
558
- <label>{{ 'Confirm password' | translate }}</label>
559
- <input
560
- type="password"
663
+ <label for="confirmPassword">{{ 'Confirm password' | translate }}</label>
664
+ <c8y-password-input
561
665
  name="confirmPassword"
562
- class="form-control"
563
- ng-model="$parent.confirmPassword"
564
666
  required
667
+ [id]="'confirmPassword'"
668
+ ng-model="$parent.confirmPassword"
565
669
  ng-change="changePasswordConfirm()"
566
- c8y-autocomplete="off"
567
- />
568
- <div class="c8y-messages" ng-if="isInvalidConfirmPassword()">
670
+ [autocomplete]="'new-password'"
671
+ ></c8y-password-input>
672
+ <div
673
+ class="c8y-messages"
674
+ ng-if="isInvalidConfirmPassword()"
675
+ >
569
676
  <div class="form-control-feedback-message">
570
677
  {{ getErrorFeedback('confirmPassword') | translate }}
571
678
  </div>
@@ -580,7 +687,10 @@
580
687
  user="user"
581
688
  password="$parent.forms.userForm.password.$viewValue"
582
689
  ></div>
583
- <div class="m-t-32" ng-show="passwordStrengthEnforced">
690
+ <div
691
+ class="m-t-32"
692
+ ng-show="passwordStrengthEnforced"
693
+ >
584
694
  <c8y-password-strength-checklist
585
695
  password="$parent.forms.userForm.password.$viewValue"
586
696
  ></c8y-password-strength-checklist>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/ng1-modules",
3
- "version": "1018.312.0",
3
+ "version": "1018.318.0",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Cumulocity",
6
6
  "description": "AngularJS modules for Cumulocity IoT applications.",