@abp/ng.account 5.0.1 → 5.0.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.
Files changed (76) hide show
  1. package/README.md +3 -3
  2. package/abp-ng.account.d.ts +5 -5
  3. package/bundles/abp-ng.account-config.umd.js +78 -78
  4. package/bundles/abp-ng.account-config.umd.js.map +1 -1
  5. package/bundles/abp-ng.account.umd.js +893 -893
  6. package/bundles/abp-ng.account.umd.js.map +1 -1
  7. package/config/abp-ng.account-config.d.ts +5 -5
  8. package/config/account-config.module.d.ts +8 -8
  9. package/config/enums/index.d.ts +1 -1
  10. package/config/enums/route-names.d.ts +8 -8
  11. package/config/providers/index.d.ts +1 -1
  12. package/config/providers/route.provider.d.ts +8 -8
  13. package/config/public-api.d.ts +3 -3
  14. package/config/utils/factories.d.ts +2 -2
  15. package/esm2015/abp-ng.account.js +4 -4
  16. package/esm2015/config/abp-ng.account-config.js +4 -4
  17. package/esm2015/config/account-config.module.js +27 -27
  18. package/esm2015/config/enums/index.js +2 -2
  19. package/esm2015/config/enums/route-names.js +2 -2
  20. package/esm2015/config/providers/index.js +2 -2
  21. package/esm2015/config/providers/route.provider.js +50 -50
  22. package/esm2015/config/public-api.js +4 -4
  23. package/esm2015/config/utils/factories.js +11 -11
  24. package/esm2015/lib/account-routing.module.js +89 -89
  25. package/esm2015/lib/account.module.js +85 -85
  26. package/esm2015/lib/components/change-password/change-password.component.js +90 -90
  27. package/esm2015/lib/components/forgot-password/forgot-password.component.js +46 -46
  28. package/esm2015/lib/components/index.js +8 -8
  29. package/esm2015/lib/components/login/login.component.js +68 -68
  30. package/esm2015/lib/components/manage-profile/manage-profile.component.js +50 -50
  31. package/esm2015/lib/components/personal-settings/personal-settings.component.js +59 -59
  32. package/esm2015/lib/components/register/register.component.js +87 -87
  33. package/esm2015/lib/components/reset-password/reset-password.component.js +71 -71
  34. package/esm2015/lib/enums/components.js +2 -2
  35. package/esm2015/lib/enums/index.js +2 -2
  36. package/esm2015/lib/guards/authentication-flow.guard.js +21 -21
  37. package/esm2015/lib/guards/index.js +2 -2
  38. package/esm2015/lib/models/account.js +3 -3
  39. package/esm2015/lib/models/config-options.js +2 -2
  40. package/esm2015/lib/models/index.js +3 -3
  41. package/esm2015/lib/services/index.js +2 -2
  42. package/esm2015/lib/services/manage-profile.state.service.js +27 -27
  43. package/esm2015/lib/tokens/config-options.token.js +3 -3
  44. package/esm2015/lib/tokens/index.js +2 -2
  45. package/esm2015/lib/utils/auth-utils.js +8 -8
  46. package/esm2015/lib/utils/factory-utils.js +4 -4
  47. package/esm2015/public-api.js +8 -8
  48. package/fesm2015/abp-ng.account-config.js +75 -75
  49. package/fesm2015/abp-ng.account-config.js.map +1 -1
  50. package/fesm2015/abp-ng.account.js +545 -545
  51. package/fesm2015/abp-ng.account.js.map +1 -1
  52. package/lib/account-routing.module.d.ts +7 -7
  53. package/lib/account.module.d.ts +22 -22
  54. package/lib/components/change-password/change-password.component.d.ts +24 -24
  55. package/lib/components/forgot-password/forgot-password.component.d.ts +14 -14
  56. package/lib/components/index.d.ts +7 -7
  57. package/lib/components/login/login.component.d.ts +24 -24
  58. package/lib/components/manage-profile/manage-profile.component.d.ts +18 -18
  59. package/lib/components/personal-settings/personal-settings.component.d.ts +21 -21
  60. package/lib/components/register/register.component.d.ts +26 -26
  61. package/lib/components/reset-password/reset-password.component.d.ts +22 -22
  62. package/lib/enums/components.d.ts +11 -11
  63. package/lib/enums/index.d.ts +1 -1
  64. package/lib/guards/authentication-flow.guard.d.ts +10 -10
  65. package/lib/guards/index.d.ts +1 -1
  66. package/lib/models/account.d.ts +14 -14
  67. package/lib/models/config-options.d.ts +3 -3
  68. package/lib/models/index.d.ts +2 -2
  69. package/lib/services/index.d.ts +1 -1
  70. package/lib/services/manage-profile.state.service.d.ts +29 -29
  71. package/lib/tokens/config-options.token.d.ts +3 -3
  72. package/lib/tokens/index.d.ts +1 -1
  73. package/lib/utils/auth-utils.d.ts +2 -2
  74. package/lib/utils/factory-utils.d.ts +4 -4
  75. package/package.json +4 -4
  76. package/public-api.d.ts +7 -7
