@annalib/anna-cognito-lib 0.1.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/README.md +39 -0
- package/annalib-anna-cognito-lib.d.ts +5 -0
- package/esm2020/annalib-anna-cognito-lib.mjs +5 -0
- package/esm2020/lib/anna-cognito-lib.module.mjs +74 -0
- package/esm2020/lib/components/forgot-password/forgot-password.component.mjs +69 -0
- package/esm2020/lib/components/login/login.component.mjs +44 -0
- package/esm2020/lib/components/password-matching/password-matching.component.mjs +90 -0
- package/esm2020/lib/components/set-new-password/set-new-password.component.mjs +55 -0
- package/esm2020/lib/components/verify-and-set-new-password/verify-and-set-new-password.component.mjs +66 -0
- package/esm2020/lib/config/acl-service.token.mjs +4 -0
- package/esm2020/lib/config/auth-service.token.mjs +4 -0
- package/esm2020/lib/config/library.config.mjs +6 -0
- package/esm2020/lib/constants/loginConstant.mjs +46 -0
- package/esm2020/lib/directives/spinner-button/index.mjs +2 -0
- package/esm2020/lib/directives/spinner-button/spinner-button.directive.mjs +42 -0
- package/esm2020/lib/models/auth.model.mjs +18 -0
- package/esm2020/lib/services/acl.service.mjs +30 -0
- package/esm2020/lib/services/auth.service.mjs +228 -0
- package/esm2020/public-api.mjs +21 -0
- package/fesm2015/annalib-anna-cognito-lib.mjs +716 -0
- package/fesm2015/annalib-anna-cognito-lib.mjs.map +1 -0
- package/fesm2020/annalib-anna-cognito-lib.mjs +709 -0
- package/fesm2020/annalib-anna-cognito-lib.mjs.map +1 -0
- package/lib/anna-cognito-lib.module.d.ts +18 -0
- package/lib/components/forgot-password/forgot-password.component.d.ts +31 -0
- package/lib/components/login/login.component.d.ts +19 -0
- package/lib/components/password-matching/password-matching.component.d.ts +22 -0
- package/lib/components/set-new-password/set-new-password.component.d.ts +26 -0
- package/lib/components/verify-and-set-new-password/verify-and-set-new-password.component.d.ts +30 -0
- package/lib/config/acl-service.token.d.ts +19 -0
- package/lib/config/auth-service.token.d.ts +11 -0
- package/lib/config/library.config.d.ts +7 -0
- package/lib/constants/loginConstant.d.ts +40 -0
- package/lib/directives/spinner-button/index.d.ts +1 -0
- package/lib/directives/spinner-button/spinner-button.directive.d.ts +15 -0
- package/lib/models/auth.model.d.ts +16 -0
- package/lib/services/acl.service.d.ts +12 -0
- package/lib/services/auth.service.d.ts +57 -0
- package/package.json +37 -0
- package/public-api.d.ts +13 -0
package/README.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# AnnaCognitoLib
|
|
2
|
+
## How to use the library in the consuming project ?
|
|
3
|
+
1. install the package from npm - `npm install anna-cognito-lib`
|
|
4
|
+
2. after installing the Library, you need to install peer dependancies.
|
|
5
|
+
2.a. Check the package.json file of library and install all the peer depedencies with correct version number mentioned. this is important step otherwise lbrary will throw error/will not work as expected.
|
|
6
|
+
2.b. ex: `npm install ngx-toastr@13.2.1`
|
|
7
|
+
3. Configuaration
|
|
8
|
+
3.a. Cognito config
|
|
9
|
+
Provide the userpool and clientId of cognito userpool.
|
|
10
|
+
b. UI specific
|
|
11
|
+
loginPageLogoImgUrl (default you can provide is "assets/images/Anna-Logo-for-footer-min.png")
|
|
12
|
+
to have a different logo image over login page
|
|
13
|
+
1. add the image in assets/image folder and provide the path as input to library. (preferbly minify the image for better performance).
|
|
14
|
+
4. you need to provide `consumingProjectAuthService` service in your consuming project
|
|
15
|
+
which will provide the implementation of methods. steps -
|
|
16
|
+
1. In library add the function declaration in interface file `IAuthService` of `auth-service.token.ts`
|
|
17
|
+
|
|
18
|
+
1. In consuming project, for `onSuccessfulAuthenticatingUser()` - provide the implementation of what happens when user is succefully logged in.
|
|
19
|
+
2. import path of service file will be to library i.e. `anna-cognito-lib`.
|
|
20
|
+
that means any other custom functions you want add, then add function declaration in interface file `IAuthService` of `auth-service.token.ts` (Library) and provide the implementation in comsuming project.
|
|
21
|
+
3. in your consuming app.module.ts file add following in providers array.
|
|
22
|
+
`{ provide: AUTH_SERVICE_TOKEN, useExisting: AuthService }`
|
|
23
|
+
i.e. your consuming project's existing AuthService will be injected in Library's auth-service file with the help of AUTH_SERVICE_TOKEN.
|
|
24
|
+
4. IsUsernameAvailable API used in forgot-password page response format
|
|
25
|
+
`{"isUsernameAvailable":true}`
|
|
26
|
+
|
|
27
|
+
5. install the Robto font locally in assets folder.
|
|
28
|
+
|
|
29
|
+
If using the library locally (library from your system locally not npm),then in angular json file you have to set preserveSymlinks to true.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## How to make changes in library and build it
|
|
34
|
+
1. Run `ng build anna-cognito-lib` to build the project.
|
|
35
|
+
2. The build artifacts will be stored in the `dist/` directory.
|
|
36
|
+
|
|
37
|
+
## Publishing
|
|
38
|
+
After building your library with `ng build anna-cognito-lib`, go to the dist folder `cd dist/anna-cognito-lib` and run `npm publish`.
|
|
39
|
+
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYWxpYi1hbm5hLWNvZ25pdG8tbGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvYW5uYWxpYi1hbm5hLWNvZ25pdG8tbGliLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { LoginComponent } from './components/login/login.component';
|
|
3
|
+
import { SpinnerButtonDirective } from './directives/spinner-button';
|
|
4
|
+
import { LibraryConfig } from './config/library.config';
|
|
5
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
6
|
+
import { RouterModule } from '@angular/router';
|
|
7
|
+
import { CommonModule } from '@angular/common';
|
|
8
|
+
import { SetNewPasswordComponent } from './components/set-new-password/set-new-password.component';
|
|
9
|
+
import { PasswordMatchingComponent } from './components/password-matching/password-matching.component';
|
|
10
|
+
import { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';
|
|
11
|
+
import { VerifyAndSetNewPasswordComponent } from './components/verify-and-set-new-password/verify-and-set-new-password.component';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
export class AnnaCognitoLibModule {
|
|
14
|
+
static forRoot(configuration) {
|
|
15
|
+
return {
|
|
16
|
+
ngModule: AnnaCognitoLibModule,
|
|
17
|
+
providers: [
|
|
18
|
+
{
|
|
19
|
+
provide: LibraryConfig,
|
|
20
|
+
useValue: configuration
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
AnnaCognitoLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCognitoLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
27
|
+
AnnaCognitoLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCognitoLibModule, declarations: [LoginComponent,
|
|
28
|
+
SetNewPasswordComponent,
|
|
29
|
+
PasswordMatchingComponent,
|
|
30
|
+
ForgotPasswordComponent,
|
|
31
|
+
VerifyAndSetNewPasswordComponent,
|
|
32
|
+
SpinnerButtonDirective], imports: [FormsModule,
|
|
33
|
+
ReactiveFormsModule,
|
|
34
|
+
RouterModule,
|
|
35
|
+
CommonModule], exports: [LoginComponent,
|
|
36
|
+
SetNewPasswordComponent,
|
|
37
|
+
PasswordMatchingComponent,
|
|
38
|
+
ForgotPasswordComponent,
|
|
39
|
+
VerifyAndSetNewPasswordComponent,
|
|
40
|
+
SpinnerButtonDirective] });
|
|
41
|
+
AnnaCognitoLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCognitoLibModule, imports: [[
|
|
42
|
+
FormsModule,
|
|
43
|
+
ReactiveFormsModule,
|
|
44
|
+
RouterModule,
|
|
45
|
+
CommonModule
|
|
46
|
+
]] });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCognitoLibModule, decorators: [{
|
|
48
|
+
type: NgModule,
|
|
49
|
+
args: [{
|
|
50
|
+
declarations: [
|
|
51
|
+
LoginComponent,
|
|
52
|
+
SetNewPasswordComponent,
|
|
53
|
+
PasswordMatchingComponent,
|
|
54
|
+
ForgotPasswordComponent,
|
|
55
|
+
VerifyAndSetNewPasswordComponent,
|
|
56
|
+
SpinnerButtonDirective,
|
|
57
|
+
],
|
|
58
|
+
imports: [
|
|
59
|
+
FormsModule,
|
|
60
|
+
ReactiveFormsModule,
|
|
61
|
+
RouterModule,
|
|
62
|
+
CommonModule
|
|
63
|
+
],
|
|
64
|
+
exports: [
|
|
65
|
+
LoginComponent,
|
|
66
|
+
SetNewPasswordComponent,
|
|
67
|
+
PasswordMatchingComponent,
|
|
68
|
+
ForgotPasswordComponent,
|
|
69
|
+
VerifyAndSetNewPasswordComponent,
|
|
70
|
+
SpinnerButtonDirective
|
|
71
|
+
]
|
|
72
|
+
}]
|
|
73
|
+
}] });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb2duaXRvLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvZ25pdG8tbGliL3NyYy9saWIvYW5uYS1jb2duaXRvLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQzs7QUE0QmxJLE1BQU0sT0FBTyxvQkFBb0I7SUFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUE0QjtRQUNoRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFFBQVEsRUFBRSxhQUFhO2lCQUN4QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2lIQVhVLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGlCQXRCN0IsY0FBYztRQUNkLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsdUJBQXVCO1FBQ3ZCLGdDQUFnQztRQUNoQyxzQkFBc0IsYUFHdEIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osWUFBWSxhQUdaLGNBQWM7UUFDZCx1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2QixnQ0FBZ0M7UUFDaEMsc0JBQXNCO2tIQUdiLG9CQUFvQixZQWZ0QjtZQUNQLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLFlBQVk7U0FDYjsyRkFVVSxvQkFBb0I7a0JBeEJoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixjQUFjO3dCQUNkLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLGdDQUFnQzt3QkFDaEMsc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCx1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixnQ0FBZ0M7d0JBQ2hDLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGlubmVyQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NwaW5uZXItYnV0dG9uJztcclxuaW1wb3J0IHsgTGlicmFyeUNvbmZpZyB9IGZyb20gJy4vY29uZmlnL2xpYnJhcnkuY29uZmlnJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNldE5ld1Bhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NldC1uZXctcGFzc3dvcmQvc2V0LW5ldy1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYXNzd29yZE1hdGNoaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Bhc3N3b3JkLW1hdGNoaW5nL3Bhc3N3b3JkLW1hdGNoaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcmdvdFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmVyaWZ5QW5kU2V0TmV3UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdmVyaWZ5LWFuZC1zZXQtbmV3LXBhc3N3b3JkL3ZlcmlmeS1hbmQtc2V0LW5ldy1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTG9naW5Db21wb25lbnQsXHJcbiAgICBTZXROZXdQYXNzd29yZENvbXBvbmVudCxcclxuICAgIFBhc3N3b3JkTWF0Y2hpbmdDb21wb25lbnQsXHJcbiAgICBGb3Jnb3RQYXNzd29yZENvbXBvbmVudCxcclxuICAgIFZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkQ29tcG9uZW50LFxyXG4gICAgU3Bpbm5lckJ1dHRvbkRpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTG9naW5Db21wb25lbnQsXHJcbiAgICBTZXROZXdQYXNzd29yZENvbXBvbmVudCxcclxuICAgIFBhc3N3b3JkTWF0Y2hpbmdDb21wb25lbnQsXHJcbiAgICBGb3Jnb3RQYXNzd29yZENvbXBvbmVudCxcclxuICAgIFZlcmlmeUFuZFNldE5ld1Bhc3N3b3JkQ29tcG9uZW50LFxyXG4gICAgU3Bpbm5lckJ1dHRvbkRpcmVjdGl2ZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFDb2duaXRvTGliTW9kdWxlIHtcclxuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlndXJhdGlvbjogTGlicmFyeUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5uYUNvZ25pdG9MaWJNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBBbm5hQ29nbml0b0xpYk1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTGlicmFyeUNvbmZpZywgXHJcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlndXJhdGlvblxyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Angular import statements
|
|
2
|
+
import { Component } from "@angular/core";
|
|
3
|
+
import { FormBuilder, Validators } from "@angular/forms";
|
|
4
|
+
// Third party import statements
|
|
5
|
+
import { ToastrService } from "ngx-toastr";
|
|
6
|
+
// User defined import statements
|
|
7
|
+
import { UsernameInfo } from "../../models/auth.model";
|
|
8
|
+
import { AnnaLibAuthService } from "../../services/auth.service";
|
|
9
|
+
import { LoginConstant } from "../../constants/loginConstant";
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../../services/auth.service";
|
|
12
|
+
import * as i2 from "@angular/forms";
|
|
13
|
+
import * as i3 from "ngx-toastr";
|
|
14
|
+
import * as i4 from "@angular/common";
|
|
15
|
+
export class ForgotPasswordComponent {
|
|
16
|
+
constructor(authService, fb, toastr) {
|
|
17
|
+
this.authService = authService;
|
|
18
|
+
this.fb = fb;
|
|
19
|
+
this.toastr = toastr;
|
|
20
|
+
this.passwordNotMatching = false;
|
|
21
|
+
this.password = { value: null, status: null };
|
|
22
|
+
this.confirmPassword = { value: null, status: null };
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.constants = LoginConstant;
|
|
26
|
+
this.onIntialiseForm();
|
|
27
|
+
if (this.authService.userName) {
|
|
28
|
+
this.onUpdateForm();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
onIntialiseForm() {
|
|
32
|
+
this.verifyRegisteredEmail = this.fb.group({
|
|
33
|
+
email: [null, [Validators.required]],
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
onUpdateForm() {
|
|
37
|
+
this.verifyRegisteredEmail.patchValue({
|
|
38
|
+
email: this.authService.userName,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
isFormValid() {
|
|
42
|
+
return this.verifyRegisteredEmail.valid;
|
|
43
|
+
}
|
|
44
|
+
onVerifyRegisteredEmail() {
|
|
45
|
+
let username = this.verifyRegisteredEmail.controls['email'].value;
|
|
46
|
+
this.authService.consumingProjectAuthService.isUsernameAvailable(username)
|
|
47
|
+
.subscribe({
|
|
48
|
+
next: (response) => {
|
|
49
|
+
let res = new UsernameInfo(response);
|
|
50
|
+
if (!res.isUsernameAvailable) {
|
|
51
|
+
this.authService.onForgotPasswordGenerateOTP(username);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.errorMessage = this.constants.userNotFound;
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
error: any => {
|
|
58
|
+
this.toastr.error(LoginConstant.apiFailErrorMessage);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
ForgotPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ForgotPasswordComponent, deps: [{ token: i1.AnnaLibAuthService }, { token: i2.FormBuilder }, { token: i3.ToastrService }], target: i0.ɵɵFactoryTarget.Component });
|
|
64
|
+
ForgotPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ForgotPasswordComponent, selector: "lib-forgot-password", ngImport: i0, template: "<div class=\"main\">\r\n <section>\r\n <header>\r\n <img src=\"assets/images/Anna-Logo-for-footer-min.png\" alt=\"Anna Logo\" />\r\n </header>\r\n <article>\r\n <form [formGroup]=\"verifyRegisteredEmail\">\r\n <div id=\"heading\">\r\n {{ constants.forgotPasswordHeading }}\r\n </div>\r\n <p>\r\n {{ constants.forgotPasswordMessage }}\r\n </p>\r\n <div id=\"alert-div\" *ngIf=\"errorMessage\">\r\n <span class=\"material-icons\">report</span>\r\n <p id=\"alert-msg\">{{ errorMessage }}</p>\r\n </div>\r\n\r\n <input\r\n type=\"text\"\r\n tabindex=\"1\"\r\n formControlName=\"email\"\r\n [placeholder]=\"constants.enterEmail\"\r\n [ngClass]=\"{\r\n 'input-invalid': verifyRegisteredEmail.get('email')?.dirty && verifyRegisteredEmail.get('email')?.errors\r\n }\"\r\n />\r\n\r\n <button\r\n tabindex=\"2\"\r\n type=\"submit\"\r\n class=\"login-btn\"\r\n [disabled]=\"!isFormValid()\"\r\n (click)=\"onVerifyRegisteredEmail()\"\r\n >\r\n {{ constants.forgotPasswordButton }}\r\n </button>\r\n </form>\r\n </article>\r\n <footer>\r\n Powered by <span> <strong> SureWaves</strong></span>\r\n </footer>\r\n </section>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:100vh}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#alert-div{padding:.25rem 0 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.3125rem;font-weight:700;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem;margin-top:.9375rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}p{color:#4a4a4a;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input[type=text]{margin-bottom:16px}input[type=text]:focus{box-shadow:none}.back-btn{font-size:27px;position:relative;color:#268bff;float:left;top:-30px;left:-15px;font-weight:400!important}\n"], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{ selector: 'lib-forgot-password', template: "<div class=\"main\">\r\n <section>\r\n <header>\r\n <img src=\"assets/images/Anna-Logo-for-footer-min.png\" alt=\"Anna Logo\" />\r\n </header>\r\n <article>\r\n <form [formGroup]=\"verifyRegisteredEmail\">\r\n <div id=\"heading\">\r\n {{ constants.forgotPasswordHeading }}\r\n </div>\r\n <p>\r\n {{ constants.forgotPasswordMessage }}\r\n </p>\r\n <div id=\"alert-div\" *ngIf=\"errorMessage\">\r\n <span class=\"material-icons\">report</span>\r\n <p id=\"alert-msg\">{{ errorMessage }}</p>\r\n </div>\r\n\r\n <input\r\n type=\"text\"\r\n tabindex=\"1\"\r\n formControlName=\"email\"\r\n [placeholder]=\"constants.enterEmail\"\r\n [ngClass]=\"{\r\n 'input-invalid': verifyRegisteredEmail.get('email')?.dirty && verifyRegisteredEmail.get('email')?.errors\r\n }\"\r\n />\r\n\r\n <button\r\n tabindex=\"2\"\r\n type=\"submit\"\r\n class=\"login-btn\"\r\n [disabled]=\"!isFormValid()\"\r\n (click)=\"onVerifyRegisteredEmail()\"\r\n >\r\n {{ constants.forgotPasswordButton }}\r\n </button>\r\n </form>\r\n </article>\r\n <footer>\r\n Powered by <span> <strong> SureWaves</strong></span>\r\n </footer>\r\n </section>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:100vh}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#alert-div{padding:.25rem 0 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.3125rem;font-weight:700;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem;margin-top:.9375rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}p{color:#4a4a4a;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input[type=text]{margin-bottom:16px}input[type=text]:focus{box-shadow:none}.back-btn{font-size:27px;position:relative;color:#268bff;float:left;top:-30px;left:-15px;font-weight:400!important}\n"] }]
|
|
68
|
+
}], ctorParameters: function () { return [{ type: i1.AnnaLibAuthService }, { type: i2.FormBuilder }, { type: i3.ToastrService }]; } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29nbml0by1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLGdDQUFnQztBQUNoQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLGlDQUFpQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7QUFPOUQsTUFBTSxPQUFPLHVCQUF1QjtJQVFoQyxZQUNVLFdBQStCLEVBQy9CLEVBQWUsRUFDZixNQUFxQjtRQUZyQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFdBQU0sR0FBTixNQUFNLENBQWU7UUFSL0Isd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRTVCLGFBQVEsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3pDLG9CQUFlLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQU03QyxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN2QjtJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3ZDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTtTQUNuQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQztJQUM1QyxDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO2FBQ3pFLFNBQVMsQ0FDTjtZQUNFLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDMUQ7cUJBQU07b0JBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztpQkFDbkQ7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNULElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3pELENBQUM7U0FDRixDQUNKLENBQUM7SUFDTixDQUFDOztvSEF4RFEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMkRDakJwQyw0bERBNENBOzJGRDNCYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tIFwibmd4LXRvYXN0clwiO1xyXG5cclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IFVzZXJuYW1lSW5mbyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXV0aC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBBbm5hTGliQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvZ2luQ29uc3RhbnQgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzL2xvZ2luQ29uc3RhbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWZvcmdvdC1wYXNzd29yZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcmdvdFBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICAgIHZlcmlmeVJlZ2lzdGVyZWRFbWFpbDogRm9ybUdyb3VwO1xyXG4gICAgcGFzc3dvcmROb3RNYXRjaGluZyA9IGZhbHNlO1xyXG4gICAgY29uc3RhbnRzOiB0eXBlb2YgTG9naW5Db25zdGFudDtcclxuICAgIHBhc3N3b3JkID0geyB2YWx1ZTogbnVsbCwgc3RhdHVzOiBudWxsIH07XHJcbiAgICBjb25maXJtUGFzc3dvcmQgPSB7IHZhbHVlOiBudWxsLCBzdGF0dXM6IG51bGwgfTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQW5uYUxpYkF1dGhTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2VcclxuICAgICkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmNvbnN0YW50cyA9IExvZ2luQ29uc3RhbnQ7XHJcbiAgICAgICAgdGhpcy5vbkludGlhbGlzZUZvcm0oKTtcclxuICAgICAgICBpZiAodGhpcy5hdXRoU2VydmljZS51c2VyTmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLm9uVXBkYXRlRm9ybSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkludGlhbGlzZUZvcm0oKSB7XHJcbiAgICAgICAgdGhpcy52ZXJpZnlSZWdpc3RlcmVkRW1haWwgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICAgZW1haWw6IFtudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVXBkYXRlRm9ybSgpIHtcclxuICAgICAgICB0aGlzLnZlcmlmeVJlZ2lzdGVyZWRFbWFpbC5wYXRjaFZhbHVlKHtcclxuICAgICAgICAgICAgZW1haWw6IHRoaXMuYXV0aFNlcnZpY2UudXNlck5hbWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNGb3JtVmFsaWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmVyaWZ5UmVnaXN0ZXJlZEVtYWlsLnZhbGlkO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVmVyaWZ5UmVnaXN0ZXJlZEVtYWlsKCkge1xyXG4gICAgICAgIGxldCB1c2VybmFtZSA9IHRoaXMudmVyaWZ5UmVnaXN0ZXJlZEVtYWlsLmNvbnRyb2xzWydlbWFpbCddLnZhbHVlO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLmlzVXNlcm5hbWVBdmFpbGFibGUodXNlcm5hbWUpXHJcbiAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IHJlcyA9IG5ldyBVc2VybmFtZUluZm8ocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFyZXMuaXNVc2VybmFtZUF2YWlsYWJsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2Uub25Gb3Jnb3RQYXNzd29yZEdlbmVyYXRlT1RQKHVzZXJuYW1lKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmNvbnN0YW50cy51c2VyTm90Rm91bmQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBlcnJvcjogYW55ID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoTG9naW5Db25zdGFudC5hcGlGYWlsRXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtYWluXCI+XHJcbiAgPHNlY3Rpb24+XHJcbiAgICAgIDxoZWFkZXI+XHJcbiAgICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWFnZXMvQW5uYS1Mb2dvLWZvci1mb290ZXItbWluLnBuZ1wiIGFsdD1cIkFubmEgTG9nb1wiIC8+XHJcbiAgICAgIDwvaGVhZGVyPlxyXG4gICAgICA8YXJ0aWNsZT5cclxuICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwidmVyaWZ5UmVnaXN0ZXJlZEVtYWlsXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBpZD1cImhlYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAge3sgY29uc3RhbnRzLmZvcmdvdFBhc3N3b3JkSGVhZGluZyB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxwPlxyXG4gICAgICAgICAgICAgICAgICB7eyBjb25zdGFudHMuZm9yZ290UGFzc3dvcmRNZXNzYWdlIH19XHJcbiAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgIDxkaXYgaWQ9XCJhbGVydC1kaXZcIiAqbmdJZj1cImVycm9yTWVzc2FnZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+cmVwb3J0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8cCBpZD1cImFsZXJ0LW1zZ1wiPnt7IGVycm9yTWVzc2FnZSB9fTwvcD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxyXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiY29uc3RhbnRzLmVudGVyRW1haWxcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAnaW5wdXQtaW52YWxpZCc6IHZlcmlmeVJlZ2lzdGVyZWRFbWFpbC5nZXQoJ2VtYWlsJyk/LmRpcnR5ICYmIHZlcmlmeVJlZ2lzdGVyZWRFbWFpbC5nZXQoJ2VtYWlsJyk/LmVycm9yc1xyXG4gICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImxvZ2luLWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNGb3JtVmFsaWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblZlcmlmeVJlZ2lzdGVyZWRFbWFpbCgpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGNvbnN0YW50cy5mb3Jnb3RQYXNzd29yZEJ1dHRvbiB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9mb3JtPlxyXG4gICAgICA8L2FydGljbGU+XHJcbiAgICAgIDxmb290ZXI+XHJcbiAgICAgICAgICBQb3dlcmVkIGJ5IDxzcGFuPiA8c3Ryb25nPiBTdXJlV2F2ZXM8L3N0cm9uZz48L3NwYW4+XHJcbiAgICAgIDwvZm9vdGVyPlxyXG4gIDwvc2VjdGlvbj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// Angular import statements
|
|
2
|
+
import { Component } from "@angular/core";
|
|
3
|
+
import { FormBuilder } from "@angular/forms";
|
|
4
|
+
// User defined import statements
|
|
5
|
+
import { LoginConstant } from "../../constants/loginConstant";
|
|
6
|
+
import { AnnaLibAuthService } from '../../services/auth.service';
|
|
7
|
+
import { LibraryConfig } from '../../config/library.config';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../services/auth.service";
|
|
10
|
+
import * as i2 from "@angular/forms";
|
|
11
|
+
import * as i3 from "../../config/library.config";
|
|
12
|
+
import * as i4 from "@angular/common";
|
|
13
|
+
import * as i5 from "@angular/router";
|
|
14
|
+
import * as i6 from "../../directives/spinner-button/spinner-button.directive";
|
|
15
|
+
export class LoginComponent {
|
|
16
|
+
constructor(authService, fb, libraryConfig) {
|
|
17
|
+
this.authService = authService;
|
|
18
|
+
this.fb = fb;
|
|
19
|
+
this.libraryConfig = libraryConfig;
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.constants = LoginConstant;
|
|
23
|
+
this.onIntialiseForm();
|
|
24
|
+
}
|
|
25
|
+
onIntialiseForm() {
|
|
26
|
+
this.loginForm = this.fb.group({
|
|
27
|
+
username: [null],
|
|
28
|
+
password: [null],
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
OnLogin() {
|
|
32
|
+
this.authService.consumingProjectAuthService.isLoggingIn = true;
|
|
33
|
+
const username = this.loginForm.controls['username'].value;
|
|
34
|
+
const password = this.loginForm.controls['password'].value;
|
|
35
|
+
this.authService.authenticate(username, password);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
LoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoginComponent, deps: [{ token: i1.AnnaLibAuthService }, { token: i2.FormBuilder }, { token: i3.LibraryConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
LoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: LoginComponent, selector: "lib-login", ngImport: i0, template: "<div class=\"main\">\r\n <!-- Load login page when all constant variable are intiated otherwise it will show a glitch. that's why ngIf check of constants.forgotPassword -->\r\n <section *ngIf=\"constants.forgotPassword\">\r\n <header>\r\n <img [src]=\"libraryConfig.loginPageLogoImgUrl\" loading=\"eager\" alt=\"Anna Logo\" />\r\n </header>\r\n <article>\r\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"OnLogin()\">\r\n <div id=\"alert-div\" *ngIf=\"authService.loginErrorMessage\">\r\n <span class=\"material-icons\">report</span>\r\n <p>{{ authService.loginErrorMessage }}</p>\r\n </div>\r\n\r\n <input\r\n type=\"text\"\r\n tabindex=\"1\"\r\n formControlName=\"username\"\r\n [ngClass]=\"{ 'input-invalid': authService.loginErrorMessage }\"\r\n [placeholder]=\"constants.enterEmail\"\r\n autocomplete=\"username\"\r\n autofocus\r\n />\r\n\r\n <input\r\n type=\"password\"\r\n tabindex=\"2\"\r\n formControlName=\"password\"\r\n [ngClass]=\"{ 'input-invalid': authService.loginErrorMessage }\"\r\n [placeholder]=\"constants.password\"\r\n autocomplete=\"current-password\"\r\n autofocus\r\n />\r\n\r\n <a tabindex=\"4\" [routerLink]=\"constants.forgortPasswordPageUrl\">{{ constants.forgotPassword }}</a>\r\n <button\r\n tabindex=\"3\"\r\n class=\"login-btn\"\r\n [appSpinnerButton]=\"authService.consumingProjectAuthService.isLoggingIn\"\r\n [spinnerButtonText]=\"constants.login\"\r\n ></button>\r\n </form>\r\n </article>\r\n <footer>Powered by <span>SureWaves</span></footer>\r\n </section>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:100vh}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#alert-div{padding:.25rem 0 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.3125rem;font-weight:700;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem;margin-top:.9375rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}a{float:right;color:#268bff;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline}a:hover{cursor:pointer}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i6.SpinnerButtonDirective, selector: "[appSpinnerButton]", inputs: ["appSpinnerButton", "spinnerButtonText"] }] });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoginComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: "lib-login", template: "<div class=\"main\">\r\n <!-- Load login page when all constant variable are intiated otherwise it will show a glitch. that's why ngIf check of constants.forgotPassword -->\r\n <section *ngIf=\"constants.forgotPassword\">\r\n <header>\r\n <img [src]=\"libraryConfig.loginPageLogoImgUrl\" loading=\"eager\" alt=\"Anna Logo\" />\r\n </header>\r\n <article>\r\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"OnLogin()\">\r\n <div id=\"alert-div\" *ngIf=\"authService.loginErrorMessage\">\r\n <span class=\"material-icons\">report</span>\r\n <p>{{ authService.loginErrorMessage }}</p>\r\n </div>\r\n\r\n <input\r\n type=\"text\"\r\n tabindex=\"1\"\r\n formControlName=\"username\"\r\n [ngClass]=\"{ 'input-invalid': authService.loginErrorMessage }\"\r\n [placeholder]=\"constants.enterEmail\"\r\n autocomplete=\"username\"\r\n autofocus\r\n />\r\n\r\n <input\r\n type=\"password\"\r\n tabindex=\"2\"\r\n formControlName=\"password\"\r\n [ngClass]=\"{ 'input-invalid': authService.loginErrorMessage }\"\r\n [placeholder]=\"constants.password\"\r\n autocomplete=\"current-password\"\r\n autofocus\r\n />\r\n\r\n <a tabindex=\"4\" [routerLink]=\"constants.forgortPasswordPageUrl\">{{ constants.forgotPassword }}</a>\r\n <button\r\n tabindex=\"3\"\r\n class=\"login-btn\"\r\n [appSpinnerButton]=\"authService.consumingProjectAuthService.isLoggingIn\"\r\n [spinnerButtonText]=\"constants.login\"\r\n ></button>\r\n </form>\r\n </article>\r\n <footer>Powered by <span>SureWaves</span></footer>\r\n </section>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:100vh}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#alert-div{padding:.25rem 0 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.3125rem;font-weight:700;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem;margin-top:.9375rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}a{float:right;color:#268bff;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline}a:hover{cursor:pointer}\n"] }]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i1.AnnaLibAuthService }, { type: i2.FormBuilder }, { type: i3.LibraryConfig }]; } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELGlDQUFpQztBQUNqQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7OztBQU81RCxNQUFNLE9BQU8sY0FBYztJQUl2QixZQUNXLFdBQStCLEVBQzlCLEVBQWUsRUFDaEIsYUFBNEI7UUFGNUIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQzlCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDaEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDcEMsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzNCLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNoQixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDbkIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDaEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7MkdBM0JRLGNBQWM7K0ZBQWQsY0FBYyxpRENkM0IseStEQTZDQTsyRkQvQmEsY0FBYztrQkFMMUIsU0FBUzsrQkFDSSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBMb2dpbkNvbnN0YW50IH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50cy9sb2dpbkNvbnN0YW50XCI7XHJcbmltcG9ydCB7IEFubmFMaWJBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IExpYnJhcnlDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvbGlicmFyeS5jb25maWcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJsaWItbG9naW5cIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vbG9naW4uY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9sb2dpbi5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIGxvZ2luRm9ybTogRm9ybUdyb3VwO1xyXG4gICAgY29uc3RhbnRzOiB0eXBlb2YgTG9naW5Db25zdGFudDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEFubmFMaWJBdXRoU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgICAgICBwdWJsaWMgbGlicmFyeUNvbmZpZzogTGlicmFyeUNvbmZpZ1xyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuY29uc3RhbnRzID0gTG9naW5Db25zdGFudDtcclxuICAgICAgICB0aGlzLm9uSW50aWFsaXNlRm9ybSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uSW50aWFsaXNlRm9ybSgpIHtcclxuICAgICAgICB0aGlzLmxvZ2luRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICAgICAgICB1c2VybmFtZTogW251bGxdLFxyXG4gICAgICAgICAgICBwYXNzd29yZDogW251bGxdLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIE9uTG9naW4oKSB7XHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuaXNMb2dnaW5nSW4gPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IHVzZXJuYW1lID0gdGhpcy5sb2dpbkZvcm0uY29udHJvbHNbJ3VzZXJuYW1lJ10udmFsdWU7XHJcbiAgICAgICAgY29uc3QgcGFzc3dvcmQgPSB0aGlzLmxvZ2luRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXS52YWx1ZTtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhlbnRpY2F0ZSh1c2VybmFtZSwgcGFzc3dvcmQpO1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtYWluXCI+XHJcbiAgPCEtLSBMb2FkIGxvZ2luIHBhZ2Ugd2hlbiBhbGwgY29uc3RhbnQgdmFyaWFibGUgYXJlIGludGlhdGVkIG90aGVyd2lzZSBpdCB3aWxsIHNob3cgYSBnbGl0Y2guIHRoYXQncyB3aHkgbmdJZiBjaGVjayBvZiBjb25zdGFudHMuZm9yZ290UGFzc3dvcmQgLS0+XHJcbiAgPHNlY3Rpb24gKm5nSWY9XCJjb25zdGFudHMuZm9yZ290UGFzc3dvcmRcIj5cclxuICAgICAgPGhlYWRlcj5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJsaWJyYXJ5Q29uZmlnLmxvZ2luUGFnZUxvZ29JbWdVcmxcIiBsb2FkaW5nPVwiZWFnZXJcIiBhbHQ9XCJBbm5hIExvZ29cIiAvPlxyXG4gICAgICA8L2hlYWRlcj5cclxuICAgICAgPGFydGljbGU+XHJcbiAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImxvZ2luRm9ybVwiIChuZ1N1Ym1pdCk9XCJPbkxvZ2luKClcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGlkPVwiYWxlcnQtZGl2XCIgKm5nSWY9XCJhdXRoU2VydmljZS5sb2dpbkVycm9yTWVzc2FnZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+cmVwb3J0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8cD57eyBhdXRoU2VydmljZS5sb2dpbkVycm9yTWVzc2FnZSB9fTwvcD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidXNlcm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpbnB1dC1pbnZhbGlkJzogYXV0aFNlcnZpY2UubG9naW5FcnJvck1lc3NhZ2UgfVwiXHJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25zdGFudHMuZW50ZXJFbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cInVzZXJuYW1lXCJcclxuICAgICAgICAgICAgICAgICAgYXV0b2ZvY3VzXHJcbiAgICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcclxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaW5wdXQtaW52YWxpZCc6IGF1dGhTZXJ2aWNlLmxvZ2luRXJyb3JNZXNzYWdlIH1cIlxyXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiY29uc3RhbnRzLnBhc3N3b3JkXCJcclxuICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwiY3VycmVudC1wYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgICAgIGF1dG9mb2N1c1xyXG4gICAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICAgIDxhIHRhYmluZGV4PVwiNFwiIFtyb3V0ZXJMaW5rXT1cImNvbnN0YW50cy5mb3Jnb3J0UGFzc3dvcmRQYWdlVXJsXCI+e3sgY29uc3RhbnRzLmZvcmdvdFBhc3N3b3JkIH19PC9hPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIzXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsb2dpbi1idG5cIlxyXG4gICAgICAgICAgICAgICAgICBbYXBwU3Bpbm5lckJ1dHRvbl09XCJhdXRoU2VydmljZS5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuaXNMb2dnaW5nSW5cIlxyXG4gICAgICAgICAgICAgICAgICBbc3Bpbm5lckJ1dHRvblRleHRdPVwiY29uc3RhbnRzLmxvZ2luXCJcclxuICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgIDwvYXJ0aWNsZT5cclxuICAgICAgPGZvb3Rlcj5Qb3dlcmVkIGJ5IDxzcGFuPlN1cmVXYXZlczwvc3Bhbj48L2Zvb3Rlcj5cclxuICA8L3NlY3Rpb24+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// Angular import statements
|
|
2
|
+
import { EventEmitter, Inject, Input, Output } from "@angular/core";
|
|
3
|
+
import { Component } from "@angular/core";
|
|
4
|
+
import { FormBuilder, Validators } from "@angular/forms";
|
|
5
|
+
// Third party import statements
|
|
6
|
+
import { debounceTime } from "rxjs/operators";
|
|
7
|
+
// User defined import statements
|
|
8
|
+
import { LoginConstant } from "../../constants/loginConstant";
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/forms";
|
|
11
|
+
import * as i2 from "@angular/common";
|
|
12
|
+
export class PasswordMatchingComponent {
|
|
13
|
+
constructor(fb) {
|
|
14
|
+
this.fb = fb;
|
|
15
|
+
this.passwordChange = new EventEmitter();
|
|
16
|
+
this.confirmPasswordChange = new EventEmitter();
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.constants = LoginConstant;
|
|
20
|
+
this.createGroup();
|
|
21
|
+
this.formValueChanged();
|
|
22
|
+
}
|
|
23
|
+
formValueChanged() {
|
|
24
|
+
const password = this.passwordForm.get("password");
|
|
25
|
+
const confirmPassword = this.passwordForm.get("confirmPassword");
|
|
26
|
+
password && password.valueChanges.subscribe(() => {
|
|
27
|
+
password && password.setValidators([
|
|
28
|
+
Validators.required,
|
|
29
|
+
this.regexValidator(new RegExp(".{8,}"), { minLength: true }),
|
|
30
|
+
this.regexValidator(new RegExp("[a-z]"), { lowercase: true }),
|
|
31
|
+
this.regexValidator(new RegExp("[A-Z]"), { uppercase: true }),
|
|
32
|
+
this.regexValidator(new RegExp("[0-9]"), { number: true }),
|
|
33
|
+
this.regexValidator(new RegExp("[^a-zA-Z0-9]"), { specialCharacter: true }),
|
|
34
|
+
]);
|
|
35
|
+
password.updateValueAndValidity({ emitEvent: false });
|
|
36
|
+
this.onPasswordChange();
|
|
37
|
+
});
|
|
38
|
+
if (confirmPassword) {
|
|
39
|
+
confirmPassword.valueChanges.pipe(debounceTime(300)).subscribe(() => {
|
|
40
|
+
confirmPassword.setValidators([Validators.required]);
|
|
41
|
+
confirmPassword.updateValueAndValidity({ emitEvent: false });
|
|
42
|
+
this.onConfirmPasswordChange();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
onPasswordChange() {
|
|
47
|
+
let result = {
|
|
48
|
+
value: this.passwordForm.value.password,
|
|
49
|
+
status: this.passwordForm.controls['password'].status,
|
|
50
|
+
};
|
|
51
|
+
this.passwordChange.emit(result);
|
|
52
|
+
}
|
|
53
|
+
onConfirmPasswordChange() {
|
|
54
|
+
let result = {
|
|
55
|
+
value: this.passwordForm.value.confirmPassword,
|
|
56
|
+
status: this.passwordForm.controls['confirmPassword'].status,
|
|
57
|
+
};
|
|
58
|
+
this.confirmPasswordChange.emit(result);
|
|
59
|
+
}
|
|
60
|
+
createGroup() {
|
|
61
|
+
this.passwordForm = this.fb.group({
|
|
62
|
+
password: [null],
|
|
63
|
+
confirmPassword: [null],
|
|
64
|
+
});
|
|
65
|
+
return this.passwordForm;
|
|
66
|
+
}
|
|
67
|
+
// TODO: check the return again
|
|
68
|
+
regexValidator(regex, error) {
|
|
69
|
+
return (control) => {
|
|
70
|
+
const valid = regex.test(control.value);
|
|
71
|
+
return (valid ? null : error);
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
PasswordMatchingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PasswordMatchingComponent, deps: [{ token: FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
PasswordMatchingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: PasswordMatchingComponent, selector: "lib-password-matching", inputs: { passwordNotMatching: "passwordNotMatching" }, outputs: { passwordChange: "passwordChange", confirmPasswordChange: "confirmPasswordChange" }, ngImport: i0, template: "<form [formGroup]=\"passwordForm\">\r\n <div id=\"alert-div\" *ngIf=\"passwordNotMatching\">\r\n <div id=\"icon-div\">\r\n <span class=\"material-icons\">report</span>\r\n </div>\r\n <p>{{ constants.passwordNotMatching }}</p>\r\n </div>\r\n <div class=\"password-policies\">\r\n <ng-container *ngIf=\"!passwordForm.get('password')?.dirty\">\r\n <p>\r\n <b>{{ constants.passwordMustContain }} </b>\r\n </p>\r\n <p>{{ constants.minimumCharacter }}</p>\r\n <p>{{ constants.oneUppercase }}</p>\r\n <p>{{ constants.oneLowercase }}</p>\r\n <p>{{ constants.oneNumber }}</p>\r\n <p>{{ constants.specialCharacter }}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"passwordForm.get('password')?.dirty\">\r\n <p>\r\n <b>{{ constants.passwordMustContain }}</b>\r\n </p>\r\n\r\n <div [ngClass]=\"passwordForm.get('password')?.hasError('minLength') ? 'error-color' : 'success-color'\">\r\n <div id=\"icon-div-msg\">\r\n <span class=\"material-icons\" *ngIf=\"passwordForm.get('password')?.hasError('minLength')\"> cancel </span>\r\n <span class=\"material-icons\" *ngIf=\"!passwordForm.get('password')?.hasError('minLength')\"> check_circle </span>\r\n </div>\r\n <span class=\"span-text\">{{ constants.minimumCharacter }}</span>\r\n </div>\r\n\r\n <div [ngClass]=\"passwordForm.get('password')?.hasError('uppercase') ? 'error-color' : 'success-color'\">\r\n <div id=\"icon-div-msg\">\r\n <span class=\"material-icons\" *ngIf=\"passwordForm.get('password')?.hasError('uppercase')\"> cancel </span>\r\n <span class=\"material-icons\" *ngIf=\"!passwordForm.get('password')?.hasError('uppercase')\"> check_circle </span>\r\n </div>\r\n <span class=\"span-text\">{{ constants.oneUppercase }}</span>\r\n </div>\r\n\r\n <div [ngClass]=\"passwordForm.get('password')?.hasError('lowercase') ? 'error-color' : 'success-color'\">\r\n <div id=\"icon-div-msg\">\r\n <span class=\"material-icons\" *ngIf=\"passwordForm.get('password')?.hasError('lowercase')\"> cancel </span>\r\n <span class=\"material-icons\" *ngIf=\"!passwordForm.get('password')?.hasError('lowercase')\"> check_circle </span>\r\n </div>\r\n <span class=\"span-text\">{{ constants.oneLowercase }}</span>\r\n </div>\r\n\r\n <div [ngClass]=\"passwordForm.get('password')?.hasError('number') ? 'error-color' : 'success-color'\">\r\n <div id=\"icon-div-msg\">\r\n <span class=\"material-icons\" *ngIf=\"passwordForm.get('password')?.hasError('number')\"> cancel </span>\r\n <span class=\"material-icons\" *ngIf=\"!passwordForm.get('password')?.hasError('number')\"> check_circle </span>\r\n </div>\r\n <span class=\"span-text\">{{ constants.oneNumber }}</span>\r\n </div>\r\n\r\n <div [ngClass]=\"passwordForm.get('password')?.hasError('specialCharacter') ? 'error-color' : 'success-color'\">\r\n <div id=\"icon-div-msg\">\r\n <span class=\"material-icons\" *ngIf=\"passwordForm.get('password')?.hasError('specialCharacter')\"> cancel </span>\r\n <span class=\"material-icons\" *ngIf=\"!passwordForm.get('password')?.hasError('specialCharacter')\">\r\n check_circle\r\n </span>\r\n </div>\r\n <span class=\"span-text\">{{ constants.specialCharacter }}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <input\r\n type=\"password\"\r\n tabindex=\"2\"\r\n formControlName=\"password\"\r\n [placeholder]=\"constants.password\"\r\n [ngClass]=\"{ 'input-invalid': passwordNotMatching }\"\r\n />\r\n\r\n <input\r\n type=\"password\"\r\n tabindex=\"3\"\r\n formControlName=\"confirmPassword\"\r\n [placeholder]=\"constants.confirmPassword\"\r\n [ngClass]=\"{ 'input-invalid': passwordNotMatching }\"\r\n />\r\n</form>\r\n", styles: ["input[type=password],input[type=text]{width:100%;height:30px;padding:10px 16px;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}input[type=password].ng-dirty.ng-invalid,.input-invalid{border:1px solid #fe3824!important}input[type=password]:focus:focus{outline:none;box-shadow:none}input[type=password]:focus::placeholder{color:#a4a4a4}.password-policies{margin-bottom:1rem}.password-policies p{color:#4a4a4a;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.31;letter-spacing:normal;margin-bottom:0}.span-text{vertical-align:top;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.31;letter-spacing:normal}#icon-div-msg{display:inline;margin-right:.3125rem}#icon-div-msg .material-icons{margin-top:1px;font-size:16px}#alert-div{padding:4px 0 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3}#alert-div #icon-div{width:18px;margin-top:-5px;display:inline-block}#alert-div #icon-div .material-icons{color:#f44336;font-size:1.125rem;margin-left:.5rem}#alert-div p{display:inline;vertical-align:top;margin-left:.5rem;color:#4a4a4a;font-family:Roboto;font-size:.7188rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.error-color{color:#fe3824}.success-color{color:#43a047}\n"], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PasswordMatchingComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ selector: 'lib-password-matching', template: "<form [formGroup]=\"passwordForm\">\r\n <div id=\"alert-div\" *ngIf=\"passwordNotMatching\">\r\n <div id=\"icon-div\">\r\n <span class=\"material-icons\">report</span>\r\n </div>\r\n <p>{{ constants.passwordNotMatching }}</p>\r\n </div>\r\n <div class=\"password-policies\">\r\n <ng-container *ngIf=\"!passwordForm.get('password')?.dirty\">\r\n <p>\r\n <b>{{ constants.passwordMustContain }} </b>\r\n </p>\r\n <p>{{ constants.minimumCharacter }}</p>\r\n <p>{{ constants.oneUppercase }}</p>\r\n <p>{{ constants.oneLowercase }}</p>\r\n <p>{{ constants.oneNumber }}</p>\r\n <p>{{ constants.specialCharacter }}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"passwordForm.get('password')?.dirty\">\r\n <p>\r\n <b>{{ constants.passwordMustContain }}</b>\r\n </p>\r\n\r\n <div [ngClass]=\"passwordForm.get('password')?.hasError('minLength') ? 'error-color' : 'success-color'\">\r\n <div id=\"icon-div-msg\">\r\n <span class=\"material-icons\" *ngIf=\"passwordForm.get('password')?.hasError('minLength')\"> cancel </span>\r\n <span class=\"material-icons\" *ngIf=\"!passwordForm.get('password')?.hasError('minLength')\"> check_circle </span>\r\n </div>\r\n <span class=\"span-text\">{{ constants.minimumCharacter }}</span>\r\n </div>\r\n\r\n <div [ngClass]=\"passwordForm.get('password')?.hasError('uppercase') ? 'error-color' : 'success-color'\">\r\n <div id=\"icon-div-msg\">\r\n <span class=\"material-icons\" *ngIf=\"passwordForm.get('password')?.hasError('uppercase')\"> cancel </span>\r\n <span class=\"material-icons\" *ngIf=\"!passwordForm.get('password')?.hasError('uppercase')\"> check_circle </span>\r\n </div>\r\n <span class=\"span-text\">{{ constants.oneUppercase }}</span>\r\n </div>\r\n\r\n <div [ngClass]=\"passwordForm.get('password')?.hasError('lowercase') ? 'error-color' : 'success-color'\">\r\n <div id=\"icon-div-msg\">\r\n <span class=\"material-icons\" *ngIf=\"passwordForm.get('password')?.hasError('lowercase')\"> cancel </span>\r\n <span class=\"material-icons\" *ngIf=\"!passwordForm.get('password')?.hasError('lowercase')\"> check_circle </span>\r\n </div>\r\n <span class=\"span-text\">{{ constants.oneLowercase }}</span>\r\n </div>\r\n\r\n <div [ngClass]=\"passwordForm.get('password')?.hasError('number') ? 'error-color' : 'success-color'\">\r\n <div id=\"icon-div-msg\">\r\n <span class=\"material-icons\" *ngIf=\"passwordForm.get('password')?.hasError('number')\"> cancel </span>\r\n <span class=\"material-icons\" *ngIf=\"!passwordForm.get('password')?.hasError('number')\"> check_circle </span>\r\n </div>\r\n <span class=\"span-text\">{{ constants.oneNumber }}</span>\r\n </div>\r\n\r\n <div [ngClass]=\"passwordForm.get('password')?.hasError('specialCharacter') ? 'error-color' : 'success-color'\">\r\n <div id=\"icon-div-msg\">\r\n <span class=\"material-icons\" *ngIf=\"passwordForm.get('password')?.hasError('specialCharacter')\"> cancel </span>\r\n <span class=\"material-icons\" *ngIf=\"!passwordForm.get('password')?.hasError('specialCharacter')\">\r\n check_circle\r\n </span>\r\n </div>\r\n <span class=\"span-text\">{{ constants.specialCharacter }}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <input\r\n type=\"password\"\r\n tabindex=\"2\"\r\n formControlName=\"password\"\r\n [placeholder]=\"constants.password\"\r\n [ngClass]=\"{ 'input-invalid': passwordNotMatching }\"\r\n />\r\n\r\n <input\r\n type=\"password\"\r\n tabindex=\"3\"\r\n formControlName=\"confirmPassword\"\r\n [placeholder]=\"constants.confirmPassword\"\r\n [ngClass]=\"{ 'input-invalid': passwordNotMatching }\"\r\n />\r\n</form>\r\n", styles: ["input[type=password],input[type=text]{width:100%;height:30px;padding:10px 16px;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}input[type=password].ng-dirty.ng-invalid,.input-invalid{border:1px solid #fe3824!important}input[type=password]:focus:focus{outline:none;box-shadow:none}input[type=password]:focus::placeholder{color:#a4a4a4}.password-policies{margin-bottom:1rem}.password-policies p{color:#4a4a4a;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.31;letter-spacing:normal;margin-bottom:0}.span-text{vertical-align:top;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.31;letter-spacing:normal}#icon-div-msg{display:inline;margin-right:.3125rem}#icon-div-msg .material-icons{margin-top:1px;font-size:16px}#alert-div{padding:4px 0 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3}#alert-div #icon-div{width:18px;margin-top:-5px;display:inline-block}#alert-div #icon-div .material-icons{color:#f44336;font-size:1.125rem;margin-left:.5rem}#alert-div p{display:inline;vertical-align:top;margin-left:.5rem;color:#4a4a4a;font-family:Roboto;font-size:.7188rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.error-color{color:#fe3824}.success-color{color:#43a047}\n"] }]
|
|
80
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder, decorators: [{
|
|
81
|
+
type: Inject,
|
|
82
|
+
args: [FormBuilder]
|
|
83
|
+
}] }]; }, propDecorators: { passwordChange: [{
|
|
84
|
+
type: Output
|
|
85
|
+
}], confirmPasswordChange: [{
|
|
86
|
+
type: Output
|
|
87
|
+
}], passwordNotMatching: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}] } });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtbWF0Y2hpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFzc3dvcmQtbWF0Y2hpbmcvcGFzc3dvcmQtbWF0Y2hpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFzc3dvcmQtbWF0Y2hpbmcvcGFzc3dvcmQtbWF0Y2hpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQW1CLFdBQVcsRUFBNEMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEgsZ0NBQWdDO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBTzlELE1BQU0sT0FBTyx5QkFBeUI7SUFPcEMsWUFBeUMsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFOOUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFLTSxDQUFDO0lBRTVELFFBQVE7UUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQjtRQUNaLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFakUsUUFBUSxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvQyxRQUFRLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQztnQkFDN0IsVUFBVSxDQUFDLFFBQVE7Z0JBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzdELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzdELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzdELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzFELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUM5RSxDQUFDLENBQUM7WUFDSCxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUcsZUFBZSxFQUFDO1lBQ2pCLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xFLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDckQsZUFBZSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQzdELElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFFTCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxNQUFNLEdBQUc7WUFDVCxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUN2QyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTTtTQUN4RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELHVCQUF1QjtRQUNuQixJQUFJLE1BQU0sR0FBRztZQUNULEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQzlDLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE1BQU07U0FDL0QsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzlCLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNoQixlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCwrQkFBK0I7SUFDL0IsY0FBYyxDQUFDLEtBQWEsRUFBRSxLQUF1QjtRQUVqRCxPQUFPLENBQUMsT0FBd0IsRUFBOEIsRUFBRTtZQUM1RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBUSxDQUFDO1FBQ3pDLENBQUMsQ0FBQztJQUNOLENBQUM7O3NIQXpFVSx5QkFBeUIsa0JBT2hCLFdBQVc7MEdBUHBCLHlCQUF5QixvTkNoQnRDLDZxSUFvRkE7MkZEcEVhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx1QkFBdUI7OzBCQVdwQixNQUFNOzJCQUFDLFdBQVc7NENBTnJCLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUVFLG1CQUFtQjtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IExvZ2luQ29uc3RhbnQgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzL2xvZ2luQ29uc3RhbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBhc3N3b3JkLW1hdGNoaW5nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtbWF0Y2hpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Bhc3N3b3JkLW1hdGNoaW5nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkTWF0Y2hpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBPdXRwdXQoKSBwYXNzd29yZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY29uZmlybVBhc3N3b3JkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBwYXNzd29yZE5vdE1hdGNoaW5nOiBib29sZWFuO1xyXG4gIHBhc3N3b3JkRm9ybTogRm9ybUdyb3VwO1xyXG4gIGNvbnN0YW50czogdHlwZW9mIExvZ2luQ29uc3RhbnQ7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChGb3JtQnVpbGRlcikgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgICB0aGlzLmNvbnN0YW50cyA9IExvZ2luQ29uc3RhbnQ7XHJcbiAgICAgIHRoaXMuY3JlYXRlR3JvdXAoKTtcclxuICAgICAgdGhpcy5mb3JtVmFsdWVDaGFuZ2VkKCk7XHJcbiAgfVxyXG5cclxuICBmb3JtVmFsdWVDaGFuZ2VkKCkge1xyXG4gICAgICBjb25zdCBwYXNzd29yZCA9IHRoaXMucGFzc3dvcmRGb3JtLmdldChcInBhc3N3b3JkXCIpO1xyXG4gICAgICBjb25zdCBjb25maXJtUGFzc3dvcmQgPSB0aGlzLnBhc3N3b3JkRm9ybS5nZXQoXCJjb25maXJtUGFzc3dvcmRcIik7XHJcblxyXG4gICAgICBwYXNzd29yZCAmJiBwYXNzd29yZC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBwYXNzd29yZCAmJiBwYXNzd29yZC5zZXRWYWxpZGF0b3JzKFtcclxuICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHRoaXMucmVnZXhWYWxpZGF0b3IobmV3IFJlZ0V4cChcIi57OCx9XCIpLCB7IG1pbkxlbmd0aDogdHJ1ZSB9KSxcclxuICAgICAgICAgICAgICB0aGlzLnJlZ2V4VmFsaWRhdG9yKG5ldyBSZWdFeHAoXCJbYS16XVwiKSwgeyBsb3dlcmNhc2U6IHRydWUgfSksXHJcbiAgICAgICAgICAgICAgdGhpcy5yZWdleFZhbGlkYXRvcihuZXcgUmVnRXhwKFwiW0EtWl1cIiksIHsgdXBwZXJjYXNlOiB0cnVlIH0pLFxyXG4gICAgICAgICAgICAgIHRoaXMucmVnZXhWYWxpZGF0b3IobmV3IFJlZ0V4cChcIlswLTldXCIpLCB7IG51bWJlcjogdHJ1ZSB9KSxcclxuICAgICAgICAgICAgICB0aGlzLnJlZ2V4VmFsaWRhdG9yKG5ldyBSZWdFeHAoXCJbXmEtekEtWjAtOV1cIiksIHsgc3BlY2lhbENoYXJhY3RlcjogdHJ1ZSB9KSxcclxuICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgcGFzc3dvcmQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICB0aGlzLm9uUGFzc3dvcmRDaGFuZ2UoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZihjb25maXJtUGFzc3dvcmQpe1xyXG4gICAgICAgIGNvbmZpcm1QYXNzd29yZC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMzAwKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIGNvbmZpcm1QYXNzd29yZC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcbiAgICAgICAgICBjb25maXJtUGFzc3dvcmQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICB0aGlzLm9uQ29uZmlybVBhc3N3b3JkQ2hhbmdlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgb25QYXNzd29yZENoYW5nZSgpIHtcclxuICAgICAgbGV0IHJlc3VsdCA9IHtcclxuICAgICAgICAgIHZhbHVlOiB0aGlzLnBhc3N3b3JkRm9ybS52YWx1ZS5wYXNzd29yZCxcclxuICAgICAgICAgIHN0YXR1czogdGhpcy5wYXNzd29yZEZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10uc3RhdHVzLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnBhc3N3b3JkQ2hhbmdlLmVtaXQocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIG9uQ29uZmlybVBhc3N3b3JkQ2hhbmdlKCkge1xyXG4gICAgICBsZXQgcmVzdWx0ID0ge1xyXG4gICAgICAgICAgdmFsdWU6IHRoaXMucGFzc3dvcmRGb3JtLnZhbHVlLmNvbmZpcm1QYXNzd29yZCxcclxuICAgICAgICAgIHN0YXR1czogdGhpcy5wYXNzd29yZEZvcm0uY29udHJvbHNbJ2NvbmZpcm1QYXNzd29yZCddLnN0YXR1cyxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5jb25maXJtUGFzc3dvcmRDaGFuZ2UuZW1pdChyZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlR3JvdXAoKSB7XHJcbiAgICAgIHRoaXMucGFzc3dvcmRGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgICAgICBwYXNzd29yZDogW251bGxdLFxyXG4gICAgICAgICAgY29uZmlybVBhc3N3b3JkOiBbbnVsbF0sXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdGhpcy5wYXNzd29yZEZvcm07XHJcbiAgfVxyXG5cclxuICAvLyBUT0RPOiBjaGVjayB0aGUgcmV0dXJuIGFnYWluXHJcbiAgcmVnZXhWYWxpZGF0b3IocmVnZXg6IFJlZ0V4cCwgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMpOiBhbnlcclxuIHtcclxuICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB2YWxpZCA9IHJlZ2V4LnRlc3QoY29udHJvbC52YWx1ZSk7XHJcbiAgICAgICAgICByZXR1cm4gKHZhbGlkID8gbnVsbCA6IGVycm9yKSBhcyBhbnk7XHJcbiAgICAgIH07XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cInBhc3N3b3JkRm9ybVwiPlxyXG4gIDxkaXYgaWQ9XCJhbGVydC1kaXZcIiAqbmdJZj1cInBhc3N3b3JkTm90TWF0Y2hpbmdcIj5cclxuICAgICAgPGRpdiBpZD1cImljb24tZGl2XCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+cmVwb3J0PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPHA+e3sgY29uc3RhbnRzLnBhc3N3b3JkTm90TWF0Y2hpbmcgfX08L3A+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInBhc3N3b3JkLXBvbGljaWVzXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcGFzc3dvcmRGb3JtLmdldCgncGFzc3dvcmQnKT8uZGlydHlcIj5cclxuICAgICAgICAgIDxwPlxyXG4gICAgICAgICAgICAgIDxiPnt7IGNvbnN0YW50cy5wYXNzd29yZE11c3RDb250YWluIH19IDwvYj5cclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICAgIDxwPnt7IGNvbnN0YW50cy5taW5pbXVtQ2hhcmFjdGVyIH19PC9wPlxyXG4gICAgICAgICAgPHA+e3sgY29uc3RhbnRzLm9uZVVwcGVyY2FzZSB9fTwvcD5cclxuICAgICAgICAgIDxwPnt7IGNvbnN0YW50cy5vbmVMb3dlcmNhc2UgfX08L3A+XHJcbiAgICAgICAgICA8cD57eyBjb25zdGFudHMub25lTnVtYmVyIH19PC9wPlxyXG4gICAgICAgICAgPHA+e3sgY29uc3RhbnRzLnNwZWNpYWxDaGFyYWN0ZXIgfX08L3A+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhc3N3b3JkRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LmRpcnR5XCI+XHJcbiAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgICA8Yj57eyBjb25zdGFudHMucGFzc3dvcmRNdXN0Q29udGFpbiB9fTwvYj5cclxuICAgICAgICAgIDwvcD5cclxuXHJcbiAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInBhc3N3b3JkRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/Lmhhc0Vycm9yKCdtaW5MZW5ndGgnKSA/ICdlcnJvci1jb2xvcicgOiAnc3VjY2Vzcy1jb2xvcidcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGlkPVwiaWNvbi1kaXYtbXNnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdJZj1cInBhc3N3b3JkRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/Lmhhc0Vycm9yKCdtaW5MZW5ndGgnKVwiPiBjYW5jZWwgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgKm5nSWY9XCIhcGFzc3dvcmRGb3JtLmdldCgncGFzc3dvcmQnKT8uaGFzRXJyb3IoJ21pbkxlbmd0aCcpXCI+IGNoZWNrX2NpcmNsZSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzcGFuLXRleHRcIj57eyBjb25zdGFudHMubWluaW11bUNoYXJhY3RlciB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwicGFzc3dvcmRGb3JtLmdldCgncGFzc3dvcmQnKT8uaGFzRXJyb3IoJ3VwcGVyY2FzZScpID8gJ2Vycm9yLWNvbG9yJyA6ICdzdWNjZXNzLWNvbG9yJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgaWQ9XCJpY29uLWRpdi1tc2dcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwicGFzc3dvcmRGb3JtLmdldCgncGFzc3dvcmQnKT8uaGFzRXJyb3IoJ3VwcGVyY2FzZScpXCI+IGNhbmNlbCA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdJZj1cIiFwYXNzd29yZEZvcm0uZ2V0KCdwYXNzd29yZCcpPy5oYXNFcnJvcigndXBwZXJjYXNlJylcIj4gY2hlY2tfY2lyY2xlIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNwYW4tdGV4dFwiPnt7IGNvbnN0YW50cy5vbmVVcHBlcmNhc2UgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInBhc3N3b3JkRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/Lmhhc0Vycm9yKCdsb3dlcmNhc2UnKSA/ICdlcnJvci1jb2xvcicgOiAnc3VjY2Vzcy1jb2xvcidcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGlkPVwiaWNvbi1kaXYtbXNnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdJZj1cInBhc3N3b3JkRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/Lmhhc0Vycm9yKCdsb3dlcmNhc2UnKVwiPiBjYW5jZWwgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgKm5nSWY9XCIhcGFzc3dvcmRGb3JtLmdldCgncGFzc3dvcmQnKT8uaGFzRXJyb3IoJ2xvd2VyY2FzZScpXCI+IGNoZWNrX2NpcmNsZSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzcGFuLXRleHRcIj57eyBjb25zdGFudHMub25lTG93ZXJjYXNlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJwYXNzd29yZEZvcm0uZ2V0KCdwYXNzd29yZCcpPy5oYXNFcnJvcignbnVtYmVyJykgPyAnZXJyb3ItY29sb3InIDogJ3N1Y2Nlc3MtY29sb3InXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBpZD1cImljb24tZGl2LW1zZ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgKm5nSWY9XCJwYXNzd29yZEZvcm0uZ2V0KCdwYXNzd29yZCcpPy5oYXNFcnJvcignbnVtYmVyJylcIj4gY2FuY2VsIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwiIXBhc3N3b3JkRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/Lmhhc0Vycm9yKCdudW1iZXInKVwiPiBjaGVja19jaXJjbGUgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Bhbi10ZXh0XCI+e3sgY29uc3RhbnRzLm9uZU51bWJlciB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwicGFzc3dvcmRGb3JtLmdldCgncGFzc3dvcmQnKT8uaGFzRXJyb3IoJ3NwZWNpYWxDaGFyYWN0ZXInKSA/ICdlcnJvci1jb2xvcicgOiAnc3VjY2Vzcy1jb2xvcidcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGlkPVwiaWNvbi1kaXYtbXNnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdJZj1cInBhc3N3b3JkRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/Lmhhc0Vycm9yKCdzcGVjaWFsQ2hhcmFjdGVyJylcIj4gY2FuY2VsIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwiIXBhc3N3b3JkRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/Lmhhc0Vycm9yKCdzcGVjaWFsQ2hhcmFjdGVyJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIGNoZWNrX2NpcmNsZVxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzcGFuLXRleHRcIj57eyBjb25zdGFudHMuc3BlY2lhbENoYXJhY3RlciB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJwYXNzd29yZFwiXHJcbiAgICAgIHRhYmluZGV4PVwiMlwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbnN0YW50cy5wYXNzd29yZFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2lucHV0LWludmFsaWQnOiBwYXNzd29yZE5vdE1hdGNoaW5nIH1cIlxyXG4gIC8+XHJcblxyXG4gIDxpbnB1dFxyXG4gICAgICB0eXBlPVwicGFzc3dvcmRcIlxyXG4gICAgICB0YWJpbmRleD1cIjNcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb25maXJtUGFzc3dvcmRcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiY29uc3RhbnRzLmNvbmZpcm1QYXNzd29yZFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2lucHV0LWludmFsaWQnOiBwYXNzd29yZE5vdE1hdGNoaW5nIH1cIlxyXG4gIC8+XHJcbjwvZm9ybT5cclxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Angular import statements
|
|
2
|
+
import { Component } from "@angular/core";
|
|
3
|
+
import { Router } from "@angular/router";
|
|
4
|
+
// User defined import statements
|
|
5
|
+
import { AnnaLibAuthService } from "../../services/auth.service";
|
|
6
|
+
import { LoginConstant } from "../../constants/loginConstant";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../services/auth.service";
|
|
9
|
+
import * as i2 from "@angular/router";
|
|
10
|
+
import * as i3 from "../password-matching/password-matching.component";
|
|
11
|
+
import * as i4 from "@angular/forms";
|
|
12
|
+
import * as i5 from "@angular/common";
|
|
13
|
+
export class SetNewPasswordComponent {
|
|
14
|
+
constructor(authService, router) {
|
|
15
|
+
this.authService = authService;
|
|
16
|
+
this.router = router;
|
|
17
|
+
this.passwordNotMatching = false;
|
|
18
|
+
this.password = { value: null, status: null };
|
|
19
|
+
this.confirmPassword = { value: null, status: null };
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.constants = LoginConstant;
|
|
23
|
+
this.authService.setNewPasswordButtonMessage = LoginConstant.setNewPasswordButton;
|
|
24
|
+
}
|
|
25
|
+
isFormValid() {
|
|
26
|
+
return this.password.status === "VALID" && this.confirmPassword.status === "VALID";
|
|
27
|
+
}
|
|
28
|
+
onPasswordChange($event) {
|
|
29
|
+
this.password = $event;
|
|
30
|
+
}
|
|
31
|
+
onConfirmPasswordChange($event) {
|
|
32
|
+
this.confirmPassword = $event;
|
|
33
|
+
}
|
|
34
|
+
onSettingNewPassword() {
|
|
35
|
+
if (this.password.value != this.confirmPassword.value) {
|
|
36
|
+
this.passwordNotMatching = true;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.passwordNotMatching = false;
|
|
40
|
+
if (this.authService.setNewPasswordButtonMessage === LoginConstant.loginAgain) {
|
|
41
|
+
this.router.navigate([LoginConstant.loginPageUrl]);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.authService.setNewPassword(this.password.value);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
SetNewPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SetNewPasswordComponent, deps: [{ token: i1.AnnaLibAuthService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
SetNewPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SetNewPasswordComponent, selector: "lib-set-new-password", ngImport: i0, template: "<div class=\"main\">\r\n <section>\r\n <header>\r\n <img src=\"assets/images/Anna-Logo-for-footer-min.png\" alt=\"Anna Logo\" />\r\n </header>\r\n <article>\r\n <form>\r\n <div id=\"heading\">\r\n {{ constants.setNewPasswordHeading }}\r\n </div>\r\n\r\n <div id=\"alert-div\" *ngIf=\"authService.setNewPasswordErrorMessage\">\r\n <span class=\"material-icons\">report</span>\r\n <p>{{ authService.setNewPasswordErrorMessage }}</p>\r\n </div>\r\n <lib-password-matching\r\n (passwordChange)=\"onPasswordChange($event)\"\r\n (confirmPasswordChange)=\"onConfirmPasswordChange($event)\"\r\n [passwordNotMatching]=\"passwordNotMatching\"\r\n >\r\n </lib-password-matching>\r\n <button tabindex=\"3\" class=\"login-btn\" [disabled]=\"!isFormValid()\" (click)=\"onSettingNewPassword()\">\r\n {{ authService.setNewPasswordButtonMessage }}\r\n </button>\r\n </form>\r\n </article>\r\n <footer>\r\n Powered by <span> <strong> SureWaves</strong></span>\r\n </footer>\r\n </section>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:100vh}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#alert-div{padding:.25rem 0 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.3125rem;font-weight:700;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem;margin-top:.9375rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}\n"], components: [{ type: i3.PasswordMatchingComponent, selector: "lib-password-matching", inputs: ["passwordNotMatching"], outputs: ["passwordChange", "confirmPasswordChange"] }], directives: [{ type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SetNewPasswordComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{ selector: 'lib-set-new-password', template: "<div class=\"main\">\r\n <section>\r\n <header>\r\n <img src=\"assets/images/Anna-Logo-for-footer-min.png\" alt=\"Anna Logo\" />\r\n </header>\r\n <article>\r\n <form>\r\n <div id=\"heading\">\r\n {{ constants.setNewPasswordHeading }}\r\n </div>\r\n\r\n <div id=\"alert-div\" *ngIf=\"authService.setNewPasswordErrorMessage\">\r\n <span class=\"material-icons\">report</span>\r\n <p>{{ authService.setNewPasswordErrorMessage }}</p>\r\n </div>\r\n <lib-password-matching\r\n (passwordChange)=\"onPasswordChange($event)\"\r\n (confirmPasswordChange)=\"onConfirmPasswordChange($event)\"\r\n [passwordNotMatching]=\"passwordNotMatching\"\r\n >\r\n </lib-password-matching>\r\n <button tabindex=\"3\" class=\"login-btn\" [disabled]=\"!isFormValid()\" (click)=\"onSettingNewPassword()\">\r\n {{ authService.setNewPasswordButtonMessage }}\r\n </button>\r\n </form>\r\n </article>\r\n <footer>\r\n Powered by <span> <strong> SureWaves</strong></span>\r\n </footer>\r\n </section>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:100vh}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#alert-div{padding:.25rem 0 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.3125rem;font-weight:700;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem;margin-top:.9375rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}\n"] }]
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i1.AnnaLibAuthService }, { type: i2.Router }]; } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW5ldy1wYXNzd29yZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvZ25pdG8tbGliL3NyYy9saWIvY29tcG9uZW50cy9zZXQtbmV3LXBhc3N3b3JkL3NldC1uZXctcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2V0LW5ldy1wYXNzd29yZC9zZXQtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLDRCQUE0QjtBQUM1QixPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7O0FBUTlELE1BQU0sT0FBTyx1QkFBdUI7SUFPbEMsWUFBbUIsV0FBK0IsRUFDOUIsTUFBYztRQURmLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBUGxDLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU1QixhQUFRLEdBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdkQsb0JBQWUsR0FBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUl6QixDQUFDO0lBRXRDLFFBQVE7UUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLDJCQUEyQixHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQztJQUN0RixDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQztJQUN2RixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsTUFBb0I7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVELHVCQUF1QixDQUFDLE1BQW9CO1FBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRTtZQUNuRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1NBQ25DO2FBQU07WUFDSCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsS0FBSyxhQUFhLENBQUMsVUFBVSxFQUFFO2dCQUMzRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2FBQ3REO2lCQUFNO2dCQUNILElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDeEQ7U0FDSjtJQUNMLENBQUM7O29IQXJDVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw0RENmcEMsMHdDQStCQTsyRkRoQmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEFubmFMaWJBdXRoU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTG9naW5Db25zdGFudCB9IGZyb20gXCIuLi8uLi9jb25zdGFudHMvbG9naW5Db25zdGFudFwiO1xyXG50eXBlIHBhc3N3b3JkVHlwZSA9IHsgdmFsdWU6IHN0cmluZyB8IG51bGwsIHN0YXR1czogc3RyaW5nIHwgbnVsbCB9O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2V0LW5ldy1wYXNzd29yZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NldC1uZXctcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NldC1uZXctcGFzc3dvcmQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2V0TmV3UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHBhc3N3b3JkTm90TWF0Y2hpbmcgPSBmYWxzZTtcclxuICBcclxuICBwYXNzd29yZDogcGFzc3dvcmRUeXBlID0geyB2YWx1ZTogbnVsbCwgc3RhdHVzOiBudWxsIH07XHJcbiAgY29uZmlybVBhc3N3b3JkOiBwYXNzd29yZFR5cGUgPSB7IHZhbHVlOiBudWxsLCBzdGF0dXM6IG51bGwgfTtcclxuICBjb25zdGFudHM6IHR5cGVvZiBMb2dpbkNvbnN0YW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aFNlcnZpY2U6IEFubmFMaWJBdXRoU2VydmljZSwgXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAgIHRoaXMuY29uc3RhbnRzID0gTG9naW5Db25zdGFudDtcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5zZXROZXdQYXNzd29yZEJ1dHRvbk1lc3NhZ2UgPSBMb2dpbkNvbnN0YW50LnNldE5ld1Bhc3N3b3JkQnV0dG9uO1xyXG4gIH1cclxuXHJcbiAgaXNGb3JtVmFsaWQoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnBhc3N3b3JkLnN0YXR1cyA9PT0gXCJWQUxJRFwiICYmIHRoaXMuY29uZmlybVBhc3N3b3JkLnN0YXR1cyA9PT0gXCJWQUxJRFwiO1xyXG4gIH1cclxuICBvblBhc3N3b3JkQ2hhbmdlKCRldmVudDogcGFzc3dvcmRUeXBlKSB7XHJcbiAgICAgIHRoaXMucGFzc3dvcmQgPSAkZXZlbnQ7XHJcbiAgfVxyXG5cclxuICBvbkNvbmZpcm1QYXNzd29yZENoYW5nZSgkZXZlbnQ6IHBhc3N3b3JkVHlwZSkge1xyXG4gICAgICB0aGlzLmNvbmZpcm1QYXNzd29yZCA9ICRldmVudDtcclxuICB9XHJcblxyXG4gIG9uU2V0dGluZ05ld1Bhc3N3b3JkKCkge1xyXG4gICAgICBpZiAodGhpcy5wYXNzd29yZC52YWx1ZSAhPSB0aGlzLmNvbmZpcm1QYXNzd29yZC52YWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5wYXNzd29yZE5vdE1hdGNoaW5nID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucGFzc3dvcmROb3RNYXRjaGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHRoaXMuYXV0aFNlcnZpY2Uuc2V0TmV3UGFzc3dvcmRCdXR0b25NZXNzYWdlID09PSBMb2dpbkNvbnN0YW50LmxvZ2luQWdhaW4pIHtcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbTG9naW5Db25zdGFudC5sb2dpblBhZ2VVcmxdKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5zZXROZXdQYXNzd29yZCh0aGlzLnBhc3N3b3JkLnZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWFpblwiPlxyXG4gIDxzZWN0aW9uPlxyXG4gICAgICA8aGVhZGVyPlxyXG4gICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1hZ2VzL0FubmEtTG9nby1mb3ItZm9vdGVyLW1pbi5wbmdcIiBhbHQ9XCJBbm5hIExvZ29cIiAvPlxyXG4gICAgICA8L2hlYWRlcj5cclxuICAgICAgPGFydGljbGU+XHJcbiAgICAgICAgICA8Zm9ybT5cclxuICAgICAgICAgICAgICA8ZGl2IGlkPVwiaGVhZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBjb25zdGFudHMuc2V0TmV3UGFzc3dvcmRIZWFkaW5nIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgaWQ9XCJhbGVydC1kaXZcIiAqbmdJZj1cImF1dGhTZXJ2aWNlLnNldE5ld1Bhc3N3b3JkRXJyb3JNZXNzYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5yZXBvcnQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxwPnt7IGF1dGhTZXJ2aWNlLnNldE5ld1Bhc3N3b3JkRXJyb3JNZXNzYWdlIH19PC9wPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxsaWItcGFzc3dvcmQtbWF0Y2hpbmdcclxuICAgICAgICAgICAgICAgICAgKHBhc3N3b3JkQ2hhbmdlKT1cIm9uUGFzc3dvcmRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChjb25maXJtUGFzc3dvcmRDaGFuZ2UpPVwib25Db25maXJtUGFzc3dvcmRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIFtwYXNzd29yZE5vdE1hdGNoaW5nXT1cInBhc3N3b3JkTm90TWF0Y2hpbmdcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2xpYi1wYXNzd29yZC1tYXRjaGluZz5cclxuICAgICAgICAgICAgICA8YnV0dG9uIHRhYmluZGV4PVwiM1wiIGNsYXNzPVwibG9naW4tYnRuXCIgW2Rpc2FibGVkXT1cIiFpc0Zvcm1WYWxpZCgpXCIgKGNsaWNrKT1cIm9uU2V0dGluZ05ld1Bhc3N3b3JkKClcIj5cclxuICAgICAgICAgICAgICAgICAge3sgYXV0aFNlcnZpY2Uuc2V0TmV3UGFzc3dvcmRCdXR0b25NZXNzYWdlIH19XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgIDwvYXJ0aWNsZT5cclxuICAgICAgPGZvb3Rlcj5cclxuICAgICAgICAgIFBvd2VyZWQgYnkgPHNwYW4+IDxzdHJvbmc+IFN1cmVXYXZlczwvc3Ryb25nPjwvc3Bhbj5cclxuICAgICAgPC9mb290ZXI+XHJcbiAgPC9zZWN0aW9uPlxyXG48L2Rpdj5cclxuIl19
|