@abp/ng.account 9.0.2 → 9.1.0-rc.1
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/config/providers/route.provider.d.ts +2 -8
- package/fesm2022/abp-ng.account-config.mjs +54 -53
- package/fesm2022/abp-ng.account-config.mjs.map +1 -1
- package/fesm2022/abp-ng.account.mjs +49 -49
- package/fesm2022/abp-ng.account.mjs.map +1 -1
- package/package.json +3 -7
- package/esm2022/abp-ng.account.mjs +0 -5
- package/esm2022/config/abp-ng.account-config.mjs +0 -5
- package/esm2022/config/account-config.module.mjs +0 -21
- package/esm2022/config/enums/index.mjs +0 -2
- package/esm2022/config/enums/route-names.mjs +0 -2
- package/esm2022/config/providers/account-config.provider.mjs +0 -15
- package/esm2022/config/providers/index.mjs +0 -3
- package/esm2022/config/providers/route.provider.mjs +0 -54
- package/esm2022/config/public-api.mjs +0 -5
- package/esm2022/config/utils/factories.mjs +0 -11
- package/esm2022/config/utils/index.mjs +0 -2
- package/esm2022/lib/account-routing.module.mjs +0 -97
- package/esm2022/lib/account.module.mjs +0 -103
- package/esm2022/lib/components/change-password/change-password.component.mjs +0 -86
- package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +0 -42
- package/esm2022/lib/components/index.mjs +0 -9
- package/esm2022/lib/components/login/login.component.mjs +0 -63
- package/esm2022/lib/components/manage-profile/manage-profile.component.mjs +0 -39
- package/esm2022/lib/components/personal-settings/personal-settings-half-row.component.mjs +0 -43
- package/esm2022/lib/components/personal-settings/personal-settings.component.mjs +0 -89
- package/esm2022/lib/components/register/register.component.mjs +0 -82
- package/esm2022/lib/components/reset-password/reset-password.component.mjs +0 -67
- package/esm2022/lib/defaults/default-personal-settings-form-props.mjs +0 -46
- package/esm2022/lib/enums/components.mjs +0 -2
- package/esm2022/lib/enums/index.mjs +0 -2
- package/esm2022/lib/guards/authentication-flow.guard.mjs +0 -30
- package/esm2022/lib/guards/extensions.guard.mjs +0 -29
- package/esm2022/lib/guards/index.mjs +0 -3
- package/esm2022/lib/models/account.mjs +0 -3
- package/esm2022/lib/models/config-options.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -3
- package/esm2022/lib/resolvers/extensions.resolver.mjs +0 -16
- package/esm2022/lib/resolvers/index.mjs +0 -2
- package/esm2022/lib/services/index.mjs +0 -2
- package/esm2022/lib/services/manage-profile.state.service.mjs +0 -27
- package/esm2022/lib/tokens/config-options.token.mjs +0 -3
- package/esm2022/lib/tokens/extensions.token.mjs +0 -7
- package/esm2022/lib/tokens/index.mjs +0 -4
- package/esm2022/lib/tokens/re-login-confirmation.token.mjs +0 -3
- package/esm2022/lib/utils/auth-utils.mjs +0 -8
- package/esm2022/lib/utils/factory-utils.mjs +0 -7
- package/esm2022/lib/utils/index.mjs +0 -3
- package/esm2022/public-api.mjs +0 -10
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './account-config.module';
|
|
2
|
-
export * from './enums';
|
|
3
|
-
export * from './providers';
|
|
4
|
-
export * from './utils';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FjY291bnQvY29uZmlnL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjY291bnQtY29uZmlnLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xyXG4iXX0=
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { RoutesService } from '@abp/ng.core';
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
export function navigateToManageProfileFactory(injector) {
|
|
4
|
-
return () => {
|
|
5
|
-
const router = injector.get(Router);
|
|
6
|
-
const routes = injector.get(RoutesService);
|
|
7
|
-
const { path } = routes.find(item => item.name === "AbpAccount::MyAccount" /* eAccountRouteNames.ManageProfile */);
|
|
8
|
-
router.navigateByUrl(path);
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9jb25maWcvc3JjL3V0aWxzL2ZhY3Rvcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd6QyxNQUFNLFVBQVUsOEJBQThCLENBQUMsUUFBa0I7SUFDL0QsT0FBTyxHQUFHLEVBQUU7UUFDVixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxtRUFBcUMsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlc1NlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBlQWNjb3VudFJvdXRlTmFtZXMgfSBmcm9tICcuLi9lbnVtcy9yb3V0ZS1uYW1lcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbmF2aWdhdGVUb01hbmFnZVByb2ZpbGVGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gIHJldHVybiAoKSA9PiB7XHJcbiAgICBjb25zdCByb3V0ZXIgPSBpbmplY3Rvci5nZXQoUm91dGVyKTtcclxuICAgIGNvbnN0IHJvdXRlcyA9IGluamVjdG9yLmdldChSb3V0ZXNTZXJ2aWNlKTtcclxuICAgIGNvbnN0IHsgcGF0aCB9ID0gcm91dGVzLmZpbmQoaXRlbSA9PiBpdGVtLm5hbWUgPT09IGVBY2NvdW50Um91dGVOYW1lcy5NYW5hZ2VQcm9maWxlKTtcclxuICAgIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHBhdGgpO1xyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './factories';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hY2NvdW50L2NvbmZpZy9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZhY3Rvcmllcyc7XHJcbiJdfQ==
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { RouterModule } from '@angular/router';
|
|
3
|
-
import { authGuard, ReplaceableRouteContainerComponent, RouterOutletComponent, } from '@abp/ng.core';
|
|
4
|
-
import { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';
|
|
5
|
-
import { LoginComponent } from './components/login/login.component';
|
|
6
|
-
import { ManageProfileComponent } from './components/manage-profile/manage-profile.component';
|
|
7
|
-
import { RegisterComponent } from './components/register/register.component';
|
|
8
|
-
import { ResetPasswordComponent } from './components/reset-password/reset-password.component';
|
|
9
|
-
import { authenticationFlowGuard } from './guards';
|
|
10
|
-
import { accountExtensionsResolver } from './resolvers';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/router";
|
|
13
|
-
const canActivate = [authenticationFlowGuard];
|
|
14
|
-
const routes = [
|
|
15
|
-
{ path: '', pathMatch: 'full', redirectTo: 'login' },
|
|
16
|
-
{
|
|
17
|
-
path: '',
|
|
18
|
-
component: RouterOutletComponent,
|
|
19
|
-
children: [
|
|
20
|
-
{
|
|
21
|
-
path: 'login',
|
|
22
|
-
component: ReplaceableRouteContainerComponent,
|
|
23
|
-
canActivate,
|
|
24
|
-
data: {
|
|
25
|
-
replaceableComponent: {
|
|
26
|
-
key: "Account.LoginComponent" /* eAccountComponents.Login */,
|
|
27
|
-
defaultComponent: LoginComponent,
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
title: 'AbpAccount::Login',
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
path: 'register',
|
|
34
|
-
component: ReplaceableRouteContainerComponent,
|
|
35
|
-
canActivate,
|
|
36
|
-
data: {
|
|
37
|
-
replaceableComponent: {
|
|
38
|
-
key: "Account.RegisterComponent" /* eAccountComponents.Register */,
|
|
39
|
-
defaultComponent: RegisterComponent,
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
title: 'AbpAccount::Register',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
path: 'forgot-password',
|
|
46
|
-
component: ReplaceableRouteContainerComponent,
|
|
47
|
-
canActivate,
|
|
48
|
-
data: {
|
|
49
|
-
replaceableComponent: {
|
|
50
|
-
key: "Account.ForgotPasswordComponent" /* eAccountComponents.ForgotPassword */,
|
|
51
|
-
defaultComponent: ForgotPasswordComponent,
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
title: 'AbpAccount::ForgotPassword',
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
path: 'reset-password',
|
|
58
|
-
component: ReplaceableRouteContainerComponent,
|
|
59
|
-
canActivate: [],
|
|
60
|
-
data: {
|
|
61
|
-
tenantBoxVisible: false,
|
|
62
|
-
replaceableComponent: {
|
|
63
|
-
key: "Account.ResetPasswordComponent" /* eAccountComponents.ResetPassword */,
|
|
64
|
-
defaultComponent: ResetPasswordComponent,
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
title: 'AbpAccount::ResetPassword',
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
path: 'manage',
|
|
71
|
-
component: ReplaceableRouteContainerComponent,
|
|
72
|
-
canActivate: [authGuard],
|
|
73
|
-
resolve: [accountExtensionsResolver],
|
|
74
|
-
data: {
|
|
75
|
-
replaceableComponent: {
|
|
76
|
-
key: "Account.ManageProfileComponent" /* eAccountComponents.ManageProfile */,
|
|
77
|
-
defaultComponent: ManageProfileComponent,
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
title: 'AbpAccount::MyAccount',
|
|
81
|
-
},
|
|
82
|
-
],
|
|
83
|
-
},
|
|
84
|
-
];
|
|
85
|
-
export class AccountRoutingModule {
|
|
86
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AccountRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
87
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: AccountRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
|
|
88
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AccountRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
89
|
-
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AccountRoutingModule, decorators: [{
|
|
91
|
-
type: NgModule,
|
|
92
|
-
args: [{
|
|
93
|
-
imports: [RouterModule.forChild(routes)],
|
|
94
|
-
exports: [RouterModule],
|
|
95
|
-
}]
|
|
96
|
-
}] });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FjY291bnQvc3JjL2xpYi9hY2NvdW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFDTCxTQUFTLEVBRVQsa0NBQWtDLEVBQ2xDLHFCQUFxQixHQUN0QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFOUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRXhELE1BQU0sV0FBVyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUU5QyxNQUFNLE1BQU0sR0FBVztJQUNyQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFO0lBQ3BEO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUscUJBQXFCO1FBQ2hDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLElBQUksRUFBRSxPQUFPO2dCQUNiLFNBQVMsRUFBRSxrQ0FBa0M7Z0JBQzdDLFdBQVc7Z0JBQ1gsSUFBSSxFQUFFO29CQUNKLG9CQUFvQixFQUFFO3dCQUNwQixHQUFHLHlEQUEwQjt3QkFDN0IsZ0JBQWdCLEVBQUUsY0FBYztxQkFDa0I7aUJBQ3JEO2dCQUNELEtBQUssRUFBRSxtQkFBbUI7YUFDM0I7WUFDRDtnQkFDRSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsU0FBUyxFQUFFLGtDQUFrQztnQkFDN0MsV0FBVztnQkFDWCxJQUFJLEVBQUU7b0JBQ0osb0JBQW9CLEVBQUU7d0JBQ3BCLEdBQUcsK0RBQTZCO3dCQUNoQyxnQkFBZ0IsRUFBRSxpQkFBaUI7cUJBQ2tCO2lCQUN4RDtnQkFDRCxLQUFLLEVBQUUsc0JBQXNCO2FBQzlCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsU0FBUyxFQUFFLGtDQUFrQztnQkFDN0MsV0FBVztnQkFFWCxJQUFJLEVBQUU7b0JBQ0osb0JBQW9CLEVBQUU7d0JBQ3BCLEdBQUcsMkVBQW1DO3dCQUN0QyxnQkFBZ0IsRUFBRSx1QkFBdUI7cUJBQ2tCO2lCQUM5RDtnQkFDRCxLQUFLLEVBQUUsNEJBQTRCO2FBQ3BDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsU0FBUyxFQUFFLGtDQUFrQztnQkFDN0MsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFO29CQUNKLGdCQUFnQixFQUFFLEtBQUs7b0JBQ3ZCLG9CQUFvQixFQUFFO3dCQUNwQixHQUFHLHlFQUFrQzt3QkFDckMsZ0JBQWdCLEVBQUUsc0JBQXNCO3FCQUNrQjtpQkFDN0Q7Z0JBQ0QsS0FBSyxFQUFFLDJCQUEyQjthQUNuQztZQUNEO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLFNBQVMsRUFBRSxrQ0FBa0M7Z0JBQzdDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQztnQkFDeEIsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7Z0JBQ3BDLElBQUksRUFBRTtvQkFDSixvQkFBb0IsRUFBRTt3QkFDcEIsR0FBRyx5RUFBa0M7d0JBQ3JDLGdCQUFnQixFQUFFLHNCQUFzQjtxQkFDa0I7aUJBQzdEO2dCQUNELEtBQUssRUFBRSx1QkFBdUI7YUFDL0I7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQU1GLE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjsrR0FBcEIsb0JBQW9CLHdDQUZyQixZQUFZOytHQUVYLG9CQUFvQixZQUhyQixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixZQUFZOzsyRkFFWCxvQkFBb0I7a0JBSmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7XHJcbiAgYXV0aEd1YXJkLFxyXG4gIFJlcGxhY2VhYmxlQ29tcG9uZW50cyxcclxuICBSZXBsYWNlYWJsZVJvdXRlQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gIFJvdXRlck91dGxldENvbXBvbmVudCxcclxufSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5cclxuaW1wb3J0IHsgRm9yZ290UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYW5hZ2VQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21hbmFnZS1wcm9maWxlL21hbmFnZS1wcm9maWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlZ2lzdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlc2V0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVzZXQtcGFzc3dvcmQvcmVzZXQtcGFzc3dvcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZUFjY291bnRDb21wb25lbnRzIH0gZnJvbSAnLi9lbnVtcy9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgYXV0aGVudGljYXRpb25GbG93R3VhcmQgfSBmcm9tICcuL2d1YXJkcyc7XHJcbmltcG9ydCB7IGFjY291bnRFeHRlbnNpb25zUmVzb2x2ZXIgfSBmcm9tICcuL3Jlc29sdmVycyc7XHJcblxyXG5jb25zdCBjYW5BY3RpdmF0ZSA9IFthdXRoZW50aWNhdGlvbkZsb3dHdWFyZF07XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7IHBhdGg6ICcnLCBwYXRoTWF0Y2g6ICdmdWxsJywgcmVkaXJlY3RUbzogJ2xvZ2luJyB9LFxyXG4gIHtcclxuICAgIHBhdGg6ICcnLFxyXG4gICAgY29tcG9uZW50OiBSb3V0ZXJPdXRsZXRDb21wb25lbnQsXHJcbiAgICBjaGlsZHJlbjogW1xyXG4gICAgICB7XHJcbiAgICAgICAgcGF0aDogJ2xvZ2luJyxcclxuICAgICAgICBjb21wb25lbnQ6IFJlcGxhY2VhYmxlUm91dGVDb250YWluZXJDb21wb25lbnQsXHJcbiAgICAgICAgY2FuQWN0aXZhdGUsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgcmVwbGFjZWFibGVDb21wb25lbnQ6IHtcclxuICAgICAgICAgICAga2V5OiBlQWNjb3VudENvbXBvbmVudHMuTG9naW4sXHJcbiAgICAgICAgICAgIGRlZmF1bHRDb21wb25lbnQ6IExvZ2luQ29tcG9uZW50LFxyXG4gICAgICAgICAgfSBhcyBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUm91dGVEYXRhPExvZ2luQ29tcG9uZW50PixcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRpdGxlOiAnQWJwQWNjb3VudDo6TG9naW4nLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcGF0aDogJ3JlZ2lzdGVyJyxcclxuICAgICAgICBjb21wb25lbnQ6IFJlcGxhY2VhYmxlUm91dGVDb250YWluZXJDb21wb25lbnQsXHJcbiAgICAgICAgY2FuQWN0aXZhdGUsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgcmVwbGFjZWFibGVDb21wb25lbnQ6IHtcclxuICAgICAgICAgICAga2V5OiBlQWNjb3VudENvbXBvbmVudHMuUmVnaXN0ZXIsXHJcbiAgICAgICAgICAgIGRlZmF1bHRDb21wb25lbnQ6IFJlZ2lzdGVyQ29tcG9uZW50LFxyXG4gICAgICAgICAgfSBhcyBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUm91dGVEYXRhPFJlZ2lzdGVyQ29tcG9uZW50PixcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRpdGxlOiAnQWJwQWNjb3VudDo6UmVnaXN0ZXInLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcGF0aDogJ2ZvcmdvdC1wYXNzd29yZCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBSZXBsYWNlYWJsZVJvdXRlQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgICAgIGNhbkFjdGl2YXRlLFxyXG5cclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICByZXBsYWNlYWJsZUNvbXBvbmVudDoge1xyXG4gICAgICAgICAgICBrZXk6IGVBY2NvdW50Q29tcG9uZW50cy5Gb3Jnb3RQYXNzd29yZCxcclxuICAgICAgICAgICAgZGVmYXVsdENvbXBvbmVudDogRm9yZ290UGFzc3dvcmRDb21wb25lbnQsXHJcbiAgICAgICAgICB9IGFzIFJlcGxhY2VhYmxlQ29tcG9uZW50cy5Sb3V0ZURhdGE8Rm9yZ290UGFzc3dvcmRDb21wb25lbnQ+LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGl0bGU6ICdBYnBBY2NvdW50OjpGb3Jnb3RQYXNzd29yZCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwYXRoOiAncmVzZXQtcGFzc3dvcmQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUmVwbGFjZWFibGVSb3V0ZUNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgICAgICBjYW5BY3RpdmF0ZTogW10sXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgdGVuYW50Qm94VmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgICByZXBsYWNlYWJsZUNvbXBvbmVudDoge1xyXG4gICAgICAgICAgICBrZXk6IGVBY2NvdW50Q29tcG9uZW50cy5SZXNldFBhc3N3b3JkLFxyXG4gICAgICAgICAgICBkZWZhdWx0Q29tcG9uZW50OiBSZXNldFBhc3N3b3JkQ29tcG9uZW50LFxyXG4gICAgICAgICAgfSBhcyBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUm91dGVEYXRhPFJlc2V0UGFzc3dvcmRDb21wb25lbnQ+LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGl0bGU6ICdBYnBBY2NvdW50OjpSZXNldFBhc3N3b3JkJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHBhdGg6ICdtYW5hZ2UnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUmVwbGFjZWFibGVSb3V0ZUNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgICAgICBjYW5BY3RpdmF0ZTogW2F1dGhHdWFyZF0sXHJcbiAgICAgICAgcmVzb2x2ZTogW2FjY291bnRFeHRlbnNpb25zUmVzb2x2ZXJdLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIHJlcGxhY2VhYmxlQ29tcG9uZW50OiB7XHJcbiAgICAgICAgICAgIGtleTogZUFjY291bnRDb21wb25lbnRzLk1hbmFnZVByb2ZpbGUsXHJcbiAgICAgICAgICAgIGRlZmF1bHRDb21wb25lbnQ6IE1hbmFnZVByb2ZpbGVDb21wb25lbnQsXHJcbiAgICAgICAgICB9IGFzIFJlcGxhY2VhYmxlQ29tcG9uZW50cy5Sb3V0ZURhdGE8TWFuYWdlUHJvZmlsZUNvbXBvbmVudD4sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0aXRsZTogJ0FicEFjY291bnQ6Ok15QWNjb3VudCcsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH0sXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXHJcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50Um91dGluZ01vZHVsZSB7IH1cclxuIl19
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { CoreModule, LazyModuleFactory } from '@abp/ng.core';
|
|
2
|
-
import { ThemeSharedModule } from '@abp/ng.theme.shared';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
|
|
5
|
-
import { NgxValidateCoreModule } from '@ngx-validate/core';
|
|
6
|
-
import { AccountRoutingModule } from './account-routing.module';
|
|
7
|
-
import { ChangePasswordComponent } from './components/change-password/change-password.component';
|
|
8
|
-
import { LoginComponent } from './components/login/login.component';
|
|
9
|
-
import { ManageProfileComponent } from './components/manage-profile/manage-profile.component';
|
|
10
|
-
import { PersonalSettingsComponent } from './components/personal-settings/personal-settings.component';
|
|
11
|
-
import { RegisterComponent } from './components/register/register.component';
|
|
12
|
-
import { ACCOUNT_CONFIG_OPTIONS } from './tokens/config-options.token';
|
|
13
|
-
import { accountConfigOptionsFactory } from './utils/factory-utils';
|
|
14
|
-
import { AuthenticationFlowGuard } from './guards/authentication-flow.guard';
|
|
15
|
-
import { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';
|
|
16
|
-
import { ResetPasswordComponent } from './components/reset-password/reset-password.component';
|
|
17
|
-
import { RE_LOGIN_CONFIRMATION_TOKEN } from './tokens';
|
|
18
|
-
import { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS } from './tokens/extensions.token';
|
|
19
|
-
import { AccountExtensionsGuard } from './guards/extensions.guard';
|
|
20
|
-
import { PersonalSettingsHalfRowComponent } from './components/personal-settings/personal-settings-half-row.component';
|
|
21
|
-
import { ExtensibleModule } from "@abp/ng.components/extensible";
|
|
22
|
-
import * as i0 from "@angular/core";
|
|
23
|
-
const declarations = [
|
|
24
|
-
LoginComponent,
|
|
25
|
-
RegisterComponent,
|
|
26
|
-
ChangePasswordComponent,
|
|
27
|
-
ManageProfileComponent,
|
|
28
|
-
PersonalSettingsComponent,
|
|
29
|
-
ForgotPasswordComponent,
|
|
30
|
-
ResetPasswordComponent,
|
|
31
|
-
PersonalSettingsHalfRowComponent,
|
|
32
|
-
];
|
|
33
|
-
export class AccountModule {
|
|
34
|
-
static forChild(options = {}) {
|
|
35
|
-
return {
|
|
36
|
-
ngModule: AccountModule,
|
|
37
|
-
providers: [
|
|
38
|
-
AuthenticationFlowGuard,
|
|
39
|
-
{ provide: ACCOUNT_CONFIG_OPTIONS, useValue: options },
|
|
40
|
-
{
|
|
41
|
-
provide: 'ACCOUNT_OPTIONS',
|
|
42
|
-
useFactory: accountConfigOptionsFactory,
|
|
43
|
-
deps: [ACCOUNT_CONFIG_OPTIONS],
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
provide: RE_LOGIN_CONFIRMATION_TOKEN,
|
|
47
|
-
useValue: options.isPersonalSettingsChangedConfirmationActive ?? true,
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
provide: ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS,
|
|
51
|
-
useValue: options.editFormPropContributors,
|
|
52
|
-
},
|
|
53
|
-
AccountExtensionsGuard,
|
|
54
|
-
],
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
static forLazy(options = {}) {
|
|
58
|
-
return new LazyModuleFactory(AccountModule.forChild(options));
|
|
59
|
-
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AccountModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
61
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: AccountModule, declarations: [LoginComponent,
|
|
62
|
-
RegisterComponent,
|
|
63
|
-
ChangePasswordComponent,
|
|
64
|
-
ManageProfileComponent,
|
|
65
|
-
PersonalSettingsComponent,
|
|
66
|
-
ForgotPasswordComponent,
|
|
67
|
-
ResetPasswordComponent,
|
|
68
|
-
PersonalSettingsHalfRowComponent], imports: [CoreModule,
|
|
69
|
-
AccountRoutingModule,
|
|
70
|
-
ThemeSharedModule,
|
|
71
|
-
NgbDropdownModule,
|
|
72
|
-
NgxValidateCoreModule,
|
|
73
|
-
ExtensibleModule], exports: [LoginComponent,
|
|
74
|
-
RegisterComponent,
|
|
75
|
-
ChangePasswordComponent,
|
|
76
|
-
ManageProfileComponent,
|
|
77
|
-
PersonalSettingsComponent,
|
|
78
|
-
ForgotPasswordComponent,
|
|
79
|
-
ResetPasswordComponent,
|
|
80
|
-
PersonalSettingsHalfRowComponent] }); }
|
|
81
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AccountModule, imports: [CoreModule,
|
|
82
|
-
AccountRoutingModule,
|
|
83
|
-
ThemeSharedModule,
|
|
84
|
-
NgbDropdownModule,
|
|
85
|
-
NgxValidateCoreModule,
|
|
86
|
-
ExtensibleModule] }); }
|
|
87
|
-
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AccountModule, decorators: [{
|
|
89
|
-
type: NgModule,
|
|
90
|
-
args: [{
|
|
91
|
-
declarations: [...declarations],
|
|
92
|
-
imports: [
|
|
93
|
-
CoreModule,
|
|
94
|
-
AccountRoutingModule,
|
|
95
|
-
ThemeSharedModule,
|
|
96
|
-
NgbDropdownModule,
|
|
97
|
-
NgxValidateCoreModule,
|
|
98
|
-
ExtensibleModule,
|
|
99
|
-
],
|
|
100
|
-
exports: [...declarations],
|
|
101
|
-
}]
|
|
102
|
-
}] });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hY2NvdW50L3NyYy9saWIvYWNjb3VudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQXVCLFFBQVEsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFakUsTUFBTSxZQUFZLEdBQUc7SUFDbkIsY0FBYztJQUNkLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUN6Qix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLGdDQUFnQztDQUNqQyxDQUFDO0FBY0YsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQTBCO1FBQ2xELE9BQU87WUFDTCxRQUFRLEVBQUUsYUFBYTtZQUN2QixTQUFTLEVBQUU7Z0JBQ1QsdUJBQXVCO2dCQUN2QixFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO2dCQUN0RDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixVQUFVLEVBQUUsMkJBQTJCO29CQUN2QyxJQUFJLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDL0I7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLDJCQUEyQjtvQkFDcEMsUUFBUSxFQUFFLE9BQU8sQ0FBQywyQ0FBMkMsSUFBSSxJQUFJO2lCQUN0RTtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsbUNBQW1DO29CQUM1QyxRQUFRLEVBQUUsT0FBTyxDQUFDLHdCQUF3QjtpQkFDM0M7Z0JBQ0Qsc0JBQXNCO2FBQ3ZCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBMEI7UUFDakQsT0FBTyxJQUFJLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDOzhHQTNCVSxhQUFhOytHQUFiLGFBQWEsaUJBdEJ4QixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIseUJBQXlCO1lBQ3pCLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIsZ0NBQWdDLGFBTTlCLFVBQVU7WUFDVixvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsZ0JBQWdCLGFBbEJsQixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIseUJBQXlCO1lBQ3pCLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIsZ0NBQWdDOytHQWVyQixhQUFhLFlBVHRCLFVBQVU7WUFDVixvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsZ0JBQWdCOzsyRkFJUCxhQUFhO2tCQVp6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDO29CQUMvQixPQUFPLEVBQUU7d0JBQ1AsVUFBVTt3QkFDVixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSwgTGF6eU1vZHVsZUZhY3RvcnkgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE5nTW9kdWxlRmFjdG9yeSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQWNjb3VudFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2FjY291bnQtcm91dGluZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hbmFnZVByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWFuYWdlLXByb2ZpbGUvbWFuYWdlLXByb2ZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGVyc29uYWxTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wZXJzb25hbC1zZXR0aW5ncy9wZXJzb25hbC1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWdpc3RlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY2NvdW50Q29uZmlnT3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzL2NvbmZpZy1vcHRpb25zJztcclxuaW1wb3J0IHsgQUNDT1VOVF9DT05GSUdfT1BUSU9OUyB9IGZyb20gJy4vdG9rZW5zL2NvbmZpZy1vcHRpb25zLnRva2VuJztcclxuaW1wb3J0IHsgYWNjb3VudENvbmZpZ09wdGlvbnNGYWN0b3J5IH0gZnJvbSAnLi91dGlscy9mYWN0b3J5LXV0aWxzJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25GbG93R3VhcmQgfSBmcm9tICcuL2d1YXJkcy9hdXRoZW50aWNhdGlvbi1mbG93Lmd1YXJkJztcclxuaW1wb3J0IHsgRm9yZ290UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXNldFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jlc2V0LXBhc3N3b3JkL3Jlc2V0LXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJFX0xPR0lOX0NPTkZJUk1BVElPTl9UT0tFTiB9IGZyb20gJy4vdG9rZW5zJztcclxuXHJcbmltcG9ydCB7IEFDQ09VTlRfRURJVF9GT1JNX1BST1BfQ09OVFJJQlVUT1JTIH0gZnJvbSAnLi90b2tlbnMvZXh0ZW5zaW9ucy50b2tlbic7XHJcbmltcG9ydCB7IEFjY291bnRFeHRlbnNpb25zR3VhcmQgfSBmcm9tICcuL2d1YXJkcy9leHRlbnNpb25zLmd1YXJkJztcclxuaW1wb3J0IHsgUGVyc29uYWxTZXR0aW5nc0hhbGZSb3dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MtaGFsZi1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXh0ZW5zaWJsZU1vZHVsZSB9IGZyb20gXCJAYWJwL25nLmNvbXBvbmVudHMvZXh0ZW5zaWJsZVwiO1xyXG5cclxuY29uc3QgZGVjbGFyYXRpb25zID0gW1xyXG4gIExvZ2luQ29tcG9uZW50LFxyXG4gIFJlZ2lzdGVyQ29tcG9uZW50LFxyXG4gIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50LFxyXG4gIE1hbmFnZVByb2ZpbGVDb21wb25lbnQsXHJcbiAgUGVyc29uYWxTZXR0aW5nc0NvbXBvbmVudCxcclxuICBGb3Jnb3RQYXNzd29yZENvbXBvbmVudCxcclxuICBSZXNldFBhc3N3b3JkQ29tcG9uZW50LFxyXG4gIFBlcnNvbmFsU2V0dGluZ3NIYWxmUm93Q29tcG9uZW50LFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFsuLi5kZWNsYXJhdGlvbnNdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBBY2NvdW50Um91dGluZ01vZHVsZSxcclxuICAgIFRoZW1lU2hhcmVkTW9kdWxlLFxyXG4gICAgTmdiRHJvcGRvd25Nb2R1bGUsXHJcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXHJcbiAgICBFeHRlbnNpYmxlTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogWy4uLmRlY2xhcmF0aW9uc10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50TW9kdWxlIHtcclxuICBzdGF0aWMgZm9yQ2hpbGQob3B0aW9ucyA9IHt9IGFzIEFjY291bnRDb25maWdPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBY2NvdW50TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQWNjb3VudE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgQXV0aGVudGljYXRpb25GbG93R3VhcmQsXHJcbiAgICAgICAgeyBwcm92aWRlOiBBQ0NPVU5UX0NPTkZJR19PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6ICdBQ0NPVU5UX09QVElPTlMnLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogYWNjb3VudENvbmZpZ09wdGlvbnNGYWN0b3J5LFxyXG4gICAgICAgICAgZGVwczogW0FDQ09VTlRfQ09ORklHX09QVElPTlNdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogUkVfTE9HSU5fQ09ORklSTUFUSU9OX1RPS0VOLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMuaXNQZXJzb25hbFNldHRpbmdzQ2hhbmdlZENvbmZpcm1hdGlvbkFjdGl2ZSA/PyB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQUNDT1VOVF9FRElUX0ZPUk1fUFJPUF9DT05UUklCVVRPUlMsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucy5lZGl0Rm9ybVByb3BDb250cmlidXRvcnMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBBY2NvdW50RXh0ZW5zaW9uc0d1YXJkLFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmb3JMYXp5KG9wdGlvbnMgPSB7fSBhcyBBY2NvdW50Q29uZmlnT3B0aW9ucyk6IE5nTW9kdWxlRmFjdG9yeTxBY2NvdW50TW9kdWxlPiB7XHJcbiAgICByZXR1cm4gbmV3IExhenlNb2R1bGVGYWN0b3J5KEFjY291bnRNb2R1bGUuZm9yQ2hpbGQob3B0aW9ucykpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { ProfileService } from '@abp/ng.account.core/proxy';
|
|
2
|
-
import { getPasswordValidators, ToasterService } from '@abp/ng.theme.shared';
|
|
3
|
-
import { Component, Injector } from '@angular/core';
|
|
4
|
-
import { UntypedFormBuilder, UntypedFormControl, Validators, } from '@angular/forms';
|
|
5
|
-
import { comparePasswords } from '@ngx-validate/core';
|
|
6
|
-
import { finalize } from 'rxjs/operators';
|
|
7
|
-
import { ManageProfileStateService } from '../../services/manage-profile.state.service';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/forms";
|
|
10
|
-
import * as i2 from "@abp/ng.theme.shared";
|
|
11
|
-
import * as i3 from "@abp/ng.account.core/proxy";
|
|
12
|
-
import * as i4 from "../../services/manage-profile.state.service";
|
|
13
|
-
import * as i5 from "@abp/ng.core";
|
|
14
|
-
import * as i6 from "@ngx-validate/core";
|
|
15
|
-
const { required } = Validators;
|
|
16
|
-
const PASSWORD_FIELDS = ['newPassword', 'repeatNewPassword'];
|
|
17
|
-
export class ChangePasswordComponent {
|
|
18
|
-
constructor(fb, injector, toasterService, profileService, manageProfileState) {
|
|
19
|
-
this.fb = fb;
|
|
20
|
-
this.injector = injector;
|
|
21
|
-
this.toasterService = toasterService;
|
|
22
|
-
this.profileService = profileService;
|
|
23
|
-
this.manageProfileState = manageProfileState;
|
|
24
|
-
this.mapErrorsFn = (errors, groupErrors, control) => {
|
|
25
|
-
if (PASSWORD_FIELDS.indexOf(String(control?.name)) < 0)
|
|
26
|
-
return errors;
|
|
27
|
-
return errors.concat(groupErrors.filter(({ key }) => key === 'passwordMismatch'));
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
this.hideCurrentPassword = !this.manageProfileState.getProfile()?.hasPassword;
|
|
32
|
-
const passwordValidations = getPasswordValidators(this.injector);
|
|
33
|
-
this.form = this.fb.group({
|
|
34
|
-
password: ['', required],
|
|
35
|
-
newPassword: [
|
|
36
|
-
'',
|
|
37
|
-
{
|
|
38
|
-
validators: [required, ...passwordValidations],
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
repeatNewPassword: [
|
|
42
|
-
'',
|
|
43
|
-
{
|
|
44
|
-
validators: [required, ...passwordValidations],
|
|
45
|
-
},
|
|
46
|
-
],
|
|
47
|
-
}, {
|
|
48
|
-
validators: [comparePasswords(PASSWORD_FIELDS)],
|
|
49
|
-
});
|
|
50
|
-
if (this.hideCurrentPassword)
|
|
51
|
-
this.form.removeControl('password');
|
|
52
|
-
}
|
|
53
|
-
onSubmit() {
|
|
54
|
-
if (this.form.invalid)
|
|
55
|
-
return;
|
|
56
|
-
this.inProgress = true;
|
|
57
|
-
this.profileService
|
|
58
|
-
.changePassword({
|
|
59
|
-
...(!this.hideCurrentPassword && { currentPassword: this.form.get('password')?.value }),
|
|
60
|
-
newPassword: this.form.get('newPassword')?.value,
|
|
61
|
-
})
|
|
62
|
-
.pipe(finalize(() => (this.inProgress = false)))
|
|
63
|
-
.subscribe({
|
|
64
|
-
next: () => {
|
|
65
|
-
this.form.reset();
|
|
66
|
-
this.toasterService.success('AbpAccount::PasswordChangedMessage', '', {
|
|
67
|
-
life: 5000,
|
|
68
|
-
});
|
|
69
|
-
if (this.hideCurrentPassword) {
|
|
70
|
-
this.hideCurrentPassword = false;
|
|
71
|
-
this.form.addControl('password', new UntypedFormControl('', [required]));
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
error: err => {
|
|
75
|
-
this.toasterService.error(err.error?.error?.message || 'AbpAccount::DefaultErrorMessage');
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ChangePasswordComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i0.Injector }, { token: i2.ToasterService }, { token: i3.ProfileService }, { token: i4.ManageProfileStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.5", type: ChangePasswordComponent, selector: "abp-change-password-form", exportAs: ["abpChangePasswordForm"], ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" [mapErrorsFn]=\"mapErrorsFn\" validateOnSubmit class=\"abp-md-form\">\r\n @if (!hideCurrentPassword) {\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"current-password\" class=\"form-label\">{{\r\n 'AbpIdentity::DisplayName:CurrentPassword' | abpLocalization\r\n }}</label\r\n ><span> * </span\r\n ><input\r\n type=\"password\"\r\n id=\"current-password\"\r\n class=\"form-control\"\r\n formControlName=\"password\"\r\n autofocus\r\n autocomplete=\"current-password\"\r\n />\r\n </div>\r\n }\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"new-password\" class=\"form-label\">{{\r\n 'AbpIdentity::DisplayName:NewPassword' | abpLocalization\r\n }}</label\r\n ><span> * </span\r\n ><input\r\n type=\"password\"\r\n id=\"new-password\"\r\n class=\"form-control\"\r\n formControlName=\"newPassword\"\r\n autocomplete=\"new-password\"\r\n />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"confirm-new-password\" class=\"form-label\">{{\r\n 'AbpIdentity::DisplayName:NewPasswordConfirm' | abpLocalization\r\n }}</label\r\n ><span> * </span\r\n ><input\r\n type=\"password\"\r\n id=\"confirm-new-password\"\r\n class=\"form-control\"\r\n formControlName=\"repeatNewPassword\"\r\n autocomplete=\"new-password\"\r\n />\r\n </div>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary color-white\"\r\n buttonType=\"submit\"\r\n [loading]=\"inProgress\"\r\n [disabled]=\"form?.invalid\"\r\n >{{ 'AbpIdentity::Save' | abpLocalization }}</abp-button\r\n >\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i5.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i6.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i6.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
81
|
-
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ChangePasswordComponent, decorators: [{
|
|
83
|
-
type: Component,
|
|
84
|
-
args: [{ selector: 'abp-change-password-form', exportAs: 'abpChangePasswordForm', template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" [mapErrorsFn]=\"mapErrorsFn\" validateOnSubmit class=\"abp-md-form\">\r\n @if (!hideCurrentPassword) {\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"current-password\" class=\"form-label\">{{\r\n 'AbpIdentity::DisplayName:CurrentPassword' | abpLocalization\r\n }}</label\r\n ><span> * </span\r\n ><input\r\n type=\"password\"\r\n id=\"current-password\"\r\n class=\"form-control\"\r\n formControlName=\"password\"\r\n autofocus\r\n autocomplete=\"current-password\"\r\n />\r\n </div>\r\n }\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"new-password\" class=\"form-label\">{{\r\n 'AbpIdentity::DisplayName:NewPassword' | abpLocalization\r\n }}</label\r\n ><span> * </span\r\n ><input\r\n type=\"password\"\r\n id=\"new-password\"\r\n class=\"form-control\"\r\n formControlName=\"newPassword\"\r\n autocomplete=\"new-password\"\r\n />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"confirm-new-password\" class=\"form-label\">{{\r\n 'AbpIdentity::DisplayName:NewPasswordConfirm' | abpLocalization\r\n }}</label\r\n ><span> * </span\r\n ><input\r\n type=\"password\"\r\n id=\"confirm-new-password\"\r\n class=\"form-control\"\r\n formControlName=\"repeatNewPassword\"\r\n autocomplete=\"new-password\"\r\n />\r\n </div>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary color-white\"\r\n buttonType=\"submit\"\r\n [loading]=\"inProgress\"\r\n [disabled]=\"form?.invalid\"\r\n >{{ 'AbpIdentity::Save' | abpLocalization }}</abp-button\r\n >\r\n</form>\r\n" }]
|
|
85
|
-
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i0.Injector }, { type: i2.ToasterService }, { type: i3.ProfileService }, { type: i4.ManageProfileStateService }] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FjY291bnQvc3JjL2xpYi9jb21wb25lbnRzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBRWxCLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYyxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7QUFFeEYsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVUsQ0FBQztBQUVoQyxNQUFNLGVBQWUsR0FBRyxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBTzdELE1BQU0sT0FBTyx1QkFBdUI7SUFlbEMsWUFDVSxFQUFzQixFQUN0QixRQUFrQixFQUNsQixjQUE4QixFQUM5QixjQUE4QixFQUM5QixrQkFBNkM7UUFKN0MsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBMkI7UUFYdkQsZ0JBQVcsR0FBMkIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3JFLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFBRSxPQUFPLE1BQU0sQ0FBQztZQUV0RSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDcEYsQ0FBQyxDQUFDO0lBUUMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLEVBQUUsV0FBVyxDQUFDO1FBRTlFLE1BQU0sbUJBQW1CLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQ3ZCO1lBQ0UsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQztZQUN4QixXQUFXLEVBQUU7Z0JBQ1gsRUFBRTtnQkFDRjtvQkFDRSxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQztpQkFDL0M7YUFDRjtZQUNELGlCQUFpQixFQUFFO2dCQUNqQixFQUFFO2dCQUNGO29CQUNFLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLG1CQUFtQixDQUFDO2lCQUMvQzthQUNGO1NBQ0YsRUFDRDtZQUNFLFVBQVUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2hELENBQ0YsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLG1CQUFtQjtZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjO2FBQ2hCLGNBQWMsQ0FBQztZQUNkLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUN2RixXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSztTQUNqRCxDQUFDO2FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUMvQyxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLG9DQUFvQyxFQUFFLEVBQUUsRUFBRTtvQkFDcEUsSUFBSSxFQUFFLElBQUk7aUJBQ1gsQ0FBQyxDQUFDO2dCQUVILElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7b0JBQzdCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7b0JBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDM0UsQ0FBQztZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLGlDQUFpQyxDQUFDLENBQUM7WUFDNUYsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBN0VVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHFHQ3ZCcEMsa3VEQW9EQTs7MkZEN0JhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSwwQkFBMEIsWUFFMUIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmFjY291bnQuY29yZS9wcm94eSc7XHJcbmltcG9ydCB7IGdldFBhc3N3b3JkVmFsaWRhdG9ycywgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbiAgVW50eXBlZEZvcm1Hcm91cCxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29tcGFyZVBhc3N3b3JkcywgVmFsaWRhdGlvbiB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBY2NvdW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnQnO1xyXG5pbXBvcnQgeyBNYW5hZ2VQcm9maWxlU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFuYWdlLXByb2ZpbGUuc3RhdGUuc2VydmljZSc7XHJcblxyXG5jb25zdCB7IHJlcXVpcmVkIH0gPSBWYWxpZGF0b3JzO1xyXG5cclxuY29uc3QgUEFTU1dPUkRfRklFTERTID0gWyduZXdQYXNzd29yZCcsICdyZXBlYXROZXdQYXNzd29yZCddO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtY2hhbmdlLXBhc3N3b3JkLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGV4cG9ydEFzOiAnYWJwQ2hhbmdlUGFzc3dvcmRGb3JtJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFjY291bnQuQ2hhbmdlUGFzc3dvcmRDb21wb25lbnRJbnB1dHMsIEFjY291bnQuQ2hhbmdlUGFzc3dvcmRDb21wb25lbnRPdXRwdXRzXHJcbntcclxuICBmb3JtITogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgaW5Qcm9ncmVzcz86IGJvb2xlYW47XHJcblxyXG4gIGhpZGVDdXJyZW50UGFzc3dvcmQ/OiBib29sZWFuO1xyXG5cclxuICBtYXBFcnJvcnNGbjogVmFsaWRhdGlvbi5NYXBFcnJvcnNGbiA9IChlcnJvcnMsIGdyb3VwRXJyb3JzLCBjb250cm9sKSA9PiB7XHJcbiAgICBpZiAoUEFTU1dPUkRfRklFTERTLmluZGV4T2YoU3RyaW5nKGNvbnRyb2w/Lm5hbWUpKSA8IDApIHJldHVybiBlcnJvcnM7XHJcblxyXG4gICAgcmV0dXJuIGVycm9ycy5jb25jYXQoZ3JvdXBFcnJvcnMuZmlsdGVyKCh7IGtleSB9KSA9PiBrZXkgPT09ICdwYXNzd29yZE1pc21hdGNoJykpO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYW5hZ2VQcm9maWxlU3RhdGU6IE1hbmFnZVByb2ZpbGVTdGF0ZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZUN1cnJlbnRQYXNzd29yZCA9ICF0aGlzLm1hbmFnZVByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlKCk/Lmhhc1Bhc3N3b3JkO1xyXG5cclxuICAgIGNvbnN0IHBhc3N3b3JkVmFsaWRhdGlvbnMgPSBnZXRQYXNzd29yZFZhbGlkYXRvcnModGhpcy5pbmplY3Rvcik7XHJcblxyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cChcclxuICAgICAge1xyXG4gICAgICAgIHBhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcclxuICAgICAgICBuZXdQYXNzd29yZDogW1xyXG4gICAgICAgICAgJycsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6IFtyZXF1aXJlZCwgLi4ucGFzc3dvcmRWYWxpZGF0aW9uc10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgcmVwZWF0TmV3UGFzc3dvcmQ6IFtcclxuICAgICAgICAgICcnLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiBbcmVxdWlyZWQsIC4uLnBhc3N3b3JkVmFsaWRhdGlvbnNdLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdmFsaWRhdG9yczogW2NvbXBhcmVQYXNzd29yZHMoUEFTU1dPUkRfRklFTERTKV0sXHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG5cclxuICAgIGlmICh0aGlzLmhpZGVDdXJyZW50UGFzc3dvcmQpIHRoaXMuZm9ybS5yZW1vdmVDb250cm9sKCdwYXNzd29yZCcpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcclxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XHJcbiAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlXHJcbiAgICAgIC5jaGFuZ2VQYXNzd29yZCh7XHJcbiAgICAgICAgLi4uKCF0aGlzLmhpZGVDdXJyZW50UGFzc3dvcmQgJiYgeyBjdXJyZW50UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlIH0pLFxyXG4gICAgICAgIG5ld1Bhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCduZXdQYXNzd29yZCcpPy52YWx1ZSxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKCdBYnBBY2NvdW50OjpQYXNzd29yZENoYW5nZWRNZXNzYWdlJywgJycsIHtcclxuICAgICAgICAgICAgbGlmZTogNTAwMCxcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmhpZGVDdXJyZW50UGFzc3dvcmQpIHtcclxuICAgICAgICAgICAgdGhpcy5oaWRlQ3VycmVudFBhc3N3b3JkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdwYXNzd29yZCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFtyZXF1aXJlZF0pKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihlcnIuZXJyb3I/LmVycm9yPy5tZXNzYWdlIHx8ICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCIgW21hcEVycm9yc0ZuXT1cIm1hcEVycm9yc0ZuXCIgdmFsaWRhdGVPblN1Ym1pdCBjbGFzcz1cImFicC1tZC1mb3JtXCI+XHJcbiAgQGlmICghaGlkZUN1cnJlbnRQYXNzd29yZCkge1xyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgICA8bGFiZWwgZm9yPVwiY3VycmVudC1wYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7XHJcbiAgICAgICAgJ0FicElkZW50aXR5OjpEaXNwbGF5TmFtZTpDdXJyZW50UGFzc3dvcmQnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgIH19PC9sYWJlbFxyXG4gICAgICA+PHNwYW4+ICogPC9zcGFuXHJcbiAgICAgID48aW5wdXRcclxuICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxyXG4gICAgICAgIGlkPVwiY3VycmVudC1wYXNzd29yZFwiXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcclxuICAgICAgICBhdXRvZm9jdXNcclxuICAgICAgICBhdXRvY29tcGxldGU9XCJjdXJyZW50LXBhc3N3b3JkXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICA8ZGl2IGNsYXNzPVwibWItMyBmb3JtLWdyb3VwXCI+XHJcbiAgICA8bGFiZWwgZm9yPVwibmV3LXBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcclxuICAgICAgJ0FicElkZW50aXR5OjpEaXNwbGF5TmFtZTpOZXdQYXNzd29yZCcgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgIH19PC9sYWJlbFxyXG4gICAgPjxzcGFuPiAqIDwvc3BhblxyXG4gICAgPjxpbnB1dFxyXG4gICAgICB0eXBlPVwicGFzc3dvcmRcIlxyXG4gICAgICBpZD1cIm5ldy1wYXNzd29yZFwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmV3UGFzc3dvcmRcIlxyXG4gICAgICBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibWItMyBmb3JtLWdyb3VwXCI+XHJcbiAgICA8bGFiZWwgZm9yPVwiY29uZmlybS1uZXctcGFzc3dvcmRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57e1xyXG4gICAgICAnQWJwSWRlbnRpdHk6OkRpc3BsYXlOYW1lOk5ld1Bhc3N3b3JkQ29uZmlybScgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgIH19PC9sYWJlbFxyXG4gICAgPjxzcGFuPiAqIDwvc3BhblxyXG4gICAgPjxpbnB1dFxyXG4gICAgICB0eXBlPVwicGFzc3dvcmRcIlxyXG4gICAgICBpZD1cImNvbmZpcm0tbmV3LXBhc3N3b3JkXCJcclxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZXBlYXROZXdQYXNzd29yZFwiXHJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXHJcbiAgICAvPlxyXG4gIDwvZGl2PlxyXG4gIDxhYnAtYnV0dG9uXHJcbiAgICBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiXHJcbiAgICBidXR0b25DbGFzcz1cImJ0biBidG4tcHJpbWFyeSBjb2xvci13aGl0ZVwiXHJcbiAgICBidXR0b25UeXBlPVwic3VibWl0XCJcclxuICAgIFtsb2FkaW5nXT1cImluUHJvZ3Jlc3NcIlxyXG4gICAgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIlxyXG4gICAgPnt7ICdBYnBJZGVudGl0eTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX08L2FicC1idXR0b25cclxuICA+XHJcbjwvZm9ybT5cclxuIl19
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { AccountService } from '@abp/ng.account.core/proxy';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { UntypedFormBuilder, Validators } from '@angular/forms';
|
|
4
|
-
import { finalize } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "@abp/ng.account.core/proxy";
|
|
8
|
-
import * as i3 from "@angular/router";
|
|
9
|
-
import * as i4 from "@abp/ng.core";
|
|
10
|
-
import * as i5 from "@ngx-validate/core";
|
|
11
|
-
import * as i6 from "@abp/ng.theme.shared";
|
|
12
|
-
export class ForgotPasswordComponent {
|
|
13
|
-
constructor(fb, accountService) {
|
|
14
|
-
this.fb = fb;
|
|
15
|
-
this.accountService = accountService;
|
|
16
|
-
this.isEmailSent = false;
|
|
17
|
-
this.form = this.fb.group({
|
|
18
|
-
email: ['', [Validators.required, Validators.email]],
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
onSubmit() {
|
|
22
|
-
if (this.form.invalid)
|
|
23
|
-
return;
|
|
24
|
-
this.inProgress = true;
|
|
25
|
-
this.accountService
|
|
26
|
-
.sendPasswordResetCode({
|
|
27
|
-
email: this.form.get('email')?.value,
|
|
28
|
-
appName: 'Angular',
|
|
29
|
-
})
|
|
30
|
-
.pipe(finalize(() => (this.inProgress = false)))
|
|
31
|
-
.subscribe(() => {
|
|
32
|
-
this.isEmailSent = true;
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ForgotPasswordComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.AccountService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.5", type: ForgotPasswordComponent, selector: "abp-forgot-password", ngImport: i0, template: "<h4>{{ 'AbpAccount::ForgotPassword' | abpLocalization }}</h4>\r\n\r\n@if (!isEmailSent) {\r\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" validateOnSubmit>\r\n <p>{{ 'AbpAccount::SendPasswordResetLink_Information' | abpLocalization }}</p>\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"input-email-address\" class=\"form-label\">{{\r\n 'AbpAccount::EmailAddress' | abpLocalization\r\n }}</label\r\n ><span> * </span>\r\n <input type=\"email\" id=\"input-email-address\" class=\"form-control\" formControlName=\"email\" />\r\n </div>\r\n <abp-button\r\n class=\"d-block\"\r\n buttonClass=\"mt-2 mb-3 btn btn-primary btn-block\"\r\n [loading]=\"inProgress\"\r\n buttonType=\"submit\"\r\n [disabled]=\"form?.invalid\"\r\n >\r\n {{ 'AbpAccount::Submit' | abpLocalization }}\r\n </abp-button>\r\n <a routerLink=\"/account/login\"\r\n ><i class=\"fa fa-long-arrow-left me-1\" aria-hidden=\"true\"></i\r\n >{{ 'AbpAccount::Login' | abpLocalization }}</a\r\n >\r\n </form>\r\n} @else {\r\n <p>\r\n {{ 'AbpAccount::PasswordResetMailSentMessage' | abpLocalization }}\r\n </p>\r\n\r\n <a routerLink=\"/account/login\">\r\n <button class=\"d-block mt-2 mb-3 btn btn-primary btn-block\">\r\n <i class=\"fa fa-long-arrow-left me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpAccount::BackToLogin' | abpLocalization }}\r\n </button>\r\n </a>\r\n}\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i5.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i5.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i6.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
|
|
39
|
-
type: Component,
|
|
40
|
-
args: [{ selector: 'abp-forgot-password', template: "<h4>{{ 'AbpAccount::ForgotPassword' | abpLocalization }}</h4>\r\n\r\n@if (!isEmailSent) {\r\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" validateOnSubmit>\r\n <p>{{ 'AbpAccount::SendPasswordResetLink_Information' | abpLocalization }}</p>\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"input-email-address\" class=\"form-label\">{{\r\n 'AbpAccount::EmailAddress' | abpLocalization\r\n }}</label\r\n ><span> * </span>\r\n <input type=\"email\" id=\"input-email-address\" class=\"form-control\" formControlName=\"email\" />\r\n </div>\r\n <abp-button\r\n class=\"d-block\"\r\n buttonClass=\"mt-2 mb-3 btn btn-primary btn-block\"\r\n [loading]=\"inProgress\"\r\n buttonType=\"submit\"\r\n [disabled]=\"form?.invalid\"\r\n >\r\n {{ 'AbpAccount::Submit' | abpLocalization }}\r\n </abp-button>\r\n <a routerLink=\"/account/login\"\r\n ><i class=\"fa fa-long-arrow-left me-1\" aria-hidden=\"true\"></i\r\n >{{ 'AbpAccount::Login' | abpLocalization }}</a\r\n >\r\n </form>\r\n} @else {\r\n <p>\r\n {{ 'AbpAccount::PasswordResetMailSentMessage' | abpLocalization }}\r\n </p>\r\n\r\n <a routerLink=\"/account/login\">\r\n <button class=\"d-block mt-2 mb-3 btn btn-primary btn-block\">\r\n <i class=\"fa fa-long-arrow-left me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpAccount::BackToLogin' | abpLocalization }}\r\n </button>\r\n </a>\r\n}\r\n" }]
|
|
41
|
-
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.AccountService }] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FjY291bnQvc3JjL2xpYi9jb21wb25lbnRzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFNMUMsTUFBTSxPQUFPLHVCQUF1QjtJQU9sQyxZQUFvQixFQUFzQixFQUFVLGNBQThCO1FBQTlELE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRmxGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFFdkIsSUFBSSxDQUFDLGNBQWM7YUFDaEIscUJBQXFCLENBQUM7WUFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUs7WUFDcEMsT0FBTyxFQUFFLFNBQVM7U0FDbkIsQ0FBQzthQUNELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDL0MsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0EzQlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsMkRDVHBDLHU3Q0FzQ0E7OzJGRDdCYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmFjY291bnQuY29yZS9wcm94eSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtZm9yZ290LXBhc3N3b3JkJyxcclxuICB0ZW1wbGF0ZVVybDogJ2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3Jnb3RQYXNzd29yZENvbXBvbmVudCB7XHJcbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgaW5Qcm9ncmVzcz86IGJvb2xlYW47XHJcblxyXG4gIGlzRW1haWxTZW50ID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlciwgcHJpdmF0ZSBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2UpIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBlbWFpbDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF1dLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5hY2NvdW50U2VydmljZVxyXG4gICAgICAuc2VuZFBhc3N3b3JkUmVzZXRDb2RlKHtcclxuICAgICAgICBlbWFpbDogdGhpcy5mb3JtLmdldCgnZW1haWwnKT8udmFsdWUsXHJcbiAgICAgICAgYXBwTmFtZTogJ0FuZ3VsYXInLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0VtYWlsU2VudCA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8aDQ+e3sgJ0FicEFjY291bnQ6OkZvcmdvdFBhc3N3b3JkJyB8IGFicExvY2FsaXphdGlvbiB9fTwvaDQ+XHJcblxyXG5AaWYgKCFpc0VtYWlsU2VudCkge1xyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCIgdmFsaWRhdGVPblN1Ym1pdD5cclxuICAgIDxwPnt7ICdBYnBBY2NvdW50OjpTZW5kUGFzc3dvcmRSZXNldExpbmtfSW5mb3JtYXRpb24nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9wPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgICA8bGFiZWwgZm9yPVwiaW5wdXQtZW1haWwtYWRkcmVzc1wiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7XHJcbiAgICAgICAgJ0FicEFjY291bnQ6OkVtYWlsQWRkcmVzcycgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgICAgfX08L2xhYmVsXHJcbiAgICAgID48c3Bhbj4gKiA8L3NwYW4+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBpZD1cImlucHV0LWVtYWlsLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGFicC1idXR0b25cclxuICAgICAgY2xhc3M9XCJkLWJsb2NrXCJcclxuICAgICAgYnV0dG9uQ2xhc3M9XCJtdC0yIG1iLTMgYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9ja1wiXHJcbiAgICAgIFtsb2FkaW5nXT1cImluUHJvZ3Jlc3NcIlxyXG4gICAgICBidXR0b25UeXBlPVwic3VibWl0XCJcclxuICAgICAgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIlxyXG4gICAgPlxyXG4gICAgICB7eyAnQWJwQWNjb3VudDo6U3VibWl0JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9hYnAtYnV0dG9uPlxyXG4gICAgPGEgcm91dGVyTGluaz1cIi9hY2NvdW50L2xvZ2luXCJcclxuICAgICAgPjxpIGNsYXNzPVwiZmEgZmEtbG9uZy1hcnJvdy1sZWZ0IG1lLTFcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lcclxuICAgICAgPnt7ICdBYnBBY2NvdW50OjpMb2dpbicgfCBhYnBMb2NhbGl6YXRpb24gfX08L2FcclxuICAgID5cclxuICA8L2Zvcm0+XHJcbn0gQGVsc2Uge1xyXG4gIDxwPlxyXG4gICAge3sgJ0FicEFjY291bnQ6OlBhc3N3b3JkUmVzZXRNYWlsU2VudE1lc3NhZ2UnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgPC9wPlxyXG5cclxuICA8YSByb3V0ZXJMaW5rPVwiL2FjY291bnQvbG9naW5cIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJkLWJsb2NrIG10LTIgbWItMyBidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtbG9uZy1hcnJvdy1sZWZ0IG1lLTFcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgIHt7ICdBYnBBY2NvdW50OjpCYWNrVG9Mb2dpbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvYT5cclxufVxyXG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './change-password/change-password.component';
|
|
2
|
-
export * from './forgot-password/forgot-password.component';
|
|
3
|
-
export * from './login/login.component';
|
|
4
|
-
export * from './manage-profile/manage-profile.component';
|
|
5
|
-
export * from './register/register.component';
|
|
6
|
-
export * from './personal-settings/personal-settings.component';
|
|
7
|
-
export * from './personal-settings/personal-settings-half-row.component';
|
|
8
|
-
export * from './reset-password/reset-password.component';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hY2NvdW50L3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9mb3Jnb3QtcGFzc3dvcmQvZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9naW4vbG9naW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9tYW5hZ2UtcHJvZmlsZS9tYW5hZ2UtcHJvZmlsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9wZXJzb25hbC1zZXR0aW5ncy9wZXJzb25hbC1zZXR0aW5ncy1oYWxmLXJvdy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Jlc2V0LXBhc3N3b3JkL3Jlc2V0LXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { AuthService, ConfigStateService } from '@abp/ng.core';
|
|
2
|
-
import { ToasterService } from '@abp/ng.theme.shared';
|
|
3
|
-
import { Component, Injector, inject } from '@angular/core';
|
|
4
|
-
import { UntypedFormBuilder, Validators } from '@angular/forms';
|
|
5
|
-
import { throwError } from 'rxjs';
|
|
6
|
-
import { catchError, finalize } from 'rxjs/operators';
|
|
7
|
-
import { getRedirectUrl } from '../../utils/auth-utils';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/forms";
|
|
10
|
-
import * as i2 from "@angular/router";
|
|
11
|
-
import * as i3 from "@abp/ng.core";
|
|
12
|
-
import * as i4 from "@ngx-validate/core";
|
|
13
|
-
import * as i5 from "@abp/ng.theme.shared";
|
|
14
|
-
const { maxLength, required } = Validators;
|
|
15
|
-
export class LoginComponent {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.injector = inject(Injector);
|
|
18
|
-
this.fb = inject(UntypedFormBuilder);
|
|
19
|
-
this.toasterService = inject(ToasterService);
|
|
20
|
-
this.authService = inject(AuthService);
|
|
21
|
-
this.configState = inject(ConfigStateService);
|
|
22
|
-
this.isSelfRegistrationEnabled = true;
|
|
23
|
-
this.authWrapperKey = "Account.AuthWrapperComponent" /* eAccountComponents.AuthWrapper */;
|
|
24
|
-
}
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
this.init();
|
|
27
|
-
this.buildForm();
|
|
28
|
-
}
|
|
29
|
-
init() {
|
|
30
|
-
this.isSelfRegistrationEnabled =
|
|
31
|
-
(this.configState.getSetting('Abp.Account.IsSelfRegistrationEnabled') || '').toLowerCase() !== 'false';
|
|
32
|
-
}
|
|
33
|
-
buildForm() {
|
|
34
|
-
this.form = this.fb.group({
|
|
35
|
-
username: ['', [required, maxLength(255)]],
|
|
36
|
-
password: ['', [required, maxLength(128)]],
|
|
37
|
-
rememberMe: [false],
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
onSubmit() {
|
|
41
|
-
if (this.form.invalid)
|
|
42
|
-
return;
|
|
43
|
-
this.inProgress = true;
|
|
44
|
-
const { username, password, rememberMe } = this.form.value;
|
|
45
|
-
const redirectUrl = getRedirectUrl(this.injector);
|
|
46
|
-
this.authService
|
|
47
|
-
.login({ username, password, rememberMe, redirectUrl })
|
|
48
|
-
.pipe(catchError(err => {
|
|
49
|
-
this.toasterService.error(err.error?.error_description ||
|
|
50
|
-
err.error?.error.message ||
|
|
51
|
-
'AbpAccount::DefaultErrorMessage', '', { life: 7000 });
|
|
52
|
-
return throwError(err);
|
|
53
|
-
}), finalize(() => (this.inProgress = false)))
|
|
54
|
-
.subscribe();
|
|
55
|
-
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: LoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.5", type: LoginComponent, selector: "abp-login", ngImport: i0, template: "<h4>{{ 'AbpAccount::Login' | abpLocalization }}</h4>\r\n@if (isSelfRegistrationEnabled) {\r\n <strong>\r\n {{ 'AbpAccount::AreYouANewUser' | abpLocalization }}\r\n <a class=\"text-decoration-none\" routerLink=\"/account/register\" queryParamsHandling=\"preserve\">{{\r\n 'AbpAccount::Register' | abpLocalization\r\n }}</a>\r\n </strong>\r\n}\r\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" validateOnSubmit class=\"mt-4\">\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"login-input-user-name-or-email-address\" class=\"form-label\">{{\r\n 'AbpAccount::UserNameOrEmailAddress' | abpLocalization\r\n }}</label>\r\n <input\r\n class=\"form-control\"\r\n type=\"text\"\r\n id=\"login-input-user-name-or-email-address\"\r\n formControlName=\"username\"\r\n autocomplete=\"username\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"login-input-password\" class=\"form-label\">{{\r\n 'AbpAccount::Password' | abpLocalization\r\n }}</label>\r\n <input\r\n class=\"form-control\"\r\n type=\"password\"\r\n id=\"login-input-password\"\r\n formControlName=\"password\"\r\n autocomplete=\"current-password\"\r\n />\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <div class=\"form-check\">\r\n <label class=\"form-check-label mb-2\" for=\"login-input-remember-me\">\r\n <input\r\n class=\"form-check-input\"\r\n type=\"checkbox\"\r\n id=\"login-input-remember-me\"\r\n formControlName=\"rememberMe\"\r\n />\r\n {{ 'AbpAccount::RememberMe' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"text-end col\">\r\n <a routerLink=\"/account/forgot-password\">{{\r\n 'AbpAccount::ForgotPassword' | abpLocalization\r\n }}</a>\r\n </div>\r\n </div>\r\n\r\n <abp-button\r\n [loading]=\"inProgress\"\r\n buttonType=\"submit\"\r\n name=\"Action\"\r\n buttonClass=\"btn-block btn-lg mt-3 btn btn-primary\"\r\n >\r\n {{ 'AbpAccount::Login' | abpLocalization }}\r\n </abp-button>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i3.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i4.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i4.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i5.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
58
|
-
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: LoginComponent, decorators: [{
|
|
60
|
-
type: Component,
|
|
61
|
-
args: [{ selector: 'abp-login', template: "<h4>{{ 'AbpAccount::Login' | abpLocalization }}</h4>\r\n@if (isSelfRegistrationEnabled) {\r\n <strong>\r\n {{ 'AbpAccount::AreYouANewUser' | abpLocalization }}\r\n <a class=\"text-decoration-none\" routerLink=\"/account/register\" queryParamsHandling=\"preserve\">{{\r\n 'AbpAccount::Register' | abpLocalization\r\n }}</a>\r\n </strong>\r\n}\r\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" validateOnSubmit class=\"mt-4\">\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"login-input-user-name-or-email-address\" class=\"form-label\">{{\r\n 'AbpAccount::UserNameOrEmailAddress' | abpLocalization\r\n }}</label>\r\n <input\r\n class=\"form-control\"\r\n type=\"text\"\r\n id=\"login-input-user-name-or-email-address\"\r\n formControlName=\"username\"\r\n autocomplete=\"username\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"login-input-password\" class=\"form-label\">{{\r\n 'AbpAccount::Password' | abpLocalization\r\n }}</label>\r\n <input\r\n class=\"form-control\"\r\n type=\"password\"\r\n id=\"login-input-password\"\r\n formControlName=\"password\"\r\n autocomplete=\"current-password\"\r\n />\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <div class=\"form-check\">\r\n <label class=\"form-check-label mb-2\" for=\"login-input-remember-me\">\r\n <input\r\n class=\"form-check-input\"\r\n type=\"checkbox\"\r\n id=\"login-input-remember-me\"\r\n formControlName=\"rememberMe\"\r\n />\r\n {{ 'AbpAccount::RememberMe' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"text-end col\">\r\n <a routerLink=\"/account/forgot-password\">{{\r\n 'AbpAccount::ForgotPassword' | abpLocalization\r\n }}</a>\r\n </div>\r\n </div>\r\n\r\n <abp-button\r\n [loading]=\"inProgress\"\r\n buttonType=\"submit\"\r\n name=\"Action\"\r\n buttonClass=\"btn-block btn-lg mt-3 btn btn-primary\"\r\n >\r\n {{ 'AbpAccount::Login' | abpLocalization }}\r\n </abp-button>\r\n</form>\r\n" }]
|
|
62
|
-
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQUV4RCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVUsQ0FBQztBQU0zQyxNQUFNLE9BQU8sY0FBYztJQUozQjtRQUtZLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFNbkQsOEJBQXlCLEdBQUcsSUFBSSxDQUFDO1FBRWpDLG1CQUFjLHVFQUFrQztLQWdEakQ7SUE5Q0MsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRVMsSUFBSTtRQUNaLElBQUksQ0FBQyx5QkFBeUI7WUFDNUIsQ0FDRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBWSxJQUFJLEVBQUUsQ0FDdkYsQ0FBQyxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUVTLFNBQVM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUV2QixNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUUzRCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxXQUFXO2FBQ2IsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLENBQUM7YUFDdEQsSUFBSSxDQUNILFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUN2QixHQUFHLENBQUMsS0FBSyxFQUFFLGlCQUFpQjtnQkFDMUIsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDeEIsaUNBQWlDLEVBQ25DLEVBQUUsRUFDRixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FDZixDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUMxQzthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7OEdBNURVLGNBQWM7a0dBQWQsY0FBYyxpRENmM0Isc3FFQWtFQTs7MkZEbkRhLGNBQWM7a0JBSjFCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhTZXJ2aWNlLCBDb25maWdTdGF0ZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBlQWNjb3VudENvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgZ2V0UmVkaXJlY3RVcmwgfSBmcm9tICcuLi8uLi91dGlscy9hdXRoLXV0aWxzJztcclxuXHJcbmNvbnN0IHsgbWF4TGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLWxvZ2luJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW4uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByb3RlY3RlZCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcbiAgcHJvdGVjdGVkIGZiID0gaW5qZWN0KFVudHlwZWRGb3JtQnVpbGRlcik7XHJcbiAgcHJvdGVjdGVkIHRvYXN0ZXJTZXJ2aWNlID0gaW5qZWN0KFRvYXN0ZXJTZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xyXG4gIHByb3RlY3RlZCBjb25maWdTdGF0ZSA9IGluamVjdChDb25maWdTdGF0ZVNlcnZpY2UpO1xyXG5cclxuICBmb3JtITogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgaW5Qcm9ncmVzcz86IGJvb2xlYW47XHJcblxyXG4gIGlzU2VsZlJlZ2lzdHJhdGlvbkVuYWJsZWQgPSB0cnVlO1xyXG5cclxuICBhdXRoV3JhcHBlcktleSA9IGVBY2NvdW50Q29tcG9uZW50cy5BdXRoV3JhcHBlcjtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaW5pdCgpIHtcclxuICAgIHRoaXMuaXNTZWxmUmVnaXN0cmF0aW9uRW5hYmxlZCA9XHJcbiAgICAgIChcclxuICAgICAgICAodGhpcy5jb25maWdTdGF0ZS5nZXRTZXR0aW5nKCdBYnAuQWNjb3VudC5Jc1NlbGZSZWdpc3RyYXRpb25FbmFibGVkJykgYXMgc3RyaW5nKSB8fCAnJ1xyXG4gICAgICApLnRvTG93ZXJDYXNlKCkgIT09ICdmYWxzZSc7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYnVpbGRGb3JtKCkge1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcclxuICAgICAgcGFzc3dvcmQ6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMTI4KV1dLFxyXG4gICAgICByZW1lbWJlck1lOiBbZmFsc2VdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgeyB1c2VybmFtZSwgcGFzc3dvcmQsIHJlbWVtYmVyTWUgfSA9IHRoaXMuZm9ybS52YWx1ZTtcclxuXHJcbiAgICBjb25zdCByZWRpcmVjdFVybCA9IGdldFJlZGlyZWN0VXJsKHRoaXMuaW5qZWN0b3IpO1xyXG5cclxuICAgIHRoaXMuYXV0aFNlcnZpY2VcclxuICAgICAgLmxvZ2luKHsgdXNlcm5hbWUsIHBhc3N3b3JkLCByZW1lbWJlck1lLCByZWRpcmVjdFVybCB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKFxyXG4gICAgICAgICAgICBlcnIuZXJyb3I/LmVycm9yX2Rlc2NyaXB0aW9uIHx8XHJcbiAgICAgICAgICAgICAgZXJyLmVycm9yPy5lcnJvci5tZXNzYWdlIHx8XHJcbiAgICAgICAgICAgICAgJ0FicEFjY291bnQ6OkRlZmF1bHRFcnJvck1lc3NhZ2UnLFxyXG4gICAgICAgICAgICAnJyxcclxuICAgICAgICAgICAgeyBsaWZlOiA3MDAwIH0sXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxoND57eyAnQWJwQWNjb3VudDo6TG9naW4nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oND5cclxuQGlmIChpc1NlbGZSZWdpc3RyYXRpb25FbmFibGVkKSB7XHJcbiAgPHN0cm9uZz5cclxuICAgIHt7ICdBYnBBY2NvdW50OjpBcmVZb3VBTmV3VXNlcicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDxhIGNsYXNzPVwidGV4dC1kZWNvcmF0aW9uLW5vbmVcIiByb3V0ZXJMaW5rPVwiL2FjY291bnQvcmVnaXN0ZXJcIiBxdWVyeVBhcmFtc0hhbmRsaW5nPVwicHJlc2VydmVcIj57e1xyXG4gICAgICAnQWJwQWNjb3VudDo6UmVnaXN0ZXInIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICB9fTwvYT5cclxuICA8L3N0cm9uZz5cclxufVxyXG48Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiIHZhbGlkYXRlT25TdWJtaXQgY2xhc3M9XCJtdC00XCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgPGxhYmVsIGZvcj1cImxvZ2luLWlucHV0LXVzZXItbmFtZS1vci1lbWFpbC1hZGRyZXNzXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcclxuICAgICAgJ0FicEFjY291bnQ6OlVzZXJOYW1lT3JFbWFpbEFkZHJlc3MnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICB9fTwvbGFiZWw+XHJcbiAgICA8aW5wdXRcclxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIGlkPVwibG9naW4taW5wdXQtdXNlci1uYW1lLW9yLWVtYWlsLWFkZHJlc3NcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiXHJcbiAgICAgIGF1dG9jb21wbGV0ZT1cInVzZXJuYW1lXCJcclxuICAgICAgYXV0b2ZvY3VzXHJcbiAgICAvPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtYi0zIGZvcm0tZ3JvdXBcIj5cclxuICAgIDxsYWJlbCBmb3I9XCJsb2dpbi1pbnB1dC1wYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7XHJcbiAgICAgICdBYnBBY2NvdW50OjpQYXNzd29yZCcgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgIH19PC9sYWJlbD5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgIHR5cGU9XCJwYXNzd29yZFwiXHJcbiAgICAgIGlkPVwibG9naW4taW5wdXQtcGFzc3dvcmRcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXHJcbiAgICAgIGF1dG9jb21wbGV0ZT1cImN1cnJlbnQtcGFzc3dvcmRcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgbWItMlwiIGZvcj1cImxvZ2luLWlucHV0LXJlbWVtYmVyLW1lXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgaWQ9XCJsb2dpbi1pbnB1dC1yZW1lbWJlci1tZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJlbWVtYmVyTWVcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIHt7ICdBYnBBY2NvdW50OjpSZW1lbWJlck1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmQgY29sXCI+XHJcbiAgICAgIDxhIHJvdXRlckxpbms9XCIvYWNjb3VudC9mb3Jnb3QtcGFzc3dvcmRcIj57e1xyXG4gICAgICAgICdBYnBBY2NvdW50OjpGb3Jnb3RQYXNzd29yZCcgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgICAgfX08L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGFicC1idXR0b25cclxuICAgIFtsb2FkaW5nXT1cImluUHJvZ3Jlc3NcIlxyXG4gICAgYnV0dG9uVHlwZT1cInN1Ym1pdFwiXHJcbiAgICBuYW1lPVwiQWN0aW9uXCJcclxuICAgIGJ1dHRvbkNsYXNzPVwiYnRuLWJsb2NrIGJ0bi1sZyBtdC0zIGJ0biBidG4tcHJpbWFyeVwiXHJcbiAgPlxyXG4gICAge3sgJ0FicEFjY291bnQ6OkxvZ2luJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gIDwvYWJwLWJ1dHRvbj5cclxuPC9mb3JtPlxyXG4iXX0=
|