@@ -1,90 +1,90 @@
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 { FormBuilder, FormControl, Validators } from '@angular/forms';
5
- import { comparePasswords } from '@ngx-validate/core';
6
- import { finalize } from 'rxjs/operators';
7
- import { ManageProfileStateService } from '../../services/manage-profile.state.service';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/forms";
10
- import * as i2 from "@abp/ng.theme.shared";
11
- import * as i3 from "@abp/ng.account.core/proxy";
12
- import * as i4 from "../../services/manage-profile.state.service";
13
- import * as i5 from "@abp/ng.core";
14
- import * as i6 from "@ngx-validate/core";
15
- import * as i7 from "@angular/common";
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
- var _a;
33
- this.hideCurrentPassword = !((_a = this.manageProfileState.getProfile()) === null || _a === void 0 ? void 0 : _a.hasPassword);
34
- const passwordValidations = getPasswordValidators(this.injector);
35
- this.form = this.fb.group({
36
- password: ['', required],
37
- newPassword: [
38
- '',
39
- {
40
- validators: [required, ...passwordValidations],
41
- },
42
- ],
43
- repeatNewPassword: [
44
- '',
45
- {
46
- validators: [required, ...passwordValidations],
47
- },
48
- ],
49
- }, {
50
- validators: [comparePasswords(PASSWORD_FIELDS)],
51
- });
52
- if (this.hideCurrentPassword)
53
- this.form.removeControl('password');
54
- }
55
- onSubmit() {
56
- if (this.form.invalid)
57
- return;
58
- this.inProgress = true;
59
- this.profileService
60
- .changePassword(Object.assign(Object.assign({}, (!this.hideCurrentPassword && { currentPassword: this.form.get('password').value })), { newPassword: this.form.get('newPassword').value }))
61
- .pipe(finalize(() => (this.inProgress = false)))
62
- .subscribe({
63
- next: () => {
64
- this.form.reset();
65
- this.toasterService.success('AbpAccount::PasswordChangedMessage', '', {
66
- life: 5000,
67
- });
68
- if (this.hideCurrentPassword) {
69
- this.hideCurrentPassword = false;
70
- this.form.addControl('password', new FormControl('', [required]));
71
- }
72
- },
73
- error: err => {
74
- var _a, _b;
75
- this.toasterService.error(((_b = (_a = err.error) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.message) || 'AbpAccount::DefaultErrorMessage');
76
- },
77
- });
78
- }
79
- }
80
- ChangePasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChangePasswordComponent, deps: [{ token: i1.FormBuilder }, { token: i0.Injector }, { token: i2.ToasterService }, { token: i3.ProfileService }, { token: i4.ManageProfileStateService }], target: i0.ɵɵFactoryTarget.Component });
81
- ChangePasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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", components: [{ type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { type: i5.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }], pipes: { "abpLocalization": i5.LocalizationPipe } });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChangePasswordComponent, decorators: [{
83
- type: Component,
84
- args: [{
85
- selector: 'abp-change-password-form',
86
- templateUrl: './change-password.component.html',
87
- exportAs: 'abpChangePasswordForm',
88
- }]
89
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i0.Injector }, { type: i2.ToasterService }, { type: i3.ProfileService }, { type: i4.ManageProfileStateService }]; } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FjY291bnQvc3JjL2xpYi9jb21wb25lbnRzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYyxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7O0FBRXhGLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxVQUFVLENBQUM7QUFFaEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQU83RCxNQUFNLE9BQU8sdUJBQXVCO0lBZWxDLFlBQ1UsRUFBZSxFQUNmLFFBQWtCLEVBQ2xCLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLGtCQUE2QztRQUo3QyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBMkI7UUFYdkQsZ0JBQVcsR0FBMkIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3JFLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFBRSxPQUFPLE1BQU0sQ0FBQztZQUVyRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDcEYsQ0FBQyxDQUFDO0lBUUMsQ0FBQztJQUVKLFFBQVE7O1FBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsMENBQUUsV0FBVyxDQUFBLENBQUM7UUFFOUUsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FDdkI7WUFDRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDO1lBQ3hCLFdBQVcsRUFBRTtnQkFDWCxFQUFFO2dCQUNGO29CQUNFLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLG1CQUFtQixDQUFDO2lCQUMvQzthQUNGO1lBQ0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLEVBQUU7Z0JBQ0Y7b0JBQ0UsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsbUJBQW1CLENBQUM7aUJBQy9DO2FBQ0Y7U0FDRixFQUNEO1lBQ0UsVUFBVSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDaEQsQ0FDRixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsbUJBQW1CO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWM7YUFDaEIsY0FBYyxpQ0FDVixDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQ3RGLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLElBQy9DO2FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUMvQyxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLG9DQUFvQyxFQUFFLEVBQUUsRUFBRTtvQkFDcEUsSUFBSSxFQUFFLElBQUk7aUJBQ1gsQ0FBQyxDQUFDO2dCQUVILElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO29CQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO29CQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNuRTtZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUU7O2dCQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUEsTUFBQSxNQUFBLEdBQUcsQ0FBQyxLQUFLLDBDQUFFLEtBQUssMENBQUUsT0FBTyxLQUFJLGlDQUFpQyxDQUFDLENBQUM7WUFDNUYsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7O3FIQTdFVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixxR0NsQnBDLHNxREFrREE7NEZEaENhLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2ZpbGVTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5hY2NvdW50LmNvcmUvcHJveHknO1xyXG5pbXBvcnQgeyBnZXRQYXNzd29yZFZhbGlkYXRvcnMsIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGNvbXBhcmVQYXNzd29yZHMsIFZhbGlkYXRpb24gfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQWNjb3VudCB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50JztcclxuaW1wb3J0IHsgTWFuYWdlUHJvZmlsZVN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21hbmFnZS1wcm9maWxlLnN0YXRlLnNlcnZpY2UnO1xyXG5cclxuY29uc3QgeyByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcclxuXHJcbmNvbnN0IFBBU1NXT1JEX0ZJRUxEUyA9IFsnbmV3UGFzc3dvcmQnLCAncmVwZWF0TmV3UGFzc3dvcmQnXTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLWNoYW5nZS1wYXNzd29yZC1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcclxuICBleHBvcnRBczogJ2FicENoYW5nZVBhc3N3b3JkRm9ybScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBBY2NvdW50LkNoYW5nZVBhc3N3b3JkQ29tcG9uZW50SW5wdXRzLCBBY2NvdW50LkNoYW5nZVBhc3N3b3JkQ29tcG9uZW50T3V0cHV0c1xyXG57XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBpblByb2dyZXNzOiBib29sZWFuO1xyXG5cclxuICBoaWRlQ3VycmVudFBhc3N3b3JkOiBib29sZWFuO1xyXG5cclxuICBtYXBFcnJvcnNGbjogVmFsaWRhdGlvbi5NYXBFcnJvcnNGbiA9IChlcnJvcnMsIGdyb3VwRXJyb3JzLCBjb250cm9sKSA9PiB7XHJcbiAgICBpZiAoUEFTU1dPUkRfRklFTERTLmluZGV4T2YoU3RyaW5nKGNvbnRyb2wubmFtZSkpIDwgMCkgcmV0dXJuIGVycm9ycztcclxuXHJcbiAgICByZXR1cm4gZXJyb3JzLmNvbmNhdChncm91cEVycm9ycy5maWx0ZXIoKHsga2V5IH0pID0+IGtleSA9PT0gJ3Bhc3N3b3JkTWlzbWF0Y2gnKSk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWFuYWdlUHJvZmlsZVN0YXRlOiBNYW5hZ2VQcm9maWxlU3RhdGVTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZGVDdXJyZW50UGFzc3dvcmQgPSAhdGhpcy5tYW5hZ2VQcm9maWxlU3RhdGUuZ2V0UHJvZmlsZSgpPy5oYXNQYXNzd29yZDtcclxuXHJcbiAgICBjb25zdCBwYXNzd29yZFZhbGlkYXRpb25zID0gZ2V0UGFzc3dvcmRWYWxpZGF0b3JzKHRoaXMuaW5qZWN0b3IpO1xyXG5cclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoXHJcbiAgICAgIHtcclxuICAgICAgICBwYXNzd29yZDogWycnLCByZXF1aXJlZF0sXHJcbiAgICAgICAgbmV3UGFzc3dvcmQ6IFtcclxuICAgICAgICAgICcnLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiBbcmVxdWlyZWQsIC4uLnBhc3N3b3JkVmFsaWRhdGlvbnNdLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIHJlcGVhdE5ld1Bhc3N3b3JkOiBbXHJcbiAgICAgICAgICAnJyxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsaWRhdG9yczogW3JlcXVpcmVkLCAuLi5wYXNzd29yZFZhbGlkYXRpb25zXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHZhbGlkYXRvcnM6IFtjb21wYXJlUGFzc3dvcmRzKFBBU1NXT1JEX0ZJRUxEUyldLFxyXG4gICAgICB9LFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAodGhpcy5oaWRlQ3VycmVudFBhc3N3b3JkKSB0aGlzLmZvcm0ucmVtb3ZlQ29udHJvbCgncGFzc3dvcmQnKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XHJcbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgdGhpcy5wcm9maWxlU2VydmljZVxyXG4gICAgICAuY2hhbmdlUGFzc3dvcmQoe1xyXG4gICAgICAgIC4uLighdGhpcy5oaWRlQ3VycmVudFBhc3N3b3JkICYmIHsgY3VycmVudFBhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlIH0pLFxyXG4gICAgICAgIG5ld1Bhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCduZXdQYXNzd29yZCcpLnZhbHVlLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ0FicEFjY291bnQ6OlBhc3N3b3JkQ2hhbmdlZE1lc3NhZ2UnLCAnJywge1xyXG4gICAgICAgICAgICBsaWZlOiA1MDAwLFxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuaGlkZUN1cnJlbnRQYXNzd29yZCkge1xyXG4gICAgICAgICAgICB0aGlzLmhpZGVDdXJyZW50UGFzc3dvcmQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ3Bhc3N3b3JkJywgbmV3IEZvcm1Db250cm9sKCcnLCBbcmVxdWlyZWRdKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoZXJyLmVycm9yPy5lcnJvcj8ubWVzc2FnZSB8fCAnQWJwQWNjb3VudDo6RGVmYXVsdEVycm9yTWVzc2FnZScpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiIFttYXBFcnJvcnNGbl09XCJtYXBFcnJvcnNGblwiIHZhbGlkYXRlT25TdWJtaXQ+XHJcbiAgPGRpdiAqbmdJZj1cIiFoaWRlQ3VycmVudFBhc3N3b3JkXCIgY2xhc3M9XCJtYi0zIGZvcm0tZ3JvdXBcIj5cclxuICAgIDxsYWJlbCBmb3I9XCJjdXJyZW50LXBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcclxuICAgICAgJ0FicElkZW50aXR5OjpEaXNwbGF5TmFtZTpDdXJyZW50UGFzc3dvcmQnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICB9fTwvbGFiZWxcclxuICAgID48c3Bhbj4gKiA8L3NwYW5cclxuICAgID48aW5wdXRcclxuICAgICAgdHlwZT1cInBhc3N3b3JkXCJcclxuICAgICAgaWQ9XCJjdXJyZW50LXBhc3N3b3JkXCJcclxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXHJcbiAgICAgIGF1dG9mb2N1c1xyXG4gICAgICBhdXRvY29tcGxldGU9XCJjdXJyZW50LXBhc3N3b3JkXCJcclxuICAgIC8+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgPGxhYmVsIGZvcj1cIm5ldy1wYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7XHJcbiAgICAgICdBYnBJZGVudGl0eTo6RGlzcGxheU5hbWU6TmV3UGFzc3dvcmQnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICB9fTwvbGFiZWxcclxuICAgID48c3Bhbj4gKiA8L3NwYW5cclxuICAgID48aW5wdXRcclxuICAgICAgdHlwZT1cInBhc3N3b3JkXCJcclxuICAgICAgaWQ9XCJuZXctcGFzc3dvcmRcIlxyXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5ld1Bhc3N3b3JkXCJcclxuICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcclxuICAgIC8+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgPGxhYmVsIGZvcj1cImNvbmZpcm0tbmV3LXBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcclxuICAgICAgJ0FicElkZW50aXR5OjpEaXNwbGF5TmFtZTpOZXdQYXNzd29yZENvbmZpcm0nIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICB9fTwvbGFiZWxcclxuICAgID48c3Bhbj4gKiA8L3NwYW5cclxuICAgID48aW5wdXRcclxuICAgICAgdHlwZT1cInBhc3N3b3JkXCJcclxuICAgICAgaWQ9XCJjb25maXJtLW5ldy1wYXNzd29yZFwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmVwZWF0TmV3UGFzc3dvcmRcIlxyXG4gICAgICBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuICA8YWJwLWJ1dHRvblxyXG4gICAgaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIlxyXG4gICAgYnV0dG9uQ2xhc3M9XCJidG4gYnRuLXByaW1hcnkgY29sb3Itd2hpdGVcIlxyXG4gICAgYnV0dG9uVHlwZT1cInN1Ym1pdFwiXHJcbiAgICBbbG9hZGluZ109XCJpblByb2dyZXNzXCJcclxuICAgIFtkaXNhYmxlZF09XCJmb3JtPy5pbnZhbGlkXCJcclxuICAgID57eyAnQWJwSWRlbnRpdHk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hYnAtYnV0dG9uXHJcbiAgPlxyXG48L2Zvcm0+XHJcbiJdfQ==
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 { FormBuilder, FormControl, Validators } from '@angular/forms';
5
+ import { comparePasswords } from '@ngx-validate/core';
6
+ import { finalize } from 'rxjs/operators';
7
+ import { ManageProfileStateService } from '../../services/manage-profile.state.service';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/forms";
10
+ import * as i2 from "@abp/ng.theme.shared";
11
+ import * as i3 from "@abp/ng.account.core/proxy";
12
+ import * as i4 from "../../services/manage-profile.state.service";
13
+ import * as i5 from "@abp/ng.core";
14
+ import * as i6 from "@ngx-validate/core";
15
+ import * as i7 from "@angular/common";
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
+ var _a;
33
+ this.hideCurrentPassword = !((_a = this.manageProfileState.getProfile()) === null || _a === void 0 ? void 0 : _a.hasPassword);
34
+ const passwordValidations = getPasswordValidators(this.injector);
35
+ this.form = this.fb.group({
36
+ password: ['', required],
37
+ newPassword: [
38
+ '',
39
+ {
40
+ validators: [required, ...passwordValidations],
41
+ },
42
+ ],
43
+ repeatNewPassword: [
44
+ '',
45
+ {
46
+ validators: [required, ...passwordValidations],
47
+ },
48
+ ],
49
+ }, {
50
+ validators: [comparePasswords(PASSWORD_FIELDS)],
51
+ });
52
+ if (this.hideCurrentPassword)
53
+ this.form.removeControl('password');
54
+ }
55
+ onSubmit() {
56
+ if (this.form.invalid)
57
+ return;
58
+ this.inProgress = true;
59
+ this.profileService
60
+ .changePassword(Object.assign(Object.assign({}, (!this.hideCurrentPassword && { currentPassword: this.form.get('password').value })), { newPassword: this.form.get('newPassword').value }))
61
+ .pipe(finalize(() => (this.inProgress = false)))
62
+ .subscribe({
63
+ next: () => {
64
+ this.form.reset();
65
+ this.toasterService.success('AbpAccount::PasswordChangedMessage', '', {
66
+ life: 5000,
67
+ });
68
+ if (this.hideCurrentPassword) {
69
+ this.hideCurrentPassword = false;
70
+ this.form.addControl('password', new FormControl('', [required]));
71
+ }
72
+ },
73
+ error: err => {
74
+ var _a, _b;
75
+ this.toasterService.error(((_b = (_a = err.error) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.message) || 'AbpAccount::DefaultErrorMessage');
76
+ },
77
+ });
78
+ }
79
+ }
80
+ ChangePasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChangePasswordComponent, deps: [{ token: i1.FormBuilder }, { token: i0.Injector }, { token: i2.ToasterService }, { token: i3.ProfileService }, { token: i4.ManageProfileStateService }], target: i0.ɵɵFactoryTarget.Component });
81
+ ChangePasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ChangePasswordComponent, selector: "abp-change-password-form", exportAs: ["abpChangePasswordForm"], ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" [mapErrorsFn]=\"mapErrorsFn\" validateOnSubmit>\n <div *ngIf=\"!hideCurrentPassword\" class=\"mb-3 form-group\">\n <label for=\"current-password\" class=\"form-label\">{{\n 'AbpIdentity::DisplayName:CurrentPassword' | abpLocalization\n }}</label\n ><span> * </span\n ><input\n type=\"password\"\n id=\"current-password\"\n class=\"form-control\"\n formControlName=\"password\"\n autofocus\n autocomplete=\"current-password\"\n />\n </div>\n <div class=\"mb-3 form-group\">\n <label for=\"new-password\" class=\"form-label\">{{\n 'AbpIdentity::DisplayName:NewPassword' | abpLocalization\n }}</label\n ><span> * </span\n ><input\n type=\"password\"\n id=\"new-password\"\n class=\"form-control\"\n formControlName=\"newPassword\"\n autocomplete=\"new-password\"\n />\n </div>\n <div class=\"mb-3 form-group\">\n <label for=\"confirm-new-password\" class=\"form-label\">{{\n 'AbpIdentity::DisplayName:NewPasswordConfirm' | abpLocalization\n }}</label\n ><span> * </span\n ><input\n type=\"password\"\n id=\"confirm-new-password\"\n class=\"form-control\"\n formControlName=\"repeatNewPassword\"\n autocomplete=\"new-password\"\n />\n </div>\n <abp-button\n iconClass=\"fa fa-check\"\n buttonClass=\"btn btn-primary color-white\"\n buttonType=\"submit\"\n [loading]=\"inProgress\"\n [disabled]=\"form?.invalid\"\n >{{ 'AbpIdentity::Save' | abpLocalization }}</abp-button\n >\n</form>\n", components: [{ type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { type: i5.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }], pipes: { "abpLocalization": i5.LocalizationPipe } });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChangePasswordComponent, decorators: [{
83
+ type: Component,
84
+ args: [{
85
+ selector: 'abp-change-password-form',
86
+ templateUrl: './change-password.component.html',
87
+ exportAs: 'abpChangePasswordForm',
88
+ }]
89
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i0.Injector }, { type: i2.ToasterService }, { type: i3.ProfileService }, { type: i4.ManageProfileStateService }]; } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FjY291bnQvc3JjL2xpYi9jb21wb25lbnRzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYyxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7O0FBRXhGLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxVQUFVLENBQUM7QUFFaEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQU83RCxNQUFNLE9BQU8sdUJBQXVCO0lBZWxDLFlBQ1UsRUFBZSxFQUNmLFFBQWtCLEVBQ2xCLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLGtCQUE2QztRQUo3QyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNs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Q0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUEsTUFBQSxNQUFBLEdBQUcsQ0FBQyxLQUFLLDBDQUFFLEtBQUssMENBQUUsT0FBTyxLQUFJLGlDQUFpQyxDQUFDLENBQUM7WUFDNUYsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7O3FIQTdFVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixxR0NsQnBDLGtrREFrREE7NEZEaENhLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2ZpbGVTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5hY2NvdW50LmNvcmUvcHJveHknO1xuaW1wb3J0IHsgZ2V0UGFzc3dvcmRWYWxpZGF0b3JzLCBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21wYXJlUGFzc3dvcmRzLCBWYWxpZGF0aW9uIH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWNjb3VudCB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50JztcbmltcG9ydCB7IE1hbmFnZVByb2ZpbGVTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYW5hZ2UtcHJvZmlsZS5zdGF0ZS5zZXJ2aWNlJztcblxuY29uc3QgeyByZXF1aXJlZCB9ID0gVmFsaWRhdG9ycztcblxuY29uc3QgUEFTU1dPUkRfRklFTERTID0gWyduZXdQYXNzd29yZCcsICdyZXBlYXROZXdQYXNzd29yZCddO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtY2hhbmdlLXBhc3N3b3JkLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbiAgZXhwb3J0QXM6ICdhYnBDaGFuZ2VQYXNzd29yZEZvcm0nLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWNjb3VudC5DaGFuZ2VQYXNzd29yZENvbXBvbmVudElucHV0cywgQWNjb3VudC5DaGFuZ2VQYXNzd29yZENvbXBvbmVudE91dHB1dHNcbntcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgaGlkZUN1cnJlbnRQYXNzd29yZDogYm9vbGVhbjtcblxuICBtYXBFcnJvcnNGbjogVmFsaWRhdGlvbi5NYXBFcnJvcnNGbiA9IChlcnJvcnMsIGdyb3VwRXJyb3JzLCBjb250cm9sKSA9PiB7XG4gICAgaWYgKFBBU1NXT1JEX0ZJRUxEUy5pbmRleE9mKFN0cmluZyhjb250cm9sLm5hbWUpKSA8IDApIHJldHVybiBlcnJvcnM7XG5cbiAgICByZXR1cm4gZXJyb3JzLmNvbmNhdChncm91cEVycm9ycy5maWx0ZXIoKHsga2V5IH0pID0+IGtleSA9PT0gJ3Bhc3N3b3JkTWlzbWF0Y2gnKSk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcm9maWxlU2VydmljZTogUHJvZmlsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYW5hZ2VQcm9maWxlU3RhdGU6IE1hbmFnZVByb2ZpbGVTdGF0ZVNlcnZpY2UsXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVDdXJyZW50UGFzc3dvcmQgPSAhdGhpcy5tYW5hZ2VQcm9maWxlU3RhdGUuZ2V0UHJvZmlsZSgpPy5oYXNQYXNzd29yZDtcblxuICAgIGNvbnN0IHBhc3N3b3JkVmFsaWRhdGlvbnMgPSBnZXRQYXNzd29yZFZhbGlkYXRvcnModGhpcy5pbmplY3Rvcik7XG5cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKFxuICAgICAge1xuICAgICAgICBwYXNzd29yZDogWycnLCByZXF1aXJlZF0sXG4gICAgICAgIG5ld1Bhc3N3b3JkOiBbXG4gICAgICAgICAgJycsXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsaWRhdG9yczogW3JlcXVpcmVkLCAuLi5wYXNzd29yZFZhbGlkYXRpb25zXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICByZXBlYXROZXdQYXNzd29yZDogW1xuICAgICAgICAgICcnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6IFtyZXF1aXJlZCwgLi4ucGFzc3dvcmRWYWxpZGF0aW9uc10sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtjb21wYXJlUGFzc3dvcmRzKFBBU1NXT1JEX0ZJRUxEUyldLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuaGlkZUN1cnJlbnRQYXNzd29yZCkgdGhpcy5mb3JtLnJlbW92ZUNvbnRyb2woJ3Bhc3N3b3JkJyk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIHRoaXMucHJvZmlsZVNlcnZpY2VcbiAgICAgIC5jaGFuZ2VQYXNzd29yZCh7XG4gICAgICAgIC4uLighdGhpcy5oaWRlQ3VycmVudFBhc3N3b3JkICYmIHsgY3VycmVudFBhc3N3b3JkOiB0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpLnZhbHVlIH0pLFxuICAgICAgICBuZXdQYXNzd29yZDogdGhpcy5mb3JtLmdldCgnbmV3UGFzc3dvcmQnKS52YWx1ZSxcbiAgICAgIH0pXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKCdBYnBBY2NvdW50OjpQYXNzd29yZENoYW5nZWRNZXNzYWdlJywgJycsIHtcbiAgICAgICAgICAgIGxpZmU6IDUwMDAsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAodGhpcy5oaWRlQ3VycmVudFBhc3N3b3JkKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVDdXJyZW50UGFzc3dvcmQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdwYXNzd29yZCcsIG5ldyBGb3JtQ29udHJvbCgnJywgW3JlcXVpcmVkXSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihlcnIuZXJyb3I/LmVycm9yPy5tZXNzYWdlIHx8ICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIiBbbWFwRXJyb3JzRm5dPVwibWFwRXJyb3JzRm5cIiB2YWxpZGF0ZU9uU3VibWl0PlxuICA8ZGl2ICpuZ0lmPVwiIWhpZGVDdXJyZW50UGFzc3dvcmRcIiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBmb3I9XCJjdXJyZW50LXBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcbiAgICAgICdBYnBJZGVudGl0eTo6RGlzcGxheU5hbWU6Q3VycmVudFBhc3N3b3JkJyB8IGFicExvY2FsaXphdGlvblxuICAgIH19PC9sYWJlbFxuICAgID48c3Bhbj4gKiA8L3NwYW5cbiAgICA+PGlucHV0XG4gICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgaWQ9XCJjdXJyZW50LXBhc3N3b3JkXCJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcbiAgICAgIGF1dG9mb2N1c1xuICAgICAgYXV0b2NvbXBsZXRlPVwiY3VycmVudC1wYXNzd29yZFwiXG4gICAgLz5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtYi0zIGZvcm0tZ3JvdXBcIj5cbiAgICA8bGFiZWwgZm9yPVwibmV3LXBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcbiAgICAgICdBYnBJZGVudGl0eTo6RGlzcGxheU5hbWU6TmV3UGFzc3dvcmQnIHwgYWJwTG9jYWxpemF0aW9uXG4gICAgfX08L2xhYmVsXG4gICAgPjxzcGFuPiAqIDwvc3BhblxuICAgID48aW5wdXRcbiAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICBpZD1cIm5ldy1wYXNzd29yZFwiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJuZXdQYXNzd29yZFwiXG4gICAgICBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibWItMyBmb3JtLWdyb3VwXCI+XG4gICAgPGxhYmVsIGZvcj1cImNvbmZpcm0tbmV3LXBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcbiAgICAgICdBYnBJZGVudGl0eTo6RGlzcGxheU5hbWU6TmV3UGFzc3dvcmRDb25maXJtJyB8IGFicExvY2FsaXphdGlvblxuICAgIH19PC9sYWJlbFxuICAgID48c3Bhbj4gKiA8L3NwYW5cbiAgICA+PGlucHV0XG4gICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgaWQ9XCJjb25maXJtLW5ldy1wYXNzd29yZFwiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZXBlYXROZXdQYXNzd29yZFwiXG4gICAgICBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8YWJwLWJ1dHRvblxuICAgIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCJcbiAgICBidXR0b25DbGFzcz1cImJ0biBidG4tcHJpbWFyeSBjb2xvci13aGl0ZVwiXG4gICAgYnV0dG9uVHlwZT1cInN1Ym1pdFwiXG4gICAgW2xvYWRpbmddPVwiaW5Qcm9ncmVzc1wiXG4gICAgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIlxuICAgID57eyAnQWJwSWRlbnRpdHk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hYnAtYnV0dG9uXG4gID5cbjwvZm9ybT5cbiJdfQ==
@@ -1,46 +1,46 @@
1
- import { AccountService } from '@abp/ng.account.core/proxy';
2
- import { Component } from '@angular/core';
3
- import { FormBuilder, 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 "@abp/ng.theme.shared";
9
- import * as i4 from "@angular/common";
10
- import * as i5 from "@abp/ng.core";
11
- import * as i6 from "@ngx-validate/core";
12
- import * as i7 from "@angular/router";
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: "12.2.13", ngImport: i0, type: ForgotPasswordComponent, deps: [{ token: i1.FormBuilder }, { token: i2.AccountService }], target: i0.ɵɵFactoryTarget.Component });
38
- ForgotPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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", components: [{ type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { type: i7.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "abpLocalization": i5.LocalizationPipe } });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
40
- type: Component,
41
- args: [{
42
- selector: 'abp-forgot-password',
43
- templateUrl: 'forgot-password.component.html',
44
- }]
45
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.AccountService }]; } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FjY291bnQvc3JjL2xpYi9jb21wb25lbnRzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBTTFDLE1BQU0sT0FBTyx1QkFBdUI7SUFPbEMsWUFBb0IsRUFBZSxFQUFVLGNBQThCO1FBQXZELE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFGM0UsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFHbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUV2QixJQUFJLENBQUMsY0FBYzthQUNoQixxQkFBcUIsQ0FBQztZQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSztZQUNuQyxPQUFPLEVBQUUsU0FBUztTQUNuQixDQUFDO2FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUMvQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztxSEEzQlUsdUJBQXVCO3lHQUF2Qix1QkFBdUIsMkRDVHBDLDg2Q0EwQ0E7NEZEakNhLHVCQUF1QjtrQkFKbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsZ0NBQWdDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5hY2NvdW50LmNvcmUvcHJveHknO1xyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1mb3Jnb3QtcGFzc3dvcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcmdvdFBhc3N3b3JkQ29tcG9uZW50IHtcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XHJcblxyXG4gIGlzRW1haWxTZW50ID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSkge1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGVtYWlsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXV0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5pblByb2dyZXNzID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlXHJcbiAgICAgIC5zZW5kUGFzc3dvcmRSZXNldENvZGUoe1xyXG4gICAgICAgIGVtYWlsOiB0aGlzLmZvcm0uZ2V0KCdlbWFpbCcpLnZhbHVlLFxyXG4gICAgICAgIGFwcE5hbWU6ICdBbmd1bGFyJyxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNFbWFpbFNlbnQgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGg0Pnt7ICdBYnBBY2NvdW50OjpGb3Jnb3RQYXNzd29yZCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L2g0PlxyXG5cclxuPGZvcm1cclxuICAqbmdJZj1cIiFpc0VtYWlsU2VudDsgZWxzZSBlbWFpbFNlbnRUZW1wbGF0ZVwiXHJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcclxuICAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiXHJcbiAgdmFsaWRhdGVPblN1Ym1pdFxyXG4+XHJcbiAgPHA+e3sgJ0FicEFjY291bnQ6OlNlbmRQYXNzd29yZFJlc2V0TGlua19JbmZvcm1hdGlvbicgfCBhYnBMb2NhbGl6YXRpb24gfX08L3A+XHJcbiAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgPGxhYmVsIGZvcj1cImlucHV0LWVtYWlsLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57e1xyXG4gICAgICAnQWJwQWNjb3VudDo6RW1haWxBZGRyZXNzJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgfX08L2xhYmVsXHJcbiAgICA+PHNwYW4+ICogPC9zcGFuPlxyXG4gICAgPGlucHV0IHR5cGU9XCJlbWFpbFwiIGlkPVwiaW5wdXQtZW1haWwtYWRkcmVzc1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiAvPlxyXG4gIDwvZGl2PlxyXG4gIDxhYnAtYnV0dG9uXHJcbiAgICBjbGFzcz1cImQtYmxvY2tcIlxyXG4gICAgYnV0dG9uQ2xhc3M9XCJtdC0yIG1iLTMgYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9ja1wiXHJcbiAgICBbbG9hZGluZ109XCJpblByb2dyZXNzXCJcclxuICAgIGJ1dHRvblR5cGU9XCJzdWJtaXRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIlxyXG4gID5cclxuICAgIHt7ICdBYnBBY2NvdW50OjpTdWJtaXQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgPC9hYnAtYnV0dG9uPlxyXG4gIDxhIHJvdXRlckxpbms9XCIvYWNjb3VudC9sb2dpblwiXHJcbiAgICA+PGkgY2xhc3M9XCJmYSBmYS1sb25nLWFycm93LWxlZnQgbWUtMVwiPjwvaT57eyAnQWJwQWNjb3VudDo6TG9naW4nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hXHJcbiAgPlxyXG48L2Zvcm0+XHJcblxyXG48bmctdGVtcGxhdGUgI2VtYWlsU2VudFRlbXBsYXRlPlxyXG4gIDxwPlxyXG4gICAge3sgJ0FicEFjY291bnQ6OlBhc3N3b3JkUmVzZXRNYWlsU2VudE1lc3NhZ2UnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgPC9wPlxyXG5cclxuICA8YSByb3V0ZXJMaW5rPVwiL2FjY291bnQvbG9naW5cIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJkLWJsb2NrIG10LTIgbWItMyBidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtbG9uZy1hcnJvdy1sZWZ0IG1lLTFcIj48L2k+XHJcbiAgICAgIHt7ICdBYnBBY2NvdW50OjpCYWNrVG9Mb2dpbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvYT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
1
+ import { AccountService } from '@abp/ng.account.core/proxy';
2
+ import { Component } from '@angular/core';
3
+ import { FormBuilder, 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 "@abp/ng.theme.shared";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "@abp/ng.core";
11
+ import * as i6 from "@ngx-validate/core";
12
+ import * as i7 from "@angular/router";
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: "12.2.13", ngImport: i0, type: ForgotPasswordComponent, deps: [{ token: i1.FormBuilder }, { token: i2.AccountService }], target: i0.ɵɵFactoryTarget.Component });
38
+ ForgotPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ForgotPasswordComponent, selector: "abp-forgot-password", ngImport: i0, template: "<h4>{{ 'AbpAccount::ForgotPassword' | abpLocalization }}</h4>\n\n<form\n *ngIf=\"!isEmailSent; else emailSentTemplate\"\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit()\"\n validateOnSubmit\n>\n <p>{{ 'AbpAccount::SendPasswordResetLink_Information' | abpLocalization }}</p>\n <div class=\"mb-3 form-group\">\n <label for=\"input-email-address\" class=\"form-label\">{{\n 'AbpAccount::EmailAddress' | abpLocalization\n }}</label\n ><span> * </span>\n <input type=\"email\" id=\"input-email-address\" class=\"form-control\" formControlName=\"email\" />\n </div>\n <abp-button\n class=\"d-block\"\n buttonClass=\"mt-2 mb-3 btn btn-primary btn-block\"\n [loading]=\"inProgress\"\n buttonType=\"submit\"\n [disabled]=\"form?.invalid\"\n >\n {{ 'AbpAccount::Submit' | abpLocalization }}\n </abp-button>\n <a routerLink=\"/account/login\"\n ><i class=\"fa fa-long-arrow-left me-1\"></i>{{ 'AbpAccount::Login' | abpLocalization }}</a\n >\n</form>\n\n<ng-template #emailSentTemplate>\n <p>\n {{ 'AbpAccount::PasswordResetMailSentMessage' | abpLocalization }}\n </p>\n\n <a routerLink=\"/account/login\">\n <button class=\"d-block mt-2 mb-3 btn btn-primary btn-block\">\n <i class=\"fa fa-long-arrow-left me-1\"></i>\n {{ 'AbpAccount::BackToLogin' | abpLocalization }}\n </button>\n </a>\n</ng-template>\n", components: [{ type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { type: i7.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "abpLocalization": i5.LocalizationPipe } });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
40
+ type: Component,
41
+ args: [{
42
+ selector: 'abp-forgot-password',
43
+ templateUrl: 'forgot-password.component.html',
44
+ }]
45
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.AccountService }]; } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FjY291bnQvc3JjL2xpYi9jb21wb25lbnRzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBTTFDLE1BQU0sT0FBTyx1QkFBdUI7SUFPbEMsWUFBb0IsRUFBZSxFQUFVLGNBQThCO1FBQXZELE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFGM0UsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFHbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUV2QixJQUFJLENBQUMsY0FBYzthQUNoQixxQkFBcUIsQ0FBQztZQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSztZQUNuQyxPQUFPLEVBQUUsU0FBUztTQUNuQixDQUFDO2FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUMvQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztxSEEzQlUsdUJBQXVCO3lHQUF2Qix1QkFBdUIsMkRDVHBDLDAxQ0EwQ0E7NEZEakNhLHVCQUF1QjtrQkFKbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsZ0NBQWdDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5hY2NvdW50LmNvcmUvcHJveHknO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1mb3Jnb3QtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJ2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcmdvdFBhc3N3b3JkQ29tcG9uZW50IHtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgaXNFbWFpbFNlbnQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2UpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGVtYWlsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXV0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XG5cbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlXG4gICAgICAuc2VuZFBhc3N3b3JkUmVzZXRDb2RlKHtcbiAgICAgICAgZW1haWw6IHRoaXMuZm9ybS5nZXQoJ2VtYWlsJykudmFsdWUsXG4gICAgICAgIGFwcE5hbWU6ICdBbmd1bGFyJyxcbiAgICAgIH0pXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzRW1haWxTZW50ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8aDQ+e3sgJ0FicEFjY291bnQ6OkZvcmdvdFBhc3N3b3JkJyB8IGFicExvY2FsaXphdGlvbiB9fTwvaDQ+XG5cbjxmb3JtXG4gICpuZ0lmPVwiIWlzRW1haWxTZW50OyBlbHNlIGVtYWlsU2VudFRlbXBsYXRlXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIlxuICB2YWxpZGF0ZU9uU3VibWl0XG4+XG4gIDxwPnt7ICdBYnBBY2NvdW50OjpTZW5kUGFzc3dvcmRSZXNldExpbmtfSW5mb3JtYXRpb24nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9wPlxuICA8ZGl2IGNsYXNzPVwibWItMyBmb3JtLWdyb3VwXCI+XG4gICAgPGxhYmVsIGZvcj1cImlucHV0LWVtYWlsLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57e1xuICAgICAgJ0FicEFjY291bnQ6OkVtYWlsQWRkcmVzcycgfCBhYnBMb2NhbGl6YXRpb25cbiAgICB9fTwvbGFiZWxcbiAgICA+PHNwYW4+ICogPC9zcGFuPlxuICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBpZD1cImlucHV0LWVtYWlsLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgLz5cbiAgPC9kaXY+XG4gIDxhYnAtYnV0dG9uXG4gICAgY2xhc3M9XCJkLWJsb2NrXCJcbiAgICBidXR0b25DbGFzcz1cIm10LTIgbWItMyBidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrXCJcbiAgICBbbG9hZGluZ109XCJpblByb2dyZXNzXCJcbiAgICBidXR0b25UeXBlPVwic3VibWl0XCJcbiAgICBbZGlzYWJsZWRdPVwiZm9ybT8uaW52YWxpZFwiXG4gID5cbiAgICB7eyAnQWJwQWNjb3VudDo6U3VibWl0JyB8IGFicExvY2FsaXphdGlvbiB9fVxuICA8L2FicC1idXR0b24+XG4gIDxhIHJvdXRlckxpbms9XCIvYWNjb3VudC9sb2dpblwiXG4gICAgPjxpIGNsYXNzPVwiZmEgZmEtbG9uZy1hcnJvdy1sZWZ0IG1lLTFcIj48L2k+e3sgJ0FicEFjY291bnQ6OkxvZ2luJyB8IGFicExvY2FsaXphdGlvbiB9fTwvYVxuICA+XG48L2Zvcm0+XG5cbjxuZy10ZW1wbGF0ZSAjZW1haWxTZW50VGVtcGxhdGU+XG4gIDxwPlxuICAgIHt7ICdBYnBBY2NvdW50OjpQYXNzd29yZFJlc2V0TWFpbFNlbnRNZXNzYWdlJyB8IGFicExvY2FsaXphdGlvbiB9fVxuICA8L3A+XG5cbiAgPGEgcm91dGVyTGluaz1cIi9hY2NvdW50L2xvZ2luXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImQtYmxvY2sgbXQtMiBtYi0zIGJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2tcIj5cbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtbG9uZy1hcnJvdy1sZWZ0IG1lLTFcIj48L2k+XG4gICAgICB7eyAnQWJwQWNjb3VudDo6QmFja1RvTG9naW4nIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgPC9idXR0b24+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,8 +1,8 @@
1
- export * from './change-password/change-password.component';
2
- export * from './forgot-password/forgot-password.component';
3
- export * from './login/login.component';
4
- export * from './manage-profile/manage-profile.component';
5
- export * from './register/register.component';
6
- export * from './personal-settings/personal-settings.component';
7
- export * from './reset-password/reset-password.component';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hY2NvdW50L3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWFuYWdlLXByb2ZpbGUvbWFuYWdlLXByb2ZpbGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BlcnNvbmFsLXNldHRpbmdzL3BlcnNvbmFsLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVzZXQtcGFzc3dvcmQvcmVzZXQtcGFzc3dvcmQuY29tcG9uZW50JztcclxuIl19
1
+ export * from './change-password/change-password.component';
2
+ export * from './forgot-password/forgot-password.component';
3
+ export * from './login/login.component';
4
+ export * from './manage-profile/manage-profile.component';
5
+ export * from './register/register.component';
6
+ export * from './personal-settings/personal-settings.component';
7
+ export * from './reset-password/reset-password.component';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hY2NvdW50L3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbG9naW4vbG9naW4uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFuYWdlLXByb2ZpbGUvbWFuYWdlLXByb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVzZXQtcGFzc3dvcmQvcmVzZXQtcGFzc3dvcmQuY29tcG9uZW50JztcbiJdfQ==
@@ -1,68 +1,68 @@
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 { FormBuilder, 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" /* 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
- var _a, _b;
51
- this.toasterService.error(((_a = err.error) === null || _a === void 0 ? void 0 : _a.error_description) ||
52
- ((_b = err.error) === null || _b === void 0 ? void 0 : _b.error.message) ||
53
- 'AbpAccount::DefaultErrorMessage', null, { life: 7000 });
54
- return throwError(err);
55
- }), finalize(() => (this.inProgress = false)))
56
- .subscribe();
57
- }
58
- }
59
- LoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LoginComponent, deps: [{ token: i0.Injector }, { token: i1.FormBuilder }, { token: i2.ToasterService }, { token: i3.AuthService }, { token: i3.ConfigStateService }], target: i0.ɵɵFactoryTarget.Component });
60
- LoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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", components: [{ type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { type: i3.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }], pipes: { "abpLocalization": i3.LocalizationPipe } });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LoginComponent, decorators: [{
62
- type: Component,
63
- args: [{
64
- selector: 'abp-login',
65
- templateUrl: './login.component.html',
66
- }]
67
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.FormBuilder }, { type: i2.ToasterService }, { type: i3.AuthService }, { type: i3.ConfigStateService }]; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQUV4RCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVUsQ0FBQztBQU0zQyxNQUFNLE9BQU8sY0FBYztJQVN6QixZQUNZLFFBQWtCLEVBQ2xCLEVBQWUsRUFDZixjQUE4QixFQUM5QixXQUF3QixFQUN4QixXQUErQjtRQUovQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBVDNDLDhCQUF5QixHQUFHLElBQUksQ0FBQztRQUVqQyxtQkFBYyxvREFBa0M7SUFRN0MsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVTLElBQUk7UUFDWixJQUFJLENBQUMseUJBQXlCO1lBQzVCLENBQ0csSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsdUNBQXVDLENBQVksSUFBSSxFQUFFLENBQ3ZGLENBQUMsV0FBVyxFQUFFLEtBQUssT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFUyxTQUFTO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUM7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFFdkIsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFM0QsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVsRCxJQUFJLENBQUMsV0FBVzthQUNiLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQ3RELElBQUksQ0FDSCxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7O1lBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQ3ZCLENBQUEsTUFBQSxHQUFHLENBQUMsS0FBSywwQ0FBRSxpQkFBaUI7aUJBQzFCLE1BQUEsR0FBRyxDQUFDLEtBQUssMENBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQTtnQkFDeEIsaUNBQWlDLEVBQ25DLElBQUksRUFDSixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FDZixDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUMxQzthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7OzRHQTlEVSxjQUFjO2dHQUFkLGNBQWMsaURDZjNCLG9vRUE4REE7NEZEL0NhLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFNlcnZpY2UsIENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgZUFjY291bnRDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vZW51bXMvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IGdldFJlZGlyZWN0VXJsIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXV0aC11dGlscyc7XHJcblxyXG5jb25zdCB7IG1heExlbmd0aCwgcmVxdWlyZWQgfSA9IFZhbGlkYXRvcnM7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1sb2dpbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XHJcblxyXG4gIGlzU2VsZlJlZ2lzdHJhdGlvbkVuYWJsZWQgPSB0cnVlO1xyXG5cclxuICBhdXRoV3JhcHBlcktleSA9IGVBY2NvdW50Q29tcG9uZW50cy5BdXRoV3JhcHBlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJvdGVjdGVkIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByb3RlY3RlZCB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNvbmZpZ1N0YXRlOiBDb25maWdTdGF0ZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBpbml0KCkge1xyXG4gICAgdGhpcy5pc1NlbGZSZWdpc3RyYXRpb25FbmFibGVkID1cclxuICAgICAgKFxyXG4gICAgICAgICh0aGlzLmNvbmZpZ1N0YXRlLmdldFNldHRpbmcoJ0FicC5BY2NvdW50LklzU2VsZlJlZ2lzdHJhdGlvbkVuYWJsZWQnKSBhcyBzdHJpbmcpIHx8ICcnXHJcbiAgICAgICkudG9Mb3dlckNhc2UoKSAhPT0gJ2ZhbHNlJztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBidWlsZEZvcm0oKSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgdXNlcm5hbWU6IFsnJywgW3JlcXVpcmVkLCBtYXhMZW5ndGgoMjU1KV1dLFxyXG4gICAgICBwYXNzd29yZDogWycnLCBbcmVxdWlyZWQsIG1heExlbmd0aCgxMjgpXV0sXHJcbiAgICAgIHJlbWVtYmVyTWU6IFtmYWxzZV0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5pblByb2dyZXNzID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB7IHVzZXJuYW1lLCBwYXNzd29yZCwgcmVtZW1iZXJNZSB9ID0gdGhpcy5mb3JtLnZhbHVlO1xyXG5cclxuICAgIGNvbnN0IHJlZGlyZWN0VXJsID0gZ2V0UmVkaXJlY3RVcmwodGhpcy5pbmplY3Rvcik7XHJcblxyXG4gICAgdGhpcy5hdXRoU2VydmljZVxyXG4gICAgICAubG9naW4oeyB1c2VybmFtZSwgcGFzc3dvcmQsIHJlbWVtYmVyTWUsIHJlZGlyZWN0VXJsIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXHJcbiAgICAgICAgICAgIGVyci5lcnJvcj8uZXJyb3JfZGVzY3JpcHRpb24gfHxcclxuICAgICAgICAgICAgICBlcnIuZXJyb3I/LmVycm9yLm1lc3NhZ2UgfHxcclxuICAgICAgICAgICAgICAnQWJwQWNjb3VudDo6RGVmYXVsdEVycm9yTWVzc2FnZScsXHJcbiAgICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICAgIHsgbGlmZTogNzAwMCB9LFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aDQ+e3sgJ0FicEFjY291bnQ6OkxvZ2luJyB8IGFicExvY2FsaXphdGlvbiB9fTwvaDQ+XHJcbjxzdHJvbmcgKm5nSWY9XCJpc1NlbGZSZWdpc3RyYXRpb25FbmFibGVkXCI+XHJcbiAge3sgJ0FicEFjY291bnQ6OkFyZVlvdUFOZXdVc2VyJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gIDxhIGNsYXNzPVwidGV4dC1kZWNvcmF0aW9uLW5vbmVcIiByb3V0ZXJMaW5rPVwiL2FjY291bnQvcmVnaXN0ZXJcIiBxdWVyeVBhcmFtc0hhbmRsaW5nPVwicHJlc2VydmVcIj57e1xyXG4gICAgJ0FicEFjY291bnQ6OlJlZ2lzdGVyJyB8IGFicExvY2FsaXphdGlvblxyXG4gIH19PC9hPlxyXG48L3N0cm9uZz5cclxuPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIiB2YWxpZGF0ZU9uU3VibWl0IGNsYXNzPVwibXQtNFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJtYi0zIGZvcm0tZ3JvdXBcIj5cclxuICAgIDxsYWJlbCBmb3I9XCJsb2dpbi1pbnB1dC11c2VyLW5hbWUtb3ItZW1haWwtYWRkcmVzc1wiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7XHJcbiAgICAgICdBYnBBY2NvdW50OjpVc2VyTmFtZU9yRW1haWxBZGRyZXNzJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgfX08L2xhYmVsPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICBpZD1cImxvZ2luLWlucHV0LXVzZXItbmFtZS1vci1lbWFpbC1hZGRyZXNzXCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidXNlcm5hbWVcIlxyXG4gICAgICBhdXRvY29tcGxldGU9XCJ1c2VybmFtZVwiXHJcbiAgICAgIGF1dG9mb2N1c1xyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibWItMyBmb3JtLWdyb3VwXCI+XHJcbiAgICA8bGFiZWwgZm9yPVwibG9naW4taW5wdXQtcGFzc3dvcmRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57eyAnQWJwQWNjb3VudDo6UGFzc3dvcmQnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9sYWJlbD5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgIHR5cGU9XCJwYXNzd29yZFwiXHJcbiAgICAgIGlkPVwibG9naW4taW5wdXQtcGFzc3dvcmRcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXHJcbiAgICAgIGF1dG9jb21wbGV0ZT1cImN1cnJlbnQtcGFzc3dvcmRcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgbWItMlwiIGZvcj1cImxvZ2luLWlucHV0LXJlbWVtYmVyLW1lXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgaWQ9XCJsb2dpbi1pbnB1dC1yZW1lbWJlci1tZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJlbWVtYmVyTWVcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIHt7ICdBYnBBY2NvdW50OjpSZW1lbWJlck1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmQgY29sXCI+XHJcbiAgICAgIDxhIHJvdXRlckxpbms9XCIvYWNjb3VudC9mb3Jnb3QtcGFzc3dvcmRcIj57e1xyXG4gICAgICAgICdBYnBBY2NvdW50OjpGb3Jnb3RQYXNzd29yZCcgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgICAgfX08L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGFicC1idXR0b25cclxuICAgIFtsb2FkaW5nXT1cImluUHJvZ3Jlc3NcIlxyXG4gICAgYnV0dG9uVHlwZT1cInN1Ym1pdFwiXHJcbiAgICBuYW1lPVwiQWN0aW9uXCJcclxuICAgIGJ1dHRvbkNsYXNzPVwiYnRuLWJsb2NrIGJ0bi1sZyBtdC0zIGJ0biBidG4tcHJpbWFyeVwiXHJcbiAgPlxyXG4gICAge3sgJ0FicEFjY291bnQ6OkxvZ2luJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gIDwvYWJwLWJ1dHRvbj5cclxuPC9mb3JtPlxyXG4iXX0=
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 { FormBuilder, 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" /* 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
+ var _a, _b;
51
+ this.toasterService.error(((_a = err.error) === null || _a === void 0 ? void 0 : _a.error_description) ||
52
+ ((_b = err.error) === null || _b === void 0 ? void 0 : _b.error.message) ||
53
+ 'AbpAccount::DefaultErrorMessage', null, { life: 7000 });
54
+ return throwError(err);
55
+ }), finalize(() => (this.inProgress = false)))
56
+ .subscribe();
57
+ }
58
+ }
59
+ LoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LoginComponent, deps: [{ token: i0.Injector }, { token: i1.FormBuilder }, { token: i2.ToasterService }, { token: i3.AuthService }, { token: i3.ConfigStateService }], target: i0.ɵɵFactoryTarget.Component });
60
+ LoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: LoginComponent, selector: "abp-login", ngImport: i0, template: "<h4>{{ 'AbpAccount::Login' | abpLocalization }}</h4>\n<strong *ngIf=\"isSelfRegistrationEnabled\">\n {{ 'AbpAccount::AreYouANewUser' | abpLocalization }}\n <a class=\"text-decoration-none\" routerLink=\"/account/register\" queryParamsHandling=\"preserve\">{{\n 'AbpAccount::Register' | abpLocalization\n }}</a>\n</strong>\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" validateOnSubmit class=\"mt-4\">\n <div class=\"mb-3 form-group\">\n <label for=\"login-input-user-name-or-email-address\" class=\"form-label\">{{\n 'AbpAccount::UserNameOrEmailAddress' | abpLocalization\n }}</label>\n <input\n class=\"form-control\"\n type=\"text\"\n id=\"login-input-user-name-or-email-address\"\n formControlName=\"username\"\n autocomplete=\"username\"\n autofocus\n />\n </div>\n <div class=\"mb-3 form-group\">\n <label for=\"login-input-password\" class=\"form-label\">{{ 'AbpAccount::Password' | abpLocalization }}</label>\n <input\n class=\"form-control\"\n type=\"password\"\n id=\"login-input-password\"\n formControlName=\"password\"\n autocomplete=\"current-password\"\n />\n </div>\n\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"form-check\">\n <label class=\"form-check-label mb-2\" for=\"login-input-remember-me\">\n <input\n class=\"form-check-input\"\n type=\"checkbox\"\n id=\"login-input-remember-me\"\n formControlName=\"rememberMe\"\n />\n {{ 'AbpAccount::RememberMe' | abpLocalization }}\n </label>\n </div>\n </div>\n <div class=\"text-end col\">\n <a routerLink=\"/account/forgot-password\">{{\n 'AbpAccount::ForgotPassword' | abpLocalization\n }}</a>\n </div>\n </div>\n\n <abp-button\n [loading]=\"inProgress\"\n buttonType=\"submit\"\n name=\"Action\"\n buttonClass=\"btn-block btn-lg mt-3 btn btn-primary\"\n >\n {{ 'AbpAccount::Login' | abpLocalization }}\n </abp-button>\n</form>\n", components: [{ type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { type: i3.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }], pipes: { "abpLocalization": i3.LocalizationPipe } });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LoginComponent, decorators: [{
62
+ type: Component,
63
+ args: [{
64
+ selector: 'abp-login',
65
+ templateUrl: './login.component.html',
66
+ }]
67
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.FormBuilder }, { type: i2.ToasterService }, { type: i3.AuthService }, { type: i3.ConfigStateService }]; } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQUV4RCxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVUsQ0FBQztBQU0zQyxNQUFNLE9BQU8sY0FBYztJQVN6QixZQUNZLFFBQWtCLEVBQ2xCLEVBQWUsRUFDZixjQUE4QixFQUM5QixXQUF3QixFQUN4QixXQUErQjtRQUovQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBVDNDLDhCQUF5QixHQUFHLElBQUksQ0FBQztRQUVqQyxtQkFBYyxvREFBa0M7SUFRN0MsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVTLElBQUk7UUFDWixJQUFJLENBQUMseUJBQXlCO1lBQzVCLENBQ0csSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsdUNBQXVDLENBQVksSUFBSSxFQUFFLENBQ3ZGLENBQUMsV0FBVyxFQUFFLEtBQUssT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFUyxTQUFTO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUM7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFFdkIsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFM0QsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVsRCxJQUFJLENBQUMsV0FBVzthQUNiLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQ3RELElBQUksQ0FDSCxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7O1lBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQ3ZCLENBQUEsTUFBQSxHQUFHLENBQUMsS0FBSywwQ0FBRSxpQkFBaUI7aUJBQzFCLE1BQUEsR0FBRyxDQUFDLEtBQUssMENBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQTtnQkFDeEIsaUNBQWlDLEVBQ25DLElBQUksRUFDSixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FDZixDQUFDO1lBQ0YsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUMxQzthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7OzRHQTlEVSxjQUFjO2dHQUFkLGNBQWMsaURDZjNCLHdnRUE4REE7NEZEL0NhLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFNlcnZpY2UsIENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZUFjY291bnRDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vZW51bXMvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBnZXRSZWRpcmVjdFVybCB9IGZyb20gJy4uLy4uL3V0aWxzL2F1dGgtdXRpbHMnO1xuXG5jb25zdCB7IG1heExlbmd0aCwgcmVxdWlyZWQgfSA9IFZhbGlkYXRvcnM7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgaXNTZWxmUmVnaXN0cmF0aW9uRW5hYmxlZCA9IHRydWU7XG5cbiAgYXV0aFdyYXBwZXJLZXkgPSBlQWNjb3VudENvbXBvbmVudHMuQXV0aFdyYXBwZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcm90ZWN0ZWQgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByb3RlY3RlZCB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdCgpIHtcbiAgICB0aGlzLmlzU2VsZlJlZ2lzdHJhdGlvbkVuYWJsZWQgPVxuICAgICAgKFxuICAgICAgICAodGhpcy5jb25maWdTdGF0ZS5nZXRTZXR0aW5nKCdBYnAuQWNjb3VudC5Jc1NlbGZSZWdpc3RyYXRpb25FbmFibGVkJykgYXMgc3RyaW5nKSB8fCAnJ1xuICAgICAgKS50b0xvd2VyQ2FzZSgpICE9PSAnZmFsc2UnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHVzZXJuYW1lOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDI1NSldXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFtyZXF1aXJlZCwgbWF4TGVuZ3RoKDEyOCldXSxcbiAgICAgIHJlbWVtYmVyTWU6IFtmYWxzZV0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcblxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XG5cbiAgICBjb25zdCB7IHVzZXJuYW1lLCBwYXNzd29yZCwgcmVtZW1iZXJNZSB9ID0gdGhpcy5mb3JtLnZhbHVlO1xuXG4gICAgY29uc3QgcmVkaXJlY3RVcmwgPSBnZXRSZWRpcmVjdFVybCh0aGlzLmluamVjdG9yKTtcblxuICAgIHRoaXMuYXV0aFNlcnZpY2VcbiAgICAgIC5sb2dpbih7IHVzZXJuYW1lLCBwYXNzd29yZCwgcmVtZW1iZXJNZSwgcmVkaXJlY3RVcmwgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIGVyci5lcnJvcj8uZXJyb3JfZGVzY3JpcHRpb24gfHxcbiAgICAgICAgICAgICAgZXJyLmVycm9yPy5lcnJvci5tZXNzYWdlIHx8XG4gICAgICAgICAgICAgICdBYnBBY2NvdW50OjpEZWZhdWx0RXJyb3JNZXNzYWdlJyxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICB7IGxpZmU6IDcwMDAgfSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGg0Pnt7ICdBYnBBY2NvdW50OjpMb2dpbicgfCBhYnBMb2NhbGl6YXRpb24gfX08L2g0PlxuPHN0cm9uZyAqbmdJZj1cImlzU2VsZlJlZ2lzdHJhdGlvbkVuYWJsZWRcIj5cbiAge3sgJ0FicEFjY291bnQ6OkFyZVlvdUFOZXdVc2VyJyB8IGFicExvY2FsaXphdGlvbiB9fVxuICA8YSBjbGFzcz1cInRleHQtZGVjb3JhdGlvbi1ub25lXCIgcm91dGVyTGluaz1cIi9hY2NvdW50L3JlZ2lzdGVyXCIgcXVlcnlQYXJhbXNIYW5kbGluZz1cInByZXNlcnZlXCI+e3tcbiAgICAnQWJwQWNjb3VudDo6UmVnaXN0ZXInIHwgYWJwTG9jYWxpemF0aW9uXG4gIH19PC9hPlxuPC9zdHJvbmc+XG48Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiIHZhbGlkYXRlT25TdWJtaXQgY2xhc3M9XCJtdC00XCI+XG4gIDxkaXYgY2xhc3M9XCJtYi0zIGZvcm0tZ3JvdXBcIj5cbiAgICA8bGFiZWwgZm9yPVwibG9naW4taW5wdXQtdXNlci1uYW1lLW9yLWVtYWlsLWFkZHJlc3NcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57e1xuICAgICAgJ0FicEFjY291bnQ6OlVzZXJOYW1lT3JFbWFpbEFkZHJlc3MnIHwgYWJwTG9jYWxpemF0aW9uXG4gICAgfX08L2xhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgaWQ9XCJsb2dpbi1pbnB1dC11c2VyLW5hbWUtb3ItZW1haWwtYWRkcmVzc1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiXG4gICAgICBhdXRvY29tcGxldGU9XCJ1c2VybmFtZVwiXG4gICAgICBhdXRvZm9jdXNcbiAgICAvPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBmb3I9XCJsb2dpbi1pbnB1dC1wYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7ICdBYnBBY2NvdW50OjpQYXNzd29yZCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L2xhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgIGlkPVwibG9naW4taW5wdXQtcGFzc3dvcmRcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIlxuICAgICAgYXV0b2NvbXBsZXRlPVwiY3VycmVudC1wYXNzd29yZFwiXG4gICAgLz5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgbWItMlwiIGZvcj1cImxvZ2luLWlucHV0LXJlbWVtYmVyLW1lXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGlkPVwibG9naW4taW5wdXQtcmVtZW1iZXItbWVcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmVtZW1iZXJNZVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICB7eyAnQWJwQWNjb3VudDo6UmVtZW1iZXJNZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWVuZCBjb2xcIj5cbiAgICAgIDxhIHJvdXRlckxpbms9XCIvYWNjb3VudC9mb3Jnb3QtcGFzc3dvcmRcIj57e1xuICAgICAgICAnQWJwQWNjb3VudDo6Rm9yZ290UGFzc3dvcmQnIHwgYWJwTG9jYWxpemF0aW9uXG4gICAgICB9fTwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGFicC1idXR0b25cbiAgICBbbG9hZGluZ109XCJpblByb2dyZXNzXCJcbiAgICBidXR0b25UeXBlPVwic3VibWl0XCJcbiAgICBuYW1lPVwiQWN0aW9uXCJcbiAgICBidXR0b25DbGFzcz1cImJ0bi1ibG9jayBidG4tbGcgbXQtMyBidG4gYnRuLXByaW1hcnlcIlxuICA+XG4gICAge3sgJ0FicEFjY291bnQ6OkxvZ2luJyB8IGFicExvY2FsaXphdGlvbiB9fVxuICA8L2FicC1idXR0b24+XG48L2Zvcm0+XG4iXX0=