@abp/ng.account 7.2.2 → 7.3.0-rc.2
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 +128 -2
- package/config/account-config.module.d.ts +8 -8
- package/config/enums/index.d.ts +1 -1
- package/config/enums/route-names.d.ts +8 -8
- package/config/index.d.ts +5 -5
- package/config/providers/index.d.ts +1 -1
- package/config/providers/route.provider.d.ts +8 -8
- package/config/public-api.d.ts +3 -3
- package/config/utils/factories.d.ts +2 -2
- package/{esm2020 → esm2022}/abp-ng.account.mjs +4 -4
- package/{esm2020 → esm2022}/config/abp-ng.account-config.mjs +4 -4
- package/esm2022/config/account-config.module.mjs +28 -0
- package/{esm2020 → esm2022}/config/enums/index.mjs +1 -1
- package/{esm2020 → esm2022}/config/enums/route-names.mjs +1 -1
- package/{esm2020 → esm2022}/config/providers/index.mjs +1 -1
- package/{esm2020 → esm2022}/config/providers/route.provider.mjs +49 -49
- package/{esm2020 → esm2022}/config/public-api.mjs +3 -3
- package/{esm2020 → esm2022}/config/utils/factories.mjs +10 -10
- package/esm2022/lib/account-routing.module.mjs +91 -0
- package/esm2022/lib/account.module.mjs +104 -0
- package/esm2022/lib/components/change-password/change-password.component.mjs +88 -0
- package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +44 -0
- package/{esm2020 → esm2022}/lib/components/index.mjs +8 -8
- package/esm2022/lib/components/login/login.component.mjs +65 -0
- package/esm2022/lib/components/manage-profile/manage-profile.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/components/personal-settings/personal-settings-half-row.component.mjs +27 -26
- package/esm2022/lib/components/personal-settings/personal-settings.component.mjs +90 -0
- package/{esm2020 → esm2022}/lib/components/register/register.component.mjs +84 -83
- package/esm2022/lib/components/reset-password/reset-password.component.mjs +69 -0
- package/{esm2020 → esm2022}/lib/defaults/default-personal-settings-form-props.mjs +45 -45
- package/{esm2020 → esm2022}/lib/enums/components.mjs +1 -1
- package/{esm2020 → esm2022}/lib/enums/index.mjs +1 -1
- package/esm2022/lib/guards/authentication-flow.guard.mjs +21 -0
- package/esm2022/lib/guards/extensions.guard.mjs +28 -0
- package/{esm2020 → esm2022}/lib/guards/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/account.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/config-options.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/services/index.mjs +1 -1
- package/esm2022/lib/services/manage-profile.state.service.mjs +28 -0
- package/{esm2020 → esm2022}/lib/tokens/config-options.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tokens/extensions.token.mjs +6 -6
- package/{esm2020 → esm2022}/lib/tokens/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/tokens/re-login-confirmation.token.mjs +2 -2
- package/{esm2020 → esm2022}/lib/utils/auth-utils.mjs +7 -7
- package/{esm2020 → esm2022}/lib/utils/factory-utils.mjs +6 -6
- package/{esm2020 → esm2022}/public-api.mjs +7 -7
- package/{fesm2015 → fesm2022}/abp-ng.account-config.mjs +75 -75
- package/{fesm2020 → fesm2022}/abp-ng.account-config.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/abp-ng.account.mjs +646 -645
- package/fesm2022/abp-ng.account.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/account-routing.module.d.ts +7 -7
- package/lib/account.module.d.ts +24 -24
- package/lib/components/change-password/change-password.component.d.ts +24 -24
- package/lib/components/forgot-password/forgot-password.component.d.ts +14 -14
- package/lib/components/index.d.ts +8 -8
- package/lib/components/login/login.component.d.ts +24 -24
- package/lib/components/manage-profile/manage-profile.component.d.ts +18 -18
- package/lib/components/personal-settings/personal-settings-half-row.component.d.ts +13 -13
- package/lib/components/personal-settings/personal-settings.component.d.ts +30 -30
- package/lib/components/register/register.component.d.ts +26 -26
- package/lib/components/reset-password/reset-password.component.d.ts +22 -22
- package/lib/defaults/default-personal-settings-form-props.d.ts +3 -3
- package/lib/enums/components.d.ts +11 -11
- package/lib/enums/index.d.ts +1 -1
- package/lib/guards/authentication-flow.guard.d.ts +8 -10
- package/lib/guards/extensions.guard.d.ts +11 -11
- package/lib/guards/index.d.ts +2 -2
- package/lib/models/account.d.ts +14 -14
- package/lib/models/config-options.d.ts +11 -11
- package/lib/models/index.d.ts +2 -2
- package/lib/services/index.d.ts +1 -1
- package/lib/services/manage-profile.state.service.d.ts +29 -29
- package/lib/tokens/config-options.token.d.ts +3 -3
- package/lib/tokens/extensions.token.d.ts +9 -9
- package/lib/tokens/index.d.ts +3 -3
- package/lib/tokens/re-login-confirmation.token.d.ts +2 -2
- package/lib/utils/auth-utils.d.ts +2 -2
- package/lib/utils/factory-utils.d.ts +8 -8
- package/package.json +25 -19
- package/public-api.d.ts +7 -7
- package/esm2020/config/account-config.module.mjs +0 -27
- package/esm2020/lib/account-routing.module.mjs +0 -90
- package/esm2020/lib/account.module.mjs +0 -103
- package/esm2020/lib/components/change-password/change-password.component.mjs +0 -87
- package/esm2020/lib/components/forgot-password/forgot-password.component.mjs +0 -43
- package/esm2020/lib/components/login/login.component.mjs +0 -64
- package/esm2020/lib/components/manage-profile/manage-profile.component.mjs +0 -39
- package/esm2020/lib/components/personal-settings/personal-settings.component.mjs +0 -89
- package/esm2020/lib/components/reset-password/reset-password.component.mjs +0 -68
- package/esm2020/lib/guards/authentication-flow.guard.mjs +0 -21
- package/esm2020/lib/guards/extensions.guard.mjs +0 -27
- package/esm2020/lib/services/manage-profile.state.service.mjs +0 -27
- package/fesm2015/abp-ng.account-config.mjs.map +0 -1
- package/fesm2015/abp-ng.account.mjs +0 -726
- package/fesm2015/abp-ng.account.mjs.map +0 -1
- package/fesm2020/abp-ng.account-config.mjs +0 -90
- package/fesm2020/abp-ng.account.mjs.map +0 -1
|
@@ -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 { UiExtensionsModule } from '@abp/ng.theme.shared/extensions';
|
|
19
|
-
import { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS } from './tokens/extensions.token';
|
|
20
|
-
import { AccountExtensionsGuard } from './guards/extensions.guard';
|
|
21
|
-
import { PersonalSettingsHalfRowComponent } from './components/personal-settings/personal-settings-half-row.component';
|
|
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
|
-
}
|
|
61
|
-
AccountModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccountModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
62
|
-
AccountModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AccountModule, declarations: [LoginComponent,
|
|
63
|
-
RegisterComponent,
|
|
64
|
-
ChangePasswordComponent,
|
|
65
|
-
ManageProfileComponent,
|
|
66
|
-
PersonalSettingsComponent,
|
|
67
|
-
ForgotPasswordComponent,
|
|
68
|
-
ResetPasswordComponent,
|
|
69
|
-
PersonalSettingsHalfRowComponent], imports: [CoreModule,
|
|
70
|
-
AccountRoutingModule,
|
|
71
|
-
ThemeSharedModule,
|
|
72
|
-
NgbDropdownModule,
|
|
73
|
-
NgxValidateCoreModule,
|
|
74
|
-
UiExtensionsModule], exports: [LoginComponent,
|
|
75
|
-
RegisterComponent,
|
|
76
|
-
ChangePasswordComponent,
|
|
77
|
-
ManageProfileComponent,
|
|
78
|
-
PersonalSettingsComponent,
|
|
79
|
-
ForgotPasswordComponent,
|
|
80
|
-
ResetPasswordComponent,
|
|
81
|
-
PersonalSettingsHalfRowComponent] });
|
|
82
|
-
AccountModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccountModule, imports: [CoreModule,
|
|
83
|
-
AccountRoutingModule,
|
|
84
|
-
ThemeSharedModule,
|
|
85
|
-
NgbDropdownModule,
|
|
86
|
-
NgxValidateCoreModule,
|
|
87
|
-
UiExtensionsModule] });
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", 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
|
-
UiExtensionsModule,
|
|
99
|
-
],
|
|
100
|
-
exports: [...declarations],
|
|
101
|
-
}]
|
|
102
|
-
}] });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hY2NvdW50L3NyYy9saWIvYWNjb3VudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQXVCLFFBQVEsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQzs7QUFFdkgsTUFBTSxZQUFZLEdBQUc7SUFDbkIsY0FBYztJQUNkLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUN6Qix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLGdDQUFnQztDQUNqQyxDQUFDO0FBY0YsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQTBCO1FBQ2xELE9BQU87WUFDTCxRQUFRLEVBQUUsYUFBYTtZQUN2QixTQUFTLEVBQUU7Z0JBQ1QsdUJBQXVCO2dCQUN2QixFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO2dCQUN0RDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixVQUFVLEVBQUUsMkJBQTJCO29CQUN2QyxJQUFJLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDL0I7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLDJCQUEyQjtvQkFDcEMsUUFBUSxFQUFFLE9BQU8sQ0FBQywyQ0FBMkMsSUFBSSxJQUFJO2lCQUN0RTtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsbUNBQW1DO29CQUM1QyxRQUFRLEVBQUUsT0FBTyxDQUFDLHdCQUF3QjtpQkFDM0M7Z0JBQ0Qsc0JBQXNCO2FBQ3ZCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBMEI7UUFDakQsT0FBTyxJQUFJLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDOzswR0EzQlUsYUFBYTsyR0FBYixhQUFhLGlCQXRCeEIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLHlCQUF5QjtRQUN6Qix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLGdDQUFnQyxhQU05QixVQUFVO1FBQ1Ysb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLGtCQUFrQixhQWxCcEIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLHlCQUF5QjtRQUN6Qix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLGdDQUFnQzsyR0FlckIsYUFBYSxZQVR0QixVQUFVO1FBQ1Ysb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLGtCQUFrQjsyRkFJVCxhQUFhO2tCQVp6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDO29CQUMvQixPQUFPLEVBQUU7d0JBQ1AsVUFBVTt3QkFDVixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSwgTGF6eU1vZHVsZUZhY3RvcnkgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE5nTW9kdWxlRmFjdG9yeSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgTmd4VmFsaWRhdGVDb3JlTW9kdWxlIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQWNjb3VudFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2FjY291bnQtcm91dGluZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hbmFnZVByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWFuYWdlLXByb2ZpbGUvbWFuYWdlLXByb2ZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGVyc29uYWxTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wZXJzb25hbC1zZXR0aW5ncy9wZXJzb25hbC1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWdpc3RlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY2NvdW50Q29uZmlnT3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzL2NvbmZpZy1vcHRpb25zJztcclxuaW1wb3J0IHsgQUNDT1VOVF9DT05GSUdfT1BUSU9OUyB9IGZyb20gJy4vdG9rZW5zL2NvbmZpZy1vcHRpb25zLnRva2VuJztcclxuaW1wb3J0IHsgYWNjb3VudENvbmZpZ09wdGlvbnNGYWN0b3J5IH0gZnJvbSAnLi91dGlscy9mYWN0b3J5LXV0aWxzJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25GbG93R3VhcmQgfSBmcm9tICcuL2d1YXJkcy9hdXRoZW50aWNhdGlvbi1mbG93Lmd1YXJkJztcclxuaW1wb3J0IHsgRm9yZ290UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXNldFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jlc2V0LXBhc3N3b3JkL3Jlc2V0LXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJFX0xPR0lOX0NPTkZJUk1BVElPTl9UT0tFTiB9IGZyb20gJy4vdG9rZW5zJztcclxuaW1wb3J0IHsgVWlFeHRlbnNpb25zTW9kdWxlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQvZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7IEFDQ09VTlRfRURJVF9GT1JNX1BST1BfQ09OVFJJQlVUT1JTIH0gZnJvbSAnLi90b2tlbnMvZXh0ZW5zaW9ucy50b2tlbic7XHJcbmltcG9ydCB7IEFjY291bnRFeHRlbnNpb25zR3VhcmQgfSBmcm9tICcuL2d1YXJkcy9leHRlbnNpb25zLmd1YXJkJztcclxuaW1wb3J0IHsgUGVyc29uYWxTZXR0aW5nc0hhbGZSb3dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MtaGFsZi1yb3cuY29tcG9uZW50JztcclxuXHJcbmNvbnN0IGRlY2xhcmF0aW9ucyA9IFtcclxuICBMb2dpbkNvbXBvbmVudCxcclxuICBSZWdpc3RlckNvbXBvbmVudCxcclxuICBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCxcclxuICBNYW5hZ2VQcm9maWxlQ29tcG9uZW50LFxyXG4gIFBlcnNvbmFsU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgRm9yZ290UGFzc3dvcmRDb21wb25lbnQsXHJcbiAgUmVzZXRQYXNzd29yZENvbXBvbmVudCxcclxuICBQZXJzb25hbFNldHRpbmdzSGFsZlJvd0NvbXBvbmVudCxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbLi4uZGVjbGFyYXRpb25zXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb3JlTW9kdWxlLFxyXG4gICAgQWNjb3VudFJvdXRpbmdNb2R1bGUsXHJcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcclxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxyXG4gICAgTmd4VmFsaWRhdGVDb3JlTW9kdWxlLFxyXG4gICAgVWlFeHRlbnNpb25zTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogWy4uLmRlY2xhcmF0aW9uc10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50TW9kdWxlIHtcclxuICBzdGF0aWMgZm9yQ2hpbGQob3B0aW9ucyA9IHt9IGFzIEFjY291bnRDb25maWdPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBY2NvdW50TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQWNjb3VudE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgQXV0aGVudGljYXRpb25GbG93R3VhcmQsXHJcbiAgICAgICAgeyBwcm92aWRlOiBBQ0NPVU5UX0NPTkZJR19PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6ICdBQ0NPVU5UX09QVElPTlMnLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogYWNjb3VudENvbmZpZ09wdGlvbnNGYWN0b3J5LFxyXG4gICAgICAgICAgZGVwczogW0FDQ09VTlRfQ09ORklHX09QVElPTlNdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogUkVfTE9HSU5fQ09ORklSTUFUSU9OX1RPS0VOLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMuaXNQZXJzb25hbFNldHRpbmdzQ2hhbmdlZENvbmZpcm1hdGlvbkFjdGl2ZSA/PyB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQUNDT1VOVF9FRElUX0ZPUk1fUFJPUF9DT05UUklCVVRPUlMsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucy5lZGl0Rm9ybVByb3BDb250cmlidXRvcnMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBBY2NvdW50RXh0ZW5zaW9uc0d1YXJkLFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmb3JMYXp5KG9wdGlvbnMgPSB7fSBhcyBBY2NvdW50Q29uZmlnT3B0aW9ucyk6IE5nTW9kdWxlRmFjdG9yeTxBY2NvdW50TW9kdWxlPiB7XHJcbiAgICByZXR1cm4gbmV3IExhenlNb2R1bGVGYWN0b3J5KEFjY291bnRNb2R1bGUuZm9yQ2hpbGQob3B0aW9ucykpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,87 +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 "@angular/common";
|
|
14
|
-
import * as i6 from "@abp/ng.core";
|
|
15
|
-
import * as i7 from "@ngx-validate/core";
|
|
16
|
-
const { required } = Validators;
|
|
17
|
-
const PASSWORD_FIELDS = ['newPassword', 'repeatNewPassword'];
|
|
18
|
-
export class ChangePasswordComponent {
|
|
19
|
-
constructor(fb, injector, toasterService, profileService, manageProfileState) {
|
|
20
|
-
this.fb = fb;
|
|
21
|
-
this.injector = injector;
|
|
22
|
-
this.toasterService = toasterService;
|
|
23
|
-
this.profileService = profileService;
|
|
24
|
-
this.manageProfileState = manageProfileState;
|
|
25
|
-
this.mapErrorsFn = (errors, groupErrors, control) => {
|
|
26
|
-
if (PASSWORD_FIELDS.indexOf(String(control?.name)) < 0)
|
|
27
|
-
return errors;
|
|
28
|
-
return errors.concat(groupErrors.filter(({ key }) => key === 'passwordMismatch'));
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
ngOnInit() {
|
|
32
|
-
this.hideCurrentPassword = !this.manageProfileState.getProfile()?.hasPassword;
|
|
33
|
-
const passwordValidations = getPasswordValidators(this.injector);
|
|
34
|
-
this.form = this.fb.group({
|
|
35
|
-
password: ['', required],
|
|
36
|
-
newPassword: [
|
|
37
|
-
'',
|
|
38
|
-
{
|
|
39
|
-
validators: [required, ...passwordValidations],
|
|
40
|
-
},
|
|
41
|
-
],
|
|
42
|
-
repeatNewPassword: [
|
|
43
|
-
'',
|
|
44
|
-
{
|
|
45
|
-
validators: [required, ...passwordValidations],
|
|
46
|
-
},
|
|
47
|
-
],
|
|
48
|
-
}, {
|
|
49
|
-
validators: [comparePasswords(PASSWORD_FIELDS)],
|
|
50
|
-
});
|
|
51
|
-
if (this.hideCurrentPassword)
|
|
52
|
-
this.form.removeControl('password');
|
|
53
|
-
}
|
|
54
|
-
onSubmit() {
|
|
55
|
-
if (this.form.invalid)
|
|
56
|
-
return;
|
|
57
|
-
this.inProgress = true;
|
|
58
|
-
this.profileService
|
|
59
|
-
.changePassword({
|
|
60
|
-
...(!this.hideCurrentPassword && { currentPassword: this.form.get('password')?.value }),
|
|
61
|
-
newPassword: this.form.get('newPassword')?.value,
|
|
62
|
-
})
|
|
63
|
-
.pipe(finalize(() => (this.inProgress = false)))
|
|
64
|
-
.subscribe({
|
|
65
|
-
next: () => {
|
|
66
|
-
this.form.reset();
|
|
67
|
-
this.toasterService.success('AbpAccount::PasswordChangedMessage', '', {
|
|
68
|
-
life: 5000,
|
|
69
|
-
});
|
|
70
|
-
if (this.hideCurrentPassword) {
|
|
71
|
-
this.hideCurrentPassword = false;
|
|
72
|
-
this.form.addControl('password', new UntypedFormControl('', [required]));
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
error: err => {
|
|
76
|
-
this.toasterService.error(err.error?.error?.message || 'AbpAccount::DefaultErrorMessage');
|
|
77
|
-
},
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
ChangePasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ChangePasswordComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i0.Injector }, { token: i2.ToasterService }, { token: i3.ProfileService }, { token: i4.ManageProfileStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
-
ChangePasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ChangePasswordComponent, selector: "abp-change-password-form", exportAs: ["abpChangePasswordForm"], ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" [mapErrorsFn]=\"mapErrorsFn\" validateOnSubmit>\r\n <div *ngIf=\"!hideCurrentPassword\" 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 <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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: i6.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i6.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i7.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: i6.LocalizationPipe, name: "abpLocalization" }] });
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ChangePasswordComponent, decorators: [{
|
|
84
|
-
type: Component,
|
|
85
|
-
args: [{ selector: 'abp-change-password-form', exportAs: 'abpChangePasswordForm', template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" [mapErrorsFn]=\"mapErrorsFn\" validateOnSubmit>\r\n <div *ngIf=\"!hideCurrentPassword\" 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 <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" }]
|
|
86
|
-
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i0.Injector }, { type: i2.ToasterService }, { type: i3.ProfileService }, { type: i4.ManageProfileStateService }]; } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FjY291bnQvc3JjL2xpYi9jb21wb25lbnRzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBRWxCLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYyxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7O0FBRXhGLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxVQUFVLENBQUM7QUFFaEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQU83RCxNQUFNLE9BQU8sdUJBQXVCO0lBZWxDLFlBQ1UsRUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsY0FBOEIsRUFDOUIsY0FBOEIsRUFDOUIsa0JBQTZDO1FBSjdDLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3RCLGFBQVEsR0FBUixRQUFR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Q1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLGlDQUFpQyxDQUFDLENBQUM7WUFDNUYsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7O29IQTdFVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixxR0N2QnBDLHNxREFrREE7MkZEM0JhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSwwQkFBMEIsWUFFMUIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmFjY291bnQuY29yZS9wcm94eSc7XHJcbmltcG9ydCB7IGdldFBhc3N3b3JkVmFsaWRhdG9ycywgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbiAgVW50eXBlZEZvcm1Hcm91cCxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29tcGFyZVBhc3N3b3JkcywgVmFsaWRhdGlvbiB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBY2NvdW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnQnO1xyXG5pbXBvcnQgeyBNYW5hZ2VQcm9maWxlU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFuYWdlLXByb2ZpbGUuc3RhdGUuc2VydmljZSc7XHJcblxyXG5jb25zdCB7IHJlcXVpcmVkIH0gPSBWYWxpZGF0b3JzO1xyXG5cclxuY29uc3QgUEFTU1dPUkRfRklFTERTID0gWyduZXdQYXNzd29yZCcsICdyZXBlYXROZXdQYXNzd29yZCddO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtY2hhbmdlLXBhc3N3b3JkLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGV4cG9ydEFzOiAnYWJwQ2hhbmdlUGFzc3dvcmRGb3JtJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFjY291bnQuQ2hhbmdlUGFzc3dvcmRDb21wb25lbnRJbnB1dHMsIEFjY291bnQuQ2hhbmdlUGFzc3dvcmRDb21wb25lbnRPdXRwdXRzXHJcbntcclxuICBmb3JtITogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgaW5Qcm9ncmVzcz86IGJvb2xlYW47XHJcblxyXG4gIGhpZGVDdXJyZW50UGFzc3dvcmQ/OiBib29sZWFuO1xyXG5cclxuICBtYXBFcnJvcnNGbjogVmFsaWRhdGlvbi5NYXBFcnJvcnNGbiA9IChlcnJvcnMsIGdyb3VwRXJyb3JzLCBjb250cm9sKSA9PiB7XHJcbiAgICBpZiAoUEFTU1dPUkRfRklFTERTLmluZGV4T2YoU3RyaW5nKGNvbnRyb2w/Lm5hbWUpKSA8IDApIHJldHVybiBlcnJvcnM7XHJcblxyXG4gICAgcmV0dXJuIGVycm9ycy5jb25jYXQoZ3JvdXBFcnJvcnMuZmlsdGVyKCh7IGtleSB9KSA9PiBrZXkgPT09ICdwYXNzd29yZE1pc21hdGNoJykpO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYW5hZ2VQcm9maWxlU3RhdGU6IE1hbmFnZVByb2ZpbGVTdGF0ZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZUN1cnJlbnRQYXNzd29yZCA9ICF0aGlzLm1hbmFnZVByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlKCk/Lmhhc1Bhc3N3b3JkO1xyXG5cclxuICAgIGNvbnN0IHBhc3N3b3JkVmFsaWRhdGlvbnMgPSBnZXRQYXNzd29yZFZhbGlkYXRvcnModGhpcy5pbmplY3Rvcik7XHJcblxyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cChcclxuICAgICAge1xyXG4gICAgICAgIHBhc3N3b3JkOiBbJycsIHJlcXVpcmVkXSxcclxuICAgICAgICBuZXdQYXNzd29yZDogW1xyXG4gICAgICAgICAgJycsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6IFtyZXF1aXJlZCwgLi4ucGFzc3dvcmRWYWxpZGF0aW9uc10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgcmVwZWF0TmV3UGFzc3dvcmQ6IFtcclxuICAgICAgICAgICcnLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiBbcmVxdWlyZWQsIC4uLnBhc3N3b3JkVmFsaWRhdGlvbnNdLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdmFsaWRhdG9yczogW2NvbXBhcmVQYXNzd29yZHMoUEFTU1dPUkRfRklFTERTKV0sXHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG5cclxuICAgIGlmICh0aGlzLmhpZGVDdXJyZW50UGFzc3dvcmQpIHRoaXMuZm9ybS5yZW1vdmVDb250cm9sKCdwYXNzd29yZCcpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcclxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XHJcbiAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlXHJcbiAgICAgIC5jaGFuZ2VQYXNzd29yZCh7XHJcbiAgICAgICAgLi4uKCF0aGlzLmhpZGVDdXJyZW50UGFzc3dvcmQgJiYgeyBjdXJyZW50UGFzc3dvcmQ6IHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlIH0pLFxyXG4gICAgICAgIG5ld1Bhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCduZXdQYXNzd29yZCcpPy52YWx1ZSxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKCdBYnBBY2NvdW50OjpQYXNzd29yZENoYW5nZWRNZXNzYWdlJywgJycsIHtcclxuICAgICAgICAgICAgbGlmZTogNTAwMCxcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmhpZGVDdXJyZW50UGFzc3dvcmQpIHtcclxuICAgICAgICAgICAgdGhpcy5oaWRlQ3VycmVudFBhc3N3b3JkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdwYXNzd29yZCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFtyZXF1aXJlZF0pKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihlcnIuZXJyb3I/LmVycm9yPy5tZXNzYWdlIHx8ICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCIgW21hcEVycm9yc0ZuXT1cIm1hcEVycm9yc0ZuXCIgdmFsaWRhdGVPblN1Ym1pdD5cclxuICA8ZGl2ICpuZ0lmPVwiIWhpZGVDdXJyZW50UGFzc3dvcmRcIiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgPGxhYmVsIGZvcj1cImN1cnJlbnQtcGFzc3dvcmRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57e1xyXG4gICAgICAnQWJwSWRlbnRpdHk6OkRpc3BsYXlOYW1lOkN1cnJlbnRQYXNzd29yZCcgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgIH19PC9sYWJlbFxyXG4gICAgPjxzcGFuPiAqIDwvc3BhblxyXG4gICAgPjxpbnB1dFxyXG4gICAgICB0eXBlPVwicGFzc3dvcmRcIlxyXG4gICAgICBpZD1cImN1cnJlbnQtcGFzc3dvcmRcIlxyXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcclxuICAgICAgYXV0b2ZvY3VzXHJcbiAgICAgIGF1dG9jb21wbGV0ZT1cImN1cnJlbnQtcGFzc3dvcmRcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibWItMyBmb3JtLWdyb3VwXCI+XHJcbiAgICA8bGFiZWwgZm9yPVwibmV3LXBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcclxuICAgICAgJ0FicElkZW50aXR5OjpEaXNwbGF5TmFtZTpOZXdQYXNzd29yZCcgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgIH19PC9sYWJlbFxyXG4gICAgPjxzcGFuPiAqIDwvc3BhblxyXG4gICAgPjxpbnB1dFxyXG4gICAgICB0eXBlPVwicGFzc3dvcmRcIlxyXG4gICAgICBpZD1cIm5ldy1wYXNzd29yZFwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmV3UGFzc3dvcmRcIlxyXG4gICAgICBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibWItMyBmb3JtLWdyb3VwXCI+XHJcbiAgICA8bGFiZWwgZm9yPVwiY29uZmlybS1uZXctcGFzc3dvcmRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57e1xyXG4gICAgICAnQWJwSWRlbnRpdHk6OkRpc3BsYXlOYW1lOk5ld1Bhc3N3b3JkQ29uZmlybScgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgIH19PC9sYWJlbFxyXG4gICAgPjxzcGFuPiAqIDwvc3BhblxyXG4gICAgPjxpbnB1dFxyXG4gICAgICB0eXBlPVwicGFzc3dvcmRcIlxyXG4gICAgICBpZD1cImNvbmZpcm0tbmV3LXBhc3N3b3JkXCJcclxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZXBlYXROZXdQYXNzd29yZFwiXHJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXHJcbiAgICAvPlxyXG4gIDwvZGl2PlxyXG4gIDxhYnAtYnV0dG9uXHJcbiAgICBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiXHJcbiAgICBidXR0b25DbGFzcz1cImJ0biBidG4tcHJpbWFyeSBjb2xvci13aGl0ZVwiXHJcbiAgICBidXR0b25UeXBlPVwic3VibWl0XCJcclxuICAgIFtsb2FkaW5nXT1cImluUHJvZ3Jlc3NcIlxyXG4gICAgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIlxyXG4gICAgPnt7ICdBYnBJZGVudGl0eTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX08L2FicC1idXR0b25cclxuICA+XHJcbjwvZm9ybT5cclxuIl19
|
|
@@ -1,43 +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/common";
|
|
9
|
-
import * as i4 from "@angular/router";
|
|
10
|
-
import * as i5 from "@abp/ng.core";
|
|
11
|
-
import * as i6 from "@ngx-validate/core";
|
|
12
|
-
import * as i7 from "@abp/ng.theme.shared";
|
|
13
|
-
export class ForgotPasswordComponent {
|
|
14
|
-
constructor(fb, accountService) {
|
|
15
|
-
this.fb = fb;
|
|
16
|
-
this.accountService = accountService;
|
|
17
|
-
this.isEmailSent = false;
|
|
18
|
-
this.form = this.fb.group({
|
|
19
|
-
email: ['', [Validators.required, Validators.email]],
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
onSubmit() {
|
|
23
|
-
if (this.form.invalid)
|
|
24
|
-
return;
|
|
25
|
-
this.inProgress = true;
|
|
26
|
-
this.accountService
|
|
27
|
-
.sendPasswordResetCode({
|
|
28
|
-
email: this.form.get('email')?.value,
|
|
29
|
-
appName: 'Angular',
|
|
30
|
-
})
|
|
31
|
-
.pipe(finalize(() => (this.inProgress = false)))
|
|
32
|
-
.subscribe(() => {
|
|
33
|
-
this.isEmailSent = true;
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
ForgotPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ForgotPasswordComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.AccountService }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
ForgotPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ForgotPasswordComponent, selector: "abp-forgot-password", ngImport: i0, template: "<h4>{{ 'AbpAccount::ForgotPassword' | abpLocalization }}</h4>\r\n\r\n<form\r\n *ngIf=\"!isEmailSent; else emailSentTemplate\"\r\n [formGroup]=\"form\"\r\n (ngSubmit)=\"onSubmit()\"\r\n validateOnSubmit\r\n>\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\"></i>{{ 'AbpAccount::Login' | abpLocalization }}</a\r\n >\r\n</form>\r\n\r\n<ng-template #emailSentTemplate>\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\"></i>\r\n {{ 'AbpAccount::BackToLogin' | abpLocalization }}\r\n </button>\r\n </a>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { 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: i7.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" }] });
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{ selector: 'abp-forgot-password', template: "<h4>{{ 'AbpAccount::ForgotPassword' | abpLocalization }}</h4>\r\n\r\n<form\r\n *ngIf=\"!isEmailSent; else emailSentTemplate\"\r\n [formGroup]=\"form\"\r\n (ngSubmit)=\"onSubmit()\"\r\n validateOnSubmit\r\n>\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\"></i>{{ 'AbpAccount::Login' | abpLocalization }}</a\r\n >\r\n</form>\r\n\r\n<ng-template #emailSentTemplate>\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\"></i>\r\n {{ 'AbpAccount::BackToLogin' | abpLocalization }}\r\n </button>\r\n </a>\r\n</ng-template>\r\n" }]
|
|
42
|
-
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.AccountService }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FjY291bnQvc3JjL2xpYi9jb21wb25lbnRzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBTTFDLE1BQU0sT0FBTyx1QkFBdUI7SUFPbEMsWUFBb0IsRUFBc0IsRUFBVSxjQUE4QjtRQUE5RCxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUZsRixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUdsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBRXZCLElBQUksQ0FBQyxjQUFjO2FBQ2hCLHFCQUFxQixDQUFDO1lBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLO1lBQ3BDLE9BQU8sRUFBRSxTQUFTO1NBQ25CLENBQUM7YUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQy9DLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O29IQTNCVSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwyRENUcEMsODZDQTBDQTsyRkRqQ2EsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5hY2NvdW50LmNvcmUvcHJveHknO1xyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLWZvcmdvdC1wYXNzd29yZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICdmb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9yZ290UGFzc3dvcmRDb21wb25lbnQge1xyXG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG4gIGluUHJvZ3Jlc3M/OiBib29sZWFuO1xyXG5cclxuICBpc0VtYWlsU2VudCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHByaXZhdGUgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuYWNjb3VudFNlcnZpY2VcclxuICAgICAgLnNlbmRQYXNzd29yZFJlc2V0Q29kZSh7XHJcbiAgICAgICAgZW1haWw6IHRoaXMuZm9ybS5nZXQoJ2VtYWlsJyk/LnZhbHVlLFxyXG4gICAgICAgIGFwcE5hbWU6ICdBbmd1bGFyJyxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNFbWFpbFNlbnQgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGg0Pnt7ICdBYnBBY2NvdW50OjpGb3Jnb3RQYXNzd29yZCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L2g0PlxyXG5cclxuPGZvcm1cclxuICAqbmdJZj1cIiFpc0VtYWlsU2VudDsgZWxzZSBlbWFpbFNlbnRUZW1wbGF0ZVwiXHJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcclxuICAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiXHJcbiAgdmFsaWRhdGVPblN1Ym1pdFxyXG4+XHJcbiAgPHA+e3sgJ0FicEFjY291bnQ6OlNlbmRQYXNzd29yZFJlc2V0TGlua19JbmZvcm1hdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX08L3A+XHJcbiAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgPGxhYmVsIGZvcj1cImlucHV0LWVtYWlsLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57e1xyXG4gICAgICAnQWJwQWNjb3VudDo6RW1haWxBZGRyZXNzJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgfX08L2xhYmVsXHJcbiAgICA+PHNwYW4+ICogPC9zcGFuPlxyXG4gICAgPGlucHV0IHR5cGU9XCJlbWFpbFwiIGlkPVwiaW5wdXQtZW1haWwtYWRkcmVzc1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiAvPlxyXG4gIDwvZGl2PlxyXG4gIDxhYnAtYnV0dG9uXHJcbiAgICBjbGFzcz1cImQtYmxvY2tcIlxyXG4gICAgYnV0dG9uQ2xhc3M9XCJtdC0yIG1iLTMgYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9ja1wiXHJcbiAgICBbbG9hZGluZ109XCJpblByb2dyZXNzXCJcclxuICAgIGJ1dHRvblR5cGU9XCJzdWJtaXRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIlxyXG4gID5cclxuICAgIHt7ICdBYnBBY2NvdW50OjpTdWJtaXQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgPC9hYnAtYnV0dG9uPlxyXG4gIDxhIHJvdXRlckxpbms9XCIvYWNjb3VudC9sb2dpblwiXHJcbiAgICA+PGkgY2xhc3M9XCJmYSBmYS1sb25nLWFycm93LWxlZnQgbWUtMVwiPjwvaT57eyAnQWJwQWNjb3VudDo6TG9naW4nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hXHJcbiAgPlxyXG48L2Zvcm0+XHJcblxyXG48bmctdGVtcGxhdGUgI2VtYWlsU2VudFRlbXBsYXRlPlxyXG4gIDxwPlxyXG4gICAge3sgJ0FicEFjY291bnQ6OlBhc3N3b3JkUmVzZXRNYWlsU2VudE1lc3NhZ2UnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgPC9wPlxyXG5cclxuICA8YSByb3V0ZXJMaW5rPVwiL2FjY291bnQvbG9naW5cIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJkLWJsb2NrIG10LTIgbWItMyBidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtbG9uZy1hcnJvdy1sZWZ0IG1lLTFcIj48L2k+XHJcbiAgICAgIHt7ICdBYnBBY2NvdW50OjpCYWNrVG9Mb2dpbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvYT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { AuthService, ConfigStateService } from '@abp/ng.core';
|
|
2
|
-
import { ToasterService } from '@abp/ng.theme.shared';
|
|
3
|
-
import { Component, Injector } 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 "@abp/ng.theme.shared";
|
|
11
|
-
import * as i3 from "@abp/ng.core";
|
|
12
|
-
import * as i4 from "@angular/common";
|
|
13
|
-
import * as i5 from "@angular/router";
|
|
14
|
-
import * as i6 from "@ngx-validate/core";
|
|
15
|
-
const { maxLength, required } = Validators;
|
|
16
|
-
export class LoginComponent {
|
|
17
|
-
constructor(injector, fb, toasterService, authService, configState) {
|
|
18
|
-
this.injector = injector;
|
|
19
|
-
this.fb = fb;
|
|
20
|
-
this.toasterService = toasterService;
|
|
21
|
-
this.authService = authService;
|
|
22
|
-
this.configState = configState;
|
|
23
|
-
this.isSelfRegistrationEnabled = true;
|
|
24
|
-
this.authWrapperKey = "Account.AuthWrapperComponent" /* eAccountComponents.AuthWrapper */;
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
this.init();
|
|
28
|
-
this.buildForm();
|
|
29
|
-
}
|
|
30
|
-
init() {
|
|
31
|
-
this.isSelfRegistrationEnabled =
|
|
32
|
-
(this.configState.getSetting('Abp.Account.IsSelfRegistrationEnabled') || '').toLowerCase() !== 'false';
|
|
33
|
-
}
|
|
34
|
-
buildForm() {
|
|
35
|
-
this.form = this.fb.group({
|
|
36
|
-
username: ['', [required, maxLength(255)]],
|
|
37
|
-
password: ['', [required, maxLength(128)]],
|
|
38
|
-
rememberMe: [false],
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
onSubmit() {
|
|
42
|
-
if (this.form.invalid)
|
|
43
|
-
return;
|
|
44
|
-
this.inProgress = true;
|
|
45
|
-
const { username, password, rememberMe } = this.form.value;
|
|
46
|
-
const redirectUrl = getRedirectUrl(this.injector);
|
|
47
|
-
this.authService
|
|
48
|
-
.login({ username, password, rememberMe, redirectUrl })
|
|
49
|
-
.pipe(catchError(err => {
|
|
50
|
-
this.toasterService.error(err.error?.error_description ||
|
|
51
|
-
err.error?.error.message ||
|
|
52
|
-
'AbpAccount::DefaultErrorMessage', '', { life: 7000 });
|
|
53
|
-
return throwError(err);
|
|
54
|
-
}), finalize(() => (this.inProgress = false)))
|
|
55
|
-
.subscribe();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
LoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoginComponent, deps: [{ token: i0.Injector }, { token: i1.UntypedFormBuilder }, { token: i2.ToasterService }, { token: i3.AuthService }, { token: i3.ConfigStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
-
LoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LoginComponent, selector: "abp-login", ngImport: i0, template: "<h4>{{ 'AbpAccount::Login' | abpLocalization }}</h4>\r\n<strong *ngIf=\"isSelfRegistrationEnabled\">\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<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\">{{ 'AbpAccount::Password' | abpLocalization }}</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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "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: 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: i3.LocalizationPipe, name: "abpLocalization" }] });
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoginComponent, decorators: [{
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{ selector: 'abp-login', template: "<h4>{{ 'AbpAccount::Login' | abpLocalization }}</h4>\r\n<strong *ngIf=\"isSelfRegistrationEnabled\">\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<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\">{{ 'AbpAccount::Password' | abpLocalization }}</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" }]
|
|
63
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.UntypedFormBuilder }, { type: i2.ToasterService }, { type: i3.AuthService }, { type: i3.ConfigStateService }]; } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFvQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQUV4RCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVUsQ0FBQztBQU0zQyxNQUFNLE9BQU8sY0FBYztJQVN6QixZQUNZLFFBQWtCLEVBQ2xCLEVBQXNCLEVBQ3RCLGNBQThCLEVBQzlCLFdBQXdCLEVBQ3hCLFdBQStCO1FBSi9CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQVQzQyw4QkFBeUIsR0FBRyxJQUFJLENBQUM7UUFFakMsbUJBQWMsdUVBQWtDO0lBUTdDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFUyxJQUFJO1FBQ1osSUFBSSxDQUFDLHlCQUF5QjtZQUM1QixDQUNHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLHVDQUF1QyxDQUFZLElBQUksRUFBRSxDQUN2RixDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQztJQUNoQyxDQUFDO0lBRVMsU0FBUztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBRXZCLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRTNELE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDLFdBQVc7YUFDYixLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQzthQUN0RCxJQUFJLENBQ0gsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQ3ZCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCO2dCQUMxQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN4QixpQ0FBaUMsRUFDbkMsRUFBRSxFQUNGLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUNmLENBQUM7WUFDRixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQzFDO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7MkdBOURVLGNBQWM7K0ZBQWQsY0FBYyxpRENmM0Isb29FQThEQTsyRkQvQ2EsY0FBYztrQkFKMUIsU0FBUzsrQkFDRSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFNlcnZpY2UsIENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBlQWNjb3VudENvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgZ2V0UmVkaXJlY3RVcmwgfSBmcm9tICcuLi8uLi91dGlscy9hdXRoLXV0aWxzJztcclxuXHJcbmNvbnN0IHsgbWF4TGVuZ3RoLCByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLWxvZ2luJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW4uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICBpblByb2dyZXNzPzogYm9vbGVhbjtcclxuXHJcbiAgaXNTZWxmUmVnaXN0cmF0aW9uRW5hYmxlZCA9IHRydWU7XHJcblxyXG4gIGF1dGhXcmFwcGVyS2V5ID0gZUFjY291bnRDb21wb25lbnRzLkF1dGhXcmFwcGVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcm90ZWN0ZWQgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICAgIHByb3RlY3RlZCB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNvbmZpZ1N0YXRlOiBDb25maWdTdGF0ZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBpbml0KCkge1xyXG4gICAgdGhpcy5pc1NlbGZSZWdpc3RyYXRpb25FbmFibGVkID1cclxuICAgICAgKFxyXG4gICAgICAgICh0aGlzLmNvbmZpZ1N0YXRlLmdldFNldHRpbmcoJ0FicC5BY2NvdW50LklzU2VsZlJlZ2lzdHJhdGlvbkVuYWJsZWQnKSBhcyBzdHJpbmcpIHx8ICcnXHJcbiAgICAgICkudG9Mb3dlckNhc2UoKSAhPT0gJ2ZhbHNlJztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBidWlsZEZvcm0oKSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgdXNlcm5hbWU6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU1KV1dLFxyXG4gICAgICBwYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgxMjgpXV0sXHJcbiAgICAgIHJlbWVtYmVyTWU6IFtmYWxzZV0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5pblByb2dyZXNzID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB7IHVzZXJuYW1lLCBwYXNzd29yZCwgcmVtZW1iZXJNZSB9ID0gdGhpcy5mb3JtLnZhbHVlO1xyXG5cclxuICAgIGNvbnN0IHJlZGlyZWN0VXJsID0gZ2V0UmVkaXJlY3RVcmwodGhpcy5pbmplY3Rvcik7XHJcblxyXG4gICAgdGhpcy5hdXRoU2VydmljZVxyXG4gICAgICAubG9naW4oeyB1c2VybmFtZSwgcGFzc3dvcmQsIHJlbWVtYmVyTWUsIHJlZGlyZWN0VXJsIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXHJcbiAgICAgICAgICAgIGVyci5lcnJvcj8uZXJyb3JfZGVzY3JpcHRpb24gfHxcclxuICAgICAgICAgICAgICBlcnIuZXJyb3I/LmVycm9yLm1lc3NhZ2UgfHxcclxuICAgICAgICAgICAgICAnQWJwQWNjb3VudDo6RGVmYXVsdEVycm9yTWVzc2FnZScsXHJcbiAgICAgICAgICAgICcnLFxyXG4gICAgICAgICAgICB7IGxpZmU6IDcwMDAgfSxcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmluUHJvZ3Jlc3MgPSBmYWxzZSkpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGg0Pnt7ICdBYnBBY2NvdW50OjpMb2dpbicgfCBhYnBMb2NhbGl6YXRpb24gfX08L2g0PlxyXG48c3Ryb25nICpuZ0lmPVwiaXNTZWxmUmVnaXN0cmF0aW9uRW5hYmxlZFwiPlxyXG4gIHt7ICdBYnBBY2NvdW50OjpBcmVZb3VBTmV3VXNlcicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICA8YSBjbGFzcz1cInRleHQtZGVjb3JhdGlvbi1ub25lXCIgcm91dGVyTGluaz1cIi9hY2NvdW50L3JlZ2lzdGVyXCIgcXVlcnlQYXJhbXNIYW5kbGluZz1cInByZXNlcnZlXCI+e3tcclxuICAgICdBYnBBY2NvdW50OjpSZWdpc3RlcicgfCBhYnBMb2NhbGl6YXRpb25cclxuICB9fTwvYT5cclxuPC9zdHJvbmc+XHJcbjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCIgdmFsaWRhdGVPblN1Ym1pdCBjbGFzcz1cIm10LTRcIj5cclxuICA8ZGl2IGNsYXNzPVwibWItMyBmb3JtLWdyb3VwXCI+XHJcbiAgICA8bGFiZWwgZm9yPVwibG9naW4taW5wdXQtdXNlci1uYW1lLW9yLWVtYWlsLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57e1xyXG4gICAgICAnQWJwQWNjb3VudDo6VXNlck5hbWVPckVtYWlsQWRkcmVzcycgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgIH19PC9sYWJlbD5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgaWQ9XCJsb2dpbi1pbnB1dC11c2VyLW5hbWUtb3ItZW1haWwtYWRkcmVzc1wiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCJcclxuICAgICAgYXV0b2NvbXBsZXRlPVwidXNlcm5hbWVcIlxyXG4gICAgICBhdXRvZm9jdXNcclxuICAgIC8+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgPGxhYmVsIGZvcj1cImxvZ2luLWlucHV0LXBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgJ0FicEFjY291bnQ6OlBhc3N3b3JkJyB8IGFicExvY2FsaXphdGlvbiB9fTwvbGFiZWw+XHJcbiAgICA8aW5wdXRcclxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICB0eXBlPVwicGFzc3dvcmRcIlxyXG4gICAgICBpZD1cImxvZ2luLWlucHV0LXBhc3N3b3JkXCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIlxyXG4gICAgICBhdXRvY29tcGxldGU9XCJjdXJyZW50LXBhc3N3b3JkXCJcclxuICAgIC8+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsIG1iLTJcIiBmb3I9XCJsb2dpbi1pbnB1dC1yZW1lbWJlci1tZVwiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgIGlkPVwibG9naW4taW5wdXQtcmVtZW1iZXItbWVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZW1lbWJlck1lXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgICB7eyAnQWJwQWNjb3VudDo6UmVtZW1iZXJNZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIGNvbFwiPlxyXG4gICAgICA8YSByb3V0ZXJMaW5rPVwiL2FjY291bnQvZm9yZ290LXBhc3N3b3JkXCI+e3tcclxuICAgICAgICAnQWJwQWNjb3VudDo6Rm9yZ290UGFzc3dvcmQnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgIH19PC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxhYnAtYnV0dG9uXHJcbiAgICBbbG9hZGluZ109XCJpblByb2dyZXNzXCJcclxuICAgIGJ1dHRvblR5cGU9XCJzdWJtaXRcIlxyXG4gICAgbmFtZT1cIkFjdGlvblwiXHJcbiAgICBidXR0b25DbGFzcz1cImJ0bi1ibG9jayBidG4tbGcgbXQtMyBidG4gYnRuLXByaW1hcnlcIlxyXG4gID5cclxuICAgIHt7ICdBYnBBY2NvdW50OjpMb2dpbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICA8L2FicC1idXR0b24+XHJcbjwvZm9ybT5cclxuIl19
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ProfileService } from '@abp/ng.account.core/proxy';
|
|
2
|
-
import { fadeIn } from '@abp/ng.theme.shared';
|
|
3
|
-
import { transition, trigger, useAnimation } from '@angular/animations';
|
|
4
|
-
import { Component } from '@angular/core';
|
|
5
|
-
import { ManageProfileStateService } from '../../services/manage-profile.state.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@abp/ng.account.core/proxy";
|
|
8
|
-
import * as i2 from "../../services/manage-profile.state.service";
|
|
9
|
-
import * as i3 from "@angular/common";
|
|
10
|
-
import * as i4 from "@abp/ng.core";
|
|
11
|
-
import * as i5 from "@abp/ng.theme.shared";
|
|
12
|
-
import * as i6 from "../change-password/change-password.component";
|
|
13
|
-
import * as i7 from "../personal-settings/personal-settings.component";
|
|
14
|
-
export class ManageProfileComponent {
|
|
15
|
-
constructor(profileService, manageProfileState) {
|
|
16
|
-
this.profileService = profileService;
|
|
17
|
-
this.manageProfileState = manageProfileState;
|
|
18
|
-
this.selectedTab = 0;
|
|
19
|
-
this.changePasswordKey = "Account.ChangePasswordComponent" /* eAccountComponents.ChangePassword */;
|
|
20
|
-
this.personalSettingsKey = "Account.PersonalSettingsComponent" /* eAccountComponents.PersonalSettings */;
|
|
21
|
-
this.profile$ = this.manageProfileState.getProfile$();
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
this.profileService.get().subscribe(profile => {
|
|
25
|
-
this.manageProfileState.setProfile(profile);
|
|
26
|
-
if (profile.isExternal) {
|
|
27
|
-
this.hideChangePasswordTab = true;
|
|
28
|
-
this.selectedTab = 1;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
ManageProfileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ManageProfileComponent, deps: [{ token: i1.ProfileService }, { token: i2.ManageProfileStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
ManageProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ManageProfileComponent, selector: "abp-manage-profile", ngImport: i0, template: "<div id=\"AbpContentToolbar\"></div>\r\n\r\n<div class=\"card border-0 shadow-sm min-h-400\" [abpLoading]=\"!(profile$ | async)?.userName\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-3\">\r\n <ul class=\"nav flex-column nav-pills\" id=\"nav-tab\" role=\"tablist\">\r\n <li\r\n *ngIf=\"!hideChangePasswordTab && (profile$ | async)\"\r\n class=\"nav-item\"\r\n (click)=\"selectedTab = 0\"\r\n >\r\n <a\r\n class=\"nav-link\"\r\n [ngClass]=\"{ active: selectedTab === 0 }\"\r\n role=\"tab\"\r\n href=\"javascript:void(0)\"\r\n >{{ 'AbpUi::ChangePassword' | abpLocalization }}</a\r\n >\r\n </li>\r\n <li class=\"nav-item mb-2\" (click)=\"selectedTab = 1\">\r\n <a\r\n class=\"nav-link\"\r\n [ngClass]=\"{ active: selectedTab === 1 }\"\r\n role=\"tab\"\r\n href=\"javascript:void(0)\"\r\n >{{ 'AbpAccount::PersonalSettings' | abpLocalization }}</a\r\n >\r\n </li>\r\n </ul>\r\n </div>\r\n <div *ngIf=\"profile$ | async\" class=\"col-12 col-md-9\">\r\n <div class=\"tab-content\" *ngIf=\"selectedTab === 0\" [@fadeIn]>\r\n <div class=\"tab-pane active\" role=\"tabpanel\">\r\n <h4>\r\n {{ 'AbpIdentity::ChangePassword' | abpLocalization }}\r\n <hr />\r\n </h4>\r\n <abp-change-password-form\r\n *abpReplaceableTemplate=\"{\r\n componentKey: changePasswordKey\r\n }\"\r\n ></abp-change-password-form>\r\n </div>\r\n </div>\r\n <div class=\"tab-content\" *ngIf=\"selectedTab === 1\" [@fadeIn]>\r\n <div class=\"tab-pane active\" role=\"tabpanel\">\r\n <h4>\r\n {{ 'AbpIdentity::PersonalSettings' | abpLocalization }}\r\n <hr />\r\n </h4>\r\n <abp-personal-settings-form\r\n *abpReplaceableTemplate=\"{\r\n componentKey: personalSettingsKey\r\n }\"\r\n ></abp-personal-settings-form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".min-h-400{min-height:400px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "directive", type: i5.LoadingDirective, selector: "[abpLoading]", inputs: ["abpLoading", "abpLoadingTargetElement", "abpLoadingDelay"] }, { kind: "component", type: i6.ChangePasswordComponent, selector: "abp-change-password-form", exportAs: ["abpChangePasswordForm"] }, { kind: "component", type: i7.PersonalSettingsComponent, selector: "abp-personal-settings-form", exportAs: ["abpPersonalSettingsForm"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }], animations: [trigger('fadeIn', [transition(':enter', useAnimation(fadeIn))])] });
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ManageProfileComponent, decorators: [{
|
|
36
|
-
type: Component,
|
|
37
|
-
args: [{ selector: 'abp-manage-profile', animations: [trigger('fadeIn', [transition(':enter', useAnimation(fadeIn))])], template: "<div id=\"AbpContentToolbar\"></div>\r\n\r\n<div class=\"card border-0 shadow-sm min-h-400\" [abpLoading]=\"!(profile$ | async)?.userName\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-3\">\r\n <ul class=\"nav flex-column nav-pills\" id=\"nav-tab\" role=\"tablist\">\r\n <li\r\n *ngIf=\"!hideChangePasswordTab && (profile$ | async)\"\r\n class=\"nav-item\"\r\n (click)=\"selectedTab = 0\"\r\n >\r\n <a\r\n class=\"nav-link\"\r\n [ngClass]=\"{ active: selectedTab === 0 }\"\r\n role=\"tab\"\r\n href=\"javascript:void(0)\"\r\n >{{ 'AbpUi::ChangePassword' | abpLocalization }}</a\r\n >\r\n </li>\r\n <li class=\"nav-item mb-2\" (click)=\"selectedTab = 1\">\r\n <a\r\n class=\"nav-link\"\r\n [ngClass]=\"{ active: selectedTab === 1 }\"\r\n role=\"tab\"\r\n href=\"javascript:void(0)\"\r\n >{{ 'AbpAccount::PersonalSettings' | abpLocalization }}</a\r\n >\r\n </li>\r\n </ul>\r\n </div>\r\n <div *ngIf=\"profile$ | async\" class=\"col-12 col-md-9\">\r\n <div class=\"tab-content\" *ngIf=\"selectedTab === 0\" [@fadeIn]>\r\n <div class=\"tab-pane active\" role=\"tabpanel\">\r\n <h4>\r\n {{ 'AbpIdentity::ChangePassword' | abpLocalization }}\r\n <hr />\r\n </h4>\r\n <abp-change-password-form\r\n *abpReplaceableTemplate=\"{\r\n componentKey: changePasswordKey\r\n }\"\r\n ></abp-change-password-form>\r\n </div>\r\n </div>\r\n <div class=\"tab-content\" *ngIf=\"selectedTab === 1\" [@fadeIn]>\r\n <div class=\"tab-pane active\" role=\"tabpanel\">\r\n <h4>\r\n {{ 'AbpIdentity::PersonalSettings' | abpLocalization }}\r\n <hr />\r\n </h4>\r\n <abp-personal-settings-form\r\n *abpReplaceableTemplate=\"{\r\n componentKey: personalSettingsKey\r\n }\"\r\n ></abp-personal-settings-form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".min-h-400{min-height:400px}\n"] }]
|
|
38
|
-
}], ctorParameters: function () { return [{ type: i1.ProfileService }, { type: i2.ManageProfileStateService }]; } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLXByb2ZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvbWFuYWdlLXByb2ZpbGUvbWFuYWdlLXByb2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvbWFuYWdlLXByb2ZpbGUvbWFuYWdlLXByb2ZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7Ozs7QUFjeEYsTUFBTSxPQUFPLHNCQUFzQjtJQVdqQyxZQUNZLGNBQThCLEVBQzlCLGtCQUE2QztRQUQ3QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUEyQjtRQVp6RCxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUVoQixzQkFBaUIsNkVBQXFDO1FBRXRELHdCQUFtQixpRkFBdUM7UUFFMUQsYUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQU85QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUN0QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQzthQUN0QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7bUhBeEJVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBEQ25CbkMsZzBFQThEQSwrNkJEcERjLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOzJGQVNsRSxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBRWxCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmFjY291bnQuY29yZS9wcm94eSc7XHJcbmltcG9ydCB7IGZhZGVJbiB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgdHJhbnNpdGlvbiwgdHJpZ2dlciwgdXNlQW5pbWF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGVBY2NvdW50Q29tcG9uZW50cyB9IGZyb20gJy4uLy4uL2VudW1zL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBNYW5hZ2VQcm9maWxlU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFuYWdlLXByb2ZpbGUuc3RhdGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1tYW5hZ2UtcHJvZmlsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hbmFnZS1wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbdHJpZ2dlcignZmFkZUluJywgW3RyYW5zaXRpb24oJzplbnRlcicsIHVzZUFuaW1hdGlvbihmYWRlSW4pKV0pXSxcclxuICBzdHlsZXM6IFtcclxuICAgIGBcclxuICAgICAgLm1pbi1oLTQwMCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XHJcbiAgICAgIH1cclxuICAgIGAsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hbmFnZVByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHNlbGVjdGVkVGFiID0gMDtcclxuXHJcbiAgY2hhbmdlUGFzc3dvcmRLZXkgPSBlQWNjb3VudENvbXBvbmVudHMuQ2hhbmdlUGFzc3dvcmQ7XHJcblxyXG4gIHBlcnNvbmFsU2V0dGluZ3NLZXkgPSBlQWNjb3VudENvbXBvbmVudHMuUGVyc29uYWxTZXR0aW5ncztcclxuXHJcbiAgcHJvZmlsZSQgPSB0aGlzLm1hbmFnZVByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlJCgpO1xyXG5cclxuICBoaWRlQ2hhbmdlUGFzc3dvcmRUYWI/OiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBwcm9maWxlU2VydmljZTogUHJvZmlsZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgbWFuYWdlUHJvZmlsZVN0YXRlOiBNYW5hZ2VQcm9maWxlU3RhdGVTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlLmdldCgpLnN1YnNjcmliZShwcm9maWxlID0+IHtcclxuICAgICAgdGhpcy5tYW5hZ2VQcm9maWxlU3RhdGUuc2V0UHJvZmlsZShwcm9maWxlKTtcclxuICAgICAgaWYgKHByb2ZpbGUuaXNFeHRlcm5hbCkge1xyXG4gICAgICAgIHRoaXMuaGlkZUNoYW5nZVBhc3N3b3JkVGFiID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVGFiID0gMTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJBYnBDb250ZW50VG9vbGJhclwiPjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLTAgc2hhZG93LXNtIG1pbi1oLTQwMFwiIFthYnBMb2FkaW5nXT1cIiEocHJvZmlsZSQgfCBhc3luYyk/LnVzZXJOYW1lXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1tZC0zXCI+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwibmF2IGZsZXgtY29sdW1uIG5hdi1waWxsc1wiIGlkPVwibmF2LXRhYlwiIHJvbGU9XCJ0YWJsaXN0XCI+XHJcbiAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgKm5nSWY9XCIhaGlkZUNoYW5nZVBhc3N3b3JkVGFiICYmIChwcm9maWxlJCB8IGFzeW5jKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibmF2LWl0ZW1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRUYWIgPSAwXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogc2VsZWN0ZWRUYWIgPT09IDAgfVwiXHJcbiAgICAgICAgICAgICAgcm9sZT1cInRhYlwiXHJcbiAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXHJcbiAgICAgICAgICAgICAgPnt7ICdBYnBVaTo6Q2hhbmdlUGFzc3dvcmQnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBtYi0yXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFiID0gMVwiPlxyXG4gICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmtcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBzZWxlY3RlZFRhYiA9PT0gMSB9XCJcclxuICAgICAgICAgICAgICByb2xlPVwidGFiXCJcclxuICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcclxuICAgICAgICAgICAgICA+e3sgJ0FicEFjY291bnQ6OlBlcnNvbmFsU2V0dGluZ3MnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJwcm9maWxlJCB8IGFzeW5jXCIgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnRcIiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSAwXCIgW0BmYWRlSW5dPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYi1wYW5lIGFjdGl2ZVwiIHJvbGU9XCJ0YWJwYW5lbFwiPlxyXG4gICAgICAgICAgICA8aDQ+XHJcbiAgICAgICAgICAgICAge3sgJ0FicElkZW50aXR5OjpDaGFuZ2VQYXNzd29yZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8aHIgLz5cclxuICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgPGFicC1jaGFuZ2UtcGFzc3dvcmQtZm9ybVxyXG4gICAgICAgICAgICAgICphYnBSZXBsYWNlYWJsZVRlbXBsYXRlPVwie1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50S2V5OiBjaGFuZ2VQYXNzd29yZEtleVxyXG4gICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICA+PC9hYnAtY2hhbmdlLXBhc3N3b3JkLWZvcm0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnRcIiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSAxXCIgW0BmYWRlSW5dPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYi1wYW5lIGFjdGl2ZVwiIHJvbGU9XCJ0YWJwYW5lbFwiPlxyXG4gICAgICAgICAgICA8aDQ+XHJcbiAgICAgICAgICAgICAge3sgJ0FicElkZW50aXR5OjpQZXJzb25hbFNldHRpbmdzJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDxociAvPlxyXG4gICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICA8YWJwLXBlcnNvbmFsLXNldHRpbmdzLWZvcm1cclxuICAgICAgICAgICAgICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIntcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudEtleTogcGVyc29uYWxTZXR0aW5nc0tleVxyXG4gICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICA+PC9hYnAtcGVyc29uYWwtc2V0dGluZ3MtZm9ybT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { ProfileService } from '@abp/ng.account.core/proxy';
|
|
2
|
-
import { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
|
|
3
|
-
import { Component, Inject, Injector } from '@angular/core';
|
|
4
|
-
import { UntypedFormBuilder } from '@angular/forms';
|
|
5
|
-
import { finalize, filter } from 'rxjs/operators';
|
|
6
|
-
import { ManageProfileStateService } from '../../services/manage-profile.state.service';
|
|
7
|
-
import { AuthService } from '@abp/ng.core';
|
|
8
|
-
import { RE_LOGIN_CONFIRMATION_TOKEN } from '../../tokens';
|
|
9
|
-
import { EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, } from '@abp/ng.theme.shared/extensions';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/forms";
|
|
12
|
-
import * as i2 from "@abp/ng.theme.shared";
|
|
13
|
-
import * as i3 from "@abp/ng.account.core/proxy";
|
|
14
|
-
import * as i4 from "../../services/manage-profile.state.service";
|
|
15
|
-
import * as i5 from "@abp/ng.core";
|
|
16
|
-
import * as i6 from "@angular/common";
|
|
17
|
-
import * as i7 from "@ngx-validate/core";
|
|
18
|
-
import * as i8 from "@abp/ng.theme.shared/extensions";
|
|
19
|
-
export class PersonalSettingsComponent {
|
|
20
|
-
constructor(fb, toasterService, profileService, manageProfileState, authService, confirmationService, isPersonalSettingsChangedConfirmationActive, injector) {
|
|
21
|
-
this.fb = fb;
|
|
22
|
-
this.toasterService = toasterService;
|
|
23
|
-
this.profileService = profileService;
|
|
24
|
-
this.manageProfileState = manageProfileState;
|
|
25
|
-
this.authService = authService;
|
|
26
|
-
this.confirmationService = confirmationService;
|
|
27
|
-
this.isPersonalSettingsChangedConfirmationActive = isPersonalSettingsChangedConfirmationActive;
|
|
28
|
-
this.injector = injector;
|
|
29
|
-
this.logoutConfirmation = () => {
|
|
30
|
-
this.authService.logout().subscribe();
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
buildForm() {
|
|
34
|
-
this.selected = this.manageProfileState.getProfile();
|
|
35
|
-
if (!this.selected) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
const data = new FormPropData(this.injector, this.selected);
|
|
39
|
-
this.form = generateFormFromProps(data);
|
|
40
|
-
}
|
|
41
|
-
ngOnInit() {
|
|
42
|
-
this.buildForm();
|
|
43
|
-
}
|
|
44
|
-
submit() {
|
|
45
|
-
if (this.form.invalid)
|
|
46
|
-
return;
|
|
47
|
-
const isLogOutConfirmMessageVisible = this.isLogoutConfirmMessageActive();
|
|
48
|
-
this.inProgress = true;
|
|
49
|
-
this.profileService
|
|
50
|
-
.update(this.form.value)
|
|
51
|
-
.pipe(finalize(() => (this.inProgress = false)))
|
|
52
|
-
.subscribe(profile => {
|
|
53
|
-
this.manageProfileState.setProfile(profile);
|
|
54
|
-
this.toasterService.success('AbpAccount::PersonalSettingsSaved', 'Success', { life: 5000 });
|
|
55
|
-
if (isLogOutConfirmMessageVisible) {
|
|
56
|
-
this.showLogoutConfirmMessage();
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
isLogoutConfirmMessageActive() {
|
|
61
|
-
return this.isPersonalSettingsChangedConfirmationActive;
|
|
62
|
-
}
|
|
63
|
-
showLogoutConfirmMessage() {
|
|
64
|
-
this.confirmationService
|
|
65
|
-
.info('AbpAccount::PersonalSettingsChangedConfirmationModalDescription', 'AbpAccount::PersonalSettingsChangedConfirmationModalTitle')
|
|
66
|
-
.pipe(filter(status => status === Confirmation.Status.confirm))
|
|
67
|
-
.subscribe(this.logoutConfirmation);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
PersonalSettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PersonalSettingsComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.ToasterService }, { token: i3.ProfileService }, { token: i4.ManageProfileStateService }, { token: i5.AuthService }, { token: i2.ConfirmationService }, { token: RE_LOGIN_CONFIRMATION_TOKEN }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
-
PersonalSettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PersonalSettingsComponent, selector: "abp-personal-settings-form", providers: [
|
|
72
|
-
{
|
|
73
|
-
provide: EXTENSIONS_IDENTIFIER,
|
|
74
|
-
useValue: "Account.PersonalSettingsComponent" /* eAccountComponents.PersonalSettings */,
|
|
75
|
-
},
|
|
76
|
-
], exportAs: ["abpPersonalSettingsForm"], ngImport: i0, template: "<form [formGroup]=\"form\" *ngIf=\"form\" (ngSubmit)=\"submit()\" validateOnSubmit>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n\r\n <abp-button\r\n buttonType=\"submit\"\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary color-white\"\r\n [loading]=\"inProgress\"\r\n >\r\n {{ 'AbpIdentity::Save' | abpLocalization }}</abp-button\r\n >\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: i5.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { 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: "component", type: i8.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] });
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PersonalSettingsComponent, decorators: [{
|
|
78
|
-
type: Component,
|
|
79
|
-
args: [{ selector: 'abp-personal-settings-form', exportAs: 'abpPersonalSettingsForm', providers: [
|
|
80
|
-
{
|
|
81
|
-
provide: EXTENSIONS_IDENTIFIER,
|
|
82
|
-
useValue: "Account.PersonalSettingsComponent" /* eAccountComponents.PersonalSettings */,
|
|
83
|
-
},
|
|
84
|
-
], template: "<form [formGroup]=\"form\" *ngIf=\"form\" (ngSubmit)=\"submit()\" validateOnSubmit>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n\r\n <abp-button\r\n buttonType=\"submit\"\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary color-white\"\r\n [loading]=\"inProgress\"\r\n >\r\n {{ 'AbpIdentity::Save' | abpLocalization }}</abp-button\r\n >\r\n</form>\r\n" }]
|
|
85
|
-
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.ToasterService }, { type: i3.ProfileService }, { type: i4.ManageProfileStateService }, { type: i5.AuthService }, { type: i2.ConfirmationService }, { type: undefined, decorators: [{
|
|
86
|
-
type: Inject,
|
|
87
|
-
args: [RE_LOGIN_CONFIRMATION_TOKEN]
|
|
88
|
-
}] }, { type: i0.Injector }]; } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixxQkFBcUIsR0FDdEIsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7OztBQWN6QyxNQUFNLE9BQU8seUJBQXlCO0lBWXBDLFlBQ1UsRUFBc0IsRUFDdEIsY0FBOEIsRUFDOUIsY0FBOEIsRUFDOUIsa0JBQTZDLEVBQ3BDLFdBQXdCLEVBQ2pDLG1CQUF3QyxF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c0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZUR0bywgUHJvZmlsZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmFjY291bnQuY29yZS9wcm94eSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3VudCc7XHJcbmltcG9ydCB7IE1hbmFnZVByb2ZpbGVTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYW5hZ2UtcHJvZmlsZS5zdGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBSRV9MT0dJTl9DT05GSVJNQVRJT05fVE9LRU4gfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQge1xyXG4gIEVYVEVOU0lPTlNfSURFTlRJRklFUixcclxuICBGb3JtUHJvcERhdGEsXHJcbiAgZ2VuZXJhdGVGb3JtRnJvbVByb3BzLFxyXG59IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQgeyBlQWNjb3VudENvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1wZXJzb25hbC1zZXR0aW5ncy1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGV4cG9ydEFzOiAnYWJwUGVyc29uYWxTZXR0aW5nc0Zvcm0nLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgICAgIHVzZVZhbHVlOiBlQWNjb3VudENvbXBvbmVudHMuUGVyc29uYWxTZXR0aW5ncyxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcnNvbmFsU2V0dGluZ3NDb21wb25lbnRcclxuICBpbXBsZW1lbnRzXHJcbiAgICBPbkluaXQsXHJcbiAgICBBY2NvdW50LlBlcnNvbmFsU2V0dGluZ3NDb21wb25lbnRJbnB1dHMsXHJcbiAgICBBY2NvdW50LlBlcnNvbmFsU2V0dGluZ3NDb21wb25lbnRPdXRwdXRzXHJcbntcclxuICBzZWxlY3RlZD86IFByb2ZpbGVEdG87XHJcblxyXG4gIGZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICBpblByb2dyZXNzPzogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYW5hZ2VQcm9maWxlU3RhdGU6IE1hbmFnZVByb2ZpbGVTdGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIEBJbmplY3QoUkVfTE9HSU5fQ09ORklSTUFUSU9OX1RPS0VOKVxyXG4gICAgcHJpdmF0ZSBpc1BlcnNvbmFsU2V0dGluZ3NDaGFuZ2VkQ29uZmlybWF0aW9uQWN0aXZlOiBib29sZWFuLFxyXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcclxuICApIHt9XHJcblxyXG4gIGJ1aWxkRm9ybSgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLm1hbmFnZVByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlKCk7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGF0YSA9IG5ldyBGb3JtUHJvcERhdGEodGhpcy5pbmplY3RvciwgdGhpcy5zZWxlY3RlZCk7XHJcbiAgICB0aGlzLmZvcm0gPSBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcclxuICAgIGNvbnN0IGlzTG9nT3V0Q29uZmlybU1lc3NhZ2VWaXNpYmxlID0gdGhpcy5pc0xvZ291dENvbmZpcm1NZXNzYWdlQWN0aXZlKCk7XHJcbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgdGhpcy5wcm9maWxlU2VydmljZVxyXG4gICAgICAudXBkYXRlKHRoaXMuZm9ybS52YWx1ZSlcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUocHJvZmlsZSA9PiB7XHJcbiAgICAgICAgdGhpcy5tYW5hZ2VQcm9maWxlU3RhdGUuc2V0UHJvZmlsZShwcm9maWxlKTtcclxuICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ0FicEFjY291bnQ6OlBlcnNvbmFsU2V0dGluZ3NTYXZlZCcsICdTdWNjZXNzJywgeyBsaWZlOiA1MDAwIH0pO1xyXG4gICAgICAgIGlmIChpc0xvZ091dENvbmZpcm1NZXNzYWdlVmlzaWJsZSkge1xyXG4gICAgICAgICAgdGhpcy5zaG93TG9nb3V0Q29uZmlybU1lc3NhZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0Q29uZmlybWF0aW9uID0gKCkgPT4ge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKS5zdWJzY3JpYmUoKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGlzTG9nb3V0Q29uZmlybU1lc3NhZ2VBY3RpdmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1BlcnNvbmFsU2V0dGluZ3NDaGFuZ2VkQ29uZmlybWF0aW9uQWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93TG9nb3V0Q29uZmlybU1lc3NhZ2UoKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgLmluZm8oXHJcbiAgICAgICAgJ0FicEFjY291bnQ6OlBlcnNvbmFsU2V0dGluZ3NDaGFuZ2VkQ29uZmlybWF0aW9uTW9kYWxEZXNjcmlwdGlvbicsXHJcbiAgICAgICAgJ0FicEFjY291bnQ6OlBlcnNvbmFsU2V0dGluZ3NDaGFuZ2VkQ29uZmlybWF0aW9uTW9kYWxUaXRsZScsXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoZmlsdGVyKHN0YXR1cyA9PiBzdGF0dXMgPT09IENvbmZpcm1hdGlvbi5TdGF0dXMuY29uZmlybSkpXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5sb2dvdXRDb25maXJtYXRpb24pO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAgICpuZ0lmPVwiZm9ybVwiICAobmdTdWJtaXQpPVwic3VibWl0KClcIiB2YWxpZGF0ZU9uU3VibWl0PlxyXG4gIDxhYnAtZXh0ZW5zaWJsZS1mb3JtIFtzZWxlY3RlZFJlY29yZF09XCJzZWxlY3RlZFwiPjwvYWJwLWV4dGVuc2libGUtZm9ybT5cclxuXHJcbiAgPGFicC1idXR0b25cclxuICAgIGJ1dHRvblR5cGU9XCJzdWJtaXRcIlxyXG4gICAgaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIlxyXG4gICAgYnV0dG9uQ2xhc3M9XCJidG4gYnRuLXByaW1hcnkgY29sb3Itd2hpdGVcIlxyXG4gICAgW2xvYWRpbmddPVwiaW5Qcm9ncmVzc1wiXHJcbiAgPlxyXG4gICAge3sgJ0FicElkZW50aXR5OjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fTwvYWJwLWJ1dHRvblxyXG4gID5cclxuPC9mb3JtPlxyXG4iXX0=
|