@@ -9,28 +9,35 @@ export class UmbInstallerUserElement extends UmbLitElement {
9
9
@state ( )
10
10
private _userFormData ?: { name : string ; password : string ; email : string ; subscribeToNewsletter : boolean } ;
11
11
12
- private _installerContext ?: UmbInstallerContext ;
12
+ @state ( )
13
+ private _minimumPasswordLength = 10 ;
14
+
15
+ #installerContext?: UmbInstallerContext ;
13
16
14
17
constructor ( ) {
15
18
super ( ) ;
16
19
17
20
this . consumeContext ( UMB_INSTALLER_CONTEXT , ( installerContext ) => {
18
- this . _installerContext = installerContext ;
21
+ this . #installerContext = installerContext ;
19
22
this . _observeInstallerData ( ) ;
20
23
} ) ;
21
24
}
22
25
23
26
private _observeInstallerData ( ) {
24
- if ( ! this . _installerContext ) return ;
27
+ if ( ! this . #installerContext ) return ;
25
28
26
- this . observe ( this . _installerContext . data , ( { user } ) => {
29
+ this . observe ( this . #installerContext . data , ( { user } ) => {
27
30
this . _userFormData = {
28
31
name : user . name ,
29
32
password : user . password ,
30
33
email : user . email ,
31
34
subscribeToNewsletter : user . subscribeToNewsletter ?? false ,
32
35
} ;
33
36
} ) ;
37
+
38
+ this . observe ( this . #installerContext. settings , ( settings ) => {
39
+ this . _minimumPasswordLength = settings ?. user . minCharLength ?? this . _minimumPasswordLength ;
40
+ } ) ;
34
41
}
35
42
36
43
private _handleSubmit = ( e : SubmitEvent ) => {
@@ -48,8 +55,8 @@ export class UmbInstallerUserElement extends UmbLitElement {
48
55
const email = formData . get ( 'email' ) as string ;
49
56
const subscribeToNewsletter = formData . has ( 'subscribeToNewsletter' ) ;
50
57
51
- this . _installerContext ?. appendData ( { user : { name, password, email, subscribeToNewsletter } } ) ;
52
- this . _installerContext ?. nextStep ( ) ;
58
+ this . #installerContext ?. appendData ( { user : { name, password, email, subscribeToNewsletter } } ) ;
59
+ this . #installerContext ?. nextStep ( ) ;
53
60
} ;
54
61
55
62
override render ( ) {
@@ -87,6 +94,7 @@ export class UmbInstallerUserElement extends UmbLitElement {
87
94
id= "password"
88
95
name = "password"
89
96
label = "password"
97
+ minlength = ${ this . _minimumPasswordLength }
90
98
.value = ${ this . _userFormData ?. password }
91
99
required
92
100
required- message= "Password is required" > </ uui- input- passwor d>
0 commit comments